嵌入式最小系统设计.pptx
《嵌入式最小系统设计.pptx》由会员分享,可在线阅读,更多相关《嵌入式最小系统设计.pptx(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图6.1 最小系统原理框图嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)第1页/共102页 图6.2是一个典型的嵌入式系统硬件结构框图,部分基本功能描述如下:第2页/共102页复位电路可完成系统上电复位和在系统工作时用户按键复位。电源电路为S3C44B0X及其他需要3.3V电源的外围电路供电。晶振为系统提供工作时钟,通过片内PLL(时钟发生器)电路倍频作为微处理器的工作时钟。Flash存储器可存放已调试好的用户应用程序、嵌入式操作系统或其他在系统掉电后需要保存的用户数据等。SDRAM存储器作为系统运行时的主要区域,系统及用户数据、堆栈均位于SDRAM存储器中。第3页
2、/共102页JTAG接口可对芯片内部的所有部件进行访问,通过该接口可对系统进行调试、编程等。系统总线扩展引出了数据总线、地址总线和必需的控制总线,便于用户根据自身的特定要求扩展外围电路。串行接口电路用于系统与其他应用系统的短距离双向串行通信。10 M以太网接口为系统提供以太网接入的物理通道,通过该接口,系统可以10Mb/s的速率接入以太网。第4页/共102页第二节 S3C44B0X概述6.2.1 S3C44B0X 引脚及信号描述6.2.2 S3C44B0X 特性6.2.3 ARM 存储器6.2.4 S3C44B0X 存储控制器第5页/共102页第二节 S3C44B0X概述 S3C44B0X微处
3、理器是三星公司生产的基于ARM7TDMI核的微处理器,采用0.25m CMOS工艺制造,并在ARM7TDMI核基本功能的基础上集成了丰富的外围功能模块,便于低成本设计嵌入式应用系统。片上集成的主要功能如下:l在ARM7TDMI基础上增加8 KB的cache。l外部扩充存储器控制器(FP/EDO/SDRAM控制,片选逻辑)。lLCD控制器(最大支持256色的DSTN),并带有1个LCD专用DMA通道。第6页/共102页l2个通用DMA通道/2个带外部请求引脚的DMA通道。l2个带有握手协议的UART和1个SIO。l1个多主的IC总线控制器。l1个IIS总线控制器。l5个PWM定时器及1个内部定时
4、器。l看门狗定时器。l71个通用可编程I/O口,8个外部中断源。l功耗控制模式是正常、低、休眠和停止。l8路10位ADC。l具有日历功能的RTC(实时时钟)。lPLL时钟发生器。第7页/共102页6.2.1 S3C44B0X 引脚及信号描述S3C44B0X引脚如图6.3所示。第8页/共102页S3C44B0X引脚信号的详细描述见表6.1。表6.1 S3C44B0X引脚信号详细描述第9页/共102页第10页/共102页第11页/共102页第12页/共102页第13页/共102页第14页/共102页第15页/共102页第16页/共102页6.2.2 S3C44B0X 特性 1.体系结构l集成了手持
5、设备和通用嵌入式系统应用的解决方案。l16/32位RISC体系结构和ARM7TDMI处理器内核强大的指令体系。lThumb代码压缩机,最大代码密度同时保持了32位指令的性能。l基于JTAG的片上集成ICE调试支持解决方案。l328的硬件乘法器。l实现低功耗SAMBA II(三星ARM处理器嵌入式微控制器总线体系结构)的新型总线结构。第17页/共102页 2系统管理器l支持大、小端模式(通过外部引脚来选择)。l包含8个地址空间,每个地址空间为32 MB,总共有256 MB。l所有地址空间都可以通过编程设置为8位、16位或32位宽数据对齐访问。l8个地址空间中,6个地址空间可用于ROM、SRAM等
6、存储器,2个用于ROM、SRAM、FP/EDO/SDRAM等存储器。l7个起始地址固定及大小可编程的地址空间。l1个起始地址及大小可变的地址空间。l所有存储器空间的访问周期都可通过编程配置。l提供外部扩展总线的等待周期。l在低功耗模式下支持DRAM/SDARM自动刷新。l支持地址对称或非地址对称的DRAM。第18页/共102页3.cache和片内SRAMl4路相连统一的8KB指令/数据cache。l未作为cache使用的0/4/8KB cache存储空间可作为片内SRAM使用。lcache伪LRU(最近最少使用)的替换算法。l通过在主内存和缓冲区内容之间保持一致的方式写内存。l具有4级深度的写
7、缓冲。l当缓冲区出错时,请求数据填充。第19页/共102页4.时钟和功耗管理l低功耗。l片上PLL使得MCU的工作时钟频率最高为66MHz。l时钟可通过软件选择性地反馈回每个功能块。l功耗管理模式为:l正常模式:正常运行模式。l低速模式:不带PLL的低频时钟。l休眠模式:使CPU的时钟停止。l停止模式:所有时钟都停止。lEINT7:0或RTC警告中断可使功耗管理从停止模式中唤醒。第20页/共102页 5.中断控制器u30个中断源(1个看门狗定时器中断、6个定时器中断、6个UART中断、8个外部中断、4个DMA中断、2个RTC中断、1个ADC中断、1个I2 C中断和1个SIO中断)。u矢量IRQ
8、中断模式缩短中断响应周期。u外部中断源的电平/边沿模式。u可编程的电平/边沿极性。u支持紧急中断请求的FIQ(快速中断请求)。第21页/共102页6.带PWM的定时器(脉宽可调制)u5个16位带PWM的定时器,1个16位基于DMA或基于中断的内部定时器。u可编程的工作周期、频率和极性。u死区产生器。u支持外部时钟源。7.实时时钟RTC充分的时钟特性:毫秒、秒、分、时、天、星期、月、年。32.768 kHz时钟。CPU唤醒的警告中断。可产生时钟节拍中断。第22页/共102页8.通用输入/输出端口l8个外部中断端口。l71个(多功能)复用输入/输出口。9.UARTl2个基于DMA或基于中断的UAR
9、T。l支持5位、6位、7位、8位串行数据传送/接收l在传送/接收时支持硬件握手。l波特率可编程。l支持IrDA 1.0(115.2 kb/s)。l用于回环测试模式。l每个通道有2个用于接收和发送的内部32字节FIFO。第23页/共102页10.DMA控制器2路通用的无CPU干涉的DMA控制器。2路DMA桥(外设DMA)控制器。支持I/O到内存、内存到I/O、I/O到I/O的桥式DMA传送,有6种DMA请求方式软件、4个内部功能块(UART、SIO、实时器和IIS)和外部引脚。DMA之间优先级次序可编程。突发传送模式提高了FPDRAM、EDODRAM和SDRAM的传送率。支持内存到外围设备的fl
10、y-by模式和外围设备到内存的传送模式。11.A/D转换8通道多路ADC。最高转换速率100 kb/s/10b。第24页/共102页12.LCD控制器n支持彩色/单色/灰度LCD。n支持单扫描和双扫描显示。n支持虚拟显示功能。n系统内存可作为显示内存。n专用DMA用于从系统内存中提取图像数据。n可编程屏幕大小。n16级灰度。n彩色模式为256色。第25页/共102页13.看门狗定时器l16位看门狗定时器。l定时中断请求或系统超时复位。14.I2 C总线接口n1个基于中断操作的多主的I2 C总线。n8位双向串行数据传送器能够工作于100 kb/s的标准模式和400 kb/s的快速模式。15.II
11、S总线接口u1路基于DMA操作的音频IIS总线接口。u每通道8/16位串行数据传送。u支持MSB可调整的数据格式。第26页/共102页16.SIO(同步串行I/O)1路基于DMA或基于中断的SIO。波特率可编程。支持8位SIO的串行数据传送/接收操作。17.工作电压范围内核:2.5 V。I/O:3.03.6 V。18.工作频率最高达66MHz。19.封装160LQFP/160FBGA。第27页/共102页6.2.3 ARM 存储器 在现代SOC设计中,为了实现高性能,微处理器核必须连接一个容量大、速度高的存储器系统。如果存储器容量太小,就不能存储足够大的程序来使处理器全力处理,如果速度太慢,就
12、不能像处理器执行指令那样快地提供指令。但一般存储器容量大,速度相对会慢。因此,设计一个足够大又足够快的单一存储器,使高性能处理器充分发挥其能力,是有一定困难的,一般的解决方法是构建一个复合的存储器系统,这就是普遍使用的多级存储器层次的概念。第28页/共102页 多级存储器包括一个容量小但速度快的从存储器,以及一个容量大但速度慢的主存储器。容量小但速度快的元件是cache,能自动保存处理器经常用到的指令和数据的复制。根据典型程序的实验统计,这个存储器系统的外部行为在绝大部分时间像一个既大又快的存储器。2级存储器原理可扩展为多级存储器层次,如cache、主存和硬盘构成3级存储层次(嵌入式系统目前多
13、是2级的)。这里首先对ARM支持的存储数据类型和处理器中数据存储格式进行介绍,建立起ARM处理器的存储体系的概念。第29页/共102页1.存储数据类型和存储格式(1)数据类型 ARM处理器支持以下6种数据类型(较早的ARM处理器不支持半字和有符号字节):l8位有符号和无符号字节。l16位有符号和无符号半字,它们以2字节的边界对齐。l32位有符号和无符号字,它们以4字节的边界对齐。ARM指令全是32位的字,并且必须以字为单位边界对齐。Thumb指令是16位半字,而且必须以2字节为单位边界对齐。第30页/共102页 在内部,所有ARM操作都面向32位的操作数,只有数据传送指令支持较短的字节和半字的
14、数据类型。当从存储器调入一个字节或半字时,根据指令对数据的操作类型,将其无符号0或有符号“符号位”扩展为32位,进而作为32位数据在内部进行处理。ARM协处理器可以支持其他数据类型,特别是定义了一些表示浮点数的数据类型。在ARM核内没有明确地支持这些数据类型,然而在没有浮点协处理器的情况下,这些类型可由软件用上述标准类型来解释。第31页/共102页(2)存储器组织在以字节为单位寻址的存储器中有小端和大端两种方式存储字,这两种方式是根据最低有效字节与相邻较高有效字节相比,是存放在较低的地址还是较高的地址来划分的。两种存储方式如图6.4所示。l小端模式:较高的有效字节存放在较高的存储器地址,较低的
15、有效字节存放在较低的存储器地址。l大端模式:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。ARM处理器能方便地配置为其中任何一种存储器方式,但其默认设置为小端模式。在本书中将采用小端模式。第32页/共102页(a)小端存储器组织图 (b)大端存储器组织图图6.4 小端和大端存储器组织第33页/共102页2.存储器层次简介存储层次的管理由计算机硬件和操作系统来完成,典型的计算机存储层次由多级构成,每级都有特定的容量及速度。(1)寄存器组微处理器寄存器组可看作存储器层次的顶层。典型的RISC微处理器大约有32个32位寄存器,总共128B,其访问时间为几ns。第34页/
16、共102页(2)片上RAM如果微处理器要达到最佳性能,采用片上存储器是必需的。它和片上的寄存器组具有同级的读/写速度。与片外存储器相比,它有较好的功耗效率,并减少了电磁干扰。许多嵌入式系统中采用简单的片上RAM而不是cache,因为它简单、便宜、功耗低。但片上RAM又不能太快(消耗太多功率)、太大(占用太多芯片面积),因为片上RAM和片上寄存器组具有较高的实现成本,所以一般片上集成RAM的容量是必须考虑的。第35页/共102页(3)片上cache 片上cache存储器的容量为8K32 KB,访问时间大概为10ns。高性能PC机系统可能有第2级片外cache,其容量为几百KB,访问时间为几十ns
17、。ARM CPU芯片采用多种cache组织结构。(4)主存储器 嵌入式系统通常没有硬盘,主存储器可以是几MB到1GB的动态存储器,访问时间大约为50ns。第36页/共102页6.2.4 S3C44B0X 存储控制器 在基于ARM核的嵌入式应用系统中可能包含多种类型的片外存储器件,如Flash、ROM、SRAM和SDRAM等,而且不同类型的存储器件要求不同的速度、数据宽度等。为了对这些不同速度、类型、总线宽度的存储器进行管理,存储器管理控制器是必不可少的。在基于S3C44B0X处理器的嵌入式系统开发中,也是通过存储控制器为片外存储器访问提供必要的控制信号,管理片外存储部件的。1.S3C44B0X
18、存储器空间划分 图6.5为S3C44B0X复位后的存储器地址分配图。第37页/共102页图6.5 S3C44B0X复位后的存储器地址分配第38页/共102页 从图6.5中可以看出:l特殊功能寄存器位于0 x01C000000 x02000000的4MB空间内。lBank0Bank5的起始地址和空间大小都是固定的。lBank6的起始地址是固定的,空间可配置为2/4/8/16/32MB。lBank7的空间大小和Bank6一样是可变的,也可配置为2/4/8/16/32 MB。Bank6和Bank7的详细地址与空间大小的关系可参考表6.2。第39页/共102页第40页/共102页第41页/共102页第
19、42页/共102页第43页/共102页 3.S3C44B0X存储控制器的特殊功能寄存器存储控制器所实现的功能主要是通过对其特殊功能寄存器的设置来进行的,下面将对各特殊功能寄存器进行介绍。(1)总线宽度/等待控制寄存器总线宽度/等待控制寄存器(BWSCON)见表6.6。它的设置决定了Bank上的SRAM是否使用UB/LB(写高/低字节使能)、Bank7上的SRAM存储器的等待状态、Bank7的数据总线宽度、Bank0的数据总线宽度以及存储模式。第44页/共102页第45页/共102页(2)Bank控制寄存器Bank控制寄存器(BANKCONn:nGCS0nGCS5)见表6.7和表6.8。其各位的
20、设置决定了在nGCSn有效之前地址建立时间和在nOE上芯片选择建立时间等。注:BANKCON0地址:0 x01C80004;R/W初始值:0 x0700;BANKCONl地址:0 x01C80008;R/W初始值:0 x0700;BANKCON2地址:0 x01C8000c;R/W初始值:0 x0700;BANKCON3地址:0 x0lC80010;R/W初始值:0 x0700;BANKCON4地址:0 x01C80014;R/W初始值:0 x0700;BANKCON5地址:0 x01C80018;R/W初始值:0 x0700。第46页/共102页第47页/共102页第48页/共102页第49
21、页/共102页第50页/共102页(3)DRAM/SDRAM刷新控制寄存器 DRAM/SDRAM刷新控制寄存器(REFRESH)见表6.9。它的设置决定了DRAM/SDRAM刷新是否允许、刷新模式、RAS预充电时间、RAS和CAS最短时间、CAS保持时间以及刷新计数值。第51页/共102页第52页/共102页第53页/共102页(5)Bank6和Bank7模式设置寄存器 Bank6和Bank7模式设置寄存器(MRSR)见表6.11,它的设置主要决定Bank6和Bank7的存储模式.第54页/共102页4.S3C44B0X存储器应用编程 下面给出了存储器的两个编程实例,包括存储控制寄存器的配置和
22、存储器的读/写。通过这两个简单的例子,可以使读者对存储器的应用编程有一定的了解。(1)13个存储控制寄存器的配置示例13个存储控制寄存器配置如下所示:ldr R0,=SMRDATAldmia R0,R1-R13ldr R0,=0 x01C80000 ;BWSCON Addressstmia R0,R1-R13SMR DATA:.long 0 x22221210 ;BWSCON.long 0 x00000600 ;GCS0第55页/共102页.long 0 x00000700 ;GCS1.long 0 x00000700 ;GCS2.long 0 x00000700 ;GCS3.long 0 x
23、00000700 ;GCS4.long 0 x00000700 ;GCS5.long 0 x0001002A ;GCS6,EDO DRAM(Trcd=3,;Tcas=2,Tcp=1,CAN=10 bits).long 0 x0001002A ;GCS7,EDO DRAM.long 0 x00960000+953;Reflash(REFEN=1,TREFMD=0,Trp=3,;Trc=5,Tchr=3).long 0 x0 ;Bank Size,32 MB/32MB第56页/共102页.long 0 x20 ;MRSR 6(CL=2).long 0 x20 ;MRSR 7(CL=2)观察上面寄存
24、器介绍中的寄存器地址可发现,13个寄存器分布在从0 x01C80000开始的连续地址空间。所以上面的程序先将各个寄存器需要配置的值从起始地址为SMRDATA的区域取出来,然后利用指令“stmia R0,R1R13”实现将配置好的寄存器的值依次写入到相应的寄存器中,这就完成了存储器13个控制寄存器的配置。第57页/共102页(2)存储器的读/写代码存储器的读/写代码可用汇编语言来编写,也可用C语言来编写,如下所示:/*/*名称:sRWramtest*功能:使用汇编语言读/写已初始化的RAM区,即向一个存储器地址写一个字、半字、字节或者从一个存储器地址处读取一个字、半字、字节,分别用相应的LDR指
25、令STR,这在ARM指令中有详细介绍。*/sRWramtest:LDR R2,=0 x0C010000 LDR R3,=0 x55AA55AA STR R3,R2 /*将一个字0 x55AA55AA写入地址0 x0C010000*/LDR R3,R2 /*从地址0 x0C010000处读取一个字*/第58页/共102页LDR R2,=0 x0C010000 LDRB R3,R2 /*从地址0 x0C010000处读取一个半字*/STRB R3,R2,#1 /*地址加1后,向该地址写入一个字节*/*/*名称:cRWramtest*功能:使用高级语言C读/写已初始化的RAM区,即向已定义的指针变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 最小 系统 设计
限制150内