嵌入式系统设计-硬件基础1.ppt
《嵌入式系统设计-硬件基础1.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统设计-硬件基础1.ppt(121页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MCF5307处理器嵌入式系统设计-硬件基础(1)电气学院研究生创新实验室第2章ColdfireMCF5307处理器选择Motorola公司的ColdFire系列嵌入式微处理器MCF5307其主要因素:ColdFire产品是针对嵌入式系统工业应用而设计的。其版本从V2、V3、直到V6,在本教科书中选择中档的V3版本;ColdFireMCF5307CPU的功能强大和高的性能价格比足以能满足绝大多数用户的要求。电气学院研究生创新实验室ColdFire 系列CPU的发展电气学院研究生创新实验室2.0基于MCF5307的实验板PCB(1)电气学院研究生创新实验室2.0基于MCF5307的实验板PCB(
2、2)电气学院研究生创新实验室2.0基于MCF5307的实验板功能电气学院研究生创新实验室2.0MCF5307CPU的原理图电气学院研究生创新实验室2.0网络视频原理框图(1)电气学院研究生创新实验室2.0TMS320C6205CPU的原理图电气学院研究生创新实验室2.0TMS320C6205CPU的封装图BGA封装:PCB多层布线CPU散热电气学院研究生创新实验室2.0MCS-51的总体结构电气学院研究生创新实验室2.0 MCS-51的基本组成数据总线 DB0:7地址总线 AB0:15控制总线 WR,RD中断控制INT0:1并行接口P0P3 串行接口RXD,TXD 时钟与复位RST定时器/计数
3、器T0,T1电气学院研究生创新实验室2.1MCF5307 结构框图(1)电气学院研究生创新实验室2.1MCF5307 结构框图(2)V3CPU内核外部总线接口SIM模块内部总线仲裁器并口调试模块JTAGBDM串口定时器DMAIIC测试控制器电气学院研究生创新实验室2.2V3核心模块组成JTAG接口CPU4k SRAM8k Cache基本寄存器组MAC&DIV模块电气学院研究生创新实验室2.2核心模块基本寄存器V3CPU对地址空间进行访问时有两个特权级别,USER和SUPERVISOR。其含义是:用户模式CPU处于用户模式(SRS=0)时,只有寄存器的子集可以访问,不能执行特权指令。大多数用户程
4、序在用户模式下运行。通过RTE指令(堆栈中SRS=0)或是写SRS=0可以进入用户模式;管理员模式 管理员模式(SRS=1)下程序可以访问CPU的所有寄存器,执行所有指令。异常处理也是在管理员模式模式下进行的。电气学院研究生创新实验室2.2核心模块基本寄存器结构电气学院研究生创新实验室2.2核心模块基本寄存器:用户寄存器组电气学院研究生创新实验室2.2核心模块管理员寄存器组电气学院研究生创新实验室2.2核心模块调试模块(1)分为两个部分:CPU状态和测试模式JTAG接口电气学院研究生创新实验室2.2核心模块调试模块(2)BDM接口调试模式选择电气学院研究生创新实验室2.2核心模块调试模块:CP
5、U状态测试模式(MTMOD3:0)MTMOD0=0时,BDM调试模式;否则JTAG调试模式。高阻抗控制信号(nHIZ)nHIZ有效,所有的输出引脚被置于高阻抗状态。调试数据(DDATA3:0)DDATA显示了捕获的处理器数据和断点状态,在调试支持中将说明。处理器时钟信号(PSTCLK)是由内部的PLL产生,用以实现调试DDATA3:0和PST3:0的同步。PSTCLK和CPU核同频率,都是2倍晶振。处理器状态(PST3:0)用来指示5307处理器的状态。在调试状态下,其定时与处理器时钟PSTCLK是同步的,但是与当前总线传送无关。电气学院研究生创新实验室2.2核心模块调试模块:PST含义PST
6、的状态含义:电气学院研究生创新实验室2.2核心模块调试模块:JTAG(1)测试复位/串行时钟(nTRST/DSCLK)当MTMOD0位高时,nTRST功能被选择。nTRST将异步复位5307内部的JTAG控制器为测试逻辑的复位状态,引起JTAG指令寄存器选择BYPASS指令。当nTRST有效时,JTAG逻辑开始执行。如果MTMOD0为低,选择DSCLK功能,DSCLK是BDM调试模块的同步时钟,其最高频率是CLKIN的五分之一。测试模式选择/断点(TMS/BKPT)当MTMOD0为高时,选择TMS功能。TMS向5307内部的JTAG控制器提供操作模式的信息,在TCK上升沿时TMS的状态和内部1
7、6态JTAG控制器决定了JTAG控制器保持当前的状态还是转移到下个状态。这样直接控制了JTAG是指令还是数据发生。TMS内部是上拉的,如果不用,应该接到VDD。如果MTMOD0为低,选择BKPT功能,BKPT向调试状态下的CPU发出一个硬件断点即CPU进入停机状态。电气学院研究生创新实验室2.2核心模块调试模块:JTAG(2)测试数据输入/开发串行数据输入(TDI/DSI)当MTMOD0为高时,选择TDI功能。TDI给JTAG模块提供了串行的数据输入。TDI在内部有上拉,如果没有使用,应该接到VDD。如果MTMOD0为低,选择DSI功能,DSI作为BDM口的数据输入端。测试数据输出/开发串行数
8、据输出(TDO/DSO)当MTMOD0为高时,选择TDO功能。TDO给JTAG模块提供了串行的数据输出。如果没有数据输出,TDO端是三态的。如果MTMOD0为低,选择DSO功能,DSO作为BDM口的数据输出端。测试时钟(TCK)TCK是JTAG模块的专用时钟,JTAG操作在TCK的上升或是下降沿发生,维持TCK为高或低不会改变JTAG逻辑的状态。如果TCK没有使用,它应该接地电气学院研究生创新实验室2.2核心模块SRAM结构5307内部有4Kbytes的高速SRAM,它可以存放需要频繁调用的数据和代码。可通过访问基地址寄存器(RAMBAR)配置内部的SRAM,RAMBAR的定义如下:电气学院研
9、究生创新实验室2.2核心模块SRAM编程 在定义地址的时候,31-15位存放基地址BA,14-0位上电初始化为0。当BA被指定后,内部4Kbytes的SRAM的地址被指定0-14以32K为边界的地址空间中的任意4Kbytes空间内,0-8位中的控制位与基地址无关,但在初始化中必须给予定义。对RAMBAR在初始化编程如下:SRAMaddr:equ0 x01000000/基地址是0 x01000000,move.l#SRAMaddr+0 x21,d0/C/I=1,V=1movecd0,RAMBAR电气学院研究生创新实验室2.2核心模块RAMBAR数据位含义RAMBAR有绝对空间地址(CPU0 xC
10、04),访问使用名称。电气学院研究生创新实验室2.3SIM模块(1)电气学院研究生创新实验室2.3SIM模块PLL模块(1)时钟输入端频率为f,则CPU核工作频率为2*f(f为PCLK和PSTCLK的频率),总线频率为2*f/n,其中n为分频系数。电气学院研究生创新实验室2.3SIM模块复位初始化电气学院研究生创新实验室2.3SIM模块启动配置(1)电气学院研究生创新实验室2.3SIM模块启动配置(2)电气学院研究生创新实验室2.3SIM模块PLL电源电气学院研究生创新实验室2.3SIM模块中断控制(1)中断控制器引出nIRQ7、nIRQ5、nIRQ3和nIRQ1四个外部中断请求。电气学院研究
11、生创新实验室2.3SIM模块中断控制器结构图电气学院研究生创新实验室2.3SIM模块中断控制:编程举例(1)中断向量表的初始化第1步:建立向量表,文件名:vector.s V_TABLE:DC.L_SP_INIT;0(InitialstackPointer)DC.Lstart;1(Initialprogramcounter)DC.L$FFFFFFFF;2(AccessError)DC.L$FFFFFFFF;3(Addresserror)DC.L$FFFFFFFF;4(IllegalInstruction)DC.L$FFFFFFFF;5(reserved)DC.L$FFFFFFFF;6(rese
12、rved)DC.L$FFFFFFFF;7(reserved)DC.L$FFFFFFFF;8(Privilegeviolation)DC.L$FFFFFFFF;9(Trace)DC.L$FFFFFFFF;10(Unimplementedline-acode)DC.L$FFFFFFFF;11(Unimplementedline-fcode)DC.L$FFFFFFFF;12(DebugInterrupt)DC.L$FFFFFFFF;13(reserved)电气学院研究生创新实验室2.3SIM模块中断控制:编程举例(2)第2步:在初始化程序中把向量表复制到以VBR为基地址的内存中。SET_UP_VEC
13、TOR:move.l#VBRx,D0 ;define the init location of the movec D0,VBR ;Vector Base register clr.l D0 lea.l VBRx,A0 ;point A0 to the VBRx location lea.l V_TABLE,A1VT_INIT:move.l(A1)+,(A0)+;point A1 to the vector table addi.l#1,D0 cmp.l#100,D0 ;D0 is just a counter to set up bne VT_INIT ;100 of 256 possibl
14、e interrupts rte 电气学院研究生创新实验室2.3SIM模块中断控制:编程举例(3)中断向量的填入 *vect=(ADDRESS*)0 x00000000;vectvector_num=(ADDRESS)&isr_name 中断服务程序的编写 中断的开和关 关中断语句 move.w#2700,SR;开中断语句 move.w#2000,SR;电气学院研究生创新实验室2.3SIM模块片选模块:CS,SDRAM,CPU关系电气学院研究生创新实验室2.3SIM模块片选模块:片选引脚片选nCS7:0 nCS0是非常特殊的一个片选信号,在复位之口选择启动ROM;并由D0:7进行配置。字节使能
15、/字节写使能 nBE/nBWE3:0 对于每个片选端口都可以编程设定nBE/nBWE,仅是写操作时有效或者是读写操作都有效。输出使能nOE nOE有效时,CPU才可对外部端口进行读操作,并当片选端必须和当前地址匹配时,nOE才可能输出。电气学院研究生创新实验室2.3SIM模块片选模块:MCS51的片选MCS51的片选一般采用线选或者是高位地址线的逻辑组合,如:如选择CS1,则其地址范围为:CS1:0 x20000 x2fff电气学院研究生创新实验室2.3SIM模块片选特征MCF5307提供了8个可编程的片选端子、4个字节使能/字节写使能和1个输出使能信号;其中,nCS0和nCS1是完全可编程的
16、,nCS2nCS7是固定偏移量的;nCS0和nCS1的地址屏蔽可从64k2G选择;nCS2nCS7固定的地址空间为2M。可编程的端口宽度和等待状态电气学院研究生创新实验室2.3SIM模块片选模块:CSAR设置片选地址寄存器(CSAR0-CSAR7)CSAR0和CSAR1是16位宽度的读写寄存器,占据CSAR的A31:16;CSBAR是8位宽度的读写寄存器,占据CSAR的A31:24;是CS2CS7公用的地址,每个片选的偏移量由A23:21译码确定。如在CSBAR中写入0 xF0,则CS5的地址空间为:0 xf0a000000 xf0bfffff;CS6的地址空间为:0 xf0c000000 x
17、f0dfffff。电气学院研究生创新实验室2.3SIM模块片选模块:CSMR设置每个CSMR都是32位的,但是CSMR0和CSMR1的设置决定了CS0和CS1的地址空间:CS0和CS1的空间为2n,n=CSMR中设置的位数16;CS2CS7总是为2M。则CS0有两个64k空间:0 x000000000 x0000ffff 和0 x000800000 x0008ffffCSAR0=0 x0000;CSMR0=0 x00080000;如:电气学院研究生创新实验室2.3SIM模块片选模块:CSCR设置 每个CSCR寄存器都控制自动响应、端口宽度、突发能力以及片选的激活。但是,CSCR0和CSCR17
18、是不一样的。CSCR0设置状态:CSCR1CSCR7设置状态:电气学院研究生创新实验室2.3SIM模块片选模块:工作方式D7:5是由启动配置决定的电气学院研究生创新实验室2.3SIM模块片选模块:举例硬件连接电气学院研究生创新实验室2.3SIM模块片选模块:举例软件编程move.w#0 x0000,D0;CSAR0起始地址为0 x00000000move.w D0,CSAR0;move.w#0 x0C18,D0;move.w D0,CSCR0;move.l#0 x00000001,D0;CS0地址范围0 x000000000 x0000ffffmove.l D0,CSMR0;move.w#0
19、x0001,D0;CSAR1起始地址为0 x00010000move.w D0,CSAR1;move.w#0 x0C18,D0;move.w D0,CSCR1;move.l#0 x000f0001,D0;CS1地址范围0 x000100000 x000fffffmove.l D0,CSMR1;move.w#0 x0f00,D0;CSBAR地址为0 x0f000000move.w D0,CSBAR;这是CS27的基地址电气学院研究生创新实验室2.3SIM模块SDRAM的结构电气学院研究生创新实验室2.3SIM模块SDRAM控制器:SDRAM K4S641632FA10/AP:Row:12Col:
20、8电气学院研究生创新实验室2.3SIM模块SDRAM控制器:引脚定义 nSRAS同步行地址选通.连接到SDRAM芯片的nRASnSCAS同步列地址选通.连接到SDRAM芯片的nCASnDRAMW读写控制信号.连接到SDRAM芯片的nWEnRAS1:0SDRAM芯片的片选信号,应与相应SDRAM的nCS相连nCAS3:0不是SDRAM芯片的nCAS,和SDRAM的DQM信号相连BCLKO时钟输出,接SDRAM的CLKSCKE时钟允许输出,接SDRAM的CKE.它的另外功能是用作外部地址切换方式下的命令位.功能切换由DCRcoc控制电气学院研究生创新实验室2.3SIM模块SDRAM控制器:连接示意
21、图 由于SDRAM的CLK端频率很高,因此需要比较强的驱动能力,而驱动器的使用和附加引线必然给CLK带来延时。在5307的SDRAM控制器里,为了解决这个问题,引入了EDGESEL端子,电气学院研究生创新实验室S3C2410和SDRAM连接示意图电气学院研究生创新实验室2.3SIM模块SDRAM控制器:DCR寄存器设置DCR的基地址为:MBAR+0 x100,各位设置如下:SO:异步/同步DRAM;NAM:地址复用/不复用COC:时钟选择;IS:初始化自刷新命令RTIM:刷新定时;RC:刷新计数1514 13 121110 98 0SONAM COCIS RTIM电气学院研究生创新实验室2.3
22、SIM模块SDRAM控制器:DACR寄存器设置DACR0和DACR1分别控制两片SDRAM:311817 16151413 1211108BARECASLCBM765 432 1 0IMRSPSIPPM电气学院研究生创新实验室2.3SIM模块SDRAM控制器:地址映射原则连接方式的一般原则:从列地址的最低位开始排列;SDRAM地址线(行和列)不允许重复;8位数据口线列地址从a0开始排列;16位数据口线列地址从a1开始排列;32位数据口线列地址从a2开始排列;行地址在列地址排列完毕后按顺序继续。电气学院研究生创新实验室MCF5307和SDRAM可以连接的地址线MCF5307的地址线A17A16A
23、15A14A13A12A11A10A9A18A19A20A21A22A23A24A25A26a0a1a2a3a4a5a6a7a8SDRAM的列地址线a9a10a11a12a13a14a15a16a17电气学院研究生创新实验室2.3SIM模块SDRAM控制器:8位地址映射(1)分配完5307的A9-A17,,对应a8-a0后,为了地址不冲突,SDRAM的地址只能选a18。输出a18地址信号的管脚有5307的A18和A19(A18对应行a18,A19对应列a18),如果选择A18,它将在列选周期输出SDRAM的a17信号,这将与5307的A17在行选期间的输出的a17冲突,因此只能选择5307的A
24、19.以如下规则很容易得出下面的排列方式(冒号右边表示完成列选所需的5307的管脚)。8-11:A9-A17,A19,A218-12:A9-A17,A19,A21,A238-13:A9-A17,A19,A21,A23,A25电气学院研究生创新实验室2.3SIM模块SDRAM控制器:8位地址映射(2)电气学院研究生创新实验室2.3SIM模块SDRAM控制器:16位地址映射(1)对于16位的口线,SDRAM输出的a0是没有用处的,此时A17在nCAS期间5307输出A16。16-8:A16-A9,16-9:A16-A9,A18如果使用A17,那么A17在nCAS(列选信号)期间输出的a16信号与A
25、16在nRAS(行选信号)期间输出的a16出现了冲突,因此A17无法再使用,所需的A17将由A18提供。16-10:A9-A16,A18,A2016-11:A9-A16,A18,A20,A2216-11:A9-A16,A18,A20,A22,A2416-11:A9-A16,A18,A20,A22,A24,A26 电气学院研究生创新实验室2.3SIM模块SDRAM控制器:16位地址映射(2)电气学院研究生创新实验室2.3SIM模块SDRAM控制器:32位地址映射(1)32-?的地址映射5307地址线行地址nRAS列地址(nCAS)A15a15a2A14a14a3A13a13a4A12a12a5A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 设计 硬件 基础
限制150内