版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统举例简单嵌入式系统数据及软硬件位置传感器模拟电路位置0-2cm电阻0-20欧AD硬件电压0-3V时钟硬件ADC驱动采样0-1023时钟ISR采样0-1023OLED驱动对应到0-2OLED显示器字符0.00-2.00cmEOS程序调用图mainTimerISRTimer驱动ADC驱动OLED驱动Timer硬件ADC硬件OLED硬件嵌入式操作系统放在哪里?A.内存B.
FlashC.
ROMD.RAME.其他第二章
嵌入式硬件系统微处理器的主要内容基本组成基本处理核存储器BUSI/O第一节
基本组成9101112乘法器指令解码地址自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS[1:0]LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM[4:0]D[31:0]桶移位器32位ALUDBE写数据寄存器读数据寄存器地址寄存器寄存器BankA[31:0]ABE及控制逻辑PCUpdate解码站指令解压缩IncrementerPCABusBBusALUBusARM7TDMI内核4位ALU逻辑图(P22)ALU功能表-能执行16种算术、16种逻辑运算(P22)。加:算术加+:逻辑加(或)几个概念之间的联系输入输出模块组合逻辑:ALU时序逻辑:寄存器同步电路:大量寄存器同步电路时序分析BUS协议时钟上升沿触发存储ARM7TDMIARM7TDMI内核MCLKnIRQnFIQnRESETBUSENBIGENDISYNCnWAITVDDVSSAPEDBE协处理器接口存储器管理存储器接口ABORTnOPCCPBCPAnCPInTRANSnM[4:0]MAS[1:0]nRWnMREQLOCKSEQnENOUTA[31:0]DOUT[31:0]DIN[31:0]D[31:0]电源总线控制时钟配置中断内核信号ARM7TDMIARM7TDMI内核TAP
控制器JTAG接口数据总线控制信号地址总线BUSSplitterEmbeddedICE逻辑方框图
嵌入式系统的硬件是以嵌入式微处理器为核心,主要由嵌入式微处理器、总线、存储器、输入/输出接口和设备组成。嵌入式微处理器总线存储器输入/输出接口和设备第二节
嵌入式微处理器嵌入式微处理器的分类嵌入式微处理器的特点主流的嵌入式微处理器X86ARMMIPS嵌入式微处理器的集成度单芯片方式:三星44B0X芯片的内部结构嵌入式微处理器的集成度芯片组方式:两芯片组的手持PC方案§Industrystandard,proventechnology§Costeffective,power-efficientperformanceARMv4嵌入处理器的技术路线ARMv7-CortexARM966E-SSC200ARM7EJ-SSC100ARM7TDMI(S)ARM1156T2(F)-SARMv6
ARM1026EJ-S§Leadershipsoftware compatibility§Widestchoiceof embeddedOS
ARMv5
ARM968E-SARM946E-SSC300
Cortex-M119Cortex-M3Cortex-R4Cortex-R4FCortex-M3内核:乘法器指令解码地址自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS[1:0]LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM[4:0]D[31:0]桶移位器32位ALUDBE写数据寄存器读数据寄存器地址寄存器寄存器BankA[31:0]ABE及控制逻辑PCUpdate解码站指令解压缩IncrementerPCABusBBusALUBusARM7TDMI内核28ARM7TDMI指令流水线
操作周期 1 2 3 4 56ADDSUBMOVANDORREORCMPRSBFetchDecode。ExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch最佳流水线
该例中用6个时钟周期执行了6条指令
所有的操作都在寄存器中(单周期执行)
指令周期数(CPI)=1ARM7TDMIARM7TDMI内核地址地址数据读AMBA
接口写缓冲MMU数据写数据ARM7xxT控制逻辑CacheAMBA总线接口JTAG和非AMBA信号CP15带Cache的ARM7TDMI
ARM710T8K统一的cache完整的内存管理单元(MMU),支持虚拟地址和存储器保护写缓冲ARM720T同ARM710T,但支持WinCEARM740T8K统一的cache内存管理单元写缓冲ARM9TDMIInstructionFetchShift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARMorThumb
InstDecodeRegSelectRegReadShiftALURegWriteThumb®ARM
decompressARMdecodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI流水线ARM9TDMIARM9TDMIDCacheICacheMMUGLUE外部存储器ARM940T2x4KcachesMPU写缓冲ARM9xxTARM920T2x16KcachesMMU支持虚拟地址和内存保护写缓冲带Cache的ARM9TDMI
ARM9TDMI流水线的对比
MIPS:简介MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无互锁流水级的微处理器”(Microprocessorwithoutinterlockedpipedstages)。其机制是尽量利用软件办法避免流水线中的数据相关问题。MIPS处理器是由斯坦福(Stanford)大学JohnHennery教授领导的研究小组研制出来的。PresidentofStanfordUniversity,USAComputerarchitecturebookuseMIPSasfoundationMIPS:指令体系MIPS指令集体系ISA(MIPSInstructionSetArchitecture)从最早的MIPSIISA开始发展,到MIPSVISA,再到现在的MIPS32和MIPS64结构,其所有版本都是与前一个版本兼容的。在MIPSIII的ISA中,增加了64位整数和64位地址。在MIPSIV和MIPSV的ISA中增加了浮点数的操作等。OS层面学习微处理器关注寄存器关注指令集关注总线协议关注流水线ARM寄存器介绍ARM是三地址指令格式,指令的基本格式如下:ARM指令集——基本指令格式<opcode>{<cond>}{S}<Rd>,<Rn>{,<operand2>}
其中<>号内的项是必须的,{}号内的项是可选的。各项的说明如下:opcode:指令助记符; cond:执行条件;S:是否影响CPSR寄存器的值;Rd:目标寄存器; Rn:第1个操作数的寄存器;operand2:第2个操作数;指令语法目标寄存器(Rd)源寄存器1(Rn)源寄存器2(Rm)ADDr3,r1,r2r3r1r2例:ARM指令的一般编码格式第三节
总线概述AMBA总线PCI总线CPCI总线概述总线是CPU与存储器和设备通信的机制,是计算机各部件之间传送数据、地址和控制信息的公共通道。总线分类:按相对于CPU位置划分:片内总线或内部总线:连接CPU内部各主要功能部件片外总线:CPU与存储器(RAM和ROM)和I/O接口之间进行信息交换的通道按功能和信号类型:数据总线Dbus;地址总线Abus;控制总线Cbus;概述总线的主要参数总线宽度:又称总线位宽,指的是总线能同时传送数据的位数。如16位总线就是具有16位数据传送能力。总线频率:总线工作速度的一个重要参数,工作频率越高,速度越快。通常用MHz表示。总线带宽:又称总线的数据传送率,是指在一定时间内总线上可传送的数据总量,用每秒最大传送数据量来衡量。总线带宽越宽,传输率越高总线带宽=(总线宽度/8)X总线频率带宽单位:MB/s;如:总线宽度32位,频率66MHZ,则总线带宽=(32位/8位)*66MHZ=264MB/s概述一个微处理器系统可能含有多条总线高速设备可以连到高速总线上。低速设备可以连到低速总线上。桥:总线互联的电路。原因:数据宽度:高速总线通常提供较宽的数据连接。成本:高速总线通常采用更昂贵的电路和连接器。桥允许总线独立操作,这样在I/O操作中可提供某些并行性。概述存储器高速设备CPU低速设备低速设备桥高速总线低速总线多总线系统概述Processor-localbusMicro-processorCacheMemorycontrollerDMAcontrollerBridgePeripheralPeripheralPeripheralPeripheralbus嵌入式系统总线AMBA总线AMBA(AdvancedMicrocontrollerBusArchitecture)是ARM公司研发的一种总线规范,目前为3.0版本。在AMBA总线规范中,定义了3种总线:AHB(AdvancedHigh-performanceBus):用于高性能系统模块的连接,支持突发模式数据传输和事务分割;可以有效地连接处理器、片上和片外存储器,支持流水线操作。ASB(AdvancedSystemBus):也用于高性能系统模块的连接,由AHB总线替代;APB(AdvancedPeripheralBus):用于较低性能外设的简单连接,一般是接在AHB或ASB系统总线上的第二级总线。AMBA总线外部总线APB系统总线AHB测试接口ARMCPUSDRAMControlSRAMLCDControl桥并行接口串行接口TimerUART基于AMBA总线的典型系统PCI总线:发展历程最早的PC总线是IBM公司1981年在PC/XT电脑采用的系统总线,它基于8bit的8088处理器,被称为PC总线或者PC/XT总线。在1984年的时候,IBM推出基于16-bitIntel80286处理器的PC/AT电脑,系统总线也相应地扩展为16bit,并被称呼为PC/AT总线。而为了开发与IBMPC兼容的外围设备,行业内便逐渐确立了以IBMPC总线规范为基础的ISA(工业标准架构:IndustryStandardArchitecture)总线。PCI总线:特点与ISA总线不同,PCI总线的地址总线与数据总线是分时复用的,支持即插即用(PlugandPlay)、中断共享等功能。分时复用的好处是一方面可以节省接插件的管脚数,另一方面便于实现突发数据传输。PCI总线:特点数据传输时,由一个PCI设备做发起者(主控、Initiator或Master),而另一个PCI设备做目标(从设备、Target或Slave)。总线上所有时序的产生与控制都由Master来发起。PCI总线在同一时刻只能供一对设备完成传输,这就要求有一个仲裁机构,来决定谁有权拿到总线的主控权。PCI总线:信号定义
32位PCI系统的管脚按功能来分有以下几类:系统控制CLK:PCI时钟,上升沿有效;RST:Reset信号传输控制FRAME#:标志传输开始与结束IRDY#:Master可以传输数据的标志DEVSEL#:当Slave发现自己被寻址时设置低电平应答TRDY#:Slave可以传输数据的标志STOP#:Slave主动结束传输数据;IDSEL:在即插即用系统启动时用于选中板卡的信号。PCI总线:信号定义地址与数据总线
AD[31::0]:地址/数据分时复用总线;
C/BE#[3::0]:命令/字节使能信号;
PAR:奇偶校验信号。仲裁信号
REQ#:Master用来请求总线使用权;
GNT#:仲裁机构允许Master得到总线使用权错误报告PERR#:数据奇偶校验错;SERR#:系统奇偶校验错。PCI总线:操作PCI总线进行操作时发起者先置REQ#,当得到仲裁器的许可时(GNT#),将FRAME#置低电平,并在AD总线上放置Slave地址,同时C/BE#放置命令信号,说明接下来的传输类型。PCI总线上的所有设备都需对此地址译码,被选中的设备置DEVSEL#以声明自己被选中。然后当IRDY#与TRDY#都置低时,传输数据。Master在数据传输结束前,将FRAME#置高以标明只剩最后一组数据要传输,并在传完数据后放开IRDY#以释放总线控制权。PCI总线-读操作Data传送WaitData传送WaitData传送WaitBE#sAddressphaseIRDY#981765432地址Data-1Data-2Data-3命令DataphaseDataphaseDataphaseCPCI总线为了将PCI总线规范用在工业控制计算机系统上,1995年11月PCI工业计算机制造者联合会(PICMIG)颁布了CompactPCI(以后简称CPCI)规范1.0版。1997年推出了CPCI2.0规范。简言之,CPCI总线规范=PCI总线的电气规范+标准针孔连接器(IEC-1076-4-101)+欧洲卡规范(IEC297/IEEE1011.1)CPCI总线3U(100mm×160mm)6U(233mm×160mm)第四节
存储器概述电子盘NandFlashDOCDOMCompactFlashSmartMediaMemoryStickMMCSD概述嵌入式系统的存储结构嵌入式微处理器Cache片内RAM和ROM主存:NorFlash、SRAM、DRAM等外存:NandFlash、DOC、CF、SD、MMC等CPU地址索引机构置换控制器高速缓冲存储器主存段(页)地址高位地址低位地址地址总线数据总线
Cache结构框图CPU刷新定时器仲裁电路定时发生器刷新地址计数器地址多路开关DRAM读/写地址总线地址RASCASWRDRAMController的逻辑框图
ComparisonofFullSizeCards
ComparisonofSmallSizeCardsComparisonofMicroSizeCards嵌入式操作系统放在哪里?操作系统是如何启动的?操作系统是如何启动的?三种方式Flash加载RAM加载文件系统加载FLASH加载微处理器地址空间SDRAM/DRAMFLASHBOOT
ROM系统加电初始化向量操作系统驱动部分操作系统指令部分硬件初始化操作系统及应用程序部分启动操作系统操作系统数据段部分RAM加载微处理器地址空间SDRAM/DRAMFLASHBOOT
ROM系统加电初始化向量操作系统驱动部分操作系统其它部分硬件初始化操作系统及应用程序部分操作系统其它部分操作系统及应用程序部分启动操作系统外设文件系统加载微处理器地址空间SDRAM/DRAMFLASHBOOT
ROM系统加电初始化向量操作系统驱动部分操作系统其它部分硬件初始化操作系统及应用程序部分操作系统其它部分操作系统及应用程序部分启动操作系统系统引导BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境工作在一个合适的状态,以便为最终调用操作系统内核做好准备。每种不同的MCU体系结构都有不同的BootLoader方式。BootLoader装在哪里?系统加电或复位后,所有的MCU通常都从由MCU制造商预先安排的某个地址上取指令启动过程可以分为stage1(汇编)和stage2(C语言)两部分。
stage1中的初始化操作屏蔽所有的中断。设置MCU的速度和时钟频率。RAM初始化。初始化LED。关闭MCU内部指令/数据cache为加载BootLoader的stage2准备RAM空间。
C语言执行代码,因此在考虑空间大小时,除了首先考虑stage2可执行映象的大小外,还必须把堆栈空间
必须对所安排的地址范围进行测试拷贝BootLoader的stage2到RAM空间中。设置好堆栈跳转
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026文艺管理面试题目及答案
- 2026届上海市浦东新区高三数学高考二模模拟试卷(含答案详解与评分标准)
- 2026年共青团考试价值认知题库含完整答案
- 常用消毒隔离知识试题(附答案)
- 2026年商场消防考试试题及答案
- 2026年副高职称答辩题库附答案
- 2026年老年人反诈骗题库及答案
- 2026年肿瘤科院感试题附答案
- 2026年环境监测溶解氧考核试题及答案
- 2026年新版工地井架考试题及答案
- 2026中国生物技术发展中心第二批合同制招聘6人笔试参考试题及答案详解
- 三基医师练习题库(附答案)
- 2026年心血管内科(副高)考试试题(专家甄选)带答案
- 金刚石行业深度:行业现状、增量应用、产业链及相关公司深度梳理
- 建筑公司商务部岗位职责
- T 3034-2022化工过程安全管理导则知识培训
- DB13-T 5871-2023 矿山地质环境恢复治理工程资料管理规程
- 《数值分析简明教程》讲义
- (正式版)JTT 1495-2024 公路水运危险性较大工程安全专项施工方案审查规程
- 20G520-1-2钢吊车梁(6m-9m)2020年合订本
- (正式版)JBT 1050-2024 单级双吸离心泵
评论
0/150
提交评论