嵌入式系统原理与应用 课件 第3-5章 存储系统组成与设计、总线与接口、基于ARM处理器的嵌入式硬件系统设计_第1页
嵌入式系统原理与应用 课件 第3-5章 存储系统组成与设计、总线与接口、基于ARM处理器的嵌入式硬件系统设计_第2页
嵌入式系统原理与应用 课件 第3-5章 存储系统组成与设计、总线与接口、基于ARM处理器的嵌入式硬件系统设计_第3页
嵌入式系统原理与应用 课件 第3-5章 存储系统组成与设计、总线与接口、基于ARM处理器的嵌入式硬件系统设计_第4页
嵌入式系统原理与应用 课件 第3-5章 存储系统组成与设计、总线与接口、基于ARM处理器的嵌入式硬件系统设计_第5页
已阅读5页,还剩182页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统原理与设计第3章存储系统组成与设计第3章01020304存储器简介常用存储器存储系统设计高速缓存系统设计/01存储器简介存储原理存储器是利用存储介质的不同稳定状态来存储信息存储介质特点:①两种稳定状态;②方便检测;③容易相互转换。存储器分类1.按存储介质分类

(1)半导体存储器:速度快,用作内存。

◆记忆原理:触发器、电容(静态、动态)

◆双极型晶体管(ECL、TTL、I2L)

◆场效应管型MOS(PMOS、NMOS、CMOS)

(2)磁表面存储器:容量大,用作外存。

(3)光存储器:可靠性高,保存时间长。存储器分类2.按存储方式分类(1)随机访问存储器RAM

存储器的任意单元都可随机访问。

访问时间与存储单元的位置无关(2)只读存储器ROM

正常工作时只读,能随机读出,不能随机写入。◆MROM:只读◆PROM:一次写◆可多次改写ROM:EPROM、E2PROM存储器分类2.按存储方式分类(3)顺序存取存储器◆信息以文件形式组织,一个文件包含若干个块,一个块包含若干字节;◆存储时以数据块为单位存储,数据的读取时间与数据物理位置关系极大;

◆速度慢,容量大,成本低;◆磁带、电荷耦合器件CCD、VCD存储器分类3.按存储器信息的可保存性分(1)断电后是否丢失数据◆易失性存储器特点:断电后,信息就丢失。如SRAM◆非易失性存储器(永久性存储器)特点:断电后,信息不丢失。如磁盘(2)读出后是否保持数据

◆破坏性存储器特点:读出时,原存信息被破坏,需重写。如:DRAM

◆非破坏性存储器特点:读出时,原存信息不被破坏。如:SRAM存储器分类4.按在计算机系统中的作用分类

(1)高速缓冲存储器:位于主存和CPU之间

(2)主存储器:一般存在于CPU主板上,常用DRAM构建,用来存储计算

机运行期间较常用的大量的程序和数据。

(3)辅助存储器:不能由CPU的指令直接访问,必须通过专门的程序或专

门的通道把所需的信息与主存进行成批交换,调入主存后才能使用。存储器性能指标

(1)存储容量:存储器所能存储的二进制信息总量。

(2)速度:主存的一项重要技术指标。◆存取时间:又称访问时间,是指从启动一次存储器操作到完成该操作所经历的时间。◆存储周期:指连续启动两次独立的存储体操作所需的最小时间间隔。它包括存储器的存取时间和自身恢复时间存储器性能指标(3)带宽(存储器数据传输率、频宽):

存储器单位时间所存取的二进制信息的位数。带宽=存储器总线宽度/存取周期(4)价格(每位价格)存储容量越大,存取速度越快,存储器的价格也就越高。

除上述指标外,影响存储器性能的还有功耗、可靠性等因素。/02常用存储器ROM存储器ROM存储芯片的基本结构举例:用三极管构成4*4ROM存储器ROM存储器一次性编程只读存储器PROMPROM内部是通过保险丝一样的结构进行内部连接,只能编程一次。存储位元的基本结构有两种:全“1”熔断丝型、全“0”肖特基二极管型,ROM存储器光擦除可编程只读存储器EPROM可重复擦除和写入,写入数据时,需要过紫外线照射芯片上的石英玻璃窗口将原存储内容抹去FG浮空栅,CG为控制栅,当FG有电子积累时,该MOS管的开启电压变得很高,即使CG为高电平,该管仍不能导通,这种状态代表存储0。反之,FG无电子积累时,MOS管的开启电压较低,当CG为高电平时,该管可以导通,这种状态代表存储1用EPROM实现组合逻辑www.islide.cc17RAM存储器SRAM利用触发器来存储信息T1通导,T2截止,为“1”状态;T2通导,T1截止,为“0”状态。RAM存储器SRAM保持

字驱动线W处于低电位时,T5、T6截止,切断了两根位线与触发器之间的联系。写入操作

写入“1”:位线D上加低电位,位线D上加高电位,即B点为高电位,A点为低电位,导致T1导通,T2截止,保存了信息“1”。

写入“0”:位线D上加高电位,位线D上加低电位,即B点为低电位,A点为高电位,导致T2导通,T1截止,保存了信息“0”。RAM存储器SRAM读操作若原存信息为“1”,即T1导通,T2截止。这时B点为高电位,A点为低电位,分别传给两根位线,使得位线D为低电位,位线D为高电位,表示读出的信息为“1”。若原存信息为“0”,即T2导通,T1截止。这时A点为高电位,B点为低电位,分别传给两根位线,使得位线D为高电位,位线D为低电位,表示读出的信息为“0”。RAM存储器DRAM利用和晶体管集电极相连的电容的充放电来存储信息定义:C上有电荷—“1”

C无电荷—“0”保持:字线w低,T截止,切断了C的通路,

C上电荷状态保持不变。当然由于

