6嵌入式最小系统设计ppt课件_第1页
6嵌入式最小系统设计ppt课件_第2页
6嵌入式最小系统设计ppt课件_第3页
6嵌入式最小系统设计ppt课件_第4页
6嵌入式最小系统设计ppt课件_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

1、第第 6 章章 嵌入式最小系统设计嵌入式最小系统设计第一节系统设计概述第二节S3C44B0X概述第三节系统硬件根本单元电路设计第四节S3C44B0X 启动程序设计第一节 系统设计概述 图6.1为嵌入式最小系统原理框图, 如图中所示一个嵌入式控制器本人是不能独立任务的,必需给它提供电源,加上时钟信号、复位信号,假设芯片没有片内程序存储器,那么还要加上存储器系统,然后嵌入式控制器才能够任务。其中存储器系统是可选的,这是由于很多面向嵌入式领域的嵌入式微控制器内部设计了程序存储器和数据存储器。这些提供嵌入式控制器运转所必需条件的电路与嵌入式控制器共同构成了嵌入式的最小系统。而大多数基于ARM7处置器核

2、的微控制器都有调试接口,这部分在芯片实践任务时不是必需的,但在开发时很重要,所以把这部分也归入最小系统中。 图6.1 最小系统原理框图嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源) 图6.2是一个典型的嵌入式系统硬件构造框图,部分根本功能描画如下: 8 段数码显示 8 段驱动器 IDE 接口 DB9 串口 DB9 串口 RS232 驱动器 RS232 驱动器 IIS 接口 控制器 音频 ROM Flash Flash 固态硬盘 ICS& TSP 接口 接口 以太网 10MHz Magnetic MAC+ PHY LCD USB 接口 USB 控制器 SDRA

3、M MCU S3C44B0X 44 键盘 接口 电源开关 电源 2.5V 3.3 V 扩展接口 扩展接口 EEPROM I2C JTAG 接口 BUTTON 复位 LCD v复位电路可完成系统上电复位和在系统任务时用户按键复位。v电源电路为S3C44B0X及其他需求3.3V电源的外围电路供电。v晶振为系统提供任务时钟,经过片内PLL时钟发生器电路倍频作为微处置器的任务时钟。vFlash存储器可存放已调试好的用户运用程序、嵌入式操作系统或其他在系统掉电后需求保管的用户数据等。vSDRAM存储器作为系统运转时的主要区域,系统及用户数据、堆栈均位于SDRAM存储器中。vJTAG接口可对芯片内部的一切

4、部件进展访问,经过该接口可对系统进展调试、编程等。v系统总线扩展引出了数据总线、地址总线和必需的控制总线,便于用户根据本身的特定要求扩展外围电路。v串行接口电路用于系统与其他运用系统的短间隔双向串行通讯。v10 M以太网接口为系统提供以太网接入的物理通道,经过该接口,系统可以10Mb/s的速率接入以太网。第二节 S3C44B0X概述6.2.1 S3C44B0X 引脚及信号描画6.2.2 S3C44B0X 特性6.2.3 ARM 存储器6.2.4 S3C44B0X 存储控制器第二节 S3C44B0X概述 S3C44B0X微处置器是三星公司消费的基于ARM7TDMI核的微处置器,采用0.25m C

5、MOS工艺制造,并在ARM7TDMI核根本功能的根底上集成了丰富的外围功能模块,便于低本钱设计嵌入式应用系统。片上集成的主要功能如下:在ARM7TDMI根底上添加8 KB的cache。外部扩展存储器控制器FP/EDO/SDRAM控制,片选逻辑。LCD控制器最大支持256色的DSTN,并带有1个LCD公用DMA通道。l2个通用DMA通道/2个带外部恳求引脚的DMA通道。l2个带有握手协议的UART和1个SIO。l1个多主的IC总线控制器。l1个IIS总线控制器。l5个PWM定时器及1个内部定时器。l看门狗定时器。l71个通用可编程I/O口,8个外部中断源。l功耗控制方式是正常、低、休眠和停顿。l

6、8路10位ADC。l具有日历功能的RTC实时时钟。lPLL时钟发生器。6.2.1 S3C44B0X 引脚及信号描画S3C44B0X引脚如图引脚如图6.3所示。所示。 D A T A 1 3 D A T A 1 2 D A T A 1 1 D A T A 1 0 V D D I O V S S I O D A T A 9 D A T A 8 D A T A 7 D A T A 6 D A T A 5 D A T A 4 D A T A 3 D A T A 2 D A T A 1 D A T A 0 A D D R 2 3 G P A 9 V D D V S S A D D R 2 3 G P A

7、 8 A D D R 2 2 G P A 7 A D D R 2 1 G P A 6 A D D R 2 0 G P A 5 A D D R 1 9 G P A 4 A D D R 1 8 G P A 3 A D D R 1 7 G P A 2 A D D R 1 6 G P A 1 A D D R 1 5 A D D R 1 4 A D D R 1 3 A D D R 1 2 V S S I O A D D R 1 1 A D D R 1 0 A D D R 9 A D D R 8 A D D R 7 A D D R 6 A D D R 5 A D D R 4 1 2 1 1 2 2 1 2

