嵌入式系统(第5章-嵌入式系统硬件平台及接口设计)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《嵌入式系统(第5章-嵌入式系统硬件平台及接口设计)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 硬件 平台 接口 设计 课件
- 资源描述:
-
1、1嵌入式系统设计嵌入式系统设计ARMARM与与 C/OS-C/OS-2嵌入式系统的软嵌入式系统的软/硬件框架硬件框架机械装置机械装置嵌入式嵌入式微处理器微处理器SDRAMSDRAMROMROMI/OI/OA/DA/DD/AD/A人机交互接口人机交互接口通用接口通用接口实时操作系统(实时操作系统(RTOS)RTOS)图形用户图形用户接口接口BSP/HAL 硬件抽象层/板极支持包BSP/HAL 硬件抽象层/板极支持包任务管理任务管理文件系统文件系统应用程序应用程序嵌入式计算机系统嵌入式计算机系统传感器1传感器1传感器2传感器2传感器N传感器N.驱动器1驱动器1驱动器2驱动器2驱动器N驱动器N.硬件
2、层硬件层软件层软件层中间层中间层功能层功能层被控对象被控对象334嵌入式系统的设计步骤嵌入式系统的设计步骤体系结构设计系统需求分析:规格说明书机械系统设计硬件设计软件设计系统集成系统测试产品51 1)需求分析阶段)需求分析阶段1.1.分析用户的需求分析用户的需求2.2.确定硬件软件确定硬件软件3.3.检查需求分析的结果检查需求分析的结果4.4.确定项目的约束条件确定项目的约束条件5.5.概要设计概要设计6需求分析需求分析-罗列用户的需求罗列用户的需求(1 1)系统用于什么任务?)系统用于什么任务?(2 2)系统从用户或其他源接收什么输入?)系统从用户或其他源接收什么输入?(3 3)系统从用户或
3、其他源输出什么?)系统从用户或其他源输出什么?(4 4)用户想要如何同系统打交道?)用户想要如何同系统打交道?(5 5)系统的重量和体积如何?)系统的重量和体积如何?(6 6)系统连接何种外设?)系统连接何种外设?(7 7)系统是否需要运行某些现存的软件?)系统是否需要运行某些现存的软件?(8 8)系统处理哪种类型的数据?)系统处理哪种类型的数据?(9 9)系统是否要与别的系统通讯?)系统是否要与别的系统通讯?(1010)系统是单机还是网络系统?)系统是单机还是网络系统?7需求分析需求分析-罗列用户的需求罗列用户的需求(1111)系统的响应时间是多少?)系统的响应时间是多少?(1212)需要什
4、么安全措施?)需要什么安全措施?(1313)系统在什么样的环境下运行?)系统在什么样的环境下运行?(1414)外部存储媒介和内存需要多大?)外部存储媒介和内存需要多大?(1515)系统的可拆装性,可靠性和牢固性的期望值是什么)系统的可拆装性,可靠性和牢固性的期望值是什么(1616)如何给系统供电?)如何给系统供电?(1717)系统如何向用户通报故障?)系统如何向用户通报故障?(1818)是否需要任何手动或机械代用装置?)是否需要任何手动或机械代用装置?(1919)系统是否将具有远程诊断或更正问题的功能?)系统是否将具有远程诊断或更正问题的功能?(2020)其他问题)其他问题82 2)体系结构设
5、计)体系结构设计l决定因素决定因素1.1.系统是硬实时系统还是软实时系统系统是硬实时系统还是软实时系统2.2.操作系统是否需要嵌入操作系统是否需要嵌入3.3.物理系统的成本、尺寸和耗电量是否是产物理系统的成本、尺寸和耗电量是否是产品成功的关键因素品成功的关键因素4.4.选择处理器和相关硬件选择处理器和相关硬件5.5.其他其他93 3)详细设计阶段)详细设计阶段-硬件与软件划分硬件与软件划分决定哪些用硬件实现,哪些用软件实现?决定哪些用硬件实现,哪些用软件实现?例如:例如:1.1.浮点运算浮点运算2.2.网络通信控制器实现的功能网络通信控制器实现的功能3.3.软调制解调器软调制解调器/硬调制解调
6、器硬调制解调器4.4.软件压缩解压软件压缩解压/硬件压缩解压图像硬件压缩解压图像10详细设计阶段详细设计阶段-硬件设计硬件设计1.1.设计硬件子系统:设计硬件子系统:top-downtop-down方法方法1.1.分成模块分成模块2.2.设计框图设计框图3.3.例:例:CPUCPU子系统、存储器子系统等子系统、存储器子系统等2.2.定义硬件接口定义硬件接口1.1.I/OI/O端口端口2.2.硬件寄存器硬件寄存器3.3.共享内存共享内存4.4.硬件中断硬件中断5.5.存储器空间分配存储器空间分配6.6.处理器的运行速度处理器的运行速度11详细设计阶段详细设计阶段-软件设计软件设计设计软件子系统设
7、计软件子系统总体设计、模块设计总体设计、模块设计定义软件接口定义软件接口模块接口、函数接口模块接口、函数接口12详细设计阶段详细设计阶段-检查设计检查设计l小项目小项目l自己审查设计文档自己审查设计文档l中等项目中等项目l拿给同事朋友并向他们解释你的设计拿给同事朋友并向他们解释你的设计 l大型项目大型项目-审查会审查会l设计者应作一个更正式的报告。由于这是一设计者应作一个更正式的报告。由于这是一个设计审查会,召集一群人,主要由工程师个设计审查会,召集一群人,主要由工程师组成,并尽可能包括一些对项目有不同看法组成,并尽可能包括一些对项目有不同看法角度的成员,如做市场的人员、最终用户角度的成员,如
8、做市场的人员、最终用户 134 4)系统集成)系统集成把系统的软件、硬件和执行装置集成在一起,把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进设计过程中的错误。进行调试,发现并改进设计过程中的错误。5 5)系统测试)系统测试对设计好的系统进行测试,看其是否满足给定对设计好的系统进行测试,看其是否满足给定的要求。的要求。14嵌入式系统的硬件体系结构嵌入式系统的硬件体系结构通用嵌入式微处理器应用软件数据可重构计算部件配置存储器数据ASIC数据通用微处理器可重构计算机ASIC15基于基于ARM和和FPGA的嵌入式系统可重构设计的嵌入式系统可重构设计ARM7TDMI嵌入式微处理器内存8MB
9、SDRAM电子硬盘16MBFLASHBIOS1MBFLASH微处理器模块FPGA配置存储器输入输出接口FPGAI/O模块16S3C2410的内部结构172410的存储器系统的存储器系统 可通过软件选择大小端可通过软件选择大小端 地址空间地址空间:每个每个Bank 128Mbytes(总共总共 1GB)共共 8 个个banksl6个个Bank用于控制用于控制 ROM,SRAM,etc.l剩余的两个剩余的两个Bank用于控制用于控制 ROM,SRAM,SDRAM,etc.除除 bank0(16/32-bit)外,所有的外,所有的Bank都可以通过编程选择总线都可以通过编程选择总线宽度宽度=(8/1
10、6/32-bit)7个个Bank固定起始地址;固定起始地址;最后一个最后一个Bank可调整起始地址;可调整起始地址;最后两个最后两个Bank大小可编程大小可编程所有所有Bank存储周期可编程控制;存储周期可编程控制;18S3C2410的存储器配置的存储器配置19实验平台的体系结构20基于基于ARM的嵌入式系统硬件结构设计的嵌入式系统硬件结构设计主要介绍基于主要介绍基于ARM7的嵌入式硬件开发平的嵌入式硬件开发平台的设计方法,包括结构、主要接口、存储器台的设计方法,包括结构、主要接口、存储器选用方案以及外设、显示等方面的内容。选用方案以及外设、显示等方面的内容。l嵌入式硬件开发平台的体系结构嵌入
11、式硬件开发平台的体系结构l外围存储器接口设计方法外围存储器接口设计方法l键盘、键盘、LCD等人机交互接口的设计等人机交互接口的设计l触摸屏的设计触摸屏的设计l以太网设计以太网设计21基于基于ARMARM的嵌入式硬件平台体系结构的嵌入式硬件平台体系结构22ARM实验平台与实验平台与PC机连接关系框图机连接关系框图基于ARM架构的32位微处理器SamsungS3C44B0X1MB线性Flash(BIOS)8MBSDRM(系统内存)16MB非线性Flash(硬盘)USB接口USBN9603两个RS-232串行通信接口JTAG调试端口LCD显示键盘输入TCP/IP协议CAN BUSARM硬件开发平台P
12、C机USB口并口RS232Jtag电缆网口23嵌入式开发板与嵌入式开发板与PCPC机的串行通讯机的串行通讯嵌入式开发板和嵌入式开发板和PC机的通讯电缆可以按照如图机的通讯电缆可以按照如图所示的方式连接。所示的方式连接。24lARMARM架构的处理器有的带有指令快存和数据快架构的处理器有的带有指令快存和数据快存。但是片内都不带有存。但是片内都不带有RAMRAM和和ROMROM。系统所需的系统所需的RAMRAM和和ROMROM(包括闪存)都通过总线外接。(包括闪存)都通过总线外接。l快存(快存(CacheCache)是一种小容量、高速度的存储)是一种小容量、高速度的存储器,用于处理器与主存之间存放
13、当前被使用的主器,用于处理器与主存之间存放当前被使用的主存内容,以减少访问主存的等待时间。存内容,以减少访问主存的等待时间。2525 高速缓冲存储器工作原理高速缓冲存储器工作原理26存储系统的构成分析存储系统的构成分析以基于以基于S3C44B0XS3C44B0X的存储系统为例:的存储系统为例:v支持数据存储的大支持数据存储的大/小端选择小端选择(通过外部引脚和程序通过外部引脚和程序进行选择进行选择)v地址空间:具有地址空间:具有8 8个存储体,每个存储体可达个存储体,每个存储体可达32Mb32Mb,总共可达总共可达256MB256MB。v对所有存储体的访问大小均可进行改变(对所有存储体的访问大
14、小均可进行改变(8 8位位1616位位3232位)位)v8 8个个BankBank中,中,Bank0Bank0Bank5Bank5可支持可支持ROMROM、SRAMSRAM;Bank6Bank6、Bank7Bank7可支持可支持ROMROM、SRAMSRAM和和EDOEDOSDRAMSDRAM等。等。27典型系统中存储体的分配情况典型系统中存储体的分配情况存储体存储体与存储体的接口与存储体的接口Bank0BIOS 512K2FlashBank116M Flash 硬盘硬盘Bank2USB接口接口Bank3LCD显示模块显示模块Bank4保留保留Bank5保留保留Bank6系统内存系统内存SDR
15、AMBank7保留保留28系统的存储空间分配系统的存储空间分配lBank0:1Bank0:1片片2MB NOR Flash2MB NOR Flash,放置系统引导程序,系统上,放置系统引导程序,系统上电复位后,电复位后,PCPC指针自动指向指针自动指向Bank0Bank0的第一个单元,进行的第一个单元,进行系统自举。以便从硬盘中将系统文件和用户应用程序复系统自举。以便从硬盘中将系统文件和用户应用程序复制到制到SDRAMSDRAM内存中执行。内存中执行。lBank1Bank1:非线性寻址。:非线性寻址。Bank1Bank1上接上接16M NAND Flash16M NAND Flash,当做,当
16、做系统硬盘使用,可以构造文件系统,存放海量数据。系统硬盘使用,可以构造文件系统,存放海量数据。l用用SDRAMSDRAM当作系统内存,只有当作系统内存,只有Bank6/Bank7Bank6/Bank7能支持能支持SDRAMSDRAM,所以将,所以将SDRAMSDRAM接在接在Bank6Bank6上。上。lBank2Bank2:PDIUSBD12PDIUSBD12。USBUSB设备端接口芯片,占用系统外设备端接口芯片,占用系统外部中断部中断0 0。8 8位数据总线。位数据总线。29lBank5Bank5:RTL8019ASRTL8019AS,ISAISA总线兼容的总线兼容的10M10M以太网(以
17、太网(PHYPHYMACMAC层)控制芯片。占用系统外部中断层)控制芯片。占用系统外部中断1 1,1616位数据总线位数据总线;扩展;扩展IOIO口口lBank6Bank6:SDRAMSDRAM,起始地址为,起始地址为0 xC0000000 xC000000。在。在SDRAMSDRAM中,前中,前512Kbyte512Kbyte的空间划分出来,作为系统的的空间划分出来,作为系统的LCDLCD显示缓冲区显示缓冲区使用(更新其中的数据,就可以更新使用(更新其中的数据,就可以更新LCDLCD的显示)。系的显示)。系统的程序存储空间从统的程序存储空间从0 xC0800000 xC080000开始。也就
18、是,引导系开始。也就是,引导系统的时候,需要把统的时候,需要把system.binsystem.bin文件复制到文件复制到0 xC0800000 xC080000开开始的地址空间,把始的地址空间,把PCPC指针指向指针指向0 xC0800000 xC080000。303)Boot Loader3)Boot Loader的任务的任务lBoot LoaderBoot Loader是系统加电后首先运行的一段代码,完成是系统加电后首先运行的一段代码,完成整个系统的加载启动任务。它首先完成系统硬件的初始整个系统的加载启动任务。它首先完成系统硬件的初始化,包括时钟的设置、存储器的映射等。并设置堆栈指化,包
19、括时钟的设置、存储器的映射等。并设置堆栈指针,然后跳转到操作系统内核入口,如系统在加电或复针,然后跳转到操作系统内核入口,如系统在加电或复位时通常从地址位时通常从地址0 x000000000 x00000000处开始执行,而在这个地址处开始执行,而在这个地址处安排的通常就是系统的处安排的通常就是系统的Boot LoaderBoot Loader程序。程序。l每种嵌入式微处理器体系结构都有不同的每种嵌入式微处理器体系结构都有不同的Boot LoaderBoot Loader。通常,。通常,Boot LoaderBoot Loader只有几十只有几十KBKB的大小,其作用相当的大小,其作用相当于普
20、通于普通pcpc机的机的BIOSBIOS,是在系统复位后执行的第一段代码,是在系统复位后执行的第一段代码31Boot Loader Boot Loader 的操作模式的操作模式启动加载模式启动加载模式(AutonomousAutonomous):Boot Loader Boot Loader 从目标机的固体存储设备上将操作系统加载到从目标机的固体存储设备上将操作系统加载到RAMRAM中运中运行,整个过程并没有用户的介入。这种模式是行,整个过程并没有用户的介入。这种模式是 Boot Boot Loader Loader 的正常工作模式,因此在嵌入式产品发布的的正常工作模式,因此在嵌入式产品发布的
21、时侯,时侯,Boot Loader Boot Loader 显然必须工作在这种模式下。显然必须工作在这种模式下。32下载模式:目标机中的下载模式:目标机中的Boot Loader Boot Loader 通过串通过串口或网络连接等通信手段从宿主机上下载口或网络连接等通信手段从宿主机上下载文件,如操作系统的内核映像和根文件的文件,如操作系统的内核映像和根文件的映像等。从宿主级上下载的文件通常首先映像等。从宿主级上下载的文件通常首先被被Boot Loader Boot Loader 保存到目标机的保存到目标机的RAMRAM中,然中,然后再被后再被Boot Loader Boot Loader 写到
22、目标机的写到目标机的FlashFlash中中。这种模式通常在第。这种模式通常在第1 1次安装操作系统内核次安装操作系统内核和根文件系统时被使用,另外系统更新时和根文件系统时被使用,另外系统更新时也会使用这种方式。也会使用这种方式。334 4)存储管理单元)存储管理单元MMUMMU 虚拟内存管理占用了相当一部分系统资源,因此在虚拟内存管理占用了相当一部分系统资源,因此在系统资源非常有限的嵌入式系统中可不采用虚拟内存系统资源非常有限的嵌入式系统中可不采用虚拟内存管理,使用不带有管理,使用不带有MMUMMU的微处理器。这样要采用动态的微处理器。这样要采用动态内存管理方式,即当程序的某一部分需要使用内
23、存时内存管理方式,即当程序的某一部分需要使用内存时,利用操作系统提供的分配函数来处理,一旦使用完,利用操作系统提供的分配函数来处理,一旦使用完毕,可通过释放函数来释放所占用的内存,这样内存毕,可通过释放函数来释放所占用的内存,这样内存就可以重复使用。就可以重复使用。34 但在具有但在具有MMUMMU的的ARMARM系统中,存储管理单元系统中,存储管理单元MMUMMU主要完成工作:主要完成工作:l虚拟存储空间到物理存储空间的映射。在虚拟存储空间到物理存储空间的映射。在ARMARM中采用了页式虚拟存储管理。中采用了页式虚拟存储管理。l存储器访问权限的控制。存储器访问权限的控制。l设置虚拟存储空间的
24、缓冲的特性。设置虚拟存储空间的缓冲的特性。352410的UARTl S3C2410A S3C2410A 的的UART(Universal Asynchronous Receiver UART(Universal Asynchronous Receiver and Transmitter)and Transmitter)提供了三个独立的异步串行提供了三个独立的异步串行I/OI/O口,每口,每一个都可以工作在中断模式或一个都可以工作在中断模式或DMADMA模式,即模式,即UARTUART可以产生中可以产生中断或断或DMADMA请求以在请求以在CPUCPU和和UARTUART之前传送数据,使用系统时
25、钟之前传送数据,使用系统时钟,UARTUART最高可以支持最高可以支持230.4K bps 230.4K bps 的位传输率。的位传输率。l如果采用外部带时钟的如果采用外部带时钟的UARTUART,则,则UARTUART可以实现更度速度的可以实现更度速度的传输;传输;l每个每个UARTUART包括包括2 2个个16Byte16Byte的接收的接收/发送发送FIFOFIFO。36UART控制框图37异步串行通讯简介l在一条传输线上完成单向传输。在一条传输线上完成单向传输。l将传输数据的字符一位接一位的传送。将传输数据的字符一位接一位的传送。l接收方对于同一条线上的一连串连续数学信号,首先将接收方
展开阅读全文