漏电存在,需刷新。RAM存储器DRAM写入操作写入“1”,位线D上加高电位,对电容C充电。写入“0”,位线D上加低电位,电容C通过T放电。读操作当T导通以后,若原存信息为“1”,电容C上的电荷通过T输出到位线上,在位线上检测到电流,表示所存信息为“1”。若原存信息为“0,电容C上几乎无电荷,在位线上检测不到电流,表示所存信息为“0”。RAM存储器由于有漏电阻存在,电容上的电荷不可能长久保存,需要周期地对电容进行充电,以补充泄漏的电荷,这个过程称为DRAM刷新。从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍的时间间隔称为刷新周期,刷新周期主要取决于电容的放电速度。集中式刷新,在刷新周期内集中安排刷新时间,在刷新时间内停止CPU的读写操作;分散式刷新,将系统的存取周期分成两部分,前半期可用于正常读写或保持,后半期用于刷新;异步式刷新,把刷新操作平均分配到整个最大刷新间隔内进行。RAM存储器由于有漏电阻存在,电容上的电荷不可能长久保存,需要周期地对电容进行充电,以补充泄漏的电荷,这个过程称为DRAM刷新。从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍的时间间隔称为刷新周期,刷新周期主要取决于电容的放电速度。集中式刷新,在刷新周期内集中安排刷新时间,在刷新时间内停止CPU的读写操作;分散式刷新,将系统的存取周期分成两部分,前半期可用于正常读写或保持,后半期用于刷新;异步式刷新,把刷新操作平均分配到整个最大刷新间隔内进行。RAM存储器假定DRAM允许的刷新周期为2ms,存储器的存取周期为0.5μs,容量为16K×1位,存储矩阵为128×128,在2ms内要对128行全部刷新一遍。集中式刷新需要在2ms的周期末尾,对整个DRAM的128行刷新一遍,所需时间为128×0.5μs=64μs。RAM存储器分散式刷新将系统的存取周期分成两部分,前半期可用于正常读写或保持,后半期用于刷新。存储芯片的存取周期:0.5

s系统存取周期应:1

sRAM存储器异步式刷新把刷新操作平均分配到整个最大刷新间隔内进行,相邻两行的刷新间隔为最大刷新间隔时间÷行数。在前述的128×128矩阵例子中,2ms内分散地将128行刷新一遍,即每隔15.5μs(2000μs÷128≈15.5μs)刷新一行。闪存Flash闪存位元结构与EPROM隧道氧化层的位元结构类似。由两个相互重叠的多晶硅栅组成,浮栅用来存储电荷,以电荷多少来代表所存储的数据;控制栅作为选择栅极起控制与选择的作用。Flash和E2PROM的最大区别在于Flash按扇区操作,E2PROM则按字节操作,二者寻址方法不同。Flash的电路结构较简单,同样容量占芯片面积较小,数据密度更高,降低了成本。闪存Flash分为NORFlash和NANDFlash。NOR表示或非门电路,NAND表示与非门电路。两者主要存在以下几点差异:(1)读写操作单位不同,NOR闪存以字节为单位,而NAND闪存以页为单位(2)读写速度不同,NOR闪存随机读取速度快,NAND闪存编程和擦除速度更快。(3)存储密度不同,NAND闪存单位面积的存储密度更高。(4)接口复杂度及可靠性不同,NOR闪存接口简单,可靠性高,而NAND闪存需

要用一些信道纠错算法来保证数据的可靠性。(5)耐久性方面,NAND闪存编程/擦除次数通常大于NOR闪存。磁表面存储器1.磁表面存储器把某些磁性材料均匀地涂敷在载体的表面上,形成厚度为0.3~5μm的磁层,将信息记录在磁层上,构成磁表面存储器。2.磁表面存储器存储信息的原理利用磁性材料在不同方向的磁场作用下,形成的两种稳定的剩磁状态来记录信息。磁表面存储器3.磁表面存储器信息编码磁表面存储器4.磁表面存储器的读写操作◆磁头:磁表面存储器的读写元件。利用磁头来形成和判

别磁层中的不同磁化状态。◆磁头是由铁氧化体或坡莫合金等高导磁率的材料制成的

电磁铁,磁头上绕有读写线圈,可以通过不同方向的电流。◆写磁头:用于写入信息的磁头。读磁头:用于读出信息的磁头。复合磁头:既可用于读出,又可用于写入的磁头。磁表面存储器磁表面存储器的写操作磁表面存储器磁表面存储器的读操作机械硬盘◆磁盘存储器由驱动器、控制器和盘片三部分组成◆磁盘驱动器又称磁盘机或磁盘子系统用于控制磁头与

盘片的运动及读写。是独立于主机之外的完整装置。◆机械硬盘是最常

见的磁性存储器机械硬盘◆磁盘控制器主机与磁盘驱动器之间的接口,通常是插在主机总线插槽中的一块印刷电路板。磁盘控制器的作用:接受主机发出的命令与数据,转换为驱动器的控制命令和数据格式,控制驱动器的操作。

机械硬盘◆盘片:存储信息的介质盘片磁道扇间空隙扇区机械硬盘◆记录面:磁盘片表面称为记录面。盘片的上下两面都能记录信息。◆磁道:记录面上一系列同心圆。每个盘片表面通常有几十到几百个磁道。

磁道的编址:从外向内依次编号,最外一个同心圆叫0磁道,最里面的

一个同心圆叫n磁道,n磁道里面的圆面积不用来记录信息。◆扇区:将盘面沿垂直于磁道的方向划分成若干个扇区。扇区的编号方法:

可以连续编号,也可间隔编号。◆柱面(圆柱面):n个面上位于同一半径的磁道形成一个圆柱面。磁盘

组的圆柱面数等于一个盘面的磁道数。机械硬盘◆磁盘地址的表示

例如,若某盘片组有8个记录面,每个盘面分成256条磁道,8个扇区;当主机要访问其中第5个记录面上,第65条磁道,第7个扇区的信息时,则主机应向磁盘控制器提供如下的地址信息:

0100000l101111磁道号盘面号扇区号机械硬盘【例3-1】某机械硬盘的磁盘组有6片磁盘,每片有两个记录面,最上最下两个面不用。存储区域内径22cm,外径33cm,道密度为40道/cm,内层位密度400位/cm,转速2400转/分,平均寻道时间为10ms。问:(1)共有多少柱面?(2)盘组总存储容量是多少?(3)数据传输率多少?(4)平均寻址时间是多少?机械硬盘解:(1)有效存储区域=16.5-11=5.5(cm)

因为道密度=40道/cm,所以共有40×5.5=220道,即220个圆柱面。(2)内层磁道周长为2πR=2×3.14×11=69.08(cm)

每道信息量=400位/cm×69.08cm=27632位=3454B

每面信息量=3454B×220=759880B

盘组总容量=759880B×l0=7598800B=7.25MB(3)磁盘数据传输率Dr=r×N,N为每条磁道容量,r为磁盘转速。

又N=3454B,r=2400转/60秒=40转/秒,故