8、 4 1 2 5 1 2 6 1 2 7 1 2 8 1 2 9 1 3 0 1 3 1 1 3 2 1 3 3 1 3 4 1 3 5 1 3 6 1 3 7 1 3 8 1 3 9 1 4 0 1 4 1 1 4 2 1 4 3 1 4 4 1 4 5 1 4 6 1 4 7 1 4 8 1 4 9 1 5 0 1 5 1 1 5 2 1 5 3 1 5 4 1 5 5 1 5 6 1 5 7 1 5 8 1 5 9 1 6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

9、31 32 33 34 35 36 37 38 39 40 8 0 7 9 7 8 7 7 7 6 7 5 7 4 7 3 7 2 7 1 7 0 6 9 6 8 6 7 6 6 6 5 6 4 6 3 6 2 6 1 6 0 5 9 5 8 5 7 5 6 5 5 5 4 5 3 5 2 5 1 5 0 4 9 4 8 4 7 4 6 4 5 4 4 4 3 4 2 4 1 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 1

10、13 114 115 116 117 118 119 120 EXINT6MSDOGPG6 EXINT5MSDOGPG5 EXINT4MSDOGPG4 EXINT3MSDOGPG3 EXINT2MSDOGPG2 VSS VDD EXINT1ND5GPG1 EXINT0ND5GPG0 NXDACKOnXBACKGPF3 nXDRCKOnXBACKGPF4 nWAITGPF2 SCLKGPB1 SCKEGPB0 nGCS7mSCS1mRAS1 nGCS6mSCS0mRAS0 nGCS5GPB10 nGCS4GPB9 VSS VDD nGCS3GPB8 nGCS2GPB7 nGCS1GPB6 nGC

11、S0 nWE nOE nBE3nWBE3DQM3GPB5 nBE2nWBE2DQM2GPB4 nBE1nWBE1DQM1 nBE0nWBE0DQM0 VSSIO VDDIO nCAS3nSRASGPB3 nCAS2nSCASGPB2 nCAS1 nCAS0 ADDRGGPA0 ADDR1 ADDR2 ADDR3 A N 5 A N 4 A N 3 A N 2 A N 1 A N 0 V S S A D C V S S I D T O U T 4 / V D 7 G P E 7 T O U T 3 / V D 6 G P E 6 T O U T 2 / T C L K G P E 5 T O U

12、 T 1 / T C L K G P E 4 T O U T Q G P E 3 E X T C L K P L L C A P E A T A L 0 X T A L 0 V S S V D D I C S C U G P F 0 I C S C A G P F 1 S O T X D N R T S W S L R C X G P F 5 S O R D Y / T X D 1 / S D D / G F F 5 S O R X D / R X D 1 / S D 1 / G F F 7 S O C L K / C T S 1 / I S C L K / G F F 8 C M 3 C M

13、 2 C M 1 C M 0 N R e s e t C L K o u t G P E 0 V S S I O V D D I O T D 0 T D 1 T M S T C K n T r s t E x N T 7 / S L R C K / G F G 7 AN6 AN7 AREFT AREFB AVOOM VDDADC XTAL1 EXTAL1 VDDRTC VSSO VFRAME/GPD7 VM/GPD6 VLNE/GPD6 VCLK/GPD4 VD3/GPD3 VD2/GPD2 VD1/GPD1 VD0/GPD0 RXD0/GPE2 TXD0/GPE1 DATA31/nCTS0/

14、GPC15 DATA30/nCTS0/GPC14 DATA29/RxD1/GPC13 DATA28/TxD1/GPC12 DATA27/nCTS1/GPC11 DATA26/nRTS1/GPC10 DATA25/nXDREQ1/GPC9 DATA24/nXDack1/GPC8 VDD VSS DATA23/VD4/GPC7 DATA22/VD5/GPC6 DATA21/VD6/GPC5 DATA20/VD7/GPC4 DATA19/SCLK/GPC3 DATA18/SD/GPC2 DATA17/SDO/GPC1 DATA16/SLRCK/GPC0 DATA15 DATA14 S 3 C 4 4

15、 B 0 X 1 6 0 - Q F P S3C44B0X引脚信号的详细描画见表6.1。表6.1 S3C44B0X引脚信号详细描画6.2.2 S3C44B0X 特性 1. 体系构造体系构造集成了手持设备和通用嵌入式系统运用的处理方案。集成了手持设备和通用嵌入式系统运用的处理方案。16/32位位RISC体系构造和体系构造和ARM7TDMI处置器内核强大处置器内核强大的指令体系。的指令体系。Thumb代码紧缩机,最大代码密度同时坚持了代码紧缩机,最大代码密度同时坚持了32位位指令的性能。指令的性能。基于基于JTAG的片上集成的片上集成ICE调试支持处理方案。调试支持处理方案。328的硬件乘法器。的

16、硬件乘法器。实现低功耗实现低功耗SAMBA II三星三星ARM处置器嵌入式微控处置器嵌入式微控制器总线体系构造的新型总线构造。制器总线体系构造的新型总线构造。 2系统管理器系统管理器支持大、小端方式经过外部引脚来选择。支持大、小端方式经过外部引脚来选择。包含包含8个地址空间,每个地址空间为个地址空间,每个地址空间为32 MB,总共有,总共有256 MB。一切地址空间都可以经过编程设置为一切地址空间都可以经过编程设置为8位、位、16位或位或32位宽数据位宽数据对齐访问。对齐访问。8个地址空间中,个地址空间中,6个地址空间可用于个地址空间可用于ROM、SRAM等存储器,等存储器,2个用于个用于RO

