嵌入式期末总复习课件

上传人:沈*** 文档编号:232311609 上传时间:2023-09-17 格式:PPT 页数:98 大小:2.06MB
返回 下载 相关 举报
嵌入式期末总复习课件_第1页
第1页 / 共98页
嵌入式期末总复习课件_第2页
第2页 / 共98页
嵌入式期末总复习课件_第3页
第3页 / 共98页
点击查看更多>>
资源描述
期末复习考题类型:选择-20填空-20应用-601期末复习复习范围:1、课件2、【中文】STM32F系列ARM内核32位高性能微控制器参考手册V10_1.pdf3、实验涉及的内容2嵌入式系统基础1、嵌入式系统IEEE定义、一般定义嵌入式系统是嵌入式系统是“用于控制、监视或者辅助操作机器和设用于控制、监视或者辅助操作机器和设备的装置备的装置”。可以看出,此定义是从应用上考虑的,嵌。可以看出,此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。属装置。“以应用为中心,以计算机技术为基础,软件、硬件可以应用为中心,以计算机技术为基础,软件、硬件可裁减,功能、可靠性、成本、体积、功耗严格要求的专裁减,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。用计算机系统。3嵌入式系统基础4工控设备工控设备嵌入式应用嵌入式应用信息家电信息家电智能玩具智能玩具军事电子军事电子通信设备通信设备移动存贮移动存贮智能仪表智能仪表汽车电子汽车电子网络设备网络设备消费电子消费电子军事国防军事国防电子商务电子商务工业控制工业控制网络网络嵌入式系统的应用领域示意图嵌入式系统的应用领域示意图56嵌入式技术的发展趋势嵌入式技术的发展趋势 1 1)目前的发展)目前的发展 经济性经济性 计算机要很便宜,让更多的人能买得起;计算机要很便宜,让更多的人能买得起;小型化小型化 (笔记本、(笔记本、PDAPDA)人们携带方便;)人们携带方便;可靠性可靠性 (汽车(汽车VCDVCD,跳动问题,跳动问题););稳定性稳定性 能够在一般环境条件下或者是苛刻的环境条件下运能够在一般环境条件下或者是苛刻的环境条件下运行;行;高速度高速度 (飞机刹车系统)(飞机刹车系统)实时性实时性 能够迅速地完成数据计算或数据传输;能够迅速地完成数据计算或数据传输;智能性智能性 (知识推理、模糊查询、识别、感知运动)(知识推理、模糊查询、识别、感知运动)实用性实用性 使人们用起来更习惯,对人们更有使价值。使人们用起来更习惯,对人们更有使价值。672 2)未来发展趋势)未来发展趋势支持开发的工具和操作系统支持开发的工具和操作系统联网成为必然趋势联网成为必然趋势 精简系统内核、算法,设备实现小尺精简系统内核、算法,设备实现小尺 寸、微功耗和低成本寸、微功耗和低成本 提供精巧的多媒体人机界面提供精巧的多媒体人机界面 嵌入式技术的发展趋势嵌入式技术的发展趋势78嵌入式系统的组织架构89嵌入式系统的架构图嵌入式系统的架构图输入输入输出输出操作系统操作系统应用程序应用程序软件软件结构结构硬件硬件结构结构9应用程序应用程序实时操作系统(实时操作系统(RTOS)输入输输入输出接口出接口处理器处理器/ARM核核MMU/CacheSOC/SOPCUSBGPIOIISLCDUART和和IrDAADC/DACFPGA/CPLDDSP/浮点运算协处理器浮点运算协处理器DMA电源管理电源管理人机交互接口人机交互接口LCD/触摸屏、键盘、鼠标触摸屏、键盘、鼠标设备驱动程序、设备驱动程序、HAL、BSP文件系统文件系统/图形用户应用程序接口图形用户应用程序接口驱动层驱动层OS层层应用层应用层软软件件以太网以太网看门狗及复看门狗及复位电路位电路Timer/RTCCANFlashEEPROMSDRAMSRAM内内存存硬硬件件1011软件硬件基本要素软件硬件基本要素硬件硬件嵌入式处理器嵌入式处理器各种类型存储器各种类型存储器模拟电路及电源模拟电路及电源接口控制器及接插件接口控制器及接插件软件软件实时操作系统(实时操作系统(RTOS)板级支持包(板级支持包(BSP)设备驱动(设备驱动(DeviceDriver)协议栈(协议栈(ProtocolStack)应用程序(应用程序(Application)11体系结构API设备管理设备管理中断驱动程序中断驱动程序串口驱动程序串口驱动程序键盘驱动程序键盘驱动程序串口卡串口卡A 硬件抽象硬件抽象串口卡串口卡B 硬件抽象硬件抽象串口串口1串口串口2串口串口4串口串口2串口串口3串口串口1驱动逻辑层驱动逻辑层硬件抽象层硬件抽象层设备设备设备管理层设备管理层API层层为了有效组织和管理各种不同的设备,可以采用分层的思想,为了有效组织和管理各种不同的设备,可以采用分层的思想,把把I/OI/O系统从上到下分为四层,分别为系统从上到下分为四层,分别为APIAPI、设备管理、驱动逻、设备管理、驱动逻辑和硬件抽象。辑和硬件抽象。1213 嵌入式系统的硬件是以嵌入式处理器为核心,嵌入式系统的硬件是以嵌入式处理器为核心,配置必要的外围接口部件。在嵌入式系统设计中,配置必要的外围接口部件。在嵌入式系统设计中,应尽可能选择适用于系统功能接口的应尽可能选择适用于系统功能接口的SoCSoC/SOPC/SOPC芯芯片,以最少的外围部件构成一个应用系统,满足片,以最少的外围部件构成一个应用系统,满足嵌入式系统的特殊要求。嵌入式系统的特殊要求。一般包括有一般包括有 :嵌入式处理器:嵌入式处理器;存储器存储器;I/O;I/O系统和外设。系统和外设。嵌入式系统硬件系统嵌入式系统硬件系统1314 包括包括 :操作系统、应用软件、驱动层软件。操作系统、应用软件、驱动层软件。(1)(1)操作系统功能简介操作系统功能简介 操作系统层包含嵌入式内核、嵌入式操作系统层包含嵌入式内核、嵌入式TCP/IPTCP/IP网络系统、网络系统、嵌入式文件系统、嵌入式嵌入式文件系统、嵌入式GUIGUI系统和电源管理等部分。其中系统和电源管理等部分。其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。统的需要来确定。作为嵌入式系统软硬件资源的管理者,负责系统软硬件作为嵌入式系统软硬件资源的管理者,负责系统软硬件资源的调度与分配,保证系统资源被有效合理使用。嵌入式资源的调度与分配,保证系统资源被有效合理使用。嵌入式操作系统掩盖了底层硬件的复杂性,提高了软件的开发效率操作系统掩盖了底层硬件的复杂性,提高了软件的开发效率和可维护性。和可维护性。嵌入式系统的软件系统嵌入式系统的软件系统14 嵌入式嵌入式操作系统操作系统非实时非实时操作系统操作系统实时实时操作系统操作系统硬实时硬实时操作系统操作系统软实时软实时操作系统操作系统嵌入式操作系统嵌入式操作系统15161.3.1 1.3.1 嵌入式系统的重要特征和特点嵌入式系统的重要特征和特点嵌入式系统的重要特征嵌入式系统的重要特征 (1 1)系统内核小)系统内核小 ()专用性强()专用性强()系统精简和高实时性()系统精简和高实时性OS OS()高效率地设计()高效率地设计(5 5)创新性和有效性)创新性和有效性(6 6)嵌入式软件开发走向标准化)嵌入式软件开发走向标准化(7 7)嵌入式系统开发需要开发工具和环境)嵌入式系统开发需要开发工具和环境1617嵌入式系统与嵌入式系统与PCPC之间的区别之间的区别 通用计算机系统要求的是高速、海量的数值运通用计算机系统要求的是高速、海量的数值运算。在技术发展上追求总线速度不断提升、存储容算。在技术发展上追求总线速度不断提升、存储容量不断扩大。而嵌入式计算机系统要求的是对象体量不断扩大。而嵌入式计算机系统要求的是对象体系的智能化控制能力,在技术发展方向追求对特定系的智能化控制能力,在技术发展方向追求对特定对象系统的嵌入性、专用性和智能化。其计算能力对象系统的嵌入性、专用性和智能化。其计算能力和数据存储能力都受到资源的限制。外形、尺寸、和数据存储能力都受到资源的限制。外形、尺寸、功能和功耗都受限于应用对象的设计要求。功能和功耗都受限于应用对象的设计要求。17典型嵌式系统的硬件组成典型嵌式系统的硬件组成MPU微处理器微处理器电源电源模块模块时钟时钟复位复位FlashRAMROMUSBLCDKeyboard外围电路外围电路Other外设外设182 2)嵌入式处理器的分类)嵌入式处理器的分类1920(1 1)嵌入式微控制器)嵌入式微控制器MCUMCU 嵌入式嵌入式MCUMCU的典型代表是单片机,这种位的电的典型代表是单片机,这种位的电子器件目前在嵌入式设备中仍然有着极其广泛的应子器件目前在嵌入式设备中仍然有着极其广泛的应用。用。目前通常使用单片机芯片内部集成目前通常使用单片机芯片内部集成FlashROMFlashROM 、RAMRAM、总线、总线逻辑、定时、总线、总线逻辑、定时/计数器、看门狗、计数器、看门狗、I/OI/O、串行口、脉宽调制输出等必要功能和外设。串行口、脉宽调制输出等必要功能和外设。MCUMCU的最大特点是单片化,体积大大减小,从的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器目前而使功耗和成本下降、可靠性提高。微控制器目前在工业中的应用还是很多,由于适合于控制,因此在工业中的应用还是很多,由于适合于控制,因此称为微控制器。称为微控制器。20微处理器的指令系统嵌入式微处理器的指令系统可采用精简指令集系统嵌入式微处理器的指令系统可采用精简指令集系统RISCRISC或复杂指令集或复杂指令集系统系统CISCCISC。CISCCISCRISCRISC价格价格由由硬硬件件完完成成部部分分软软件件功功能能,硬硬件件复复杂性增加,芯片成本高杂性增加,芯片成本高由由软软件件完完成成部部分分硬硬件件功功能能,软软件件复复杂性增加,芯片成本低杂性增加,芯片成本低性能性能减减少少代代码码尺尺寸寸,增增加加指指令令的的执执行行周周期数期数使使用用流流水水线线降降低低指指令令的的执执行行周周期期数数,增加代码尺寸增加代码尺寸指令集指令集大大量量的的混混杂杂型型指指令令集集,有有简简单单快快速速的的指指令令,也也有有复复杂杂的的多多周周期期指指令令,符合符合HLLHLL(high level languagehigh level language)简简单单的的单单周周期期指指令令,在在汇汇编编指指令令方方面有相应的面有相应的CISCCISC微代码指令微代码指令高级语言支高级语言支持持硬件完成硬件完成软件完成软件完成寻址模式寻址模式复复杂杂的的寻寻址址模模式式,支支持持内内存存到到内内存存寻址寻址简简单单的的寻寻址址模模式式,仅仅允允许许LOADLOAD和和STORESTORE指指令令存存取取内内存存,其其它它所所有有的的操作都基于寄存器到寄存器操作都基于寄存器到寄存器控制单元控制单元微码微码直接执行直接执行寄存器数目寄存器数目寄存器较少寄存器较少寄存器较多寄存器较多2122冯冯.诺依曼结构计算机内部机构是由一个中央处理单诺依曼结构计算机内部机构是由一个中央处理单元(元(CPUCPU)和单存储空间组成。即这个存储空间存储)和单存储空间组成。即这个存储空间存储了全部的数据和程序指令,它们内部使用单一的地了全部的数据和程序指令,它们内部使用单一的地址总线和数据总线。这样由于在取指令和取数据时址总线和数据总线。这样由于在取指令和取数据时都是通过一条总线分时进行的,所以要根据所给的都是通过一条总线分时进行的,所以要根据所给的地址对其进行读写操作。地址对其进行读写操作。当进行高速运算时,冯当进行高速运算时,冯.诺依曼结构计算机不但诺依曼结构计算机不但不能同时进行取指令和取数据,而且还会造成数据不能同时进行取指令和取数据,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。传输通道的瓶颈现象,其工作速度较慢。冯冯.诺依曼结构简介诺依曼结构简介22冯冯诺依曼体系存储器结构模型图诺依曼体系存储器结构模型图存储器存储器程序程序指令指令0 0指令指令1 1指令指令2 2指令指令3 3指令指令4 4数据数据数据数据0 0数据数据1 1数据数据2 223CPU外部存储器 接 口 RAM ROM I/0 口串行接口并行接口 DB AB冯冯.诺依曼结构示意图诺依曼结构示意图2425冯冯诺依曼体系的特点诺依曼体系的特点(1 1)数据与指令都存储在存储器中)数据与指令都存储在存储器中(2 2)每条指令的执行周期:)每条指令的执行周期:T=TT=TF F+T+TD D+T+TE E+T+TS S 取指令(取指令(Instruction Instruction Fetch)TFetch)TF F ;指令译码(指令译码(Instruction DecodeInstruction Decode)T TD D;执行指令(执行指令(Instruction ExecuteInstruction Execute)T TE E;存储(存储(StorageStorage)T TS S(3 3)被大多数计算机所采用。)被大多数计算机所采用。通常使用的通常使用的ARM7ARM7就是属于冯诺依曼体系。就是属于冯诺依曼体系。2526哈佛体系结构计算机哈佛体系结构计算机 存储器分为数据和程序二个存储空间,有各自独存储器分为数据和程序二个存储空间,有各自独立程序总线和数据总线,可以进行独立编址和独立访立程序总线和数据总线,可以进行独立编址和独立访问。如程序计数器只指向程序存储器。这样独立的程问。如程序计数器只指向程序存储器。这样独立的程序存储器和数据存储器为数字处理提供了较高的性能。序存储器和数据存储器为数字处理提供了较高的性能。数据和程序可以并行完成,这使得数据移动更加容易。数据和程序可以并行完成,这使得数据移动更加容易。数据的吞吐量比上以中提高了大约一倍。其片内的数据的吞吐量比上以中提高了大约一倍。其片内的CacheCache也是分开的。也是分开的。26指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器程序存储器程序存储器指令指令0指令指令1指令指令2数据存储器数据存储器数据数据0数据数据1数据数据2地址地址指令指令地址地址数据数据哈佛体系存储系统结构图哈佛体系存储系统结构图27哈佛体系结构示意图哈佛体系结构示意图2CPU I/0 口串行接口并行接口 ROM RAM外部存储器外部存储器接接口口 DB AB外部管理 DB外部管理 AB程序 DB程序 AB2829嵌入式微处理器结构小结嵌入式微处理器结构小结传统的微处理器采用的冯传统的微处理器采用的冯诺依曼结构诺依曼结构将指令和将指令和数据存放在同一存储空间中数据存放在同一存储空间中,统一编址,指令和,统一编址,指令和数据通过同一总线访问。数据通过同一总线访问。哈佛结构则是不同于冯哈佛结构则是不同于冯诺依曼结构的一种并行诺依曼结构的一种并行体系结构,其主要特点是体系结构,其主要特点是程序和数据存储在不同程序和数据存储在不同的存储空间中的存储空间中,即程序存储器和数据存储器是两,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址、独个相互独立的存储器,每个存储器独立编址、独立访问。与之相对应的是系统中设置的两条总线立访问。与之相对应的是系统中设置的两条总线(程序总线和数据总线),从而使数据的吞吐率(程序总线和数据总线),从而使数据的吞吐率提高了一倍提高了一倍。2930(1 1)大量使用寄存器,对实时多任务有很强的支持)大量使用寄存器,对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最从而使内部的代码和实时内核的执行时间减少到最低限度。结构上采用低限度。结构上采用RISCRISC结构形式。结构形式。(2 2)具有功能很强的存储区保护功能。这是由于嵌)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。储区保护功能,同时也有利于软件诊断。ARMARM微处理器特点微处理器特点3031(3 3)可扩展的处理器结构,最迅速地扩展出满足应用)可扩展的处理器结构,最迅速地扩展出满足应用的最高性能的嵌入式微处理器。支持的最高性能的嵌入式微处理器。支持ARM(32ARM(32位位)和和Thumb(16Thumb(16位位)双指令集双指令集,兼容兼容8 8位位/16/16位器件。位器件。(4 4)小体积、低功耗、成本低、高性能)小体积、低功耗、成本低、高性能 嵌入式处理器功耗很低,用于便携式的无线及嵌入式处理器功耗很低,用于便携式的无线及移动的计算和通信设备中移动的计算和通信设备中,电池供电的嵌入式系统需电池供电的嵌入式系统需要功耗只有要功耗只有mWmW甚至甚至WW级。级。31(1 1)流水线技术)流水线技术 计算机中一条指令的执行可分为若干个阶段,由于每计算机中一条指令的执行可分为若干个阶段,由于每个阶段的操作相对都是独立的。因此可以采用流水线的重个阶段的操作相对都是独立的。因此可以采用流水线的重叠技术来大大提高系统的性能。在流水线装满以后,几个叠技术来大大提高系统的性能。在流水线装满以后,几个指令可以并行执行。这样可充分利用现有硬件资源,提高指令可以并行执行。这样可充分利用现有硬件资源,提高了了CPUCPU的运行的运行效率。效率。译码取指执行add译码取指执行sub译码取指执行cmp时间AddSubCmp嵌入式处理器中采用的先进技术嵌入式处理器中采用的先进技术3233(2 2)超标量执行)超标量执行 通过重复设置多套指令执行部件,同时处理并完成多条通过重复设置多套指令执行部件,同时处理并完成多条指令,实现并行操作,来达到提高处理速度的目的。所有指令,实现并行操作,来达到提高处理速度的目的。所有ARMARM内核,包括流行的内核,包括流行的ARM7ARM7、ARM9ARM9和和ARM10ARM10等,都是单周期指令机。等,都是单周期指令机。ARMARM公司下一代处理器将是每周期能处理多重指令的超标量机。公司下一代处理器将是每周期能处理多重指令的超标量机。但是,超标量处理器在执行的过程中,如果代码中有分但是,超标量处理器在执行的过程中,如果代码中有分支指令则必须动态地检查指令相关性。支指令则必须动态地检查指令相关性。超标量执行:超标量超标量执行:超标量CPUCPU采用多条流水线结构。采用多条流水线结构。3334(3 3)总线和总线桥)总线和总线桥总线是总线是CPUCPU与与存储器存储器和和设备设备通信的机制,是计算机各部通信的机制,是计算机各部件之间传送数据、地址和控制信息的件之间传送数据、地址和控制信息的公共通道公共通道。片内总线或内部总线:连接片内总线或内部总线:连接CPUCPU内部各主要功能部件内部各主要功能部件片外总线:片外总线:CPUCPU与存储器(与存储器(RAMRAM和和ROMROM)和和I/OI/O接口之间进行信息交换的通道接口之间进行信息交换的通道数据总线数据总线DbusDbus地址总线地址总线AbusAbus控制总线控制总线CbusCbus总总线线分分类类3435 总线和总线桥示意图总线和总线桥示意图CPU低速设备桥数据高速总线存储器高速设备低速设备低速总线3536存储器系统基本知识存储器系统基本知识 嵌入式系统的存储结构嵌入式嵌入式微处理器微处理器Cache片内片内RAM和和ROM主存:主存:NorFlash、SRAM、DRAM等等外存:外存:NandFlash、DOC、CF、SD、MMC等等3637Flash ROM Flash ROM 存储器简介存储器简介 FlashROMFlashROM在在2020世纪世纪8080年代末期出现。虽然年代末期出现。虽然FlashROMFlashROM存储器也使用存储器也使用EEPROMEEPROM的浮栅原理,但的浮栅原理,但FlashROMFlashROM存储器可以每次擦除存储器的一块区域,存储器可以每次擦除存储器的一块区域,每个块区域通常有几千个字节。这种快速擦除能力,每个块区域通常有几千个字节。这种快速擦除能力,可以大幅度提高那些需要将大量数据存储在非易失可以大幅度提高那些需要将大量数据存储在非易失性存储器的嵌入式系统的性能,例如数码相机、机性存储器的嵌入式系统的性能,例如数码相机、机顶盒、移动电话以及医疗监护设备。顶盒、移动电话以及医疗监护设备。FlashROMFlashROM媒质存储器的构成主要采用两种技术,媒质存储器的构成主要采用两种技术,NANDNAND结构(非线性存储器)和结构(非线性存储器)和NORNOR结构(线性存储器)结构(线性存储器)。3738非线性非线性FlashROMFlashROM(NANDNAND)NANDNAND型型FlashROMFlashROM自身是没有存储控制器的,其结自身是没有存储控制器的,其结构可看作是由许多的小区块组成的,每块都能存储构可看作是由许多的小区块组成的,每块都能存储一定数量信息,类似于硬盘的族。一定数量信息,类似于硬盘的族。NANDNAND型型FlashFlash的读的读写也是以块和页为单位来进行,使用写也是以块和页为单位来进行,使用8bit I/O8bit I/O端口端口存储数据。存储数据。NANDNAND型型FlashFlash容量大、成本低、可以达到比较高容量大、成本低、可以达到比较高的速度,所以应用较为广泛,不过它也有些比较明的速度,所以应用较为广泛,不过它也有些比较明显的缺点。显的缺点。NANDNAND型型FlashFlash的基本工作方式是按顺序串的基本工作方式是按顺序串行读取,一个区块写入或读出结束再进行下一个操行读取,一个区块写入或读出结束再进行下一个操作,采用的是串行方式工作。作,采用的是串行方式工作。3839非线性非线性FlashROMFlashROM(NANDNAND)比如,区块上已有信息,就一定要先擦除,再写比如,区块上已有信息,就一定要先擦除,再写入。另一个问题就是入。另一个问题就是NANDNAND型型FlashFlash需要一定的存储空需要一定的存储空间来存放目录等信息来管理所有的资料,进行任何操间来存放目录等信息来管理所有的资料,进行任何操作都要使用这一部分,大部分闪盘的控制芯片都使用作都要使用这一部分,大部分闪盘的控制芯片都使用固定区块,所以其使用次数远高于其他区块,这样可固定区块,所以其使用次数远高于其他区块,这样可能会因为目录损坏及缺乏有效扫描除错手段而造成数能会因为目录损坏及缺乏有效扫描除错手段而造成数据丢失,需要格式化才能解决问题。据丢失,需要格式化才能解决问题。3940非线性非线性FlashROMFlashROM(NANDNAND)的介绍)的介绍 由于由于NANDNAND型型FlashROMFlashROM是按页和块的组织存储单元,是按页和块的组织存储单元,访问存储单元需要发送命令,不能直接读写。在进行访问存储单元需要发送命令,不能直接读写。在进行大量读取文件时,大量读取文件时,NANDNAND型的速度比型的速度比NORNOR型的速度快很型的速度快很多,常用来存放多,常用来存放OSOS、文件系统和部分应用程序。、文件系统和部分应用程序。如如K9F1208K9F1208,64MB64MB、20482048个块,每个数据块包含个块,每个数据块包含3232个页,每页有个页,每页有528528个字节,前个字节,前512512个字节为主数据存储个字节为主数据存储器,后器,后1616个字节为辅助数据存储器,存放个字节为辅助数据存储器,存放ECCECC代码,代码,坏块信息和文件系统等代码。坏块信息和文件系统等代码。4041线性线性Flash ROMFlash ROM的介绍的介绍 其内部结构则是采用并行方式工作的,内部的地其内部结构则是采用并行方式工作的,内部的地址线和数据线是分开的。其特点可以按字节随机读取址线和数据线是分开的。其特点可以按字节随机读取任意单元的内容。该类存储器常用于制作计算机的任意单元的内容。该类存储器常用于制作计算机的BIOSBIOS存储器和微控制器的内部存储器。存储器和微控制器的内部存储器。读速度高,而擦、写速度低。可靠性高,但容量读速度高,而擦、写速度低。可靠性高,但容量小,价格高小,价格高。NOR FlashNOR Flash可以做到芯片内直接执行程序,即程序可以做到芯片内直接执行程序,即程序代码不需要复制到代码不需要复制到RAMRAM中在执行。因此,常常用作嵌中在执行。因此,常常用作嵌入式系统的启动代码芯片。主要用于手机、掌上电脑入式系统的启动代码芯片。主要用于手机、掌上电脑等需要直接运行代码的场合。等需要直接运行代码的场合。4142线性线性FlashROMFlashROM的介绍的介绍常见的常见的NOR NOR FlashROMFlashROM 为为128KB128KB16MB16MB,擦写次,擦写次数是数是1010万次万次两个大阵营:两个大阵营:AMDAMD与富士通(合资公司与富士通(合资公司SpansionSpansion)、)、IntelIntel与东芝,彼此管脚不兼容。与东芝,彼此管脚不兼容。AMDAMDAM29xxxAM29xxx,富士通,富士通MBMxxxMBMxxx,IntelIntelE28FxxxE28Fxxx,东芝,东芝TC58FxxxTC58Fxxx,SpansionSpansionS29xxxS29xxxE28F128J3AE28F128J3A,1616位,位,16MB16MB42NORNAND写写入入/擦擦除除一一个个块块的的操操作时间作时间15ms24ms读性能读性能12001500KB600800KB写性能写性能80KB200400KB接口接口/总线总线SRAM接接口口/独独立立的的地地址数据总线址数据总线8位位地地址址/数数据据/控控制制总总线线,I/O接口复杂接口复杂读取模式读取模式随机读取随机读取串行地存取数据串行地存取数据成本成本较高较高较较低低,单单元元尺尺寸寸约约为为NOR的的一一半半,生生产产过过程程简简单单,同同样样大大小小的的芯芯片片可以做更大的容量可以做更大的容量容量及应用场合容量及应用场合164MB,主主要要用用于于存储代码存储代码8MB4GB,主主要要用用于于存存储数据储数据擦写次数擦写次数(耐用性耐用性)约约10万次万次约约100万次万次位交换位交换(bit位反转位反转)少少较较多多,关关键键性性数数据据需需要要错错误误探探测测/错误更正错误更正(EDC/ECC)算法算法坏块处理坏块处理无,因为坏块故障率少无,因为坏块故障率少随机分布,无法修正随机分布,无法修正43数据存放的格式数据存放的格式在在32位嵌入式系统存储体系中,每个字单元中包含位嵌入式系统存储体系中,每个字单元中包含4个字节单元或者两个半字单元(半字包含两个字节单元个字节单元或者两个半字单元(半字包含两个字节单元)。但是在字单元中,)。但是在字单元中,4个字节地址中的具体的哪一个个字节地址中的具体的哪一个地址是存放该字的高位字节内容,哪一个地址是存放低地址是存放该字的高位字节内容,哪一个地址是存放低位字节内容,则有两种不同存放的格式。分别为位字节内容,则有两种不同存放的格式。分别为大端序大端序格式(格式(big-endian格式)和小端序格式(格式)和小端序格式(little-endian格格式)式)。44大端序格式在大端序格式中,对于字地址为在大端序格式中,对于字地址为A的单元包括的单元包括4个字个字节地址分别为节地址分别为A、A+1、A+2及及A+3。存储字的内容。存储字的内容占占4个字节的存储空间,其中存储字的高位字节到低个字节的存储空间,其中存储字的高位字节到低位字节的内容是依次地分别存放在位字节的内容是依次地分别存放在A、A+1、A+2、A+3的字节地址之中。另外,同样地址为的字节地址之中。另外,同样地址为A的字单元的字单元也可分为包含有也可分为包含有A、A+2两个地址的半字单元,其中两个地址的半字单元,其中半字单元的数据存放的原则是高位半字和低位半字半字单元的数据存放的原则是高位半字和低位半字的内容依次存放在为的内容依次存放在为A、A+2的地址之中。地址为的地址之中。地址为A的半字单元包含有的半字单元包含有A、A+1二个字节地址,其中字节二个字节地址,其中字节A的地址中要存放高位字节的存储内容,字节地址的地址中要存放高位字节的存储内容,字节地址A+1中存放的是该半字的低位字节内容。大端序数据中存放的是该半字的低位字节内容。大端序数据存储格式如图存储格式如图2-10所示。所示。4546小端格式在小端格式中,地址为在小端格式中,地址为A的字单元包括的字单元包括4个字节地址依个字节地址依次为次为A、A+1、A+2和和A+3,其中存储字的高位到低位,其中存储字的高位到低位4个字节的内容分别依次存放在个字节的内容分别依次存放在A+3、A+2、A+1、A的的字节地址中。地址为字节地址中。地址为A的字单元也包含有地址为的字单元也包含有地址为A和和A+2二个半字单元,二个半字单元由高位到低位字节二个半字单元,二个半字单元由高位到低位字节的内容依次存放在为的内容依次存放在为A+2和和A的地址中。地址为的地址中。地址为A的半的半字单元包含有地址为字单元包含有地址为A和和A+1二个字节单元,其中字节二个字节单元,其中字节地址地址A+1中要存放数据的高位字节的内容,字节地址中要存放数据的高位字节的内容,字节地址A中存放低位字节内容。小端序数据存储格式如图中存放低位字节内容。小端序数据存储格式如图2-11所所示。示。4748STM32嵌入式系统49一、电源控制(PWR)STM32的工作电压(VDD)为2.03.6V。通过内置的电压调节器提供所需的1.8V电源。当主电源VDD掉电后,通过VBAT脚为实时时钟(RTC)和备份寄存器提供电源。5051STM32F10 xxx有三种低功耗模式:睡眠模式(Cortex-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统时钟(SysTick)等仍在运行)停机模式(所有的时钟都已停止)待机模式(1.8V电源关闭)52低功耗模式一览53此外,在运行模式下,可以通过以下方式中的一种降低功耗:降低系统时钟 关闭APB和AHB总线上未被使用的外设时钟。运行模式下,降低功耗方法运行模式下,降低功耗方法54一、复位STM32F10 xxx支持三种复位形式,分别为系统复位、上电复位和备份区域复位。55系统复位除了时钟控制器的RCC_CSR寄存器中的复位标志位和备份区域中的寄存器以外,系统复位将复位所有寄存器至它们的复位状态。56系统复位当发生以下任一事件时,产生一个系统复位:1.NRST引脚上的低电平(外部复位)2.窗口看门狗计数终止(WWDG复位)3.独立看门狗计数终止(IWDG复位)4.软件复位(SW复位)5.低功耗管理复位57系统复位检测复位事件来源:可通过查看RCC_CSR控制状态寄存器中的复位状态标志位识别复位事件来源。58二、时钟三种不同的时钟源可被用来驱动系统时钟(SYSCLK):HSI振荡器时钟 HSE振荡器时钟 PLL时钟这些设备有以下2种二级时钟源:40kHz低速内部RC(LSI RC)振荡器,可以用于驱动独立看门狗,或通过程序选择驱动RTC,用于从停机/待机模式下自动唤醒系统。也可以通过程序选择32.768kHz低速外部晶体(LSE晶体)用来驱动RTC(RTCCLK)。当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功耗。59601当HSI被用于作为PLL时钟的输入时,系统时钟能得到的最大频率是64MHz。2对于内部和外部时钟源的特性,用户可通过多个预分频器配置AHB、高速APB(APB2)和低速APB(APB1)域的频率。AHB和APB2域的最大频率是72MHz。APB1域的最大允许频率是36MHz。SDIO接口的时钟频率固定为HCLK/2。RCC通过AHB时钟(HCLK)8分频后作为Cortex系统定时器(SysTick)的外部时钟。通过对SysTick控制与状态寄存器的设置,可选择上述时钟或Cortex(HCLK)时钟作为SysTick时钟。ADC时钟由高速APB2时钟经2、4、6或8分频后获得。定时器时钟频率分配由硬件按以下2种情况自动设置:1.如果相应的APB预分频系数是1,定时器的时钟频率与所在APB总线频率一致。2.否则,定时器的时钟频率被设为与其相连的APB总线频率的2倍。二、时钟61一、GPIO功能描述GPI/O端口相关寄存器两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)一个32位锁定寄存器(GPIOx_LCKR)。62GPIO端口的每个位可以由软件分别配置成多种模式。输入浮空输入上拉输入下拉模拟输入开漏输出推挽式输出推挽式复用功能开漏复用功能一、GPIO功能描述63一、GPIO功能描述64复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式:CNFx1:0=01b,MODEx1:0=00b1、通用I/O(GPIO)65I/O端口作为数字输入口可模拟输入口容忍的输入电压:5V,VDD1、通用I/O(GPIO)66当作为输出配置时,写到输出数据寄存器上的值(GPIOx_ODR)输出到相应的I/O引脚。可以以推挽模式或开漏模式(当输出0时,只有N-MOS被打开)使用输出驱动器。输入数据寄存器(GPIOx_IDR)在每个APB2时钟周期捕捉I/O引脚上的数据。所有GPIO引脚有一个内部弱上拉和弱下拉,当配置为输入时,它们可以被激活也可以被断开。1、通用I/O(GPIO)672、单独的位设置或位清除当对GPIOx_ODR的个别位编程时,软件不需要禁止中断:在单次APB2写操作里,可以只更改一个或多个位。这是通过对“置位/复位寄存器”(GPIOx_BSRR,复位是 GPIOx_BRR)中想要更改的位写1来实现的。没被选择的位将不被更改。68三、中断和事件69一、中断和事件对于互联型产品105和107系列,外部中断/事件控制器由20个产生事件/中断请求的边沿检测器组成;对于其它产品,则有19个能产生事件/中断请求的边沿检测器。每个输入线可以独立地配置输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以独立地被屏蔽。挂起寄存器保持着状态线的中断请求。70一、中断和事件1、多达19/20个产生事件/中断请求 80个/112 I/O作为EXTI线0.15(【中文】STM32F系列ARM内核32位高性能微控制器参考手册V10_1.pdf-P137)EXTI线16连接到PVD输出 EXTI线17连接到RTC闹钟事件 EXTI线18连接到USB唤醒事件 EXTI线19连接到以太网唤醒事件(只适用于互联型产品)71一、中断和事件2、两种设置模式 中断模式 事件设置模式3、独立触发 上升沿 下降沿 上升和下降沿 可屏蔽每个事件中断线4、每个中断线都有专用的状态位72一、中断和事件5、最多可产生19个软件中断和事件请求6、最小脉冲宽带:1*TPCLK2(高速APB信号)7、EXTI被映射到高速APB(APB 2)上,以节省进)上,以节省进入外部中断服务程序的时间入外部中断服务程序的时间73STM32F10 xxx微控制器的看门狗启动方式:通过选项字设定:硬件或软件启动;基本特色:自由运行的递减计数器;内部独立的低功耗时钟LSI提供时钟,即使主时钟失效,看门狗仍处于激活状态;一旦启动独立看门狗,就不能停止(LSI也不能被禁止);看门狗被激活后,则在计数器计数至0 x000时产生复位;在电源稳定期间,即使系统进入STOP和STANDBY模式,独立看门狗复位能将系统从STANDBY模式唤醒。74IWDG主要性能 自由运行的递减计数器 时钟由独立的RC振荡器提供(可在停止和待机模式下工作)看门狗被激活后,则在计数器计数至0 x000时产生复位75IWDG模块的功能框图如果用户在选择字节中启用了“硬件看门狗”功能,在系统上电复位后,看门狗会自动开始运行;如果在计数器计数结束前,若软件没有向键寄存器写入相应的值,则系统会产生复位。76STM32的通用定时器通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成。它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)。使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。每个定时器都是完全独立的,没有互相共享任何资源。它们可以一起同步操作。77TIMx主要功能 16位向上、向下、向上/向下自动装载计数器 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为165536之间的任意数值 4个独立通道:输入捕获输出比较PWM生成(边缘或中间对齐模式)单脉冲模式输出78TIMx主要功能 使用外部信号控制定时器和定时器互连的同步电路 如下事件发生时产生中断/DMA:更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)输入捕获输出比较 支持针对定位的增量(正交)编码器和霍尔传感器电路 触发输入作为外部时钟或者按周期的电流管理79TIMx主要功能80TIMx时钟源81TIMx定时时间的计算与定时器寄存器初始化相关的数据结构在stm32f10 x_tim.h中,typedef struct uint16_t TIM_Prescaler;uint16_t TIM_CounterMode;uint16_t TIM_Period;uint16_t TIM_ClockDivision;uint8_t TIM_RepetitionCounter;TIM_TimeBaseInitTypeDef;82TIMx定时时间的计算计算定时时间要用到下面2个分量:设:TIM_Prescaler=1999;TIM_Period=35999;表示累计36000个脉冲后时间到,而脉冲频率则是对TIMxCLK频率经过2000分频,因此定时时间为:(TIM_Period+1)(TIM_Prescaler+1)/TIMxCLK=(35999+1)(1999+1)/72M=1秒83通用定时器TIMx的时钟选择计数器时钟可由下列时钟源提供:内部时钟(CK_INT)外部时钟模式1:外部输入脚(TIx)外部时钟模式2:外部触发输入(ETR)内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器。84STM32-USART三个USARTUSART1位于高速总线APB2;USART2、USART3位于低速总线APB1;85STM32-USARTSTM32的通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ((Non Return Zero))异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。使用多缓冲器配置的DMA方式,可以实现高速数据通信。86STM32-USART功能概述功能概述接口通过三个引脚与其他设备连接在一起。任何USART双向通信至少需要两个脚:接收数据输入(RX)和发送数据输出(TX)。RX:接收数据串行输。通过过采样技术来区别数据和噪音,从而恢复数据。TX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的I/O端口配置。当发送器被激活,并且不发送数据时,TX引脚处于高电平。在单线和智能卡模式里,此I/O口被同时用于数据的发送和接收。87STM32-USART功能概述功能概述 总线在发送或接收前应处于空闲状态 一个起始位 一个数据字(8或9位),最低有效位在前 0.5,1.5,2个的停止位,由此表明数据帧的结束 使用分数波特率发生器 12位整数和4位小数的表示方法。一个状态寄存器(USART_SR)数据寄存器(USART_DR)一个波特率寄存器(USART_BRR),12位的整数和4位小数一个智能卡模式下的保护时间寄存器(USART_GTPR)88STM32-USART功能概述功能概述在同步模式中需要下列引脚:CK:发送器时钟输出。此引脚输出用于同步传输的 时钟,(在Start位和Stop位上没有时钟脉冲,软件可选地,可以在最后一个数据位送出一个时钟脉冲)。数据可以在RX上同步被接收。这可以用来控制带有移位寄存器的外部设备(例如LCD驱动器)。时钟相位和极性都是软件可编程的。在智能卡模式里,CK可以为智能卡提供时钟。89STM32-USART功能概述功能概述在IrDA模式里需要下列引脚:IrDA_RDI:IrDA模式下的数据输入。IrDA_TDO:IrDA模式下的数据输出。下列引脚在硬件流控模式中需要:nCTS:清除发送,若是高电平,在当前数据传输结束时阻断下一次的数据发送。nRTS:发送请求,若是低电平,表明USART准备好接收数据90STM32-USART特性描述特性描述91STM32-USART特性描述特性描述92STM32-USART:模式:模式同步模式同步模式93STM32-USART:模式:模式红外模式红外模式94STM32-USART:模式:模式Smart card95RTC-实时时钟RTC关键参数-精度时钟晶振的准确度及稳定度是影响时间准确度的主要因素之一;而晶振的温漂是造成其准确度偏差主要原因。RTC常使用32768Hz晶振,如果晶振误差10ppm(precision per million),f=0.32768Hz,每秒的误差t=f/32768,一天误差,24*3600*t=0.864秒,一年的误差=365*0.864秒=315.36s=5.256min96STM32-RTCSTM32的实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。97STM32-RTC功能描述98
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!