Dr=r×N=40×3454B=13816B/s。机械硬盘解:(4)磁盘旋转一圈的时间为t=60/2400*1000=25ms平均寻址时间Ta=10ms+25/2ms=22.5ms固态硬盘固态硬盘结构固态硬盘固态硬盘局限:1)闪存只提供读、写和擦除3种操作,且这三种操作性能不对称,读最快,写次之,擦除最慢;2)闪存是按页、块、平面的结构进行组织;页是读/写的最小单位,一般为2/4/8KB;块是擦除的最小单位,一个块一般包含64/128个页;3)闪存擦除后只能写一次,即所谓的erase-before-write,这造成闪存不支持原地更新;4)闪存每个存储单元的编程/擦除(P/E)次数有限,超过该P/E次数后,闪存存储数据不再可靠。固态硬盘固态硬盘优点:(1)速度快。固态硬盘无需通过磁头的机械旋转来访问数据,是机械硬盘存取速度的数倍。(2)耐用防震。固态硬盘内部不存在任何机械部件,由于碰撞震动导致数据丢失

的可能性很小。(3)无噪声。得益于无机械部件,固态存储器工作噪声值为0分贝。(4)重量轻。同样存储容量的固态硬盘体积要更小,便于携带。(5)功耗低。固态硬盘无机械结构,功耗来源主要是内部芯片,因此功耗低。(6)工作环境要求低。传统硬盘受限于其机械结构,温度过低会导致金属的钝化,

温度过高会引起机械部件膨胀,这限制了传统硬盘的工作环境温度。/03存储系统设计主存储器的读写主存数据传输示意图主存储器的读写主存和CPU之间的连接示意图主存储器的读写主存的基本读写操作示意图存储系统的大小端1.两种多字节数据排列顺序◆高端优先(bigendian)

数值的最高字节存储在单元X中,次高字节存储在单元X+1中◆低端优先(littleendian)

最低字节存储在单元X中,次低字节存储在X+1中存储系统的大小端1.两种多字节数据排列顺序多字节存储的另一个值得关注的问题是对齐问题。例如,摩托罗拉68040CPU能同时读入4个字节的数据,然而,这4个字节必须在连续的单元中,它们的地址除了最低两位不同之外,其余的位均相同。这也就是说,该CPU可以同时读单元100、101、102和103,但不能同时读单元101、102、103和104。后者需要两个读操作,一个操作读100、101、102和103,另一个操作读104、105、106和107;其中100、105、106和107都是不需要的读操作,这浪费了CPU的性能。www.islide.cc52存储器字位扩展位扩展【例3-2】用4K×2位的RAM存储芯片构成4K×8位的存储器。需要四个4K×2位芯片。12位地址A0~A11、片选线CS和读写使能线R/W都连接到各个芯片对应线上。8位数据总线D0~D7分成4组,每组包括2跟线存储器字位扩展字扩展【例3-2】用4K×2位的RAM存储芯片构成4K×8位的存储器。需要16K×8位的芯片4个。用16位地址线中的低14位A13~A0进行存储芯片片内寻址,高两位地址A15、A14用于选择芯片。存储器从0000H开始连续编址第一片地址:0000H~3FFFH第二片地址:4000H~7FFFH第三片地址:8000H~BFFFH第四片地址:C000H~FFFFH存储器字位扩展字位扩展字位扩展的一般方法为:选择芯片现进行位扩展,扩展成组,使得组的位数达到要求;再用组进行字扩展,按照字扩展的方法将将字数加到目标字数。扩展为

M>m,N>n)容量的存储器,进行字位扩展共需要的芯片数量为:存储器字位扩展【例3-4】用2K×4位的RAM存储器芯片构成4K×8位的存储器。4K×8位存储器需要4个2K×4位的存储芯片构成。先将4个芯片两两组合进行位扩展组成2K×8位的存储组。当A11地址线为0时,选择前两个芯片构成的2K×8位存储器组,A11地址线为0时,选择后两个芯片构成的2K×8位存储器组。地址线的A10~A0为片内地址,同时接在4个芯片上。数据输出8位数据,D0~D7整体连接如图所示。设存储器从0000H开始连续编址,则四块芯片的地址分配为:

第一组芯片地址范围为:0000H~07FFH第二组芯片地址范围为:0800H~0FFFH存储器字位扩展分层存储系统设计存储器分层结构分层存储系统设计对分层存储系统的性能评价(1)命中率H命中率为CPU访问存储系统时,在M1中找到所需数据的概率。若在程序执行过程中,访问M1和M2的次数分别为N1和N2,则命中率H定义为:分层存储系统设计对分层存储系统的性能评价(2)平均访问时间TA假设访问在M1命中需要的访问时间为TA1;当访问在M1不命中,则需向M2发出访问请求。此时,需要把M2中包含请求数据的信息块传送到M1,CPU才能得到需要的数据。假设M2的访问时间是TA2,把一个信息块从M2传送到M1的时间为TB,则M1不命中时的数据访问时间为:其中

称为失效开销,平均访问时间为:分层存储系统设计对分层存储系统的性能评价(3)存储系统的平均位价格C上式中,S1和C1是M1的容量和每位价格,S2和C2是M2的容量和每位价格。/04高速缓存系统设计缓存基本原理1.Cache设计的依据Cache设计的依据是程序执行时访问存储器具有局部性特点,简称局部性。局部性又分为时间局部性和空间局部性。时间局部性是指正在访问的指令和数据,很有可能不久以后该指令和数据可能再次被访问。空间局部性是指正在访问的指令和数据的临近存储单元在不久以后很有可能被访问。缓存基本原理2.有Cache下的主存读访问过程数据交换的大小CPU与Cache:字节/半字/字数据交换大小:块(通常4~256个字)缓存基本原理3.Cache的关键性能指标Cache性能评价的关键指标是Cache命中率,它是指CPU要访问的内容在Cache中的比率。具体计算方法如下,设程序执行期间访问Cache的命中次数为Nc,失配次数为Nm,则Cache的命中率H为:主存与Cache的地址映像规则直接映像直接映像:将主存块号除以Cache块数,余数即为该主存块在Cache中的位置;也就是说,映射到同一个Cache块的主存块号相对Cache块数“同余”主存地址分成三段:标识、块号、块内偏移量标识数据主存与Cache的地址映像规则全相联映像主存的任意块可以映像到Cache的任意块,即无论是主存块到Cache块,还是Cache块到主存块,都是多对多的映射主存地址分成两段:标识、块内偏移量主存与Cache的地址映像规则组相联映像组相联映像方式是先将Cache块分为若干组,每组中有相同数量的Cache块,再将主存块按与Cache的组数进行分组,主存中的任何一组只能映像到Cache中的某一固定组(类似直接映像),但同一组中的主存块可放置在Cache中指定组内的任意块中(类似全相联映像)主存与Cache的地址映像规则采用组相联映像方式时,主存地址分成三段:标识、组号、块内偏移量,与直接映像的标识、块号、块内偏移量作用类似设主存有2n块,Cache有2m块,包括G=2g个组,可以看到:若g=0、G=1,即Cache只有1个组,共包含2m个块,此时为全相联映像Cache。若g=m、G=2m,即Cache有2m个组,每个组只有1个块,此时为直接映像Cache。若0<g<m,即Cache有2g个组,每个组里有k=2m-g个块,此时称这种组相联映像方式为k路组相联Cache。主存与Cache的地址映像规则【例3-5】某采用组相联映像的主存-Cache系统中,主存容量为1MB,Cache的容量为16KB,按256B分块,Cache采用4路组相联。请确定主存、Cache的地址结构。∵主存容量1MB=220B,∴主存地址长度为20位;∵Cache块大小为256B=28B,∴主存可分为220/28=212个块,块内偏移地址长8位。∵Cache容量16KB=214B,∴Cache地址长度为14位;∵Cache块大小为256B=28B,∴Cache可分为214/28=26个块,块内偏移地址长8位。∵Cache每组包含4块,∴Cache共分为26/4=24=16组,组地址长度为4位。进一步,主存20位地址的从高到低的构成为:8位标识位、4位组号位,8位块内偏移地址位。续:访问流程www.islide.cc711.用主存地址的4位组号位访问对应的Cache组2.检查对应组包含的块的标识位与地址码的标识位是否相等3.若相等,则继续检查有效位为14.若第2/3步的结果都为真,判断命中,根据主存块内偏移地址访问命中的cache块5.否则,cache访问不命中(失配),用主存块号(标识+组号)访问主存