17、M、SRAM、FP/EDO/SDRAM等存储器。等存储器。7个起始地址固定及大小可编程的地址空间。个起始地址固定及大小可编程的地址空间。1个起始地址及大小可变的地址空间。个起始地址及大小可变的地址空间。一切存储器空间的访问周期都可经过编程配置。一切存储器空间的访问周期都可经过编程配置。提供外部扩展总线的等待周期。提供外部扩展总线的等待周期。在低功耗方式下支持在低功耗方式下支持DRAM/SDARM自动刷新。自动刷新。支持地址对称或非地址对称的支持地址对称或非地址对称的DRAM。3. cache和片内和片内SRAM4路相连一致的路相连一致的8KB指令指令/数据数据cache。未作为未作为cache

18、运用的运用的0/4/8KB cache存储空间存储空间可作为片内可作为片内SRAM运用。运用。cache伪伪LRU最近最少运用的交换算法。最近最少运用的交换算法。经过在主内存和缓冲区内容之间坚持一致的方经过在主内存和缓冲区内容之间坚持一致的方式写内存。式写内存。具有具有4级深度的写缓冲。级深度的写缓冲。当缓冲区出错时,恳求数据填充。当缓冲区出错时,恳求数据填充。v4. 时钟和功耗管理时钟和功耗管理v低功耗。低功耗。v片上片上PLL使得使得MCU的任务时钟频率最高为的任务时钟频率最高为66MHz。v时钟可经过软件选择性地反响回每个功能块。时钟可经过软件选择性地反响回每个功能块。v功耗管理方式为:

19、功耗管理方式为:v正常方式:正常运转方式。正常方式:正常运转方式。v低速方式:不带低速方式:不带PLL的低频时钟。的低频时钟。v休眠方式:使休眠方式:使CPU的时钟停顿。的时钟停顿。v停顿方式:一切时钟都停顿。停顿方式:一切时钟都停顿。vEINT7:0或或RTC警告中断可使功耗管理从停警告中断可使功耗管理从停顿方式中唤醒。顿方式中唤醒。 5. 中断控制器30个中断源1个看门狗定时器中断、6个定时器中断、6个UART中断、8个外部中断、4个DMA中断、2个RTC中断、1个ADC中断、1个I2 C中断和1个SIO中断。矢量IRQ中断方式缩短中断呼应周期。外部中断源的电平/边沿方式。可编程的电平/边

20、沿极性。支持紧急中断恳求的FIQ快速中断恳求。6. 带带PWM的定时器的定时器(脉宽可调制脉宽可调制)5个个16位带位带PWM的定时器,的定时器,1个个16位基于位基于DMA或基于或基于中断的内部定时器。中断的内部定时器。可编程的任务周期、频率和极性。可编程的任务周期、频率和极性。死区产生器。死区产生器。支持外部时钟源。支持外部时钟源。7. 实时时钟实时时钟RTC充分的时钟特性:毫秒、秒、分、时、天、星期、月、充分的时钟特性:毫秒、秒、分、时、天、星期、月、年。年。32.768 kHz时钟。时钟。CPU唤醒的警告中断。唤醒的警告中断。可产生时钟节拍中断。可产生时钟节拍中断。8. 通用输入通用输

21、入/输出端口输出端口8个外部中断端口。个外部中断端口。71个多功能复用输入个多功能复用输入/输出口。输出口。9. UART2个基于个基于DMA或基于中断的或基于中断的UART。支持支持5位、位、6位、位、7位、位、8位串行数据传送位串行数据传送/接纳接纳在传送在传送/接纳时支持硬件握手。接纳时支持硬件握手。波特率可编程。波特率可编程。支持支持IrDA 1.0115.2 kb/s。用于回环测试方式。用于回环测试方式。每个通道有每个通道有2个用于接纳和发送的内部个用于接纳和发送的内部32字节字节FIFO。10. DMA控制器控制器2路通用的无路通用的无CPU干涉的干涉的DMA控制器。控制器。2路路

22、DMA桥外设桥外设DMA控制器。控制器。支持支持I/O到内存、内存到到内存、内存到I/O、I/O到到I/O的桥式的桥式DMA传送,有传送,有6种种DMA恳求方式软件、恳求方式软件、4个内部功能块个内部功能块UART、SIO、实时、实时器和器和IIS和外部引脚。和外部引脚。DMA之间优先级次序可编程。之间优先级次序可编程。突发传送方式提高了突发传送方式提高了FPDRAM、EDODRAM和和SDRAM的传送的传送率。率。支持内存到外围设备的支持内存到外围设备的fly-by方式和外围设备到内存的传送方方式和外围设备到内存的传送方式。式。 11. A/D转换转换8通道多路通道多路ADC。最高转换速率最

