版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统概述第一章《嵌入式系统基础与实践》(第2版)主讲教师:(
学院)知识目标能力目标思维与素养目标
理解嵌入式系统的概念、特点及应用领域。
熟悉嵌入式系统的组成架构,理解MCU、DSP、FPGA等概念及适用场合。
了解嵌入式行业最新动态、岗位要求。
了解嵌入式系统的软硬件协同设计方法,熟悉嵌入式系统设计流程。
熟练运用搜索引擎、ChatGPT等AI技术进行嵌入式系统相关知识的搜索和拓展。
能够通过ST、ARM、Keil等半导体厂商官网下载嵌入式开发工具和软件,获取第一手资料和信息。
“合抱之木,生于毫末:九层之台,起于垒土;千里之行,始于足下”,从“面向浏览器的工程师”向“面向知识库的工程师”转变,逐步进阶到面向思维和解决问题的工程师,系统地构建嵌入式系统知识体系结构。
初步形成创新设计思维学习目标1.1信息技术的发展1.2嵌入式系统1.3嵌入式初学者杂谈1.4嵌入式系统开发流程第1章嵌入式系统概述1.1信息技术的发展1.1.1计算机的诞生1.1.2通用信息处理1.1.3人工智能1.1.1计算机的诞生历史上第一台“可编程”电子计算机ENIAC晶体管计算机
1946世界上第一台“冯
诺依曼体系结构”的计算机19491949第一个4位微处理器19711.1.2通用信息处理6521341964年,IBM研发System/360,向通用化方向发展70年代,计算机分为软件和硬件,分开售卖出现各种高级语言,形成软件系统出现操作系统、数据库互联网的发展物联网的发展1.1.2通用信息处理大型机、巨型机单纯的数值计算通用的信息处理硬件和软件高级编程语言操作系统和数据库计算机网络微型化、网络化嵌入式微处理器物联网(IoT)计算机处理能力不断提升1.1.3人工智能“深蓝”超级计算机战胜了国际象棋世界冠军,人工智能在特定领域可以达到甚至超越人类的水平。19361950195619972016阿兰
图灵提出了现代通用计算机的理论模型,即“图灵机”图灵发表了题为《机器能思考吗?》的论文,为人工智能的建立奠定了基础,提出了“图灵测试”正式提出了人工智能(ArtificialIntelligence,AI)这一概念基于深度学习的AlphaGo战胜了围棋世界冠军。1.2嵌入式系统0102031.2.1嵌入式系统案例分析1.2.3嵌入式系统与物联网1.2.2嵌入式系统概念1.2.1嵌入式系统案例分析微控制器主要承担两个任务:接收服务器指令,控制家居系统中的各电器设备;采集传感器数据并进行处理。【案例分析一:智能家居】在基本居住功能基础上,融入门禁系统、远程控制、移动终端控制以及家居环境智能检测和监测等技术手段,实现家居系统的自动化、智能化。1.2.1嵌入式系统案例分析智能手环可以记录人们日常生活中的运动、睡眠、甚至饮食等实时数据,并将这些数据与手机、平板等设备同步,对采集的日常数据进行大数据分析,发挥指导健康生活的作用。【案例分析二:智能手环】小米FitbitFlex手环1.2.1嵌入式系统案例分析智能手环一般由微控制器、蓝牙模块、Wi-Fi电路、OLED显示屏、心率传感器、加速度传感器、锂电池等模块组成,实现显示时间、监测睡眠、运动等功能【案例分析二:智能手环】智能手环系统框图1.2.1嵌入式系统案例分析无人机因体型小、结构简单、控制灵活、造价低廉,常用于航拍、环境监测、农情监测、地形勘测、灾后环境监测、电力巡线、森林火情监测和植物保护等领域。【案例分析三:四旋翼无人机】大疆御无人机1.2.1嵌入式系统案例分析微控制器是控制系统的核心,负责飞行过程中的导航、通信、控制等核心任务,根据各传感器模块采集到的当前的飞行姿态和空间位置,计算相关的运动参数,将控制信号发送给机载执行机构从而改变无人机的位置和速度,同时保持飞行姿态的稳定。【案例分析三:四旋翼无人机】四旋翼无人机系统总体框图1.2.1嵌入式系统案例分析嵌入式系统的共性特定的使用场合或工作环境,是某个大型系统的一部分,完成一个具体的功能,专用性强,应用于特定的平台功能单一,模块的设计和实现较为简单功耗低,且一般要求高实时性和高可靠性,系统程序一般都是固化在内存中,以提高运行速度和可靠性。人机交互界面简单开发时往往有上位机和下位机或主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。1.2.2嵌入式系统的概念泛在的嵌入式系统的定义:除通用PC机和服务器之外的一切计算机系统都可以叫嵌入式系统。典型应用产品有智能手机、工业机器人、无人机、无人驾驶汽车、心电监护仪、人工耳蜗等。国外定义嵌入式系统是控制、监视或辅助设备、机器和车间运行的装置。行业内普遍认同的定义为:以应用为中心、以计算机技术为基础,软、硬件可剪裁,适合应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,用于对其他设备的控制、监视或管理等功能。1.2.2嵌入式系统概念通用PC机系统与嵌入式系统有何区别?1.2.3嵌入式系统与物联网大量的传感器节点有线或无线网络大数据、云计算、模式识别等智能技术海量信息传输与交换分析、加工和处理物联网(IoT)使应用更加智能化、个性化物联网是互联网与嵌入式系统高度融合发展的产物,是互联网在应用上的拓展,是嵌入式技术在网络互连的延伸和应用。1.2.3嵌入式系统与物联网基本功能:加热、保温、杀菌、除臭、烘干;未来功能:通过物联网、大数据和人工智能可以对排泄物进行化验分析,并将分析结果实时传送给医生,及时发现病情。【物联网的应用案例1:智能马桶】1.2.3嵌入式系统与物联网【物联网的应用案例2:
农业病虫害防治(精准农业)】捕捉害虫啃噬农作物时的细微振动或昆虫翅膀的振动频率;上传并分析出昆虫的种类,判断其是否是害虫确认为害虫后,自动调用无人机去喷洒相应农药;1.3嵌入式初学者杂谈1.3.1MCU、MPU、ARM、FPGA、DSP是概念1.3.2MCU开发与ARM-Linux开发的区别1.3.3开源硬件Arduino和树莓派1.3.1MCU、MPU、ARM、FPGA、DSP概念Renesas(瑞萨)NXP(恩智浦)Microchip(微芯)ST(意法半导体)Atmel(爱特梅尔)TI(德州仪器)Toshiba(东芝)Samsung(三星)宏晶、凌阳、新唐等80C51系列单片机、Atmel公司的AVR单片机、Microchip公司的PIC、TI公司的MSP430、ST公司的STM32系列、NXP公司的LPC1700系列芯片MicroControlUnit,嵌入式微控制器(俗称单片机),把CPU、随机存储器RAM、只读存储器ROM、I/O、中断系统、定时器/计时器、各种功能外设等资源集成到一个芯片上的微型计算机系统MCU典型的MCU厂商典型MCU芯片1.3.1MCU、MPU、ARM、FPGA、DSP概念在主频、ROM大小及外设接口方面有了翻天覆地的变化典型应用产品工业控制器、智能手环、血糖仪、智能消费电子、家电等微控制器的发展8位机(51单片机)16位机(PIC、MSP430等)高性能的32位机(STM32、LPC2000等)应用领域和场合不断扩展和更新1.3.1MCU、MPU、ARM、FPGA、DSP概念MPUMicroProcessorUnit,嵌入式微处理器。MPU是由通用计算机中的CPU(微处理器)演变而来,可以理解为增强版的CPU,即不带外围功能器件。一个嵌入式微处理器系统需要在的基础上,添加外围电路和外部设备才得以构成。MPURAMROMFlash电源USBLCD键盘嵌入式微处理器系统Motorola的68K系列Intel的X86系列飞思卡尔的i.MX6TI公司的AM335XSamsung的S3C2410和S3C6410应用产品有智能手机、平板电脑、路由器、数码相机等1.3.1MCU、MPU、ARM、FPGA、DSP概念ARM是一家公司,也是一类技术和产品的统称。ARM公司设计的芯片主要涉及嵌入式移动设备领域,指令集更加紧凑简单,功耗和成本更低,在移动消费电子领域占据着很大的市场份额。ARMCortex-A15内核设计的芯片ARM公司目前主要授权三个系列的芯片设计——ARM9、ARM11和Cortex,涉及微控制器系列、微处理器系列以及更高端的产品系列。1.3.1MCU、MPU、ARM、FPGA、DSP概念体积小、功耗低、价格低廉MCU微控制器处理能力强,可扩展更大的内存空间,主频、功耗、体积及价格方面相对较高MPU微处理器搭载操作系统的MPU功能更为强大,人机界面更为人性化、美观化微波炉、智能手环以及电动车上的电机控制器等适用于功能单一、耗电量低、对价格敏感、便携式的、人机界面简单的产品应用。应用于功能多样、人机交互系统较为强大,对运算速度有较高要求的应用场合,比如多媒体设备1.3.1MCU、MPU、ARM、FPGA、DSP概念DSP两种含义DigitalSignalProcessing(数字信号处理),是用数值计算的方式对信号进行加工处理的理论和技术。DigitalSignalProcessor(数字信号处理器),是一种专用于数字信号处理领域的微处理器芯片,将数字信号处理算法用具体的器件实现。专用的硬件乘法器专门的DSP指令程序和数据分开存储的哈佛体系结构支持流水线操作允许取指令和执行指令同时进行提高了微处理器的速度,其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器。所采用的技术1.3.1MCU、MPU、ARM、FPGA、DSP概念应用于低端市场的,如TMS320C2000系列高端的DSP,如TMS320C5000/C6000系列TI(德州仪器)ADI(美国模拟器件)Motorola(摩托罗拉)Lucent(朗讯科技)Zilog(齐格洛)DSP芯片的主要厂商TI的典型产品数字信号处理领域,例如调制解调、数字加密解密、图像处理中的卷积、数字滤波、FFT、语音处理等数字信号处理的算法实现等主要应用DSP处理器1.3.1MCU、MPU、ARM、FPGA、DSP概念Field-ProgrammableGateArray,现场可编程门阵列。突出的优势:灵活性:可以现场配置器件功能,不再受硬件的制约;高性能(速度快):FPGA用硬件处理数据,采用并发和流水两种技术,多个模块之间可以同时并行执行。FPGA逻辑单元触发器资源I/O引脚硬件描述语言硬件(芯片)任何数字器件的功能,上至复杂的CPU,下至简单的数字逻辑电路。1.3.1MCU、MPU、ARM、FPGA、DSP概念Altera(阿尔特拉)Xilinx(赛灵思)Lattice(莱迪思)Atmel(爱特梅尔)TI(德州仪器)Actel(爱特)Cypress(赛普拉斯)Altera公司的侧重于低成本应用的Cyclone系列、侧重于高性能应用的Stratix系列Xilinx公司的Spartan、Virtex系列Lattice公司的EPC、iCE系列典型的FPGA厂商典型产品Lattice公司的FPGA芯片1.3.1MCU、MPU、ARM、FPGA、DSP概念DSP或MCU处理流程1.3.2MCU开发与ARM-Linux开发的区别开发主要涉及的内容:Linux内核与移植、Bootloader、Linux文件I/O、Linux多任务编程、Linux进程间通信、Linux多线程编程、Linux网络编程、Linux设备驱动编程、Android应用编程等。偏向软件,开发人员需具备数据结构、操作系统、计算机网络等相关理论知识和专业技能,在嵌入式开发领域里常称为软件开发工程师。开发主要涉及的内容有:体系结构与接口、指令系统、汇编语言、GPIO、定时器、A/D、I2C、SPI、Flash、LCD、SD卡等外设接口、RTOS、uC/OS-II嵌入式操作系。偏向硬件,开发人员需具备电子技术、微机原理等相关理论知识,掌握绘制电路板等专业技能,在嵌入式开发领域里一般常称为硬件开发工程师。MCU开发ARM-Linux开发1.3.2MCU开发与ARM-Linux开发的区别直接在ARM芯片上进行应用开发不采用操作系统,也称作裸机编程,主要应用于一些低端的ARM芯片,其开发过程与单片机类似,即在低端的ARM芯片上进行单片机应用程序的开发。在ARM芯片上运行操作系统对硬件的操作需要编写相应的驱动程序,应用开发则是基于操作系统的。ARM应用的开发主要有两种方式1.3.2MCU开发与ARM-Linux开发的区别
硬件开发方式开发环境启动方式场合、行业MCU开发开发板(下位机);仿真器(调试器);USB线;CH340USB转串口驱动直接裸机开发,此类单片机的处理能力有限集成开发环境/软件:uvsion程序上电后直接跳转到程序入口处,实现系统的启动工控领域、中低端家电,可穿戴设备等如:智能手环、微波炉、血糖仪ARM-Linux开发板(下位机);网线;串口线;minicom串口调试工具;SD卡需外部电路,处理能力很强大,通过外部电路可实现各种复杂的功能;基于操作系统开发集成开发环境/软件:Eclipse、QT图形界面一般包括BIOS、bootloader、内核启动、应用程序启动等几个阶段消费电子、高端的应用如:智能手机、平板电脑、单反相机等1.3.3开源硬件Arduino和树莓派Arduino是一款优秀的硬件开发平台,开发方式简单,有效降低了学习难度,缩短开发周期,并且有很多第三方商家为Arduino设计了很多图形化的编程工具,进一步降低了学习难度。Arduino开发板及应用1.3.3开源硬件Arduino和树莓派
树莓派就是一个小型的计算机,是专门为学习计算机编程教育设计的一种微型电脑,目前最新版本为RaspberryPi3,在尺寸仅为一张信用卡大小的面积上,集成了CPU(RaspberryPi3基于ARMCortex-A53内核)、内存(SD卡)、10/100以太网接口、USB接口、HDMI接口、电视输出接口,系统基于Linux操作系统树莓派3开发板1.51.5.3系统软硬件设计1.5.4系统测试1.5.2系统总体设计1.5.1需求分析1.4嵌入式系统开发流程1.4嵌入式系统开发流程嵌入式系统的开发:系统总体开发嵌入式软硬件开发系统测试细分:系统需求分析系统总体设计系统硬件设计系统软件设计系统软硬件测试1.4.1需求分析嵌入式系统的需求功能性需求系统是做什么的,完成什么样的功能非功能性需求说明系统的其他属性,如物理尺寸、价格、功耗、设计时间、可靠性等通过需求分析得到嵌入式系统的基本功能和各项性能指标,拟定系统任务书,为下一步的系统总体设计提供设计依据。1.4.2系统总体设计从器件选型、外设接口、成本、性能、开发周期、开发难度等多方面进行考虑,最终确定系统总体设计方案。系统的可靠性和抗干扰能力?电磁干扰?嵌入式微处理器的选型软硬件开发平台选择嵌入式操作系统的选择传感器的选择显示设备的选择是否具备联网功能电源设计及其他1.4.2系统总体设计参考选型手册、各项性能指标选择适合系统需求的微处理器,主要从功耗、体积、成本、可靠性、速度、处理能力、接口数量、电磁兼容等方面考虑能够满足具体功能性和非功能性指标的需求、市场应用广泛、软硬件配置合理嵌入式微处理器的选型基本原则方法RAM需要多大?ROM需要多大?外设接口的数量?对运算能力的要?是否需要运行算法?是否可以二次开发?供货渠道是否稳定?有无替代的微处理器?替代的风险如何?1.4.2系统总体设计应用领域的不同,嵌入式微处理器的选型不同简单的智能仪器仪表的设计首要选择8位的8051系列单片机数字信号处理领域选用TI公司的TMx320x系列的DSP芯片通信领域优先考虑Motorola公司的嵌入式微处理器68K系列高性能、消费电子领域可选用32位的ARM相关内核芯片系列系统硬件设计硬件概要设计从硬件角度出发,确认整个系统的架构,并按功能来划分各个模块,确定各个模块的大体实现硬件详细设计根据系统的功能要求完成整个硬件的设计,包括原理图、PCB的绘制。硬件制作制板、元器件焊接,集成硬件设计硬件测试测试PCB板是否存在短路元器件是否焊错、漏焊、虚焊等测试各电源对地电阻是否正常上电,测试电源是否正常分模块调试硬件1.4.3系统软硬件设计软件详细设计软件概要设计编码阶段1.4.3系统软硬件设计依据系统要求,将整个系统按功能进行模块划分,定义各功能模块之间的接口、模块内主要的数据结构等。各功能函数接口的定义,完成算法、数据结构、全局变量以及完成任务时各个功能函数接口的调用流程设计。完成整个系统的软件编码,实现对目标系统的功能、性能、接口、界面等方面的要求。软件测试验证软件单个功能是否实现,验证软件整个产品功能是否实现。系统软件设计1.4.4系统测试系统的硬件、软件和执行机构集成在一起进行整体测试检验系统是否满足实际需求发现存在的问题和Bug,并改进设计过程中的不足之处。电磁兼容性测试等系统整体功能测试性能参数测试本章小结(思维导图)习题与思考01选择题1.以下选项中不属于嵌入式系统的是()。
A.手机 B.微波炉 C.笔记本电脑 D.B型超声诊断仪2.嵌入式微处理器类型中属于微控制器类型的是()。
A.DSP B.MCU C.FPGA D.MPU3.以下不属于嵌入式系统特点的是()。
A.软件、硬件可裁剪 B.可二次开发
C.体积小,功耗低 D.系统通用性差4.嵌入式操作系统是一种专用于资源受限的嵌入式系统的操作系统,以下不属于嵌入式操作系统的是()。
A.FreeRTOS B.μC/OS-II C.Windows D.Linux5.以下嵌入式系统开发软件中用于PCB设计的是()。A.ARM-MDK B.STM32CubeMX C.AltiumDesigner D.IAR习题与思考02填空题1.微处理器的发展根据应用的不同,形成了微型计算机的两大分支,分别是通用计算机系统和______________。2.嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及_______等四部分组成。3.嵌入式系统是以________为中心,以计算机技术为基础,软件硬件可裁剪的专用计算机系统。4.嵌入式系统的开发主要由系统需求分析、_________、硬件设计、软件设计以及系统测试等几部分组成。习题与思考03判断题1.嵌入式系统是专用的计算机系统。()2.嵌入式AI不包括物联网和人工智能。()3.嵌入式系统的英文简写是EmbeddedSystem。()4.嵌入式系统与通用PC机系统的功能和开发方式是相同的。()5.嵌入式操作系统的主要目标是提供对硬件资源的有效管理和对应用程序的调度,以实现系统的可靠性、实时性和效率。()习题与思考04简答题1.什么是嵌入式系统?嵌入式系统主要有哪些特点?2.嵌入式系统主要有哪几部分组成?3.简述通用计算机与嵌入式系统的区别与联系。4.简述嵌入式系统的开发流程。习题与思考05综合应用题1.从功能概述、系统结构组成、功能模块等方面设计实现厨余垃圾智能监测系统。(或选择一个嵌入式系统进行案例分析,分别从功能概述、系统结构组成、功能模块等方面进行分析。)2.嵌入式系统发展随时代变迁,其概念和内容随时代需求不断外延,通过查阅相关文献,阐述人工智能时代下嵌入式系统与人工智能相结合的发展前景、技术路线以及应用案例,并提交总结报告(或论文)。敬请批评指正ThanksARMCortex-M3内核与STM32微控制器第2章《嵌入式系统基础与实践》(第2版)主讲教师:(
学院)知识目标能力目标思维与素养目标
阐释和归纳冯·诺依曼结构与哈佛结构的区别,明晰CISC和RISC的区别和联系。
了解ARM体系结构,分析和归纳ARMCortex-M3内核架构。
理解STM32微控制器结构,熟悉和阐述STM32的中断系统、时钟系统和存储系统。
查阅常见半导体厂商及其典型产品的信息,获取嵌入式系统相关的行业知识。
能够借助手册查找芯片相关寄存器地址,并根据手册分析寄存器功能。
能够根据官方源码及手册分析微控制器的存储结构、中断系统和时钟系统。
电子计算机的二进制运算方式与中国古代传统文化《易经》中“一阴一阳之谓道”有着异曲同工之妙;计算机所讲授的八进制亦与《易经》中的八卦蕴含着相同的朴素辩证的排列组合思想,通过对比分析,在理解计算机原理的同时,加深对传统文化的了解。
系统化、结构化的思维能力,初步形成创新设计思维。学习目标2.1嵌入式系统基础知识2.2ARM2.3Cortex-M3内核2.4STM32微控制器结构第2章ARMCortex-M3内核与STM32微控制器2.1嵌入式系统基础知识2.1.1冯
诺依曼结构与哈佛结构2.1.2ARM存储模式2.1.3CISC和RISC2.1.4流水线技术2.1.1冯
诺依曼结构与哈佛结构计算机由运算器、控制器、存储器、输入设备和输出设备五大部件组成指令地址和数据地址指向同一个存储器的不同物理位置,统一编址,宽度相同。
由于指令和数据放在同一个存储器中,因此冯
诺依曼结构的计算机不能同时既取指令又取数据典型的冯
诺依曼计算机结构框图2.1.1冯
诺依曼结构与哈佛结构指令存储器和数据存储器独立编址、独立访问数据和指令分别存储在两个独立的存储器中使用两条独立的总线分别与CPU进行信息交换数据和指令的存储可以同时进行容易实现指令流水。哈佛体系结构框图2.1.2ARM存储模式计算机的存储器是以字节为单位进行划分的,每个地址单元都对应着一个字节,一个字节占8位(bit)存储方式有两种:小端模式:数据的低字节存放在内存低地址处,数据的高字节存放在内存高地址处举例:一个32位的数据0x12345678,存放在内存地址为0x8000~0x8003内存地址0x80000x80010x80020x8003数据(十六进制表示)0x780x560x340x12大端模式:数据的高字节存放在内存低地址处,数据的低字节存放在内存高地址处内存地址0x80000x80010x80020x8003数据(十六进制表示)0x120x340x560x782.1.3CISC和RISC把特定的由0和1组成的序列当作指令,通过指令来操作计算机选用使用频度较高的一些简单指令指令的指令长度固定指令格式和寻址方式的种类较少便于指令的流水线操作绝大部分指令的操作均在运行速度最快的寄存器内完成采用优化的编译程序来生成高效的目标代码RISC(ReducedInstructionSetComputer)精简指令集计算机2.1.3CISC和RISC把特定的由0和1组成的序列当作指令,通过指令来操作计算机CISC(ComplexInstructionSetComputer)复杂指令集计算机指令系统比较丰富指令字长不固定指令格式较多寻址方式多绝大多数指令需要多个时钟周期才能执行完毕更多地应用于桌面、高性能计算机领域2.1.3CISC和RISC指标CISCRISC价格硬件结构复杂,芯片成本高硬件结构较简单,芯片成本低流水线减少代码尺寸,增加指令的执行周期数,注重硬件执行指令的功能性使用流水线降低指令的执行周期数,增加代码密度指令集指令长度不固定,大量的混杂型指令集,有专用指令完成特殊功能指令长度固定,简单的单周期指令,不常用的功能由多个简单指令组合完成功耗与体积含有丰富的电路单元,功能强,体积大,功耗大处理器结构简单,体积小,功耗小设计周期长短应用范围通用桌面机、高性能计算机嵌入式领域、移动设备RISC技术与CISC技术比较2.1.4流水线技术三级流水时序图每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术,称为流水线技术。
ARMCortex-M3微控制器采用的三级流水线:取指—译码—执行取指(FI):将指令从存储器中取出译码(DI):对所取到的指令进行翻译执行(EI):执行指令单位时间内流水线所完成的指令数或输出结果的数量2.1.4流水线技术流水线的技术指标通常用吞吐率、加速比和效率三项指标来衡量吞吐率吞吐率表示为:
吞吐率=指令条数/指令流水线所需时间流水线执行n条指令所需时间:所需时间=完成一条指令所需时间+
(指令条数n-1)×时间最长的指令段2.1.4流水线技术【举例】现有一个三级指令流水线分为取指、分析和执行三个部分,其中,取指周期为1ns,分析指令周期为3ns,执行指令周期为2ns,则完成100条指令其吞吐率为多少?解:由吞吐率的计算公式可知,需先计算出执行100条指令流水所花费的时间。完成第一条指令需要1+3+2=6ns,即若不采用指令流水操作,完成一条指令需6ns。由于分析指令所用时间最长为3ns,那么从第二条指令开始,每隔3ns就能完成一条指令,完成100条指令所需要的流水时间为:6ns+(100-1)×3ns=303ns,
则吞吐率为:
100/303ns。完成一批任务不使用流水线时间和使用流水线所用时间之比。2.1.4流水线技术加速比2.2ARMARM010203ARM是一家公司,在全球半导体行业技术领先,其主要业务是设计16位和32位嵌入式处理器ARM是一类微处理器芯片或产品的统称,是采用ARM技术开发的RISC处理器的通称ARM是一种技术的名称,是一个AdvancedRISCMachines32位RISC处理器体系结构ARM专门从事基于RISC技术芯片的设计开发,不直接生产芯片,而是转让技术设计许可,由合作公司生产各具特色的芯片。2.2.2ARM体系结构体系结构主要包括微处理器所支持的指令集和基于该体系结构下微处理器的编程模型。对于程序开发人员来说,体系结构最重要的部分是指此微处理器提供的指令系统和寄存器组。所谓计算机的体系结构(ComputerArchitecture),是指计算机的逻辑结构与功能特性。ARM处理器架构2.2.2ARM体系结构ARM体系结构处理器位数内核产品ARMv4T32ARM7TDMI,ARM9TDMIARMv532ARM7EJ、ARM9EARMv632ARM11ARMv6-M32ARMCortex-M0,ARMCortex-M0+ARMv7-M32ARMCortex-M3ARMv7E-M32ARMCortex-M4ARMv7-R32ARMCortex-R0ARMCortex-R5ARMv7-A32ARMCortex-A5ARMCortex-A9ARMCortex-A15ARMv8-A64/32ARMCortex-A53ARMCortex-A57ARM处理器架构及典型内核产品2.2.2ARM体系结构Samsung公司基于ARM内核架构的系列产品2.2.2ARM体系结构嵌入式领域常见的半导体公司
及其ARM架构的代表性产品半导体公司代表性产品(内核架构)TI(德州仪器)LM3Sxxxx系列(Cortex-M3)LM4Fxxxx系列(Cortex-M4)NXP(恩智浦)LPC1800(Cortex-M3)LPC4300(Cortex-M4)Atmel(爱特梅尔)AtmelAT89、AVR系列ATmegaSAM3S系列(Cortex-M3)、SAM4S系列(Cortex-M4)Freescale(飞思卡尔)KinetisX系列(Cortex-M4)、MPC5xx系列ST(意法半导体)STM32、STM82.2.2ARM体系结构Cortex系列处理器Cortex-A应用程序型,虚拟内存系统架构,适用于高端消费电子领域Cortex-R实时型,针对高性能高实时性的应用Cortex-M微控制器型,适合低功耗、高性能且成本敏感的产品,主要面向嵌入式及工业控制领域Cortex-M3Cortex-M4Cortex-M72.2.2ARM体系结构
ARMCortex-M0+ARMCortex-M0ARMCortex-M3ARMCortex-M4ARMCortex-M7应用范围8/16位应用8/16位应用32位应用32位DSC应用32位应用架构版本ARMv6-MARMv6-MARMv7-M+哈佛结构ARMv7-MARMv7-M流水线2级流水线3级流水线3级流水线3级流水线6级流水线+分支预测FPU(浮点运算单元)NONONOYESYES特点在M0的基础上进一步降低功耗,提高性能低功耗,低成本,使用低功耗微控制器和深度嵌入式应用出色的计算性能以及对事件的优异系统响应能力,适用于具有较高确定性的实时应用较高的信号处理能力,适用于需要控制和信号处理功能混合的数字信号控制领域保持良好的响应性和易用性的同时,实现最高性能Cortex-M系列微控制器比较2.3Cortex-M3内核Cortex-M3是基于ARMv7-M体系结构设计的32位的处理器内核数据宽度、寄存器位数和存储器位数都是32位的采用基于哈佛结构的三级流水线内核拥有独立的数据总线和指令总线数据总线和指令总线共享一个存储器空间,总的寻址空间为4GBARMCortex-M3体系结构2.3Cortex-M3内核Cortex-M3微处理器Cortex-M3内核中央处理器核心(Cortex-M3Core)嵌套向量中断控制器(NVIC)系统时钟(SYSTICK)存储器保护单元(MPU)总线矩阵(AHB互连网络)调试系统串行线/串口JTAG调试端口(SW-DP/SWJ-DP)基于AHB总线的通用调试接口(AHB-AP)嵌入式跟踪单元(ETM)数据观察点触发器(DWT)2.3Cortex-M3内核Cortex-M3内核架构框图Cortex-M3Core:包括指令提取单元、译码单元、寄存器组和ALU等;嵌套向量中断控制器(NVIC):用于实现快速、低延迟的异常中断处理;系统时钟(SYSTICK):24位倒计时计数器,可作为系统定时器,用于产生定时中断;存储器保护单元(MPU):用于对存储区域的访问保护,防止用户程序破坏存储区域的关键数据;总线矩阵(AHB互连网络):用来将处理器内核和调试接口连接到不同功能的外部总线上,提供并行数据传输功能,还提供附加数据传送功能。2.3Cortex-M3内核目录2.3.1内核结构2.3.2寄存器2.3.3存储结构2.3.4中断与异常(NVIC)2.3.1内核结构芯片级的计算机ARM公司Cortex-M3内核各大半导体公司针对不同的应用场合和领域,通过添加不同的外设以增加不同的功能+=将CPU(Cortex-M3内核)、存储器、定时器/计数器、I/O等集成在一个芯片上2.3.1内核结构ATMEL公司的SAM3X系列32位微控制器Features:ARMCortex-M3revision2.0runningatupto84MHzMemoryProtectionUnit(MPU)24-bitSysTickCounterThumb®-2instructionsetNestedVectorInterruptController2x256KbytesembeddedFlash,128-bitwideaccess,memoryaccelerator,dualbankATMEL公司的SAM3X系列MCU功能结构图2.3.1内核结构NXP公司的LPC1700系列芯片KeyFeatures:-ARMCortex-M3core-Upto120MHzoperation-NestedVectoredInterruptControllerforfastdeterministicinterrupts-WakeupInterruptControllerallowsautomaticwakefromanypriorityinterrupt-MemoryProtectionUnit-Fourreducedpowermodes:Sleep,Deep-Sleep,Power-downandDeeppower-downNXP公司LPC1700系列MCU功能结构图2.3.1内核结构TI公司的StellarisLM3S系列微控制器LM3S8971Features-32-bitARM®Cortex™-M350-MHzprocessorcorewithSystemTimer(SysTick),integratedNestedVectoredInterruptController(NVIC),MemoryProtectionUnit(MPU),andThumb-2instructionset-Full-featureddebugsolutionwithdebugaccessviaJTAGandSerialWireinterfaces,andIEEE1149.1-1990compliantTestAccessPort(TAP)controller-256KBsingle-cycleflashand64KBsingle-cycleSRAM-Lower-powerbattery-backedHibernationmodulewithReal-TimeClock-4-38GPIOs(dependingonconfiguration)withprogrammablecontrolforGPIOinterruptsandpadconfigurationTI公司32位微控制器LM3S8971功能结构框图2.3.1内核结构针对不同应用场合和各自优势领域,生产出各具特色的微控制器上述三个不同半导体公司的不同系列的芯片基于ARMCortex-M3内核的32位微控制器具有Cortex-M3内核的基本架构,如NVIC、JTAG/SWD调试接口SRAM和FLASH的大小外设的不同相同之处不同之处I/O、时钟的不同2.3.2寄存器寄存器有两大类:CPU内部的寄存器,比如Cortex-M3中的通用寄存器R0、R15(PC)等,外设I/O接口中的寄存器,I/O接口与存储器统一编址,通过软件编程对寄存器进行读或者写操作,即可实现对外设的控制晶体管(二极管、三极管、场效应MOS管基本门电路触发器存储1位二进制数据寄存器存储二进制数据寄存器通用寄存器保存指令执行过程中临时存放的寄存器操作数和中间结果特殊功能寄存器(SFR)用于外设控制相关的操作2.3.2寄存器ARMCortex-M3微处理器:13个32位的通用寄存器R0~R12R13、R14和R15三个寄存器被指定了专门的用途Cortex-M3内核寄存器2.3.2寄存器特殊功能寄存器程序状态寄存器等状态应用状态寄存器(APSR)中断状态寄存器(IPSR)执行状态寄存器(EPSR)中断屏蔽寄存器PRIMASK寄存器FAULTMASK寄存器BASEPRI寄存器控制寄存器存放程序运行中的各种状态信息以及中断控制异常和中断的屏蔽定义特权状态,还用于决定当前使用哪一个堆栈指针Cortex-M3内核的
特殊功能寄存器2.3.3存储结构ARMCortex-M3系列微处理器采用存储器与I/O设备(外设)统一编址的方式,设置部分存储器地址范围用于外设的访问,将这种通过存储器地址访问外设的方式,称为存储器地址映射。存储器映射,就是将芯片中或芯片外的FLASH、RAM和外设接口等进行统一编址,用于程序存储、数据存储、寄存器和外设。Cortex-M3存储器映射2.3.4中断与异常(NVIC)打断程序正常执行顺序的事件,都被称为异常(exception)。中断一般指来自外部的片上外设或外扩的外设的中断请求事件。Cortex-M3内核可支持256种异常和中断:中断编号1~15为系统异常大于等于16的则全是外部中断,共240个外部中断通常外部中断写作IRQs,Cortex-M3具有256级的可编程中断优先级设置,功能十分强大.2.3.4中断与异常(NVIC)编号类别优先级优先级类型说明0N/AN/A
没有编号为0的异常,此为正常状态1复位(Reset)-3(最高)固定复位2NMI-2固定不可屏蔽中断(来自外部NMI输入脚)3硬(Hard)Fault-1固定只要FAULTMASK没有置位,硬Fault服务例程会被强制执行4存储器Fault0可编程MPU访问违例以及访问非法位置均可引发5总线Fault1可编程总线收到了错误响应,6用法Fault2可编程由于程序错误导致的异常。7-10保留(Reserved)保留保留保留11SVCall3可编程执行系统服务调用指令(SVC)引发的异常12调试监视器(DebugMonitor)4可编程调试监视器(断点、数据观察点、或是外部调试请求)13ReservedN.A.N.A.保留14PendSV
可编程为系统设备而设的“可挂起请求”15SysTick
可编程系统滴答定时器16Interrupt#07可编程外部中断#0……………可编程……256Interrupt#239247可编程外部中断#239Cortex-M3中断2.3.4中断与异常(NVIC)作用统一管理和配置中断通过优先级来控制中断的嵌套和调度。在NVIC中,优先级的数值越小,则优先级越高。Cortex-M3内核集成了一个外设——NVIC用于专门负责中断。01可嵌套中断支持,即高优先级的中断可以打断低优先级的中断。02向量中断支持,缩短中断延迟时间。03动态优先级调整支持。软件可以在运行期间更改中断的优先级。04引入新特长新技术,中断延迟大大缩短05中断可屏蔽NVIC具有以下特性2.3.4中断与异常(NVIC)响应中断的过程保存现场处理器将相关的寄存器xPSR、PC、LR、R12及R0~R3压入堆栈中。如果当前使用的是PSP,则压入进程堆栈,否则压入主堆栈。取向量从中断向量表中找到相应的中断服务程序的入口地址更新寄存器将堆栈指针进行更新,在向量取出后,程序寄存器指针(PC)指向中断服务程序的入口地址,更新程序寄存器指针(PC)以及更新链接寄存器(LR)。2.4STM32微控制器结构2.4.1STM32系统结构2.4.2STM32总线结构2.4.3STM32存储结构2.4.4STM32中断2.4.5STM32时钟系统
STM32F10x系列是ST公司基于ARMCortex-M3内核设计的32位精简指令集微控制器,最高工作频率为72MHz。2.4.1STM32系统结构STM32F10x微控制器功能结构图总线是各种信号线的集合,是嵌入式系统中各部件之间传送数据、地址和控制信息的公共通路。2.4.2STM32总线结构嵌入式系统中常用的总线与总线相关的参数总线宽度:总线能同时传送的数据位数(bit),如32位总线频率:总线的工作速度,频率越高,速度越快总线带宽=总线宽度×总线频率/8单位为MBpsI2C总线SPI总线CAN总线ISA总线PCI总线2.4.2STM32总线结构AHB:AdvancedHigh-speedBus,先进高速总线。APB:AdvancedPeripheralBus,先进外设总线。FLASH:闪存。FSMC:FlexibleStaticMemoryController,静态存储控制器,用于连接外部存储器。RCC:ResetandClockControl,复位与时钟控制器。
STM32F10x芯片系统结构2.4.2STM32总线结构
STM32F10x芯片系统结构ICode总线:32位的AHB总线,将Cortex-M3内核的指令总线与闪存FLASH接口相连接,指令预取在此总线上完成。DCode总线:32位的AHB总线,将Cortex-M3内核的DCode总线与闪存存储器的数据接口相连接,用于常量加载和调试访问。System总线:32位的AHB总线,连接Cortex-M3内核的系统总线到总线矩阵。总线矩阵:用于主控总线之间的访问仲裁管理,由总线控制器统一管理。DMA总线:执行内存与外设之间的数据传输。DMA通过此总线访问AHB外设或执行存储器间的数据传输。APB总线:STM32用两个AHB-APB桥实现AHB与2个APB总线之间(APB1和APB2)的同步连接。2.4.2STM32总线结构
STM32F10x芯片系统结构2.4.2STM32总线结构
STM32F10x芯片系统结构GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG、USART1、SPI1、ADC1~ADC3、TIM1、EXTI等挂接在APB2总线上,其频率最高可达72MHz;USART2、USART3、SPI2、USB、CAN、DAC等挂接在APB1总线上,其频率最高为36MHz。2.4.3STM32存储结构通过存储器地址访问外设STM32的外设可以通过指针来实现访问和操作。每个外设寄存器都占用特定的存储器地址,对外设的操作和对存储器的操作是一样的。STM32总的地址空间大小为4GB,用0x00000000H~0x1FFFFFFF来表示将4GB大小的空间划分为:Flash程序存储器区SRAM静态数据存储器区片上外设区
2.4.3STM32存储结构
STM32存储空间地址分配2.4.3STM32存储结构RAM(随机存储器):用于存储程序运行过程中所需要的数据和程序运行中产生的数据,掉电后数据会丢失。堆栈,位于RAM存储器中,主要功能是暂时存放数据和地址,通常用来保护断点和现场,适用于中断机制。Flash,闪存,即FlashROM,其本质是一个ROM,用于存放用户编写的程序代码,掉电后数据不会丢失,可重复擦写且容量较大。EEPROM(电可擦可编程只读存储器),是保障单片机中的数据长时间保存而不丢失的单元,主要用来存放需要经常修改的非易失性数据。2.4.4STM32中断STM32不同系列和型号的MCU具有不同数量的中断,比如STM32F103系列MCU具有60个中断。位置优先级优先级类型名称说明地址
---保留0x0000_0000
-3固定Reset复位0x0000_0004
-2固定NMI不可屏蔽中断RCC时钟安全系统(CSS)联接到NMI向量0x0000_0008
-1固定硬件失效(HardFault)所有类型的失效0x0000_000C
0可设置存储管理(MemManage)存储器管理0x0000_0010
1可设置总线错误(BusFault)预取指失败,存储器访问失败0x0000_0014
2可设置错误应用(UsageFault)未定义的指令或非法状态0x0000_0018
---保留0x0000_001C-0x0000_002B………………512可设置RCC复位和时钟控制(RCC)中断0x0000_0054613可设置EXTI0EXTI线0中断0x0000_0058714可设置EXTI1EXTI线1中断0x0000_005C………………5966可设置DMA2通道4_5DMA2通道4和DAM2通道5全局中断0x0000_012C2.4.4STM32中断抢占优先级决定一个中断能否被其他中断打断,抢占优先级高的中断可以打断抢占优先级低的中断;响应优先级则是在抢占优先级相同时,根据响应优先级的大小再进行中断处理的排序。NVIC_PriorityGroup抢占优先级取值范围响应优先级取值范围描述NVIC_PriorityGroup_000~15抢占优先级占0位,响应优先级占4位NVIC_PriorityGroup_10,10~7抢占优先级占1位,响应优先级占3位NVIC_PriorityGroup_20,1,2,30,1,2,3抢占优先级占2位,响应优先级占2位NVIC_PriorityGroup_30,1,2,3,4,5,6,70,1抢占优先级占3位,响应优先级占1位NVIC_PriorityGroup_40~150抢占优先级占4位,响应优先级占0位STM32中断优先级分为两级:抢占优先级和响应优先级STM32通过NVIC进行中断优先级的分组,从而分配抢占优先级和响应优先级。2.4.5STM32时钟系统由于STM32的外设时钟复杂,因此需要有一套完整的时钟系统来进行时钟管理,这就是STM32的时钟系统。STM32的时钟系统由RCC(ResetandClockControl,复位与时钟控制器)产生,用来为系统和各种外设提供所需的时钟频率,以确定各外设的工作速度。STM32时钟系统2.4.5STM32时钟系统HSIHighSpeedInternal,高速内部时钟,由内部8MHz的RC振荡器生成,可作为系统时钟或2分频后作为PLL输入;特点:时钟频率精度差,不稳定。HSEHighSpeedExternal,高速外部时钟,可外接一个外部时钟源,或者通过OSC_IN和OSC_OUT引脚外接晶振,允许外接的晶振频率范围为4~16MHz,通常使用8MHz。特点:精度高,稳定。LSILowSpeedInternal,低速内部时钟,由内部RC振荡器产生,频率约40kHz,主要为独立看门狗(IWDG)和自动唤醒单元提供时钟。LSELowSpeedExternal,低速外部时钟,通过OSC32_IN和OSC32_OUT引脚外接频率为32.768kHz的晶振,主要为RTC(Real-TimeClock,实时时钟部件)提供低速高精度的时钟源。PLLPhaseLockedLoop,锁相环,保证外部输入时钟信号与内部振荡信号同步(频率和相位相同),以保证输出频率的稳定。另一方面,也可用于倍频HSI或HSE。STM32有5个时钟源2.4.5STM32时钟系统
系统时钟经AHB预分频器分频,产生各种外设所需要的时钟频率,AHB分频器输出的时钟供五大模块使用:AHB总线、内核、内存和DMA使用的HCLK时钟。通过8分频后用作Cortex的系统定时器时钟。直接作为Cortex的空闲运行时钟FCLK。供给APB1分频器。供给APB2分频器。本章小结2.2ARM2.1嵌入式系统基础知识2.4STM32微控制器结构2.3Cortex-M3内核冯
诺依曼结构与哈佛结构ARM存储模式CISC和RISC流水线技术ARM介绍ARM体系结构内核结构寄存器存储结构中断与异常系统结构总线结构存储结构中断时钟系统本章小结(思维导图)习题与思考01选择题1.以下选项中不属于STM32时钟系统的是()。A.HSI B.HSE C.PLL D.NVIC2.以下不属于ARMCortex系列处理器的是()。A.Cortex-M B.Cortex-R C.Cortex-A D.RISC-V3.存储一个32位数0x12345678到1000H~1003H这4个字节单元中,若以大端模式存储,则1000H存储单元的内容为()。A.0x12 B.0x21 C.0x78 D.0x874.在ARMCortex-M3内核寄存器中,用于指示程序的运行状态的寄存器是()。A.xPSR B.堆栈指针寄存器 C.链接寄存器 D.程序计数器习题与思考01选择题5.ARMCortex-M3内核集成了一个专门负责中断的中断向量控制器是()。A.RCC B.NVIC C.CISC D.RISC6.计算机的体系结构一般分为冯·诺依曼结构和哈佛结构,以下对哈佛结构的叙述中,不正确的是()。A.程序和数据保持在同一个物理存储器上
B.指令、数据可以有不同宽度C.DSP是哈佛结构
D.采用存储程序的方式工作7.以下说法错误的是()。A.ARM是一家半导体芯片设计公司B.ARM是一种RISC技术的名称C.ARM是一类采用ARM技术开发的微处理器或产品的统称D.ARM主要为通用办公领域生产和设计的微处理器芯片习题与思考02填空题1.现有一个32位数0x12345678,存放在内存地址为0x4000~0x4003处,若按小端模式进行存放,则其最低字节数据0x78存放在内存地址_______处;若以大端模式存储,则最高字节数据0x12存放在内存地址_________处。2.现采用3级流水线结构完成一条指令的取指令、译码和执行,若这三部分的时间分别是t取指令=2ns,t译码=2ns,t执行=1ns,则完成100条指令需要______ns。3.ARMCortex-M3内核能够寻址的最大空间为_________,寻址范围为_________。4.ARMCortex-M3微处理器采用存储器地址与I/O设备地址统一编址的方式,通过______来区分内存单元和I/O设备。5.在STM32时钟系统中,通过___________可将时钟源进行倍频。6.ARMCortex-M3内核的R15寄存器是____________,它总是指向下一条指令所在单元的地址。习题与思考03判断题1.程序计数器用于存放指向当前程序执行的地址。 ()2.ARMCortex-M3微控制器采用取指令→译码→执行的3级流水线技术。 ()3.ARM是一类采用RISC设计的微处理器芯片或产品的统称。 ()4.ARMCortex-M3是基于ARMv7-M体系结构设计的32位处理器内核。 ()5.STM32将4GB的存储空间划分为8个不同的Block区域,其中Block2为片上外设区,可以通过指针来实现访问和操作。 ()习题与思考04简答题1.计算机体系结构主要有冯·诺依曼结构与哈佛结构,请简述其区别。2.ARMCortex-M3微处理器主要由哪些部分构成?3.简述STM32的时钟系统。该系统有哪几个时钟源,各自的时钟频率是多少?4.STM32的存储空间分为哪几部分?每部分的地址范围是多少?习题与思考05综合应用题从系统架构的存储结构、总线结构结合地址空间、寄存器及C语言的指针等应用阐述STM32单片机是如何实现软件控制硬件(或者程序是如何控制硬件的)的。敬请批评指正STM32开发环境搭建第3章《嵌入式系统基础与实践》(第2版)主讲教师:(
学院)知识目标能力目标思维与素养目标
了解STM32微控制器性能参数、命名规则、芯片选型等相关信息。
理解STM32三种开发模式,归纳和总结三种开发模式的优缺点。
了解嵌入式交叉开发模式,熟悉嵌入式系统常用开发工具。
能够独立完成嵌入式STM32开发环境的搭建,安装并运行相关开发软件。
能够安装仿真器驱动,实现程序的正常下载烧写。
学会查阅官网信息,下载芯片数据手册、用户手册等芯片资料,能够根据系统需求进行芯片选型。
能够应用STM32CubeMX创建LED灯闪烁的工程,熟悉Keil的调试方法。
独立搭建嵌入式系统的开发平台是职业素养养成的第一步,掌握和熟练使用行业常用开发工具是每一个开发设计人员必备的技能。
熟练阅读英文技术手册,撰写简明扼要的技术文档,打造“读—写”输出的综合软技能。
培养系统化、结构化的思维能力,初步形成创新设计思维。学习目标3.1STM32介绍STM32ARMCortex-M3内核STM32意法半导体公司Microelectronics的缩写,表示微控制器32位的意思,表示这是一个32位的微处理器芯片3.1STM32介绍ST公司微处理器系列产品
STM8主打低功耗,主要针对8位微控制器市场:STM8A(汽车用MCU)STM8S(主流MCU标准系列)STM8L(超低功耗MCU)三个系列
基于STM8内核,采用3级流水线的哈佛结构。3.1STM32介绍STM32系列MCU
STM32F4系列基于ARMCortex-M4内核,主频高达180MHz,具有DSP和FPU等功能。STM32F2、STM32F4、STM32F7为高性能MCUSTM32F1系列是ST公司主推的STM32系列MCU,基于ARMCortex-M3内核,主频高达72MHz3.1STM32介绍STM32F1产品系列STM32F1系列MCU是ST针对工业、医疗和消费类市场的应用需求而设计的低功耗、高性价比的产品,该系列从功能上又可分为5个子系列,其引脚、外设和软件均相互兼容STM32F100主频为24MHz,具有电机控制和消费电子控制功能;STM32F101基本型,主频为36MHz,具有高达1MB的Flash;STM32F102USB基本型,主频为48MHz,具有USBFSdevice接口;STM32F103增强型,主频为72MHz,具有高达1MB的Flash、电机控制、USB和CAN;STM32F105/107互联型,主频为72MHz,具有以太网MAC、CAN和USB2.0OTG。3.1STM32介绍STM32F103系列产品STM32F1系列产品中,各个子系列按闪存容量的大小又分为小容量、中容量、大容量产品。低密度(LD):闪存容量为16~32KB中密度(MD):闪存容量为64~128KB高密度(HD):闪存容量为256~512KB超密度(XL):闪存容量为768KB~1MB3.1STM32介绍STM32芯片命名规范序号符号说明1STM32ARMCortex-M3内核的32位微控制器2F芯片的系列3103增强型系列4Z芯片有144管脚5E512K字节的Flash6T采用LQFP封装76工作温度范围为-40–+85℃
以STM32F103ZET6为例说明芯片命名规范,该芯片型号由七部分组成3.1STM32介绍
DIP——(塑料)双列直插式封装,适用于中小规模集成电路,引脚数一般不超过100个半导体芯片常见的封装方式SOP——小外型表面贴片封装,广泛应用于10-40个引脚的芯片PQFP——塑料方形扁平封装,管脚很细,一般应用于大规模或超大型集成电路,引脚数一般在100个以上LQFP——薄型QFP指封装,本体厚度为1.4mm的QFP(Plastic)DualIn-linePackageSmallOutlinePackagePlasticQuadFlatPackageLow-profileQuadFlatPackage3.1STM32介绍
BGA——(塑料)球栅阵列封装,Intel系列的80486和Pentium等CPU多采用这种封装方式半导体芯片常见的封装方式PGA——插针网格阵列封装,有专门的PGA插座,插拔方便,常用于CPU的封装PLCC——塑封方形引脚插入式封装,外形尺寸比DIP封装小得多,必须采用SMT(表面贴装技术)进行焊接(Plastic)BallGridArrayPinGridArrayPackagePlasticJ-LeadedChipCarrie3.1STM32介绍
用户选型参考资料选型手册参考手册(Referencemanual)数据手册(Datasheet)内容包括:产品的基本配置(如内置Flash和RAM的容量、外设模块的种类和数量等)、引脚数量和分配、电气特性、封装信息和定购代码等对芯片每一个外设的功能进行了详细说明,并对寄存器进行了详细描述3.1STM32介绍STM32芯片数据手册中对具体的引脚名称、引脚类型、引脚复用功能及I/O结构等进行了详细说明STM32数据手册中有关引脚的定义在Pinoutsandpindescription部分STM32F103xx引脚定义3.1STM32介绍
STM32F103xx引脚功能说明3.2STM32微控制器开发模式寄存器开发方式将底层寄存器的操作进行了统一封装,包括所有标准器件外设的驱动器,采用C语言实现,开发人员只需要熟悉并调用相应的应用程序编程接口函数,即可实现对相关外设的驱动操作标准外设库开发方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山野徒步活动策划方案(3篇)
- 活动策划方案的总结(3篇)
- 《GAT 753.16-2008报警统计信息管理代码 第16部分:警务监督分类与代码》专题研究报告深度
- 养老院家属探访制度
- 2026湖北省定向东北大学选调生招录考试备考题库附答案
- 2026珠海港股份有限公司校园招聘备考题库附答案
- 2026福建厦门市集美区海凤实验幼儿园非在编人员招聘6人参考题库附答案
- 2026贵州贵阳市某国有企业实习生招聘3人备考题库附答案
- 2026陕西氢能产业发展有限公司所属单位招聘(29人)备考题库附答案
- 中共南部县委组织部关于2025年南部县党政机关公开考调工作人员的(16人)考试备考题库附答案
- 电大专科《公共行政学》简答论述题题库及答案
- 2025成人高考全国统一考试专升本英语试题及答案
- 代办烟花爆竹经营许可证协议合同
- 国企员工总额管理办法
- 企业级AI大模型平台落地框架
- TD/T 1036-2013土地复垦质量控制标准
- 苏教版六年级数学上册全册知识点归纳(全梳理)
- 车位包销合同协议模板
- 病历书写规范版2025
- 中铁物资采购投标
- 泄漏管理培训课件
评论
0/150
提交评论