Cache的替换算法与写策略1.当访存Cache不命中时,必须从主存中调入所需块。此时,若Cache已满,则必须按一定算法从Cache中选择一个块将其替换出去,然后才能调入新块。随机替换法为均匀使用一组中的各块,随机替换法随机地选择被替换的块。随机替换策略实际上是不要什么算法,只需要随机产生一个符合映像规则的块号,然后将此块从Cache中替换出去即可。Cache的替换算法与写策略先进先出法先进先出法(FirstInFirstOut,FIFO)是按块调入Cache的先后决定替换顺序,即需要替换时,总是淘汰最先调入Cache的块。最近最少使用法最近最少使用法(Least

Recently

Used,LRU)是把近期最少使用的Cache块替换出去。对Cache的每个块设置一个计数器,当块命中后,其对应的计数器清零,其它块计数器增1。当需要替换时,比较符合映像规则的块的计数器值,将计数值最大的块替换出。Cache的替换算法与写策略最不经常使用法最不经常使用法(LeastFrequentlyUsed,LFU)每块设置一个计数器,从0开始计数;每访问一次,被访问块的计数器增1。当需要替换时,比较符合映射规则的Cache块的计数值,将计数值最小的块替换出,同时将这些块的计数器都清零。这种方法实际上是将计数周期限定在对这些特定块两次替换之间的间隔时间内,因而不能严格反映近期访问情况。Cache的替换算法与写策略2.若替换时该块在Cache时已经被改写过,则需要将被替换的Cache块写回主存,以保证数据的一致性。写直达法在写Cache的同时也将数据写入主存。采用写直达法,数据被同时写入Cache和主存中,保证了主存中的数据与Cache中的数据一直是一致的。写回法当CPU执行写操作时,只写Cache不写主存,只有当被写的Cache块要被替换出去时才将已修改过的Cache块写回主存,减少主存的写操作次数,提高系统写操作的速度Cache的替换算法与写策略3.Cache写失效策略若要被写的块不在Cache中,即写失效时,有两种策略决定是否将相应的块调入Cache。按写分配法当写失效时,先把所写单元所在的块调入Cache,然后再进行写入。与读失效类似,这种方法也称为写时取。不按写分配法写失效时,直接写入下一级存储器而不将相应的块调入Cache。这种方法也称为绕写。Cache的替换算法与写策略【例3-6】某采用2路组相联映像的主存-Cache系统中,设Cache容量为8个块,主存容量为256个块;替换策略为LRU。现假设Cache处于初始状态(即Cache还未存储有效数据),CPU依次要访问主存块0,1,2,3,245,246,247,0,4,248,245,0,245,0,6,245,248,245,127,0中的数据。请给出Cache的数据存储过程,并计算此时Cache的命中率。Cache的替换算法与写策略根据题意可知,Cache的组数为8/2=4组,每组包括2个块。任意一个主存块在Cache中的组号i=主存块号mod4。Cache的数据存储过程如图3-37所示。该图中,-代表Cache还未存有效数据,H代表命中,M代表失配(即不命中)。此外,图3-37中的LRU原则是通过组内块的先后顺序体现的,每组中第1个块为最近访问块(MRU块),第2个块为最近最少访问块(LRU块)。在20次存储访问中,有8次在Cache命中,所有此Cache的命中率为8/20=40%。Cache的替换算法与写策略嵌入式系统原理与设计第4章总线与接口第4章01020304总线基本概念总线操作常用总线标准常用接口标准/01总线基本概念总线基本概念1.总线定义总线是在模块与模块之间或者设备与设备之间传送信息的一组公用信号线,是系统在主控器(模块或设备)的控制下,将发送器(模块或设备)发出的信息准确地传送给某个接收器(模块或设备)的信号通路。总线基本概念2.总线分类(1)按数据的传输方式分类按数据的传输方式可以将总线分为并行总线和串行总线两类。并行总线指数据位在多条数据线上并行传输,数据线的数量等于数据的宽度。在并行总线中,按传输数据宽度分为8位、16位、32位、64位等传输总线。总线基本概念2.总线分类(2)按总线传输信息性质分类数据总线上传输的是各功能部件之间的数据信息,一般为双向传输总线,数据总线的宽度一般等于机器字长,常为8位、16位或32位。地址总线用来传输数据(指令也可以认为是一种数据)在主存单元或I/O设备的地址。地址总线是单向总线,一般由CPU输出。控制总线发出各种控制信号。由于数据总线、地址总线都是被挂在总线上的所有部件共享的,如何使各部件能在不同时刻占有总线使用权,需依靠控制总线来完成。总线基本概念3.总线的性能指标(1)总线位宽总线位宽指的是总线上能同时传送的二进制数据位数。常说的32位总线、64位总线指的就是总线位宽。(2)总线工作频率总线工作频率指的是用于控制总线操作周期的时钟信号频率。(3)总线带宽总线带宽指的是单位时间内总线上可传送的数据量,又称最大传输率,一般以Bps为单位,即每秒可以传输的字节数。总线带宽=总线工作频率×总线位宽/8总线基本概念4.总线结构单总线结构使用单一的总线来连接CPU、主存和I/O设备总线基本概念4.总线结构多总线结构中,包括CPU总线、系统总线、高速总线、扩充总线。由于各种总线的速度不一致,因此需要一种称为“桥”的部件实现多种总线的互联互通。/02总线操作总线操作阶段(1)申请分配阶段。由需要使用总线的模块提出申请,由总线仲裁模块决定将下一个传输周期的总线使用权(2)寻址阶段。取得使用权的模块通过总线发出本次要访问的从模块的地址及有关命令(3)传数阶段。主模块和从模块进行数据交换(4)结束阶段。主模块总线上撤除,让出总线使用权。总线仲裁1.集中式总线仲裁(1)链式查询控制总线中有3根线用于总线控制(BS-总线忙、BR-总线请求、BG-总线同意),其中总线同意信号BG是串行地从一个I/O接口送到下一个I/O接口。离总线仲裁部件最近的设备具有最高的优先级。总线仲裁1.集中式总线仲裁(2)计数器定时查询总线仲裁部件接到由BR送来的总线请求信号后,在总线未被使用(BS=0)时,总线仲裁的计数器计数,并通过设备地址线,向各设备发出计数值。当某个请求占用总线的设备的设备地址与计数值一致时,获得总线使用权,建立总线忙BS信号。总线仲裁1.集中式总线仲裁(3)独立请求方式每一台设备均有一对总线请求线Bri和总线同意线Bgi