23、高转换速率100 kb/s/10b。 12. LCD控制器控制器支持彩色支持彩色/单色单色/灰度灰度LCD。支持单扫描和双扫描显示。支持单扫描和双扫描显示。支持虚拟显示功能。支持虚拟显示功能。系统内存可作为显示内存。系统内存可作为显示内存。公用公用DMA用于从系统内存中提取图像数据。用于从系统内存中提取图像数据。可编程屏幕大小。可编程屏幕大小。16级灰度。级灰度。彩色方式为彩色方式为256色。色。 13. 看门狗定时器看门狗定时器16位看门狗定时器。位看门狗定时器。定时中断恳求或系统超时复位。定时中断恳求或系统超时复位。14. I2 C总线接口总线接口1个基于中断操作的多主的个基于中断操作的多

24、主的I2 C总线。总线。8位双向串行数据传送器可以任务于位双向串行数据传送器可以任务于100 kb/s的规范方式和的规范方式和400 kb/s的快速方式。的快速方式。15. IIS总线接口总线接口1路基于路基于DMA操作的音频操作的音频IIS总线接口。总线接口。每通道每通道8/16位串行数据传送。位串行数据传送。支持支持MSB可调整的数据格式。可调整的数据格式。16. SIO(同步串行同步串行I/O)1路基于路基于DMA或基于中断的或基于中断的SIO。波特率可编程。波特率可编程。支持支持8位位SIO的串行数据传送的串行数据传送/接纳操作。接纳操作。17. 任务电压范围任务电压范围内核:内核:2

25、.5 V。I/O:3.03.6 V。18. 任务频率任务频率最高达最高达66MHz。19. 封装封装160LQFP/160FBGA。6.2.3 ARM 存储器 在现代SOC设计中,为了实现高性能,微处置器核必需衔接一个容量大、速度高的存储器系统。假设存储器容量太小,就不能存储足够大的程序来使处置器全力处置,假设速度太慢,就不能像处置器执行指令那样快地提供指令。但普通存储器容量大,速度相对会慢。因此,设计一个足够大又足够快的单一存储器,使高性能处置器充分发扬其才干,是有一定困难的,普通的处理方法是构建一个复合的存储器系统,这就是普遍运用的多级存储器层次的概念。 多级存储器包括一个容量小但速度快的

26、从存储器,以及一个容量大但速度慢的主存储器。容量小但速度快的元件是cache,能自动保管处置器经常用到的指令和数据的复制。根据典型程序的实验统计,这个存储器系统的外部行为在绝大部分时间像一个既大又快的存储器。2级存储器原理可扩展为多级存储器层次,如cache、主存和硬盘构成3级存储层次嵌入式系统目前多是2级的。这里首先对ARM支持的存储数据类型和处置器中数据存储格式进展引见,建立起ARM处置器的存储体系的概念。 1. 存储数据类型和存储格式存储数据类型和存储格式 1数据类型数据类型 ARM处置器支持以下处置器支持以下6种数据类型较早的种数据类型较早的ARM处处置器不支持半字和有符号字节:置器不

27、支持半字和有符号字节:8位有符号和无符号字节。位有符号和无符号字节。16位有符号和无符号半字,它们以位有符号和无符号半字,它们以2字节的边境对齐。字节的边境对齐。32位有符号和无符号字,它们以位有符号和无符号字,它们以4字节的边境对齐。字节的边境对齐。 ARM指令全是指令全是32位的字,并且必需以字为单位边境位的字,并且必需以字为单位边境对齐。对齐。Thumb指令是指令是16位半字,而且必需以位半字,而且必需以2字节字节为单位边境对齐。为单位边境对齐。 在内部,一切ARM操作都面向32位的操作数,只需数据传送指令支持较短的字节和半字的数据类型。当从存储器调入一个字节或半字时,根据指令对数据的操

28、作类型,将其无符号0或有符号“符号位扩展为32位,进而作为32位数据在内部进展处置。 ARM协处置器可以支持其他数据类型,特别是定义了一些表示浮点数的数据类型。在ARM核内没有明确地支持这些数据类型,然而在没有浮点协处理器的情况下,这些类型可由软件用上述规范类型来解释。 2存储器组织存储器组织在以字节为单位寻址的存储器中有小端和大端两种方在以字节为单位寻址的存储器中有小端和大端两种方式存储字,这两种方式是根据最低有效字节与相邻式存储字,这两种方式是根据最低有效字节与相邻较高有效字节相比,是存放在较低的地址还是较高较高有效字节相比,是存放在较低的地址还是较高的地址来划分的。两种存储方式如图的地址

29、来划分的。两种存储方式如图6.4所示。所示。小端方式:较高的有效字节存放在较高的存储器地址,小端方式:较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。较低的有效字节存放在较低的存储器地址。大端方式:较高的有效字节存放在较低的存储器地址,大端方式:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。较低的有效字节存放在较高的存储器地址。 ARM处置器能方便地配置为其中任何一种存储器方式,处置器能方便地配置为其中任何一种存储器方式,但其默许设置为小端方式。在本书中将采用小端方但其默许设置为小端方式。在本书中将采用小端方式。式。a小端存储器组织图

