基于s3c2410的嵌入式系统硬件结构设计.ppt
《基于s3c2410的嵌入式系统硬件结构设计.ppt》由会员分享,可在线阅读,更多相关《基于s3c2410的嵌入式系统硬件结构设计.ppt(296页珍藏版)》请在三一办公上搜索。
1、1,Part 5 基于S3C2410的硬件系统设计(一),1,3,2,4,S3C2410X简介存储器接口设计I/O接口设计UART设计IIC接口设计中断接口时钟和功耗管理PWM定时器,5,6,看门狗定时器日历时钟DMA LCD控制器A/D转换与触摸屏USB接口SPI,7,8,10,9,11,12,13,14,15,2,5.1 S3C2410X概述,主要内容主要特性系统结构引脚信号,3,5.1 S3C2410X概述,S3C2410X是韩国三星公司推出的16/32位RISC微控制器,其CPU采用的是ARM920T内核,加上丰富的片内外设,为手持设备和其它应用,提供了低价格、低功耗、高性能微控制器的
2、解决方案。,4,主要特性具有16KB指令Cache、16KB数据Cache和存储器管理单元MMU。外部存储器控制器,可扩展8组,每组128MB,总容量达1GB;支持从Nand flash存储器启动。55个中断源,可以设定1个为快速中断,有24个外部中断,并且触发方式可以设定。4通道的DMA,并且有外部请求引脚。3个通道的UART,带有16字节的TX/RX FIFO,支持IrDA1.0功能。具有2通道的SPI、1个通道的IIC串行总线接口和1个通道的IIS音频总线接口。有2个USB主机总线的端口,1个USB设备总线的端口。有4个具有PWM功能的16位定时器和1个16位内部定时器。,芯片体系结构,
3、5,芯片体系结构,主要特性8通道的10位A/D转换器,最高速率可达500kB/s;提供有触摸屏接口。具有117个通用I/O口和24通道的外部中断源。兼容MMC的SD卡接口。具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作。看门狗定时器。具有日历功能的RTC。有LCD控制器,支持4K色的STN和256K色的TFT,配置有DMA通道。具有PLL功能的时钟发生器,时钟频率高达203MHz。双电源系统:1.8/2.0V内核供电,3.3V存储器和I/O供电。,6,二、系统结构主要由两大部分构成:ARM920T内核片内外设。,7,1、ARM920T内核由三部分:ARM9内核ARM9
4、TDMI、32KB的Cache、MMU。,8,2、片内外设分为高速外设和低速外设,分别用AHB总线和APB总线。,9,三、引脚信号S3C微控制器是272-FBGA封装。其信号可以分成:addr0-addr26、Data0-data31、GPA0-GPA22GPB10、GPC15、GPD15、GPE15、GPF7、GPG15、GPH10、EINT23、nGCS0nGCS7、AIN7、IIC、SPI、OM0-OM3等,大部分都是复用的,BACK,10,5.2 S3C2410X的存储器,主要内容存储器配置存储器概述控制寄存器Flash及控制器Flash控制器概述控制器主要特性控制器的寄存器控制器的工
5、作原理,11,5.2.1 S3C2410X的存储器配置,一、概 述S3C2410X的存储器管理器提供访问外部存储器的所有控制信号:27位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等。S3C2410X的存储空间分成8组,最大容量是1GB,bank0-bank5为固定128MB,bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB,并且bank7的开始地址与bank6的结束地址相连接,但是二者的容量必须相等。bank0可以作为引导ROM,其数据线宽只能是16位和32位,复位时由OM0、OM1引脚确定;其它存储器的数据线宽可以是8位、16位和32位。
6、S3C2410X的存储器格式,可以为大端格式,也可以为小端格式。,12,ARM9内核,存储器控制器,存储器,存储器及存储器映射I/O,ARM9定义了局部总线的接口时序,各芯片厂商制定了自己的接口时序,ARM9局部总线,一般在两者之间加入存储器控制器,13,14,二、存储器的控制寄存器内存控制器为访问外部存储空间提供存储器控制信号,S3C2410X存储器控制器共有13个寄存器。,15,1、总线宽度和等待控制寄存器 back,STn:控制存储器组n的UB/LB引脚输出信号。1:使UB/LB与nBE3:0相连;0:使UB/LB与nWBE3:0相连WSn:使用/禁用存储器组n的WAIT状态1:使能WA
7、IT;0:禁止WAITDWn:控制存储器组n的数据线宽00:8位;01:16位;10:32位;11:保留,16,Tacs:设置nGCSn有效前地址的建立时间00:0个;01:1个;10:2个;11:4个时钟周期Tcos:设置nOE有效前片选信号的建立时间00:0个;01:1个;10:2个;11:4个时钟周期Tacc:访问周期000:1个;001:2个;010:3个;011:4个时钟100:6个:101:8个;110:10个;111:14个,2、BANKn-存储器组控制寄存器(n=0-5),17,Tcoh:nOE无效后片选信号的保持时间00:0个;01:1个;10:2个;11:4个时钟Tcah:
8、nGCSn无效后地址信号的保持时间00:0个;01:1个;10:2个;11:4个时钟Tacp:页模式的访问周期00:2个;01:3个;10:4个;11:6个时钟PMC:页模式的配置,每次读写的数据数00:1个;01:4个;10:8个;11:16个注:00为通常模式。注:紫色为某实验箱上的配置,其值为0 x0700,back,18,MT:设置存储器类型00:ROM或者SRAM,3:0为Tacp和PMC;11:SDRAM,3:0为Trcd和SCAN;01、10:保留Trcd:由行地址信号切换到列地址信号的延时时钟数00:2个时钟;01:3个时钟;10:4个时钟 SCAN:列地址位数00:8位;01
9、:9位;10:10位,3、BANK6/7-存储器组6/7控制寄存器,back,19,REFEN:刷新控制。1:使能刷新;0:禁止刷新TREFMD:刷新方式。1:自刷新0:自动刷新Trp:设置SDRAM行刷新时间(时钟数)00:2个时钟;01:3个;10:3个;11:4个时钟Tsrc:设置SDRAM行操作时间(时钟数)00:4个时钟;01:5个;10:6个;11:7个时钟注:SDRAM的行周期=Trp+Tsrc。Refresh_count:刷新计数值,4、REFRESH-刷新控制寄存器,20,Refresh_count:刷新计数器值计算公式:刷新周期=(211-Refresh_count+1)/
10、HCLK例子:设刷新周期=15.6s,HCLK=60MHz则刷新计数器值=211+1-6015.6=1113,back,21,高24位未用。BURST_EN:ARM突发操作控制0:禁止突发操作;1:可突发操作SCKE_EN:SCKE使能控制SDRAM省电模式0:关闭省电模式;1:使能省电模式SCLK_EN:SCLK省电控制,使其只在SDRAM访问周期内使能SCLK0:SCLK一直有效;1:SCLK只在访问期间有效BK76MAP:控制BANK6/7的大小及映射,5、BANKSIZE-BANK6/7组大小控制寄存器,22,BK76MAP:控制BANK6/7的大小及映射100:2MB;101:4MB
11、;110:8MB 111:16MB;000:32MB;001:64MB010:128MB,back,23,WBL:突发写的长度。0:固定长度;1:保留TM:测试模式。00:模式寄存器集;其它保留CL:列地址反应时间000:1个时钟;010:2个时钟;011:3个时钟;其它保留BT:猝发类型0:连续;1:保留BL:猝发时间000:1个时钟;其它保留,6、MRSRB6/7-BANK6/7模式设置寄存器,24,head.sENTRY(memsetup)movr1,#MEM_CTL_BASE adrlr2,mem_cfg_valaddr3,r1,#521:ldrr4,r2,#4strr4,r1,#4c
12、mpr1,r3bne1bmovpc,lrmem_cfg_val:.longvBWSCON.longvBANKCON0.longvBANKCON1.longvBANKCON2.longvBANKCON3.longvBANKCON4.longvBANKCON5.longvBANKCON6.longvBANKCON7.longvREFRESH.longvBANKSIZE.longvMRSRB6.longvMRSRB7,smdk2410.h/*initial values for DRAM*/#define MEM_CTL_BASE 0 x48000000#define vBWSCON0 x22111
13、110#define vBANKCON00 x00000700#define vBANKCON10 x00000700#define vBANKCON20 x00000700#define vBANKCON30 x00000700#define vBANKCON40 x00000700#define vBANKCON50 x00000700#define vBANKCON60 x00018005#define vBANKCON70 x00018005#define vREFRESH0 x008e0459#define vBANKSIZE0 xb2#define vMRSRB60 x30#def
14、ine vMRSRB70 x30,VIVI For s3c2410中Bootloader之存储器初始化,25,;Tacc 10:8 存取周期 110=10 clocks 111=14 clocks,;Bank1,3 16位,其余32位,For 44b0 x中Bootloader之存储器初始化,26,5.2.2 Flash,FLASH存储器又称闪存,是一种可在线多次擦除的非易失性存储器,即掉电后数据不会丢失。FLASH存储器还具有体积小、功耗低、抗振性强等优点,是嵌入式系统的首选存储设备。FLASH存储器主要分为两种,一种为NOR型FLASH,另一种为NAND型FLASH。,一、概述,27,(1
15、)接口差别 NOR型FLASH采用的是SRAM接口,提供有足够的地址引脚来寻址,可以很容易地存取其片内的每一个字节;NAND型FLASH使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。通常是采用8个引脚来传送控制、地址和数据信息。(2)读写的基本单位 NOR型FLASH操作是以“字”为基本单位;NAND型FLASH操作是以“页面”为基本单位,页的大小一般为512字节。(3)性能比较 NOR型FLASH的地址线和数据线是分开的,传输效率很高,程序可以在芯片内执行。NOR型的读速度比NAND型稍快一些;NAND型的写入速度比NOR型快很多(由于NAND型读写的基本单位为“页面
16、”,所以对于小量数据的写入,总体速度要比NOR型慢);,二、NOR型与NAND型FLASH的区别,28,(4)容量和成本 NAND型FLASH具有极高的单元密度,容量可以做得比较大,加上其生产过程更为简单,价格也就相应地降低了。NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。(5)软件支持 在NOR型FLASH上运行代码不需要任何的软件支持,而在NAND型FLASH上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序MTD(Memory Technology Dri
17、vers)。NAND型和NOR型FLASH在进行写入和擦除操作时都需要MTD(说明,MTD已集成在FLASH芯片内部,它是对FLASH进行操作的接口)。,29,这里以SST39VF160为例,介绍NOR型FLASH存储器的结构及操作。SST39VF160是SST公司的CMOS多功能FLASH(MPF)器件,存储容量为2M字节,16位数据宽度(即一个字为2字节),工作电压为2.73.6V。SST39VF160由SST特有的高性能SuperFlash技术制造而成,SuperFlash技术提供了固定的擦除和编程时间,与擦除/编程周期数无关。芯片管脚配置如下图所示。,三、NOR型Flash存储器,30
18、,SST39VF160管脚描述,NOR型FLASH存储器采用的是SRAM接口,其地址线和数据线是分开的。,31,SST39VF160工作模式选择,32,NOR型FLASH存储器容量越来越大,为了方便数据管理,将FLASH划分为块(Block),每个块又分成扇区(Sector)。SST39VF160的块大小为32K字,扇区大小为2K字。读操作,可以对任何地址的任何字节进行,不受限制;写操作,以字形式进行编程。编程前包含字的扇区必须完全擦除;擦除操作,以扇区(2K)、块(32K)或全片为单位进行擦除。擦除后数据变为0 xFF。,33,SST39VF160的存储器操作由命令来启动。命令通过标准微处理
19、器写时序写入器件。,34,内部操作状态检测:SST39VFl60提供两种软件方式来检测内部操作是否完成。软件检测方式涉及两个状态位:利用数据轮询特性Data Polling bit(DQ7)和跳转位特性Toggle bit(DQ6)。在WE的上升沿,写入结束检测功能被使能,同时内部写入或擦除操作也被初始化。这里只介绍Toggle bit方式。在内部写入或擦除的过程中,任何对DQ6连续的读操作都会产生一个不断翻转的1和O。当内部写入或擦除完成时,DQ6位将停止翻转。,void Waitfor_endofprg(void)volatile unsigned int old_Status,now_S
20、tatus;old_Status=*(volatile unsigned short*)0 x00);/从任意地址读出数据while(1)new_Status=*(volatile unsigned short*)0 x00):/从同一地址读出数据 if(old_Status&Ox40)=(new_Status&Ox40)/比较DQ6位 break;else old_Status=new_Status:,35,SST39VF160擦除Int SST39VF160_Sectorerase(unsigned long SAaddr)writeflash(0 x5555,0 xAA)writefla
21、sh(0 x2AAA,0 x55)writeflash(0 x5555,0 x80)writeflash(0 x5555,0 xAA)writeflash(0 x2AAA,0 x55)writeflash(SAaddr,0 x30)waitfor_endofprg()#define writeflash(addr,dat)*(volatile unsigned short*)(addr1)=(unsigned short)dat Addr 为写入数据的目标地址。Dat为16位半字而不是字节,因而addr也是半字地址,但对存储器而言地址是以字节为单位的,因此,addr必须加以调整,左移1位。如需
22、擦除最后一个扇区,Saaddr=0 xFF800即可。,36,SST39VF160写入,Int SST39VF160_wordProg(unsigned long addr,unsigned short dat)writeflash(0 x5555,0 xAA)writeflash(0 x2AAA,0 x55)writeflash(0 x5555,0 xA0)writeflash(addr,dat)waitfor_endofprg()写入操作是一个字一个字进行的,在需要进行多字(16位)写入时,只要循环调用SST39VF160_wordProg即可。类似:LINUX 下公开源代码的J-FLAS
23、H,37,四、Nand Flash及其控制器,Nor flash存储器:读速度高,而擦、写速度低,容量小,价格高。Nand flash存储器:读速度不如Nor flash,而擦、写速度高,容量大,价格低。有取代磁盘的趋势。因此,现在不少用户从Nand flash启动和引导系统,而在SDRAM上执 行主程序代码。(一)Nand Flash控制器概述S3C2410X微控制器从Nand flash的引导功能:其内部有一个叫做“起步石(Steppingstone)”的 SRAM缓冲器,系统 启动时,Nand flash存储器的前面4KByte字节将被自动载入到起步石中,然后系统自动执行这些载入的引导代
24、码。引导代 码执行完毕后,自动跳转到SDRAM执行。Nand flash操作的校验功能:使用S3C2410X内部硬件ECC功能可以对Nand flash的数据进行有效性的检测。,38,(二)Nand Flash控制器主要特性Nand Flash模式:支持读/擦/编程Nand flash存储器。自动导入模式:复位后,引导代码被送入Steppingstone,传送后,引导代码在 Steppingstone中执行。具有硬件ECC(纠错码)功能:硬件产生纠错代码。内部4KB的SRAM缓冲器Steppingstone,在Nand flash引导后可以作为其他用途使用。,39,Nand Flash控制器功
25、能框图,主要由6部分组成引脚信号:CLE:命令锁存R/nB:就绪/忙,40,(三)Nand Flash 控制器的寄存器,41,NFEN:NF控制器使能控制0:禁止使用;1:允许使用IECC:初始化ECC编码/解码器控制位0:不初始化ECC;1:初始化ECCNFCE:NF片选信号nFCE控制位持续时间设置0:nFCE为低有效;0:nFCE为高无效TACLE:CLE/ALE持续时间设置值(0-7)持续时间 HCLK*(TACLS+1)CLE/ALE:命令/地址锁存允许TWRPH0:写信号持续时间设置值(07)持续时间 HCLK*(TWRPH01)TWRPH1:写信号无效后CLE/ALE保持时间设置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 s3c2410 嵌入式 系统 硬件 结构设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5064504.html