。当设备要求使用总线时,便发出该设备的请求信号。总线控制部件中有一排队电路,可根据优先次序确定响应哪一台设备的请求。总线仲裁2.分布式仲裁分布式仲裁中,每个主控设备都有自己的仲裁号和仲裁器。当需要总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上。每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤销它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。可见,分布式仲裁是以优先级仲裁策略为基础,分布式仲裁下仲裁号愈大优先级愈高。总线仲裁2.分布式仲裁假定仲裁总线由8根仲裁线组成,则可以分配28个仲裁号。竞争线默认为逻辑“1”,仲裁线的逻辑为“线或”总线仲裁2.分布式仲裁【例4-1】假定设备1和设备2同时要求使用总线,它们的仲裁号分别为00000101和00001010,解释两个设备的分布式仲裁过程。两个设备的CN7~CN4经过如图4-5的逻辑后,AB7~AB4均为1。设备1的CN3为0,设备2的CN3为1,经过仲裁后AB3为0。此时设备1中AB3对应的或门电路的输入为CN3=0和AB3=0,所以对应的竞争线W3输出为0。根据电路逻辑,设备1的后续仲裁结果均为1,与仲裁号CN无关。而设备2的CN3为1,其对应的竞争线W3输出为仍为1,后续的仲裁结果与CN有关。以此类推,最后仲裁线得到的结果为11110101,取反后即为设备2的仲裁号00001010,所以设备2获得总线的使用权。总线握手1.同步通信时序必须由总线控制部件发出的时钟信号对它们进行同步同步式数据输入传输同步式数据输出传输总线握手2.异步通信异步通信允许各模块速度的不一致性,当主模块发出请求信号时,一直等待从模块反馈回来“确认”信号后,才开始通信。总线握手2.异步通信(1)不互锁方式主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号;(2)半互锁方式主模块发出请求信号,必须等待接到从模块的回答信号后再撤销其请求信号,有互锁关系;(3)全互锁方式主模块发出请求信号,必须待从模块回答后再撤销其请求信号;从模块发出回答信号,必须待获知主模块请求信号已撤销后,再撤销其回答信号。双方存在互锁关系,故称为全互锁方式。总线握手3.半同步通信半同步通信既保留了同步通信的基本特点,所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别;同时又像异步通信那样,允许不同速度的模块和谐地工作。/03常用总线标准AMBA总线高级微控制器总线架构(AMBA)包括高级高性能总线(AHB)和高级外设总线(APB)AHB用于高性能系统模块的连接,可以有效地连接处理器、片上和片外存储器,支持流水线操作APB用于较低性能外设的简单连接,一般是通过桥和AHB相连,是接在系统总线上的第二级总线PCI总线(1)高性能(2)总线设备工作与

CPU相对独立(3)即插即用(4)支持多主控设备(5)错误检测及报告PCI-E总线PCI-E是串行总线PCI-E总线支持双向传输和数据分通道传输PCI-E总线充分利用先进的点到点互连、基于交换的技术、基于包的协议PCI-E与PCI总线保持良好的继承性PCI-E总线充分利用先进的点到点互连,降低了系统硬件平台设计的复杂性USB总线通用串行总线USB(UniversalSerialBus)是目前电脑端不可或缺的接口总线(1)传输速率高(2)支持即插即用(3)支持热插拔(4)良好的扩展性(5)可靠性高(6)统一标准/04常用接口标准并行接口25针并行接口36针并行接口并行接口采用并行传输方式来传输数据并行接口RS232C接口并行接口USB接口嵌入式系统原理与设计第5章基于ARM处理器的嵌入式硬件系统设计本章需要掌握以下内容:ARM处理器及其特点;嵌入式系统硬件设计基础知识;基于S3C2410的硬件电路设计。/015.1ARM处理器5.1.1ARM简介