30、b大端存储器组织图图6.4 小端和大端存储器组织 23 22 21 20 位31 位0 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 字16 半字14 半字12 字8 字节6 字节4 字节3 字节2 字节1 字节0 字节 地址 20 21 22 23 位31 位0 16 17 18 19 12 13 14 15 8 9 10 11 4 5 6 7 0 1 2 3 字16 半字12 半字14 字8 字节4 字节6 字节0 字节1 字节2 字节3 字节 地址 2. 存储器层次简介存储器层次简介存储层次的管理由计算机硬件和操作系统来完存储层次的管

31、理由计算机硬件和操作系统来完成,典型的计算机存储层次由多级构成,每级成,典型的计算机存储层次由多级构成,每级都有特定的容量及速度。都有特定的容量及速度。1存放器组存放器组微处置器存放器组可看作存储器层次的顶层。微处置器存放器组可看作存储器层次的顶层。典型的典型的RISC微处置器大约有微处置器大约有32个个32位存放位存放器,总共器,总共128B,其访问时间为几,其访问时间为几ns。2片上片上RAM假设微处置器要到达最正确性能,采用片上存储器是假设微处置器要到达最正确性能,采用片上存储器是必必需的。它和片上的存放器组具有同级的读需的。它和片上的存放器组具有同级的读/写速度。与写速度。与片外存储器

32、相比,它有较好的功耗效率,并减少了电片外存储器相比,它有较好的功耗效率,并减少了电磁干扰。许多嵌入式系统中采用简单的片上磁干扰。许多嵌入式系统中采用简单的片上RAM而不而不是是cache,由于它简单、廉价、功耗低。但片上,由于它简单、廉价、功耗低。但片上RAM又不能太快耗费太多功率、太大占用太多芯片又不能太快耗费太多功率、太大占用太多芯片面积,由于片上面积,由于片上RAM和片上存放器组具有较高和片上存放器组具有较高的实现本钱,所以普通片上集成的实现本钱,所以普通片上集成RAM的容量是的容量是必需思索的。必需思索的。 3片上片上cache 片上片上cache存储器的容量为存储器的容量为8K32

33、KB,访问时间大约为访问时间大约为10ns。高性能。高性能PC机系统能机系统能够有第够有第2级片外级片外cache,其容量为几百,其容量为几百KB,访问时间为几十访问时间为几十ns。ARM CPU芯片采用多芯片采用多种种cache组织构造。组织构造。4主存储器主存储器 嵌入式系统通常没有硬盘,主存储器可嵌入式系统通常没有硬盘,主存储器可以是几以是几MB到到1GB的动态存储器,访问时间大的动态存储器,访问时间大约为约为50ns。6.2.4 S3C44B0X 存储控制器 在基于ARM核的嵌入式运用系统中能够包含多种类型的片外存储器件,如Flash、ROM、SRAM和SDRAM等,而且不同类型的存储

34、器件要求不同的速度、数据宽度等。为了对这些不同速度、类型、总线宽度的存储器进展管理,存储器管理控制器是必不可少的。在基于S3C44B0X处置器的嵌入式系统开发中,也是经过存储控制器为片外存储器访问提供必要的控制信号,管理片外存储部件的。1. S3C44B0X存储器空间划分 图6.5为S3C44B0X复位后的存储器地址分配图。图6.5 S3C44B0X复位后的存储器地址分配 SROM /DRAM /SDRAM ( nGCS7) SROM /DRAM /SDRAM ( nGCS6) 0 x10000000 0 x0E000000 SROM ( Ngcs5) 0 x0C000000 32M SROM

35、 ( nGCS4) 0 x0A000000 32M SROM ( nGCS3) 0 x08000000 32M SROM ( nGCS2) 0 x06000000 32M SROM ( nGCS1) 0 x04000000 32M SROM ( nGCS0) 0 x01C00000 0 x02000000 2/4/8/16/32M B 2/4/8/16/32M B 参 考 表 256M B SA27 0 可 访 问 区 域 28M 4M B 特 殊 功 能 寄 存 器 0 x00000000 从图从图6.5中可以看出:中可以看出:特殊功能存放器位于特殊功能存放器位于0 x01C000000 x

36、02000000的的4MB空间内。空间内。Bank0Bank5的起始地址和空间大小都是固的起始地址和空间大小都是固定的。定的。Bank6的起始地址是固定的,空间可配置为的起始地址是固定的,空间可配置为2/4/8/16/32MB。Bank7的空间大小和的空间大小和Bank6一样是可变的,也一样是可变的,也可配置为可配置为2/4/8/16/32 MB。Bank6和和Bank7的详细地址与空间大小的关系可参考表的详细地址与空间大小的关系可参考表6.2。 3. S3C44B0X存储控制器的特殊功能存放器存储控制器所实现的功能主要是经过对其特殊功能存放器的设置来进展的,下面将对各特殊功能存放器进展引见。

37、 1总线宽度/等待控制存放器总线宽度/等待控制存放器BWSCON见表6.6。它的设置决议了Bank上的SRAM能否运用UB/LB(写高/低字节使能)、Bank7上的SRAM存储器的等待形状、Bank7的数据总线宽度、Bank0的数据总线宽度以及存储方式。 2Bank控制存放器Bank控制存放器BANKCONn:nGCS0nGCS5见表6.7和表6.8。其各位的设置决议了在nGCSn有效之前地址建立时间和在nOE上芯片选择建立时间等。 注:BANKCON0地址:0 x01C80004;R/W初始值:0 x0700;BANKCONl地址:0 x01C80008;R/W初始值:0 x0700;BAN

