原创 我的嵌入式的学习

2008-12-21 10:27 2358 9 10 分类: MCU/ 嵌入式

Scc2410的存储管理:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


2410提供对外部存储器的存储管理;


1、大小端的存储


2、间可以寻址到1GB,共分为8bank,每块的大小为128MB,主要是由CPU的输出PinnGCSn来进行决定,前六bank只能接一些ROM,SRAM, bank6\bank7可以接ROM,SRAM,也可以用于SDRAM


3、bank6\bank7可以用编程的方法改变它的大小。


知识点:


1、系统启动时总是从0X0000-0000地址开始执行,所以初始时必须用硬件电路告诉CPU入口的数据的位数,在2410中初始时用OM端来确定数据的位宽。


2、由于ARM的体系结构把存储器看作是从0地址开始的顺序结构,以致在2410接入外部存储器时,如果是数据为8位,则是CPUA0接存储器的A0;另一种情况是数据为16位,则CPUA0接存储口器的A1,这样可以使地址加2之后才访问的是下一个单元。


3、CPU地址空间的分配为8Bank时,在地址上的解释为,地址的位数我们从看到的依然是32位,比如0X0000-0000,因为2410的实际地址线为26根,则地址的A29,A28,A27,CPU内部按照三-八译码的方式产生nGCS的信号,比如:地址为0X1800-0000,其中A29,A28,A27011则译码为3,得此地址在Bank6nGcs31


4、SDRAM2410的连接,主要有nRAS,nCAS,nWE,DQM,nSCS,A,D,sCKE,sCLk, SDRAM与一般的SRAM的区别是SDRAM是以块为最小逻辑存储单元,这样可以达到比较大的存储容量。SDRAM是行地址与列地址是复用的,以致在SDRAM上的地址线会其它的存储器的地址线要少,但是可寻址的范围却大,比如下图:<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


图一


从上图可以得到以下信息,地址线为A2-A13,并且用A22A23进行内部Bank的选择,地址线分时到达行地址、列地址,数据线为32位,所以CPUA2SDRAMA0相连,在每一片SDRAM来说,内部为1Mb*16bit*4banks,即每一个逻辑存储单元为1Mb,数据位数为16bit,内部共有4banks,从地址线上可知为16*<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />4M个存储单元,因为此SDRAM8MB的容量,可知每一个逻辑存储单元的大小为1Mb


5、    2410的对SDRAM的存储时序,SDRAM为同步动态随机存储器,在使用是必须有定时刷新的设置,一般为64ms刷新一次,在对SDRAM进行读操作之前要对SDRAM进行预充电,此时在存取的第一个周期进行,时间是可以用软件进行设定的,这一周期同时用nGCS变低有效时对将要有存取操作的行进行充电,如果不进行充电就必须在下一个周期同时写入行地址,同时对对应的行充电,这样容易产生错误。下一周期NRAS信号有效,这时地址线上的行地址信号已准备好,此时写入行地址。下一周期写入列地址,过程与上一同期相同,只是nCAS信号要比nRAS信号有效的时间晚一个同期。下一个周期就可以读入数据,如果SDRAM用的是页模式,则会连续存取几列。下一周期所有信号恢复原来的状态。存取时序中的相对时间都是可以用软件设置来改变。


6、    SDRAM并不是所有的cpu接上就可以用的,SDRAM它需要专门的控制器,像2410里面就集成有SDRAM的控制器,如果要外加一个SDRAM控制器的话,作起来是比较麻烦的。


CPU与外设的匹配


一般的CPU同期是分为四个相同的周期,如果外设的速度比较慢的情况下,CPU就有可能收到一些错误的信号,因此要进行必要的方法来解决这一问题。对于CPU来说可以加一些有等待周期,但是不能让CPU无限的等待下去,必须在加入的等待时间上有所限制,2410处理器中的信号端nWIAT就有这个作用,就相当于一般的CPU中的READY信号端。


在电路设计方面入手的方法是可以加入匹配电路。CPU与外部数据的传送方式有:无条件传送方式,查询方式,中断方式等,其中中断方式可以实现调整CPU与低速外设之间的矛盾,首先CPU把控制信号发送给外设,让外设做一些动作,此时外设较慢不能够立即产生应答,CPU没有必要在这一直等待,可以去做其它的工作,等到外设的应答信号到来时,当作中断信号使CPU放下正在进行的动作,转去处理此外设的响应信号。


另一种方法是加上一些适配器,比如DMA控制器,在CPU要访问低速外设时,就把总线控制权让出来,让适配器去完成读写,这样CPU可以调用其它的工作进行。


低速外设并不是数据传输的速度低,而是指它能够响应CPU的控制信号的时间短,就像串口通信,网线通信这些的速度是与具体的协议有关,并不与外设有关。LCD屏是一个快速设备,因为它在显示时要不断地向它写入数据,而且还要不断进行重发,它响应的时间是非常及时的。