嵌入式微处理器的典型代表是ARM系列处理器,其核心是ARM公司设计的基于RISC指令集的微处理器核。ARM系列处理器已成为高性能、低功耗、低成本32位嵌入式处理器的霸主,它的市场份额早已超过75%。ARM全称是AdvancedRISCMachines,即高级精简指令集计算机。现在,ARM既是一个公司的名称,也是一类处理器及体系结构的名称,还是一种技术的名称。1145.1.2ARM处理器ARM处理器:经典ARM处理器系列(2007年前)、Cortex处理器系列。这两个系列目前在市场上并存。ARM处理器系列ARM7微处理器系列ARM9微处理器系列ARM10E微处理器系列ARM11微处理器系列Cortex系列处理器Cortex-A系列Cortex-R系列Cortex-M系列5.1.2ARM处理器5.1.3经典ARM处理器后缀含义经典ARM微处理器内核按下面方式进行命名:ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}{x}代表处理器系列,是共享相同硬件特性的一系列处理器的具体实现,例如ARM7TDMI、ARM740T和ARM720T都属于ARM7系列。{y}代表对存储管理/保护单元,即MMU/MPU的支持。{z}代表片上存储资源,是Cache或TCM。5.1.3经典ARM处理器后缀含义{T}{D}{M}{I}{E}{J}{F}{-S}可选项的含义如表所示标志含义说明TThumb指令集指令长度为16位,为ARM指令集的子集D片上调试通常为一个边界扫描链JTAG,可使CPU进入调试模式M长乘法32位乘32位得到64位,32位的乘加得到64位I嵌入式跟踪宏单元实现断点观测及变量观测的逻辑电路EDSP指令增加了DSP算法处理器指令:16位乘加指令,饱和的带符号数的加减法,双字数据操作,Cache预取指令JJava加速器采用Jazelle技术,提高Java代码的运行速度F向量浮点单元VFP支持浮点计算S可综合可综合的软核,提供VHDL或Verilog语言设计文件5.1.3经典ARM处理器后缀含义(1)Thumb指令集(T变种)Thumb指令集是将ARM指令集的一个子集重新编码而形成的一个指令集。ARM指令长度为32位,Thumb指令长度为16位。(2)长乘法指令(M变种)M变种增加了两条用于进行长乘法操作的ARM指令。其中一条指令用于实现32位整数乘32位整数,生成64位整数的长乘法操作;另一条指令用于实现32位整数乘以32位整数,然后再加上32位整数,生成64位整数的长乘加操作。5.1.3经典ARM处理器后缀含义(3)增强型DSP指令(E变种)E变种主要包括几条新的实现16位数据乘法和乘加操作的指令;实现饱和的带符号数的加减法操作的指令。(4)Java加速器Jazelle(J变种)Jazelle技术提供了Java的加速功能,可以得到比普通Java虚拟机高得多的性能。与普通的Java虚拟机相比,Jazelle使Java代码运行速度提高8倍,而功耗降低80%。5.1.4ARM处理器工作状态及运行模式ARM处理器有ARM和Thumb两种工作状态。具体来说,当ARM处理器执行32位的ARM指令集时,工作在ARM状态;当ARM处理器执行16位的Thumb指令集时,工作在Thumb状态。32位的ARM与16位的Thumb双指令集在代码密度和性能之间进行了很好的折中。5.1.4ARM处理器工作状态及运行模式ARM处理器的7种运行模式处理器模式描述用户模式USR正常应用程序执行时所在的模式快速中断模式FIQ用于高速数据传输或通道处理,和快速中断服务程序执行的场合外部中断模式IRQ用于通用的中断处理场合管理模式SVE供操作系统使用的一种保护模式数据访问终止模式ABT当数据访问终止时进入该模式,可用于虚拟存储及存储保护系统模式SYS用于运行具有特权的操作系统任务未定义指令终止模式UNDEF用于处理没有定义的指令,可在该模式中用软件来模拟硬件功能,比如浮点运算5.1.5ARM处理器支持的异常/中断复位(Reset)。当处理器的复位引脚有效时,系统产生复位异常,此时开始从复位异常入口处取指令执行。未定义指令(UndefindedInstruction)。当ARM处理器或协处理器认为当前指令未定义时,产生未定义的指令异常。软件中断(SoftwareInterrupt,SWI)。这是一个用户可控的中断指令,可用于用户模式下的程序调用特权操作指令。指令预取终止(PrefechAbort)。如果处理器预取指令的地址不存在或该地址不允许当前指令访问,则存储器会向处理器发出终止信号,实际的异常在流水线解码阶段发生。5.1.5ARM处理器支持的异常/中断数据访问终止(DataAbort)。如果处理器数据访问指令的地址不存在或该地址不允许当前指令访问,则处理器会产生数据终止异常。外部中断请求(IRQ)。当处理器的外部中断请求引脚有效,且处理器的状态寄存器中的I位为0时,处理器产生外部中断请求异常。快速中断请求(FIQ)。当处理器的快速中断请求引脚有效,且处理器的状态寄存器中的F位为0时,处理器产生快速中断请求异常。5.1.5ARM处理器支持的异常/中断ARM处理器异常向量表异常/中断缩写正常地址高地址复位RESET0x000000000xFFFF0000未定义指令UNDEF0x000000040xFFFF0004软件中断SWI0x000000080xFFFF0008终止(预取指令)PABT0x0000000C0xFFFF000C终止(数据)DABT0x000000100xFFFF0010保留---0x000000140xFFFF0014中断请求IRQ0x000000180xFFFF0018快速中断请求FIQ0x0000001C0xFFFF001C1261275.1.6ARM处理器的寄存器未备份通用寄存器在所有的通用寄存器中,无论处理器处于那种模式,访问R0~R7寄存器都是访问的同一个物理寄存器。因此,这8个寄存器是真正意义上的通用寄存器。在中断或者异常处理程序中一般都需要对这几个寄存器进行保存。未备份通用寄存器没有被系统用于特别的用途,任何采用通用寄存器的场合都可以使用这些寄存器。5.1.6ARM处理器的寄存器备份通用寄存器R8~R14寄存器,这些寄存器称为备份通用寄存器,其相应的异常模式下的物理寄存器称为影子寄存器。对于备份通用寄存器R8~R12来说,每个寄存器在FIQ模式下都有对应的影子寄存器。对于备份通用寄存器R13和R14来说,每个寄存器对应6个不同的物理寄存器,包括用户模式和系统模式下的同一个寄存器,以及其他5种处理器模式下的5个寄存器。通常采用下标来区分不同的物理寄存器,如R13_<mode>。其中<mode>可以是下面几种模式之一:usr、svc、abt、und、irq及fiq。5.1.6ARM处理器的寄存器备份通用寄存器通用寄存器R13在ARM中常用作堆栈指针,即指向堆栈的栈顶地址。在ARM汇编编程中,这是一种习惯的用法,硬件并没有强制性的使用R13作为堆栈指针,用户也可以使用其他的寄存器作为堆栈指针;但在Thumb指令集中,有一些指令强制性地使用R13作为堆栈指针。每一种异常模式拥有自己物理的R13,这样使得每种异常模式都有自己专有的堆栈,避免异常处理程序破坏其他程序的现场。5.1.6ARM处理器的寄存器备份通用寄存器通用寄存器R14又被称为链接寄存器LR(LinkRegister),这是ARM处理器在内部电路中已经规定好的,在ARM汇编编程时必须遵守。

在每种处理器模式都有R14的影子寄存器,存放当前子程序的返回地址。

BL或BLX指令调用子程序时,ARM处理器硬件会自动将应模式下的R14设置成该子程序的返回地址。在子程序中,当把R14的值复制到程序计数器PC中时,完成子程序返回。5.1.6ARM处理器的寄存器程序计数器PC