38、KCON2地址: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。3DRAM/SDRAM刷新控制存放器刷新控制存放器 DRAM/SDRAM刷新控制存放器刷新控制存放器REFRESH见表见表6.9。它的设置决议了。它的设置决议了DRAM/SDRAM刷新能否允刷新能否允许、刷新方式、许、刷新方式、RAS预充电时间、预充电时间、RAS和和CAS最短时最短时间、间、CAS坚

39、持时间以及刷新计数值。坚持时间以及刷新计数值。 5Bank6和和Bank7方式设置存放器方式设置存放器 Bank6和和Bank7方式设置存放器方式设置存放器MRSR见见表表6.11,它的设置主要决议,它的设置主要决议Bank6和和Bank7的存储方式的存储方式.4. S3C44B0X存储器运用编程存储器运用编程 下面给出了存储器的两个编程实例,包括存储下面给出了存储器的两个编程实例,包括存储控制存放器的配置和存储器的读控制存放器的配置和存储器的读/写。经过这两个简写。经过这两个简单的例子,可以使读者对存储器的运用编程有一定单的例子,可以使读者对存储器的运用编程有一定的了解。的了解。113个存储

40、控制存放器的配置例如个存储控制存放器的配置例如13个存储控制存放器配置如下所示:个存储控制存放器配置如下所示:ldr R0,=SMRDATAldmia R0,R1-R13ldr R0,=0 x01C80000 ;BWSCON Addressstmia R0,R1-R13SMR DATA:.long 0 x22221210 ;BWSCON.long 0 x00000600 ;GCS0.long 0 x00000700 ;GCS1.long 0 x00000700 ;GCS2.long 0 x00000700 ;GCS3.long 0 x00000700 ;GCS4.long 0 x0000070

41、0 ;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.long 0 x20 ;MRSR 6(CL=2).long 0 x20 ;MRSR 7(CL=2) 察看上面存放器引见中的存放器地址可发现,13个存放器分布在从0 x01C80000开

42、场的延续地址空间。所以上面的程序先将各个存放器需求配置的值从起始地址为SMRDATA的区域取出来,然后利用指令“stmia R0,R1R13实现将配置好的存放器的值依次写入到相应的存放器中,这就完成了存储器13个控制存放器的配置。 2存储器的读存储器的读/写代码写代码存储器的读存储器的读/写代码可用汇编言语来编写,也可用写代码可用汇编言语来编写,也可用C言语来编写,言语来编写,如下所示:如下所示:/*/*称号:称号:sRWramtest*功能:运用汇编言语读功能:运用汇编言语读/写已初始化的写已初始化的RAM区,即向一个存储区,即向一个存储器地址写一个字、半字、字节或者从一个存储器地址处读取器

43、地址写一个字、半字、字节或者从一个存储器地址处读取一个字、半字、字节,分别用相应的一个字、半字、字节,分别用相应的LDR指令指令STR,这在,这在ARM指令中有详细引见。指令中有详细引见。*/sRWramtest: LDR R2,=0 x0C010000 LDR R3,=0 x55AA55AA STR R3,R2 /*将一个字将一个字0 x55AA55AA写入地址写入地址0 x0C010000*/ LDR R3,R2 /*从地址从地址0 x0C010000处读取一个字处读取一个字*/LDR R2,=0 x0C010000 LDRB R3,R2 /*从地址0 x0C010000处读取一个半字*/

44、 STRB R3,R2,#1 /*地址加1后,向该地址写入一个字节*/*/*称号:cRWramtest*功能:运用高级言语C读/写已初始化的RAM区,即向已定义的指针变量赋值或将指针变量值赋给其他变量。这需求提早定义指针变量并赋值,并且也要定义相应的普通变量。*/#define RWram (*(unsigned long *)0 x0C010200)void cRWramtest(void) unsigned long *ptr=0 x0C010200; /定义一个长指针并赋初值 unsigned long *ptrh=0 x0C010200; /定义一个短指针并赋初值 unsigned l

45、ong *ptrb=0 x0C010200;/定义一个字符指针并赋初值 unsigned char tmpd; /定义一个字符变量 unsigned char tmph; /定义一个短整型变量 unsigned char tmpb; /定义一个长整型变量*ptr=0 xAA55AA55;tmpw=*ptr; /字长读*ptr=tmpw+1; /字长写tmph=*ptrh; /半字*ptrh=tmph+1; /字节5. S3C44B0X功能构造框图功能构造框图S3C44B0X体系构造的功能框图如图体系构造的功能框图如图6.6所示。所示。 第三节 系统硬件根本单元电路设计6.3.1 电源、复位、时

