原创 STM32的外部总线地址与线上电平的关系

2010-4-12 21:59 5913 10 11 分类: MCU/ 嵌入式

在设计外部总线接口电路的时候,必须要搞清楚总线的时序,将其正确的连接,才能确保你访问的地址是你所想要的。8051的总线我们熟知,16根地址线,8位数据线;16位地址与地址线的的电平是对应的,比如*0xfffe,那么A15A1的电平为1A0的电平为0<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


对于STM328位宽度时候,地址与地址线上的电平也是对应的,但当配制成16位宽度的时候,地址与地址线上的电平就不是对应的了。因为对于STM32CPU来说,地址指的是字节地址,当数据宽度为两个字节时,相应的地址偏移量也为两个字节,即访问*0x2时,A0的电平为1,其余的电平为0,访问*0x04时,A1的电平为1,其余的为0,访问*0x06时,A1A0的电平为1,其余的为0


当然,*0x2*0x4都不是STM32外部地址区,外部地址区还要加一个基地址,比如:Bank1_SRAM3_ADDR的基地址为0x68000000,如果要访问Bank1_SRAM3_ADDR地址区,则还需要在0x2前面加上这个基地址才行。只有这样,与之相应的外部片选信号才能变为有效。


 


下面来举个例子说明:


(假设总线宽度已配置成16位)


#define Bank1_SRAM3_ADDR    ((u32)0x68000000)     //BANK1NOR/PSRAM3 地址为0x68000000


*(vu32 *)Bank1_SRAM3_ADDR +0x2= 0xfffe


地址和数据线的电平如下:


片选线:FSMC_NE3为底电平(有效)


地址线:A0电平为1,其余为0


数据线:D00,其余的都为1

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

tengjingshu_112148725 2010-4-13 15:29

谢谢分享
相关推荐阅读
用户1278632 2011-09-15 12:49
解决FPGA配置成功,但不能初始化运行的BUG
摘要:    遇到两次FPGA配置完成,却不能正常运行的问题,一次是ALTERA的A1C3,另一次是XILINX的XC3S700A。两次都是DONE信号的问题。问题虽不大,但却很折腾人,今天在这里作下...
用户1278632 2011-09-15 12:41
Code Edit的神器UltraEdit
摘要:      我不是一个专职的程序员,但经常会要写一些单片机底层的code和hdl code,起初用UE,是因为查找和批量修改很方便,而且不会额外的生成一些“垃圾”文件;现在用UE三年多了,一直都...
用户1278632 2010-12-29 09:29
ISE与EDK联合设计报错 ERROR:NgdBuild:604 logical block
做一个很简单的测试在ISE的SCH里调用EDK的symbol,EDK的功能也很简单,就是CPU通过串品打印一串字符首先,我建一个ISE工程再建一source  sch类型,并设置为顶层,取名为top....
用户1278632 2010-12-22 14:49
EDK12.2中 mch_emc IP的时序问题
mch_emc IP可以将PLB总线时序转为inter 8080时序 下面是我用chipscope抓到的波形Mem_DQ_O_In :  数据输入 Mem_OEN:      读信号  Mem_A: ...
用户1278632 2010-12-22 14:29
xilinx FPGA的配制与应用程序引导-范例
两个Xilinx FPGA应用程序引导的范例1、run_in_flash是直接在NOR FLASH里运行程序2、spi_flash_boot是将BIT和bootloader和APP全部固化到SPI F...
用户1278632 2010-12-19 13:48
EDK下sram IP的使用
EDK软件的memory and memory controller中有一个xps multi-channel external memory controller(sram/flash)的IP,用来...
EE直播间
更多
我要评论
1
10
关闭 站长推荐上一条 /3 下一条