五、基于ARM的嵌入式系统硬件结构设计.ppt
《五、基于ARM的嵌入式系统硬件结构设计.ppt》由会员分享,可在线阅读,更多相关《五、基于ARM的嵌入式系统硬件结构设计.ppt(71页珍藏版)》请在冰豆网上搜索。
1嵌入式系统嵌入式系统第五讲第五讲基于基于ARMARM的硬件系统结构设计的硬件系统结构设计2本节提要本节提要113322554466基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计3基于ARM的硬件设计主要介绍基于主要介绍基于ARM7ARM7的嵌入式硬件开发平台的设计方的嵌入式硬件开发平台的设计方法,包括结构、主要接口、存储器选用方案以及外设、显法,包括结构、主要接口、存储器选用方案以及外设、显示等方面的内容。
示等方面的内容。
l嵌入式硬件开发平台的体系结构嵌入式硬件开发平台的体系结构l外围存储器接口设计方法外围存储器接口设计方法l键盘、键盘、LCDLCD等人机交互接口的设计等人机交互接口的设计l触摸屏的设计触摸屏的设计l以太网设计以太网设计lCANCAN总线设计总线设计4SamsungS3C44B0XlSamsungS3C44B0XSamsungS3C44B0X微处理器是三星公司专为手持设备和微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,一般应用提供的高性价比和高性能的微控制器解决方案,它使用它使用ARM7TDMIARM7TDMI核,工作在核,工作在66MHZ66MHZ。
为了降低系统总成为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:
本和减少外围器件,这款芯片中还集成了下列部件:
l8KBCache8KBCache、外部存储器控制器、外部存储器控制器、LCDLCD控制器、控制器、44个个DMADMA通通道、道、22通道通道UARTUART、11个多主个多主I2CI2C总线控制器、总线控制器、11个个IISIIS总线总线控制器,控制器,55通道通道PWMPWM定时器及一个内部定时器、定时器及一个内部定时器、7171个通用个通用I/OI/O口、口、88个外部中断源、实时时钟、个外部中断源、实时时钟、88通道通道1010位位ADCADC等。
等。
5基于ARM的嵌入式硬件平台体系结构6芯片体系结构7S3C44B0X存储系统的特征l支持数据存储的大支持数据存储的大/小端选择小端选择(通过外部引脚进行选择通过外部引脚进行选择)l地址空间:
具有地址空间:
具有88个存储体,每个存储体可达个存储体,每个存储体可达32Mb32Mb,总总共可达共可达256Mb256Mb。
l对所有存储体的访问大小均可进行改变(对所有存储体的访问大小均可进行改变(88位位1616位位3232位)位)l88个存储体中,个存储体中,Bank0Bank0Bank5Bank5可支持可支持ROMROM、SRAMSRAM;Bank6Bank6、Bank7Bank7可支持可支持ROMROM、SRAMSRAM和和FPFPEDOEDOSDRAMSDRAM等。
等。
l77个存储体的起始地址固定,个存储体的起始地址固定,11个存储体的起始地址可个存储体的起始地址可变。
变。
8复位后的S3C44B0X的存储器映射表9系统的存储空间分配lBank0:
Bank0:
两片两片512KFlash512KFlash,放置系统引导程序,系统上电复位后,放置系统引导程序,系统上电复位后,PCPC指针自动指向指针自动指向Bank0Bank0的第一个单元,进行系统自举。
的第一个单元,进行系统自举。
lBank1Bank1:
K9F2808K9F2808(三星三星16MbyteFlash16MbyteFlash),),非线性寻址。
具体的非线性寻址。
具体的时序可以参考时序可以参考K9F2808K9F2808的的datasheetdatasheetlBank2Bank2:
USBN9603USBN9603。
USBUSB设备端接口芯片,占用系统外部中断设备端接口芯片,占用系统外部中断00。
88位数据总线。
位数据总线。
lBank3Bank3、Bank4Bank4未接设备。
可以供扩展使用未接设备。
可以供扩展使用lBank5Bank5:
RTL8019ASRTL8019AS,ISAISA总线兼容的总线兼容的10M10M以太网(以太网(PHYPHYMACMAC层)控层)控制芯片。
占用系统外部中断制芯片。
占用系统外部中断11,1616位数据总线位数据总线10lBank6Bank6:
SDRAMSDRAM,起始地址为起始地址为0xC0000000xC000000。
在。
在SDRAMSDRAM中,前中,前512Kbyte512Kbyte的空间划分出来,作为系统的的空间划分出来,作为系统的LCDLCD显示缓冲区使用(更新其中的数显示缓冲区使用(更新其中的数据,就可以更新据,就可以更新LCDLCD的显示)。
系统的程序存储空间从的显示)。
系统的程序存储空间从0xC0800000xC080000开始。
也就是,引导系统的时候,需要把开始。
也就是,引导系统的时候,需要把system.binsystem.bin文件复制到文件复制到0xC0800000xC080000开始的地址空间,把开始的地址空间,把PCPC指针指向指针指向0xC0800000xC080000。
lBank7Bank7:
未使用。
可以扩展另一片未使用。
可以扩展另一片SDRAMSDRAM,或者其他的外设。
或者其他的外设。
l系统的同步串行口(系统的同步串行口(SIOSIO),),连接着触摸屏控制芯片连接着触摸屏控制芯片FM7843FM7843(与(与ADS7843ADS7843完全兼容)。
在同步串行口上,还可以扩展其他的芯片。
完全兼容)。
在同步串行口上,还可以扩展其他的芯片。
靠靠IOIO口控制设备的片选信号(口控制设备的片选信号(CSCS)来防止设备的冲突。
来防止设备的冲突。
l注:
系统的扩展接口上,注:
系统的扩展接口上,A0A0的标号,连接在的标号,连接在S3C44B0XS3C44B0X的的ADDR1ADDR1上,上,后面的地址依次向后错位。
后面的地址依次向后错位。
11本节提要本节提要113322554466基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计12S3C44B0X与FLASH的连接(HalfWord方式)13l使用使用Bank0Bank0上的两片上的两片512Kb2512Kb2来放置系统来放置系统BIOSBIOS,系统上电以后,系统上电以后,PCPC指针自动指向指针自动指向Bank0Bank0的第一个单元,开始进行系统自举。
系统的第一个单元,开始进行系统自举。
系统自举完成以后,便从硬盘中将系统文件和用户应用程序复制到自举完成以后,便从硬盘中将系统文件和用户应用程序复制到SDRAMSDRAM内存中执行。
内存中执行。
lBank1Bank1上接上接16M16M非线性非线性FlashFlash,当做系统硬盘使用,可以构造文件当做系统硬盘使用,可以构造文件系统,存放海量数据。
系统,存放海量数据。
l用用SDRAMSDRAM当作系统内存,只有当作系统内存,只有Bank6/Bank7Bank6/Bank7能支持能支持SDRAMSDRAM,所以将所以将SDRAMSDRAM接在接在Bank6Bank6上。
如果同时使用上。
如果同时使用Bank6/Bank7Bank6/Bank7,则要求连接相则要求连接相同容量的存储器,而且其地址空间在物理上是连续的。
同容量的存储器,而且其地址空间在物理上是连续的。
存储器接口设计14关于BOOTROMlBank0Bank0:
系统的启动系统的启动ROMROM(FlashRomFlashRom)。
)。
在系统复位的时候,处理在系统复位的时候,处理器的器的PCPC(程序计数器)指针指向程序计数器)指针指向0x00x0地址。
在地址。
在Bank0Bank0的起始地址的的起始地址的程序,就是系统的初始化程序。
此程序的主要任务是:
程序,就是系统的初始化程序。
此程序的主要任务是:
11、管理处理器的中断服务程序、管理处理器的中断服务程序l处理器的中断是从处理器的中断是从0x00x0地址开始,引导地址开始,引导ROMROM负责把这一部分的中断负责把这一部分的中断映射到另一个区域,以便系统处理。
具体的做法,可以参考映射到另一个区域,以便系统处理。
具体的做法,可以参考44binit.s44binit.s里面的代码。
(这部分代码是三星主页可以提供,它把里面的代码。
(这部分代码是三星主页可以提供,它把系统的中断,映射到了不同的指针所指向的地址空间(主要就是系统的中断,映射到了不同的指针所指向的地址空间(主要就是系统系统RAMRAM的空间)。
的空间)。
1522、初始化硬件平台,配置其他的、初始化硬件平台,配置其他的BankBanklS3C44B0XS3C44B0X的的Bank0Bank0是通过外部的一个管脚提供的上拉、下拉电阻来是通过外部的一个管脚提供的上拉、下拉电阻来配置的。
主要包括:
数据位数(配置的。
主要包括:
数据位数(88位、位、1616位、位、3232位),数据格式位),数据格式(大端、小端)。
而其他的(大端、小端)。
而其他的BankBank的配置,以及读写周期等信息是的配置,以及读写周期等信息是靠靠Bank0Bank0内部的代码配置相应的寄存器来实现的。
同时,系统的引内部的代码配置相应的寄存器来实现的。
同时,系统的引导导RomRom也负责配置系统的其他的一些寄存器,比如,系统的也负责配置系统的其他的一些寄存器,比如,系统的PLLPLL(锁频环)配置,系统的锁频环)配置,系统的IOIO口等一些端口功能的配置等等。
口等一些端口功能的配置等等。
1633、系统自动检测、系统自动检测l引导引导RomRom负责检测系统的启动所必须的外设是否正常。
主要是系统负责检测系统的启动所必须的外设是否正常。
主要是系统的的SDRAMSDRAM的检测。
的检测。
44、系统的软件设置,更新系统(、系统的软件设置,更新系统(system.binsystem.bin)l用户可以在系统启动的时候,按任意键,进入系统的软件设置状用户可以在系统启动的时候,按任意键,进入系统的软件设置状态。
通过引导态。
通过引导RomRom设置或者查看系统的一些软件信息。
包括:
通过设置或者查看系统的一些软件信息。
包括:
通过开启开启USBUSB端口;更新系统文件端口;更新系统文件system.binsystem.bin;LCDLCD显示测试;演示程显示测试;演示程序的装载测试;键盘测试;触摸屏的坐标校准;触摸屏测试;以序的装载测试;键盘测试;触摸屏的坐标校准;触摸屏测试;以太网地址的设置等太网地址的设置等17本节提要本节提要113322554466基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/O接口设计接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计18嵌入式开发板与PC机的串行通讯嵌入式开发板和嵌入式开发板和PC机的通讯电缆可以按照如图所示的方式机的通讯电缆可以按照如图所示的方式连接。
连接。
19I/O接口设计I/OI/O接口电路也简称接口电路。
它是主机和外围设备之间交换信息接口电路也简称接口电路。
它是主机和外围设备之间交换信息的连接部件(电路)。
它在主机和外围设备之间的信息交换中起的连接部件(电路)。
它在主机和外围设备之间的信息交换中起着桥梁和纽带作用。
设置接口电路的必要性:
着桥梁和纽带作用。
设置接口电路的必要性:
a)a)解决解决CPUCPU和外围设备之间的时序配合和通信联络问题。
和外围设备之间的时序配合和通信联络问题。
b)b)解决解决CPUCPU和外围设备之间的数据格式转换和匹配问题。
和外围设备之间的数据格式转换和匹配问题。
c)c)解决解决CPUCPU的负载能力和外围设备端口选择问题。
的负载能力和外围设