46、钟电路和JTAG接口6.3.2 Flash 存储器接口电路6.3.3 SDRAM 存储器接口电路第三节 系统硬件根本单元电路设计 嵌入式系统的硬件是嵌入式系统软件环境运转的根底,它提供了软件运转的物理平台和通讯接口。下面引见嵌入式硬件系统设计的方法。6.3.1 电源、复位、时钟电路和JTAG接口1. 电源和复位电路系统采用DC5V稳压电源进展供电,电源输入后经过两个稳压芯片产生3.3V和2.5V 电压,给MCU的I/O和ARM内核供电,如图6.7所示。图图6.7 电源原理图电源原理图 V D D 3 3 V D D 3 3 V D D 2 5 IN IN R 1 0 K C 1 0 C 1 0

47、 G N D G N D G N D 电 池 S W F U S E 5 0 0 m A P O W E R C 1 0 0 在系统中,复位电路主要完成系统的上电复位和系统在运转时用户的按键复位功能。复位电路可由简单的RC电路构成,也可运用其他的相对较复杂,但功能更完善的电路。本系统采用较简单的RC复位电路,如图6.8所示。该复位电路的任务原理如下:在系统上电时,经过电阻R向电容C充电,当C两端的电压未到达高电平的门限电压时,Reset端输出为低电平,系统处于复位形状;当C两端的电压到达高电平的门限电压时,Reset端输出为高电平,系统进入正常任务形状。 图图6.8 时钟与复位时钟与复位 VD

48、D33 VDD33 EXTCLK PLLCAP XTAL0 nRESET CPU 8M S C VDD33 当用户按下按钮S时,C两端的电荷被泄放掉,Reset端输出为低电平,系统进入复位形状,再反复以上的充电过程,系统进入正常任务形状。两级非门电路用于按钮去抖动和波形整形;经过调整R和C的参数,可调整复位状态的时间。 2. 晶振电路晶振电路 晶振电路用于向晶振电路用于向CPU及其他电路提供任务时钟,及其他电路提供任务时钟, S3C44B0X的时钟源来自晶振,也可以是外部时钟。的时钟源来自晶振,也可以是外部时钟。S3C44B0X的内部时钟发生器可产生的内部时钟发生器可产生CPU和外设所需和外设

49、所需求的时钟求的时钟信号。时钟发生器有一个振荡器衔接到外部的晶体上,信号。时钟发生器有一个振荡器衔接到外部的晶体上,同时片同时片内的内的PLL电路把低频振荡器的输出作为本人的输入,电路把低频振荡器的输出作为本人的输入,产生产生S3C44B0X所需求的高频信号,因此,系统可以较低所需求的高频信号,因此,系统可以较低的外部时的外部时钟信号获得较高的任务频率,以降低因高速开关时钟钟信号获得较高的任务频率,以降低因高速开关时钟所呵斥的所呵斥的高频噪声。实时时钟经过高频噪声。实时时钟经过MCU外接外接8mHn晶振和任务晶振和任务供电电路供电电路来实现,如图来实现,如图6.8所示。输出的时钟频率所示。输出

50、的时钟频率fpllo和输入和输入的参考时钟的参考时钟频率频率fin的关系式为:的关系式为: fpllo= (mfin) / (p2s) m = M(分频器分频器M的分频值的分频值)+8 p = p (分频器分频器p的的分频值分频值)+23. JTAG接口接口JTAGJoint Test Action Group,结合测试行,结合测试行动小组是一种国际规范测试协议,主要用于芯片内动小组是一种国际规范测试协议,主要用于芯片内部测试及对系统进展仿真、调试,部测试及对系统进展仿真、调试,JTAG技术是一种技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电嵌入式调试技术,它在芯片内部封装了专门的测

51、试电路路TAPtest access port,测试访问口,经过公,测试访问口,经过公用用的的JTAG测试工具对内部节点进展测试。目前大多数测试工具对内部节点进展测试。目前大多数比较复杂的器件都支持比较复杂的器件都支持JTAG协议,如协议,如ARM、DSP和和FPGA器件等。规范的器件等。规范的JTAG接口是接口是4线:线:TMS、TCK、TDI和和TDO,分别为测试方式选择、测试时,分别为测试方式选择、测试时钟、测试数据输入和测试数据输出,关于钟、测试数据输入和测试数据输出,关于JTAG的详的详细内容参见第细内容参见第9章。章。6.3.2 Flash 存储器接口电路这里以Embest S3C

52、V40开发板存储系统为例,引见Flash存储器接口电路。如图6.9所示,电路采用一片1M16位的FlashSST39VFl60,Flash ROM采用规范总线接口与处理器交互,处置器经过片选nGCS0与片外Flash芯片衔接。由于是16位的Flash,所以用CPU的地址线A1A20来分别与F1ash的地址线A0A19衔接。F1ash的地址空间为0 x000000000 x00200000。Flash ROM的数据接口为DQl50,因此,数据宽度是16位。又留意四处置器的ADDR201对应着Flash ROM的A190,偏移了1位,这是由于S3C44B0X是按照字节编址的,而Flash ROM是

53、以16位为一个存储单元,因此,处置器的地址“左移1位,采用ADDRl与Flash ROM的A0相连。由于Flash ROM映射在处置器的Bank0区域内,因此,它的片选线与处置器的nGCS0相连。 6.3.3 SDRAM 存储器接口电路与与Flash存储器相比较,存储器相比较,SDRAM不具有掉电坚持数据的不具有掉电坚持数据的特 性 , 但 其 存 取 速 度 大 大 高 于特 性 , 但 其 存 取 速 度 大 大 高 于 F l ash 存 储 器 , 且 具 有 读存 储 器 , 且 具 有 读 / 写 的 属写 的 属性 , 因 此 ,性 , 因 此 , S D R A M 在 系 统

