《五基于ARM的嵌入式系统硬件结构设计.ppt》由会员分享,可在线阅读,更多相关《五基于ARM的嵌入式系统硬件结构设计.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1嵌入式系统设计与实例开发嵌入式系统设计与实例开发ARMARM与与 C/OS-C/OS-第五讲第五讲 基于基于ARMARM的硬件系统结构设计的硬件系统结构设计主讲教师:罗子波主讲教师:罗子波 副教授副教授2本节提要本节提要1 13 32 25 54 46 6基于基于ARM的硬件系统体系结构的硬件系统体系结构存储器接口设计存储器接口设计网络接口设计网络接口设计I/OI/O接口设计接口设计人机交互接口设计人机交互接口设计其它通讯接口设计其它通讯接口设计3基于ARM的硬件设计主要介绍基于主要介绍基于ARM7ARM7的嵌入式硬件开发平台的设计方的嵌入式硬件开发平台的设计方法,包括结构、主要接口、存储器
2、选用方案以及外设、显法,包括结构、主要接口、存储器选用方案以及外设、显示等方面的内容。示等方面的内容。l嵌入式硬件开发平台的体系结构嵌入式硬件开发平台的体系结构l外围存储器接口设计方法外围存储器接口设计方法lI/OI/O接口设计接口设计4Samsung S3C44B0XlSamsung S3C44B0XSamsung S3C44B0X微处理器是三星公司专为手持设备和微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,一般应用提供的高性价比和高性能的微控制器解决方案,它使用它使用ARM7TDMIARM7TDMI核,工作在核,工作在66MHZ66MHZ。为了降低系统总
3、成。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:本和减少外围器件,这款芯片中还集成了下列部件:l8KB Cache8KB Cache、外部存储器控制器、外部存储器控制器、LCDLCD控制器、控制器、4 4个个DMADMA通通道、道、2 2通道通道UARTUART、1 1个多主个多主I2CI2C总线控制器、总线控制器、1 1个个IISIIS总线总线控制器,控制器,5 5通道通道PWMPWM定时器及一个内部定时器、定时器及一个内部定时器、7171个通用个通用I/OI/O口、口、8 8个外部中断源、实时时钟、个外部中断源、实时时钟、8 8通道通道1010位位ADCADC等。等。5基
4、于ARM的嵌入式硬件平台体系结构6芯片体系结构7S3C44B0X存储系统的特征l支持数据存储的大支持数据存储的大/小端选择小端选择(通过外部引脚进行选择通过外部引脚进行选择)l地址空间:具有地址空间:具有8 8个存储体,每个存储体可达个存储体,每个存储体可达32Mb32Mb,总,总共可达共可达256Mb256Mb。l对所有存储体的访问大小均可进行改变(对所有存储体的访问大小均可进行改变(8 8位位1616位位3232位)位)l8 8个存储体中,个存储体中,Bank0Bank0Bank5Bank5可支持可支持ROMROM、SRAMSRAM;Bank6Bank6、Bank7Bank7可支持可支持R
5、OMROM、SRAMSRAM和和FPFPEDOEDOSDRAMSDRAM等。等。l7 7个存储体的起始地址固定,个存储体的起始地址固定,1 1个存储体的起始地址可个存储体的起始地址可变。变。8复位后的S3C44B0X的存储器映射表 9系统的存储空间分配lBank0:Bank0:两片两片512KFlash512KFlash,放置系统引导程序,系统上电复位后,放置系统引导程序,系统上电复位后,PCPC指针自动指向指针自动指向Bank0Bank0的第一个单元,进行系统自举。的第一个单元,进行系统自举。lBank1Bank1:K9F2808K9F2808(三星(三星 16Mbyte Flash 16M
6、byte Flash),非线性寻址。具体的),非线性寻址。具体的时序可以参考时序可以参考K9F2808K9F2808的的datasheetdatasheetlBank2Bank2:USBN9603USBN9603。USBUSB设备端接口芯片,占用系统外部中断设备端接口芯片,占用系统外部中断0 0。8 8位数据总线。位数据总线。lBank3Bank3、Bank4Bank4未接设备。可以供扩展使用未接设备。可以供扩展使用lBank5Bank5:RTL8019ASRTL8019AS,ISAISA总线兼容的总线兼容的10M10M以太网(以太网(PHYPHYMACMAC层)控层)控制芯片。占用系统外部中
7、断制芯片。占用系统外部中断1 1,1616位数据总线位数据总线10lBank6Bank6:SDRAMSDRAM,起始地址为,起始地址为0 xC0000000 xC000000。在。在SDRAMSDRAM中,前中,前512Kbyte512Kbyte的空间划分出来,作为系统的的空间划分出来,作为系统的LCDLCD显示缓冲区使用(更新其中的数显示缓冲区使用(更新其中的数据,就可以更新据,就可以更新LCDLCD的显示)。系统的程序存储空间从的显示)。系统的程序存储空间从0 xC0800000 xC080000开始。也就是,引导系统的时候,需要把开始。也就是,引导系统的时候,需要把system.bins
8、ystem.bin文件复制到文件复制到0 xC0800000 xC080000开始的地址空间,把开始的地址空间,把PCPC指针指向指针指向0 xC0800000 xC080000。lBank7Bank7:未使用。可以扩展另一片:未使用。可以扩展另一片SDRAMSDRAM,或者其他的外设。,或者其他的外设。l系统的同步串行口(系统的同步串行口(SIOSIO),连接着触摸屏控制芯片),连接着触摸屏控制芯片FM7843FM7843(与(与ADS7843ADS7843完全兼容)。在同步串行口上,还可以扩展其他的芯片。完全兼容)。在同步串行口上,还可以扩展其他的芯片。靠靠IOIO口控制设备的片选信号(口
9、控制设备的片选信号(CSCS)来防止设备的冲突。)来防止设备的冲突。l注:系统的扩展接口上,注:系统的扩展接口上,A0A0的标号,连接在的标号,连接在S3C44B0XS3C44B0X的的ADDR1ADDR1上,上,后面的地址依次向后错位。后面的地址依次向后错位。11S3C44B0X与FLASH的连接(Half Word方式)12l使用使用Bank0Bank0上的两片上的两片512Kb2512Kb2来放置系统来放置系统BIOSBIOS,系统上电以后,系统上电以后,PCPC指针自动指向指针自动指向Bank0Bank0的第一个单元,开始进行系统自举。系统的第一个单元,开始进行系统自举。系统自举完成以
10、后,便从硬盘中将系统文件和用户应用程序复制到自举完成以后,便从硬盘中将系统文件和用户应用程序复制到SDRAMSDRAM内存中执行。内存中执行。lBank1Bank1上接上接16M16M非线性非线性FlashFlash,当做系统硬盘使用,可以构造文件,当做系统硬盘使用,可以构造文件系统,存放海量数据。系统,存放海量数据。l用用SDRAMSDRAM当作系统内存,只有当作系统内存,只有Bank6/Bank7Bank6/Bank7能支持能支持SDRAMSDRAM,所以将,所以将SDRAMSDRAM接在接在Bank6Bank6上。如果同时使用上。如果同时使用Bank6/Bank7Bank6/Bank7,
11、则要求连接相,则要求连接相同容量的存储器,而且其地址空间在物理上是连续的。同容量的存储器,而且其地址空间在物理上是连续的。存储器接口设计13关于BOOT ROMlBank0Bank0:系统的启动:系统的启动ROMROM(Flash RomFlash Rom)。在系统复位的时候,处理)。在系统复位的时候,处理器的器的PCPC(程序计数器)指针指向(程序计数器)指针指向0 x00 x0地址。在地址。在Bank0Bank0的起始地址的的起始地址的程序,就是系统的初始化程序。此程序的主要任务是:程序,就是系统的初始化程序。此程序的主要任务是:1 1、管理处理器的中断服务程序、管理处理器的中断服务程序l
12、处理器的中断是从处理器的中断是从0 x00 x0地址开始,引导地址开始,引导ROMROM负责把这一部分的中断负责把这一部分的中断映射到另一个区域,以便系统处理。具体的做法,可以参考映射到另一个区域,以便系统处理。具体的做法,可以参考44binit.s44binit.s里面的代码。(这部分代码是三星主页可以提供,它把里面的代码。(这部分代码是三星主页可以提供,它把系统的中断,映射到了不同的指针所指向的地址空间(主要就是系统的中断,映射到了不同的指针所指向的地址空间(主要就是系统系统RAMRAM的空间)。的空间)。142 2、初始化硬件平台,配置其他的、初始化硬件平台,配置其他的BankBankl
13、S3C44B0XS3C44B0X的的Bank0Bank0是通过外部的一个管脚提供的上拉、下拉电阻来是通过外部的一个管脚提供的上拉、下拉电阻来配置的。主要包括:数据位数(配置的。主要包括:数据位数(8 8位、位、1616位、位、3232位),数据格式位),数据格式(大端、小端)。而其他的(大端、小端)。而其他的BankBank的配置,以及读写周期等信息是的配置,以及读写周期等信息是靠靠Bank0Bank0内部的代码配置相应的寄存器来实现的。同时,系统的引内部的代码配置相应的寄存器来实现的。同时,系统的引导导RomRom也负责配置系统的其他的一些寄存器,比如,系统的也负责配置系统的其他的一些寄存器
14、,比如,系统的PLLPLL(锁频环)配置,系统的(锁频环)配置,系统的IOIO口等一些端口功能的配置等等。口等一些端口功能的配置等等。153 3、系统自动检测、系统自动检测l引导引导RomRom负责检测系统的启动所必须的外设是否正常。主要是系统负责检测系统的启动所必须的外设是否正常。主要是系统的的SDRAMSDRAM的检测。的检测。4 4、系统的软件设置,更新系统(、系统的软件设置,更新系统(system.binsystem.bin)l用户可以在系统启动的时候,按任意键,进入系统的软件设置状用户可以在系统启动的时候,按任意键,进入系统的软件设置状态。通过引导态。通过引导RomRom设置或者查看
15、系统的一些软件信息。包括:通过设置或者查看系统的一些软件信息。包括:通过开启开启USBUSB端口;更新系统文件端口;更新系统文件system.binsystem.bin;LCDLCD显示测试;演示程显示测试;演示程序的装载测试;键盘测试;触摸屏的坐标校准;触摸屏测试;以序的装载测试;键盘测试;触摸屏的坐标校准;触摸屏测试;以太网地址的设置等太网地址的设置等16嵌入式开发板与PC机的串行通讯嵌入式开发板和嵌入式开发板和PC机的通讯电缆可以按照如图所示的方式机的通讯电缆可以按照如图所示的方式连接。连接。17I/O接口设计 I/OI/O接口电路也简称接口电路。它是主机和外围设备之间交换信息接口电路也
16、简称接口电路。它是主机和外围设备之间交换信息的连接部件(电路)。它在主机和外围设备之间的信息交换中起的连接部件(电路)。它在主机和外围设备之间的信息交换中起着桥梁和纽带作用。设置接口电路的必要性:着桥梁和纽带作用。设置接口电路的必要性:a)a)解决解决CPUCPU和外围设备之间的时序配合和通信联络问题。和外围设备之间的时序配合和通信联络问题。b)b)解决解决CPUCPU和外围设备之间的数据格式转换和匹配问题。和外围设备之间的数据格式转换和匹配问题。c)c)解决解决CPUCPU的负载能力和外围设备端口选择问题。的负载能力和外围设备端口选择问题。18I/O接口的编址方式1 1)I/OI/O接口独立
17、编址:接口独立编址:l这种编址方式是将存储器地址空间和这种编址方式是将存储器地址空间和I/OI/O接口地址空间分开设置,接口地址空间分开设置,互不影响。设有专门的输入指令(互不影响。设有专门的输入指令(ININ)和输出指令()和输出指令(OUTOUT)来完成)来完成I/OI/O操作。操作。2 2)I/OI/O接口与存储器统一编址方式:接口与存储器统一编址方式:l这种编址方式不区分存储器地址空间和这种编址方式不区分存储器地址空间和I/OI/O接口地址空间,把所有接口地址空间,把所有的的I/OI/O接口的端口都当作是存储器的一个单元对待,每个接口芯片接口的端口都当作是存储器的一个单元对待,每个接口
18、芯片都安排一个或几个与存储器统一编号的地址号。也不设专门的输都安排一个或几个与存储器统一编号的地址号。也不设专门的输入入/输出指令,所有传送和访问存储器的指令都可用来对输出指令,所有传送和访问存储器的指令都可用来对I/OI/O接口接口操作。操作。19两种编址方式有各自的优缺点1 1)独立编址方式:)独立编址方式:l主要优点:内存地址空间与主要优点:内存地址空间与I/OI/O接口地址空间分开,互不影响,译接口地址空间分开,互不影响,译码电路较简单,并设有专门的码电路较简单,并设有专门的I/OI/O指令,所以编程序易于区分,且指令,所以编程序易于区分,且执行时间短,快速性好。执行时间短,快速性好。
19、l缺点:只用缺点:只用I/OI/O指令访问指令访问I/OI/O端口,功能有限且要采用专用端口,功能有限且要采用专用I/OI/O周期周期和专用和专用I/OI/O控制线,使微处理器复杂化。控制线,使微处理器复杂化。2 2)统一编址方式)统一编址方式l主要优点:访问内存的指令都可用于主要优点:访问内存的指令都可用于I/OI/O操作,数据处理功能强;操作,数据处理功能强;同时同时I/OI/O接口可与存储器部分共用译码和控制电路。接口可与存储器部分共用译码和控制电路。l缺点:一是缺点:一是I/OI/O接口要占用存储器地址空间的一部分;二是因不用接口要占用存储器地址空间的一部分;二是因不用专门的专门的I/
20、OI/O指令,程序中较难区分指令,程序中较难区分I/OI/O操作。操作。20S3C44B0X的I/O接口lARMARM系统完成系统完成I/OI/O功能的标准方法是使用存储器映射功能的标准方法是使用存储器映射I/OI/O。这种方法。这种方法使用特定的存储器地址。当从这些地址加载或向这些地址存储时,使用特定的存储器地址。当从这些地址加载或向这些地址存储时,它们提供它们提供I/OI/O功能。典型情况下,从存储器映射功能。典型情况下,从存储器映射I/OI/O地址加载用于地址加载用于输入,而向存储器映射输入,而向存储器映射I/OI/O地址存储用于输出。地址存储用于输出。lS3C44B0XS3C44B0X有有71 71 个多功能输入个多功能输入 输出管脚,构成了输出管脚,构成了7 7个个I/OI/O接口:接口:l两个两个9 9位的输入位的输入/输出接口(输出接口(E E和和F F)l两个两个8 8位的输入位的输入/输出接口(输出接口(D D和和G G)l一个一个1616位的输入位的输入/输出接口(输出接口(C C)l一个一个1010位的输出接口(位的输出接口(A A)l一个一个1111位的输出接口(位的输出接口(B B)