而对于外设的速度比较快CPU的速度比较慢的情况下,是不能用CPU来满足外设的要求的,必须的外设来同步CPU的频率,这种情况下是可以运行的,只不过是没有达到外设的最佳工作状态。在现实中是很少出现这种情况的。


缓冲器与锁存器


缓冲器与锁存口器的电路如下图:




图二



图三


从图二缓冲器的结构上看,有三种状态分别是10、高阻态。作用是增加驱动能力,在前后级电路进行电平转换。其中一个最重要的应用是作为隔离作用,比方说A端接入是键盘,在CPU不访问按键时A处的信号应是高阻状态,如果不加缓冲器的话,A处的信号就会直接加在CPU端子上,如此就会在这一线上产生错误的信号,影响正常的工作。加上缓冲器之后可以在CPU不访问按键时在OE无效,输出呈现高阻,当检测按键时再打开OE


从图三锁存器的结构上看,一般是由D触发器组成,这样可以锁存一位的数据,当CPU在这一端上把信号撤去后,在输出端仍有信号保持。锁存器多用于地址的锁存。


编址问题


处理器在地址分配上有两种方式,即统一编址和独立编址,对于51系列的单片机来说,采用的独立编址,即程序空间与数据空间是分开的。比如说,16根地址线,要访问64KBROM,还要访问50IO设备。从计算上看2^1664KB刚好可以把ROM寻址完成,没有多的地址访问IO设备,事实不是这样的,单片机程序地址和数据地址是可以重合的,在进行程序存取时,单片机有一IO/M端用来判断是对程序存储器操作还是对外部IO操作,这一过程发生在指令的译码周期中,CPU可以判断出这一指令是对哪一部分进行操作,然后执行周期中把对应的信号调整好。比如使用ROM时用到的信号有IO/MPSENREALE


而对于2410来说是统一编址,即所有的CPU能访问的都有唯一的地址,包括寄存器,IO外设,以及存储器。


在地址线不够用的时候,要接64KBRAM,又要外接一些IO设备,此时就要把地址分为页,有的页是经常要停留的,在地址分配时有一个原则,一定不要外加CPU不能理解的信号,在外加片选时一般要用高位地址线作为片选,这个问题主要考虑在外设与内存到底有什么关系,从它们的配合上去考虑问题。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户88433 2009-8-19 14:51

不明~~希望楼主提供一下其它的参考资料~~让我学习学习!
相关推荐阅读
zhangtaibin209_962839323 2017-06-02 16:09
VGL和VGH
VGL是TFT屏的负电源输入脚,VGH是TFT屏的正电源输入脚,对一个屏来说,这两个电压是恒定的,是没有“电时序”的。 VGH和VGL是给PANEL中的TFT当作ON OFF状态的需求电压,所以只要给...
zhangtaibin209_962839323 2017-05-27 10:08
区分J型与K型热电偶小方法
J型热电偶为,铁-康铜。K型热电偶为,镍铬-镍铬硅。铁和镍铬硅都有磁性。先用万用表区分正负极,温度电压来判断,然后拿一块吸铁石。K型的负极可以用吸铁石吸住,J型的正极可以用吸铁石吸住。 ...
zhangtaibin209_962839323 2017-04-12 11:23
偷锡焊盘
在PCB设计中,如果使用SOP、QFP、DIP、SIP、ZIP等系列封装的元件,则需要对其进行偷锡焊盘的处理。具体有以下三种处理方式: 一、增大边脚焊盘的方式: 此方式比较适用于QFP系列封装的元件,...
zhangtaibin209_962839323 2017-04-07 17:36
防范热电偶干扰的措施
抗串扰的措施:串模干扰电压通常不大的,但由于它是与被测信相串联的,其有害作用往往不大容易消除,尤其是在输入端产生的干扰电压,更无法消除。针对串模干扰产生的原因,可采取一些有效的措施以防止外界产生的干扰...
zhangtaibin209_962839323 2010-05-18 09:36
晶闸管
晶闸管知识问与答一、可控硅的概念与结构晶闸管又叫可控硅。它的主要成员有单向晶闸管、双向晶闸管、光控晶闸管、逆导晶闸管、可关断晶闸管、快速晶闸管等等。今天大家是单向晶闸管,也就是人们常说的普通晶闸管,它...
zhangtaibin209_962839323 2010-05-17 09:07
极性电容
      首先需要弄清楚极性电容和无极性电容的区别。       从使用角度来说,若能全部使用无极性电容,肯定可以简化设计,但由于生产工艺的限制,目前无极性电容还不能够制作大容量的电容。所以简单的说...
我要评论
1
9
关闭 站长推荐上一条 /3 下一条