54、 中 主 要 用 作 程 序 的 运 转 空 间 , 数 据在 系 统 中 主 要 用 作 程 序 的 运 转 空 间 , 数 据及 堆 栈 区 。 当 系 统 启 动 时 ,及 堆 栈 区 。 当 系 统 启 动 时 , C P U 首 先 从 复 位 地 址首 先 从 复 位 地 址 0 x 0 处 读 取 启处 读 取 启动代码,在完成系统的初始化后,程序代码普通应调入动代码,在完成系统的初始化后,程序代码普通应调入SDRAM中运转,以中运转,以提高系统的运转速度,同时,系统及用户堆栈、运转数据也都放在提高系统的运转速度,同时,系统及用户堆栈、运转数据也都放在SDRAM中。中。如图如图6

55、.10所示,所示,SDRAM分成分成4个个Bank,每个,每个Bank的容量为的容量为1M16位。位。Bank的地址由的地址由BAl、BA0决议,决议,00对应对应Bank0,01对应对应Bankl,10对应对应Bank2,11对应对应Bank3。在每个。在每个Bank中,分别用行地址脉中,分别用行地址脉冲选通冲选通RAS和列地址脉冲选通和列地址脉冲选通CAS进展寻址。系统为用户提供设置跳线,进展寻址。系统为用户提供设置跳线,作为晋级作为晋级SDRAM内存容量可至内存容量可至42M16位。详细方法是使位。详细方法是使SDRAM的的BA0、BAl分别接至分别接至CPU的的A21、A22、A23脚

56、。脚。SDRAM由由MCU公用公用SDRAM片选信号片选信号nSCS0选通,地址空间为选通,地址空间为0 x0C0000000 x0C7FFFFF。 图图6.9 SST39VF160与与S3C44B0X的接口电路的接口电路 图图6.10 SDRAM衔接电路衔接电路 A121_ D150 nSRAS nSCAS nSCS0 nOE DQM0 DQM1 A110_ D150 nRAS nCAS nCS nWE LDQM UDQM A21 A22 A23 BA0 BA1 R1 R2 R3 R4 UNLOAD UNLOAD 44B0X SDRAM SST39VF160 A190 DQ150 nCE n

57、OE nWE S3C44B0X ADDR201 DA TA150 nGCS0 nOE nWE OM0 OM1 DQ150 A (1 2 -1 )_ D (1 5 -0 ) n S R A S n S C A S n S C S 0 n O E D Q M 0 D Q M 1 A (1 1 -0 )_ D ( 1 5 - 0 ) n R A S n C A S n C S n W E L D Q M U D Q M A 2 1 A 2 2 A 2 3 B A 0 B A 1 R 1 R 2 R 3 R 4 U N L O A D U N L O A D 4 4 B 0 X S D R A M S

58、 S T 3 9 V F 1 6 0 A 1 9 -0 D Q 1 5 -0 n C E n O E n W E S 3 C 4 4 B 0 X A D D R 2 0 -1 D A T A 1 5 -0 n G C S 0 n O E n W E O M 0 O M 1 第四节 S3C44B0X 启动程序设计6.4.1 BootLoader 引见6.4.2 启动程序设计实例第四节 S3C44B0X 启动程序设计6.4.1 BootLoader 引见引见 BootLoader是系统加电后运转的第一段软件是系统加电后运转的第一段软件代码。在代码。在PC体系构造中,体系构造中,PC机的引导加载程序

59、由机的引导加载程序由BIOS和位于和位于硬盘硬盘MBR中的引导程序一同组成。中的引导程序一同组成。BIOS在完成硬件检测和资在完成硬件检测和资源分配后,源分配后,将硬盘将硬盘MBR中的引导程序读到系统的中的引导程序读到系统的RAM中,然后中,然后将控制权将控制权交给引导程序。引导程序的主要义务就是将内核映像交给引导程序。引导程序的主要义务就是将内核映像从硬盘上从硬盘上读到读到RAM中,然后跳转到内核的入口点去运转,即开中,然后跳转到内核的入口点去运转,即开场启动操场启动操作系统。而在嵌入式系统中,通常没有像作系统。而在嵌入式系统中,通常没有像BIOS那样那样的固件程的固件程序,因此整个系统的加

60、载启动义务就完全由序,因此整个系统的加载启动义务就完全由BootLoader完成。完成。 在嵌入式系统中,BootLoader的作用与PC机上的BIOS类似,经过BootLoader可以完成对系统板上的主要部件如CPU、SDRAM、Flash和串行口等进展初始化,也可以下载文件到系统板、对Flash进展擦除与编程。BootLoader在操作系统内核运转之前,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个适宜的形状,以便为最终调用操作系统内核预备正确的环境。通常,BootLoader是严密围绕系统硬件对系统进展初始化的,根据实现的功能不同,其复杂程度也各不一样。一个简单的Boo

温馨提示

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

评论

0/150

提交评论