PC在ARM处理器中,是有专门用途的,用来指向待取指指令的地址。如果修改PC寄存器的值,其实就是改变ARM处理器取指的地址。

正常程序是顺序执行,因此每执行一条ARM指令,PC值加4;

每执行一条Thumb指令,PC值加2。在ARM9处理器中,由于其采用的是5级流水机制,在ARM状态下,处于执行阶段的指令地址与取指阶段的指令地址相差两条指令,故PC值差8。5.1.6ARM处理器的寄存器4.ARM程序状态寄存器程序状态寄存器包括1个当前程序状态寄存器(CPSR)和5个备份状态寄存器(SPSR)。

CPSR无影子寄存器,SPSR在不同异常模式下访问的是不同的物理寄存器。313029282726……876543210NZCVQ保留位IFTM4M3M2M1M0CPSR和SPSR数据格式相同,如图所示,包括条件标志位、中断禁止位、当前处理器模式标志,以及其他一些相关的控制和状态位。5.1.6ARM处理器的寄存器状态寄存器中各条件标志位的具体含义标志位含义N本位设置成当前指令运算结果的bit[31]的值。当两个补码表示的有符号整数运算时,N=1表示运算的结果为负数;N=0时,表示运算的结果为正数或零。ZZ=1表示运算的结果为零;Z=0表示运算的结果不为零。对于CMP指令,Z=1表示进行比较的两个数大小相等。C(1)在加法指令中(包括比较指令CMN),当结果产生了进位,则C=1,表示无符号数运算发生了溢出;其他情况下C=0(2)在减法指令中(包括比较指令CMP),当运算中发生了借位,则C=0,表示无符号数运算下溢出;其他情况下C=1(3)对于包含移位操作的非加/减运算指令,C中包含最后一次被溢出的位的数值(4)对于其他非加/减运算指令,C位的值通常不受影响V对于加/减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出。通常其他的指令不影响V位,具体可参考各指令的说明。5.1.6ARM处理器的寄存器状态寄存器控制位的具体含义控制位含义II=1,表示禁止IRQ中断;否则,表示允许IRQ中断FF=1,表示禁止FIQ中断;否则,表示允许FIQ中断T对于ARMv4以上指令版本的T系列处理器,T=0,表示处理器处于ARM状态,执行ARM指令;否则处于Thumb状态,表示执行Thumb指令M[4:0]M[4:0]处理器工作模式ARM状态下可访问的寄存器10000用户模式PC,R0~R14,CPSR10001快速中断模式PC,R0~R7,R8_fiq~R14_fiq,CPSR,SPSR_fiq10010外部中断模式PC,R0~R12,R13_irq~R14_irq,CPSR,SPSR_irq10011管理模式PC,R0~R12,R13_svc~R14_svc,CPSR,SPSR_svc10111终止模式PC,R0~R12,R13_abt~R14_abt,CPSR,SPSR_abt11011未定义指令模式PC,R0~R12,R13_und~R14_und,CPSR,SPSR_und11111系统模式PC,R0~R14,CPSR/025.2硬件系统设计基础5.2.1ARM芯片选型原则1.处理器性能系列典型性能典型工作频率(MHz)ARM70.9MIPS/MHz20-133ARM91.1MIPS/MHz100-266ARM10E1.35MIPS/MHz300ARM111.2MIPS/MHz500-800Cortex-M0.8-2.2DMIPS/MHz20-200Cortex-R1.5-2.5DMIPS/MHz200-1000Cortex-A1.5-5.5DMIPS/MHz1000-30005.2.1ARM芯片选型原则2.操作系统支持一些大型操作系统(如Linux、Android等)需要MMU(内存管理单元)的支持才可正常运行,所以在需要使用这些操作系统时,所选的ARM处理器应当含有MMU。3.功耗功耗与处理器的性能有关,性能越高,通常功耗也越高;功耗与处理器所采用的节能技术有关,芯片可以通过先进的电源管理技术,降低能耗。5.2.1ARM芯片选型原则4.外围接口及其他扩展功能处理器通常需要通过各种接口与其他外设连接,才能组成一套完整的系统。对于片内已有的资源(接口等),用户就可以直接拿来用,而无须再自行进行设计,极大的方便了产品的开发,对于产品的小型化设计也起到了很大的作用。5.其它因素

对于实际的产品,还应考虑处理器的应用场合(如民用、工业、军事等),工作条件(如工作温度、湿度等),机械尺寸,封装形式,价格等。5.2.2存储芯片选型原则常用存储器及特点1.存储器类型类型名称特点ROM只读存储器非易失性存储器,常用于存储少量不能更改的关键代码或数据。NANDFLASH基于NAND技术的闪存非易失性存储器,常用于嵌入式系统的外存,用于存储普通的代码和数据,一般不能片上执行。NORFLASH基于NOR技术的闪存非易失性存储器,常用于存储嵌入式系统的启动代码,可以片上执行,单位容量成本高于NAND闪存。SRAM静态随机访问存储器易失性存储器,常用于嵌入式系统的内存,性能好,但单位容量成本高,与处理器连接简单。DRAM动态随机访问存储器易失性存储器,常用于嵌入式系统的内存,性能比SRAM差,但单位容量成本低,与处理器连接复杂。5.2.2存储芯片选型原则确定好存储芯片的类型后,要根据所选处理器的要求选择合适的存储器型号。主要考察存储芯片接口、位宽与所选处理器芯片是否匹配,存储器的存储带宽是否满足应用需求等。此外,存储器芯片的供电电压与选择的处理器芯片的电压是否一致也需要考虑。2.存储器型号3.其它对于实际的产品,与处理芯片一样,还应考虑存储器芯片的应用场合(如民用、工业、军事等),工作条件(如工作温度、湿度等),机械尺寸,封装形式,价格等。5.2.3电路原理图检查

硬件电路原理图设计好后,一般要对照下面的检查原则逐条进行检查,确保原理图正确。 1.检查芯片的封装 2.检查电气规则 3.检查所有的网络节点是否都连接正确 4.检查芯片的引脚连接 5.检测所有的外接电容、电感、电阻的取值是否有根据 6.检查所有芯片供电端是否加了电容滤波 7.检测系统所有的接口电路 8.检查各个芯片是否有上电、复位的先后顺序要求 9.检查原理图中的地5.2.4最小硬件系统设计嵌入式硬件体系结构嵌入式最小硬件系统/035.3ARM9处理器S3C24105.3.1S3C2410简介S3C2410处理器是韩国三星公司设计的基于ARM920T内核的32位RISC处理器,该芯片是低功耗,高性能的嵌入式CPU的代表。右图是S3C2410的内部框图,主要模块包括:核心处理模块、AHB及高速设备、APB及低速设备、系统控制模块(时钟、复位、Jtag等)。5.3.1S3C2410简介S3C2410采用272脚的细间距球栅阵列(FBGA:Fine-PitchBallGridArray)封装,14mm×14mm大小,如图所示;采用0.18umCMOS标准宏单元和存储器单元工艺生产。5.3.2S3C2410结构特点为手持设备和通用嵌入式应用提供片上集成系统;16/32位RISC体系结构和ARM920T内核强大的指令集;核心处理模块由ARM920T内核、MMU、Cache、协处理接口和写Buffer等组成;增强ARM体系内存管理单元,支持WinCE,Vxworks和Linux等大型操作系统;独立的16KB指令Cache、16KB数据Cache和写缓冲,提升系统的存储访问性能;ARM920TCPU内核支持ARM调试体系结构;内部高级微控制器总线体系结构(AMBA)(AMBA2.0,AHB/APB);接口方面:3路UART,4路DMA,4路带PWM的Timer,117个GPIO,RTC,8路10位ADC,TouchScreen接口,IIC-BUS接口,IIS-BUS接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。5.3.3S3C2410各模块的主要功能1.存储管理支持大/小端(通过软件选择);寻址空间为128M字节/bank(总共1G字节/8banks);8个存储器bank:其中6个适用于ROM、SRAM等,另外2个适用于ROM、SRAM和同步DRAM;所有的存储器bank都具有可编程的操作周期;支持外部等待信号延长总线周期;支持掉电时的SDRAM自刷新模式;支持各种类型的ROM引导(NOR/NAND闪存,EEPROM等);支持从NAND闪存启动,采用4KB内部缓冲区进行启动引导,支持启动之后NAND存储器仍然作为外部存储器使用;4通道DMA控制器,支持存储器到存储器,IO到存储器,存储器到IO和IO到IO传输,支持猝发传输模式加快传输速率。5.3.3S3C2410各模块的主要功能2.时钟和电源管理器片上MPLL和UPLL。采用UPLL产生操作USB主机/设备的时钟;MPLL产生最大266MHZ操作微处理器内核所需要的时钟;通过软件可以有选择性的为每个功能模块提供时钟;电源模式:正常,慢速,空闲和断电模式;由EINT[15:0]或RTC警报中断从关机模式唤醒;4通道16位具有PWM功能的定时器,1通道16位内部定时器,可基于DMA或中断工作;RTC(实时时钟),完整的时钟功能:秒、分钟、小时、日、月和年,32.768KHz工作,具有报警中断等。5.3.3S3C2410各模块的主要功能3.中断控制器与IO55个中断源(一个看门狗定时器,5个定时器,9个UART,24个外部中断,4个DMA,2个RTC,2个ADC,1个IIC,2个SPI,1个SDI,2个USB,1个LCD和1个电池故障);电平/边沿触发模式外的部中断源,可编程的电平/边沿触发极性;支持为紧急中断请求提供快速中断服务(FIQ);24个外部中断端口,多路输入/输出端口;3通道UART,可以基于DMA模式或中断模式工作,支持5位,6位,7位或8位串行数据发送/接收(Tx/Rx),可编程波特率,每个通道具有内部16字节的发送FIFO和16字节接收FIFO。5.3.3S3C2410各模块的主要功能4.外设与接口8通道多路复用ADC,最大500KSPS/10位精度;支持3种STNLCD面板(16级灰度STNLCD、256色和4096色STNLCD),支持4位双扫描,4位单扫描,8位单扫描显示类型,LCD实际尺寸的典型值是640×480,320×240,160×160及其他;具有TFT(薄膜晶体管)彩色显示器功能;16位看门狗定时器,在定时器溢出时发生中断请求或系统复位;1通道多主I2C总线,8位双向的数据传输在标准模式下可以达到100Kbit/s,在快速模式下可以达到400Kbit/s;1通道音频I2S总线接口,可基于DMA方式工作,每通道8/16位数据传输;2个USB主设备接口,遵从OHCI1.0标准,兼容USBver1.1标准;1个USBver1.1从设备接口;兼容2通道SPI协议2.11版,发送和接收具有2x8位移位寄存器。/045.4基于S3C2410硬件电路设计5.4.1时钟、复位与电源电路设计时钟控制元框图右图所示的是时钟控制单元的框图,主时钟源由外部的无源晶体(XTIpll)或外部的有源晶振(EXTCLK)引入。时钟源的选择可以通过芯片的模式控制引脚(OM3和OM2)来设定,S3C2410在nRESET的上升沿读取OM[3:2]的状态。OM[3:2]状态与时钟源选择的关系5.4.1时钟、复位与电源电路设计晶体振荡器产生时钟源的电路主时钟源的例子外部有源晶振产生时钟源的电路5.4.1时钟、复位与电源电路设计2.复位电路设计对于S3C2410来说,其复位信号为低电平复位,如图所示。其中tRESW为复位时间,S3C2410的复位时间应不少于4个输入时钟周期(XTIpll或EXTCLK)。5.4.1时钟、复位与电源电路设计2.复位电路设计S3C2410的复位电路5.4.1时钟、复位与电源电路设计3.S3C2410电源管理S3C2410可以通过软件来控制系统内的各个时钟信号,所以为其规定了四种电源模式:NORMAL、IDLE、SLOW和POWER-OFF模式,应用在不同的情况。这四种电源模式可以相互切换,但又要遵循一定的规则。5.4.1时钟、复位与电源电路设计3.S3C2410电源管理NORMAL模式

在NORMAL模式,全部的外围及基础模块,包括电源管理模块、CPU核、总线控制器、内存控制器、中断控制器、DMA以及ExtMaster都处于全速运行状态。但是用于外围及特定模块的时钟是可以有选择地通过软件进行关闭的,这样可以减少电能的消耗。5.4.1时钟、复位与电源电路设计3.S3C2410电源管理IDLE模式在IDLE模式,用于CPU核的时钟信号,除了总线控制器、内存控制器、中断控制器和电源管理模块,都将被停止。要退出IDLE模式,可以通过EINT[23:0]或RTC中断或其他中断来实现。(EINT在GPIO模块工作时才可使用,GPIO是通用输入输出,一种软件运行期间能够动态配置和控制的通用引脚。)5.4.1时钟、复位与电源电路设计3.S3C2410电源管理SLOW模式(Non-PLL模式)在SLOW模式,可以通过采用较慢的时钟频率,并排除PLL所消耗的电能,来减少电能的消耗。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论