《嵌入式技术入门与实战(基于STM32)》 课件 1-嵌入式系统导论和STM32基础_第1页
《嵌入式技术入门与实战(基于STM32)》 课件 1-嵌入式系统导论和STM32基础_第2页
《嵌入式技术入门与实战(基于STM32)》 课件 1-嵌入式系统导论和STM32基础_第3页
《嵌入式技术入门与实战(基于STM32)》 课件 1-嵌入式系统导论和STM32基础_第4页
《嵌入式技术入门与实战(基于STM32)》 课件 1-嵌入式系统导论和STM32基础_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章认识STM32嵌入式系统《嵌入式技术入门与实战(基于STM32)》第1章认识STM32嵌入式系统010203嵌入式系统基本概念ARM微处理器简介STM32系列微控制器21、嵌入式系统基本概念第1章认识STM32嵌入式系统PartOne1、嵌入式系统基本概念1.1嵌入式系统的定义1.2嵌入式系统的分类1.3嵌入式系统组成41.1嵌入式系统的定义普遍认同的定义:

嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软硬件模块的专用计算机系统。5嵌入式系统的定义诠释嵌入式系统就是嵌入到对象体系中的专用计算机系统。它的三要素是嵌入性、专用性和计算机。嵌入性是指嵌入到对象体系中,有对象环境要求;专用性是指软、硬件按对象要求进行裁剪;计算机是指实现对象的智能化功能且以微处理器为核心的系统。6嵌入式系统产品移动终端平板电脑、智能手机信息家电智能冰箱、洗衣机、智能空调、微波炉数字电视、数码相机与数码摄像机、游戏机汽车电子车载、车控智能仪器仪表通讯设备71.2嵌入式系统的分类1.按表现形式即硬件范畴分类(1)芯片级嵌入式系统:在处理器芯片中含有程序或算法。(2)模块级嵌入式系统:在系统中含有某个核心模块。(3)系统级嵌入式系统:包含完整系统并有嵌入软件的全部内容。82.按实时性即软件范畴分类(1)实时系统:指能及时响应外部发生的随机事件,并已足够快的速度完成对事件处理的计算机应用系统。(2)非实时系统:用于对外部响应要求不太严格的产品中,91.3嵌入式系统组成嵌入式系统的组成主要由:嵌入式硬件系统、嵌入式软件系统。10嵌入式系统硬件组成1.嵌入式微处理器嵌入式系统上的处理器单元称为嵌入式微处理器。嵌入式微处理器是嵌入式系统硬件部分的核心嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中。11嵌入式系统硬件组成2.存储器嵌入式系统需要存储器来存放和执行代码可以位于微处理器的内部或外部,其容量为256KB~1GB一般片内存储器容量小,速度快,片外存储器容量大。12嵌入式系统硬件组成3.通用设备接口和I/O接口嵌入式系统和外界交互需要一定形式的通用设备接口,通过与片外其他设备的或传感器的连接,实现微处理器与外部设备的输入/输出。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。目前嵌入式系统中常用的通用设备接口有A/D、D/A,I/O接口有RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)等。13嵌入式系统软件组成1.中间层硬件层与软件层之间为中间层,也称为硬件抽象层(HardwareAbstractLayer,HAL)或板级支持包(BoardSupportPackage,BSP),一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。14嵌入式系统软件组成2.系统软件层系统软件层由实时多任务操作系统(Real-timeOperationSystem,RTOS)、文件系统、图形用户接口(GraphicUserInterface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。嵌入式操作系统(EmbeddedOperationSystem,EOS)是一种用途广泛的系统软件,过去它主要应用与工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。15嵌入式系统软件组成3.应用软件层应用软件层是由基于实时系统开发的应用程序组成,用来实现对被控对象的控制功能。嵌入式应用软件开发,是应用软件开发的一种,就是在嵌入式操作系统平台上写各种应用程序,实现各种功能。操作系统控制着应用程序编程与硬件的交互作用,而应用程序控制着系统的运作和行为。162、ARM微处理器第1章认识STM32嵌入式系统PartTwo2、ARM微处理器简介2.1ARM处理器概念2.2ARM微处理器系列2.3Cortex系列微处理器182.1ARM处理器概念ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术。ARM技术体积小、功耗少、成本低、性能高等优势基于精简指令集计算机RISC思想ARM支持两种指令集:ARM指令集(32位)和Thumb指令集(16位);ARM微处理器ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、ARM11系列、SecurCore系列、Inter的XScale、ARMCortex系列等。19ARM的发展历史1990,ARM公司诞生1994,ARM公司推出ARM7,ARM7称为世界上采用量最大的CPU内核,称为嵌入式系统领域发展中的重要里程碑2004年,ARM公司推出了Cortex内核系列,A\M\R系列,针对高性能、微控制器类、实时类应用。从20世纪末开始,嵌入式系统发展进入黄金期:2007年,phone的热销,AppStore的迅速崛起,让全球移动应用彻底绑定在ARM指令集上。2008年,谷歌推出了Android(安卓)系统,也是基于ARM指令集。智能手机进入了飞速发展阶段,ARM也因此奠定了在智能手机市场的霸主地位20ARM处理器架构进化史按照架构分为ARMv4/v4T、ARMv5/v5E、ARMv6、ARMv7ARMv7架构诞生后,ARM以Cortex来重新命名处理器,Cortex-M3/4/7,Cortex-R4/5/6/7,Cortex-A8/9/5/7/15/17都是基于该架构。212.2ARM微处理器系列1.ARM7系列适用于对价位和功耗要求较高的消费类应用,应用领域:工业控制、Intenet设备、网络和调制解调器、移动电话等。包含ARMTTDMI、ARM7TDMI-S、ARM72OT、ARM7EJ2.ARM9系列在高性能和低功耗特性方面提供最佳的性能,主要应用于无线设备、仪器仪表、安全系统、机盒、高端打印机、数字照相机和数字摄像机等,包含ARM920T、ARM922T和ARM940T三种类型。3.ARM10E系列具有高性能、低功耗的特点。主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息等领域。包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型。224.ARM11系列是针对高性能和高能效应用而设计的,最新内核:ARM1156T2-S内核、ARM1156T2F-S内核、ARM1176JZ-S内核和ARM11JZF-S内核。5.SecurCore系列包含SecurCoreSC100、SecurCoreSC110、SecurCoreSC200和SecurCoreSC210四种类型。6.StrongARM和XScale系列InterStrongARMSA-1100处理器是32位RISC微处理器;XScale处理器采用ARMv5TE体系结构,支持16位Thumb指令和DSP指令。7.ARMCortex系列包含ARMCortex-A、ARMCortex-R和ARMCortex-M三款处理器,集成了Thumb-2指令集。ARM微处理器系列232.3Cortex系列微处理器2004年,ARM公司发布ARMv7架构的Cortex系列处理器Cortex是ARM的新一代处理器内核,全新开发,不向前兼容。Cortex系列处理器不区分ARM标准指令和Thumb指令,采用Thumb-2指令集。Thumb-2技术是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。24Cortex系列微处理器分类Cortex-A(Application)基于ARMv7-A体系结构用于高性能开放应用程序平台,支持操作系统:Symbian(诺基亚智能手机用)、Linux、微软的WindowsCE和智能手机操作系统WindowsMobileCortex-R(Real-time)基于ARMv7-R体系结构用于实时性要求的高端嵌入式系统,如高级轿车组件,大型发电机控制器,机器手臂控制等Cortex-M(Microcontroller)基于ARMv7-M和ARMv6-M体系结构用于运行实时控制系统的小规模应用程序,面向单片机的应用25Cortex-M3是ARM公司的第一个Cortex系列处理器,具有出色的计算性能以及对事件的优异系统响应能力,适用于具有较高确定性的实时应用。Cortex-M4具有高效的信号处理功能,适用需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。Cortex-M系列处理器Cortex-M0和Cortex-M0+针对低功耗低成本微控制器产品,适合用于替代51单片机Cortex-M1是专为FPGA应用设计的。26Cortex-M4处理器

Cortex-M4处理器是32位低成本、高性能的通用微控制器内核。Cortex-M4处理器的架构是基于哈佛架构,即指令和数据各使用一条总线,所以Cortex-M4处理器对多个操作可以并行执行,加快了应用程序的执行速度。内核流水线支持3级流水和分支推测。27Cortex-M4处理器特点丰富的指令集:单指令多数据的指令集(SIMD)扩展的单周期32位的乘法累加器(MAC)饱和运算指令以及单精度浮点运算指令浮点运算能力有独立的浮点单元(FPU)较大的存储空间片上闪存高达1M字节内嵌SRAM高达196K字节灵活的静态存储控制器(FSMC)运行速度快高速系统时钟频率168MHz运行时,可达到210DMIPS的处理能力更高级的外设新增了照相机接口、加密处理器,USB高速OTG接口等外设功能具有更快的通信接口、更高采样率以及带FIFO的DMA控制器中断机制优具有嵌入式中断向量控制器NVIC同样支持咬尾中断和晚到中断机制28Cortex-M4处理器特点超低功耗具有深睡眠模式以及多达240个唤醒中断的唤醒中断控制器可关闭FPU降低功耗。具有高度可配置性芯片制造商自行决定NVIC设计实际支持的可编程中断优先级的数量存储器保护单元(MPU)是可选的,由芯片制造商决定是否使用JTAG和SWD调试接口是可选的,支持最多8个断点和4个察看点,也由具体的芯片设计决定是否使用。兼容性强不仅兼容Cortex-M3,和其他的ARM处理器也具有很强的兼容性。29Cortex-M4处理器包含:处理器内核嵌套向量中断控制器(NVIC)系统时钟(SYSTICK)可选的浮点单元(FPU)内部总线系统可选的存储器保护单元(MPU)支持软件调试操作的一组部件Cortex-M4处理器

内核体系结构30思考与练习ARMCortex-M4处理器有哪些优点?ARMCortex-M4处理器由哪些部分组成?STM32MCU系列产品有哪些分类?其中STM32F407属于哪一类?根据STM32芯片的命名规则说明STM32F407ZGT6包含了哪些芯片信息?313、STM32系列微控制器PartThree第1章认识STM32嵌入式系统Cortex处理器和STM32的关系MCU中的CPU333、STM32系列微控制器3.1STM32系列微控制器3.2STM32时钟系统3.3STM32最小系统343.1STM32系列微控制器ST公司的32位产品系列STM32,覆盖超低功耗、超高性能方向,具有系列全、型号多、资料丰富等优点,得到非常广泛的应用。STM32目前提供18大产品线(F0,G0,F1,F2,F3,G4,F4,F7,H7,MP1,L0,L1,L4,L4+,L5,U5,WB,WL),超过1000个型号35STM32产品36STM32MCU的命名规则STM32F407ZGT6?37STM32F4xx微控器的系统架构主系统由32位多层AHB总线矩阵构成主控总线被控总线38总线矩阵用于主控总线之间的访问仲裁管理,仲裁采用循环调度算法。STM32F407的引脚封装39STM32F407内部功能结构图403.2STM32时钟系统在嵌入式系统开发设计中,芯片内部的时钟系统是开发者必须要熟练掌握的内核和任何片上外设都需要时钟的驱动,在开发设计中需要清晰的了解时钟系统的配置方法。STM32的时钟系统为了适应不同的频率需求,需要支持多种频率,其时钟系统比51单片机要复杂很多。41STM32F4的时钟树结构STM32有5个时钟源:HSI、HSE、LSI、LSE、PLL42STM32F4的时钟源HSIHSI是高速内部时钟,由内部16MHzRC振荡器生成可直接用作系统时钟,或者用作为PLL的输入。优点是成本较低(无需使用外部组件),启动速度比HSE晶振快其精度不及外部晶振或陶瓷谐振器。HSEHSE是高速外部时钟可接外部晶振/陶瓷谐振器,也可接外部用户时钟源可直接用作系统时钟,或者用作为PLL的输入。频率范围为4MHz~26MHz精度非常高。43STM32F4的时钟源LSILSI是低速内部时钟,RC振荡器可作为低功耗时钟源在停机和待机模式下保持运行,供独立看门狗(IWDG)和自动唤醒单元(AWU)使用。可作为实时时钟外设(RTC)的时钟源。时钟频率在32kHz左右。LSELSE是低速外部时钟,接频率为32.768kHz的晶振或陶瓷谐振器可作为实时时钟外设(RTC)的时钟源来提供时钟/日历或其它定时功能具有功耗低且精度高的优点。44STM32F4的时钟源PLLPLL为锁相环倍频输出,STM32F4具有两个PLL:主PLL和专用PLL。主PLL(MainPLL)由HSE或HSI振荡器提供时钟信号,并具有两个不同的输出时钟:第一个用于生成高速系统时钟(最高达168MHz),第二个用于生成USBOTGFS的时钟(48MHz)、随机数发生器的时钟(48MHz)和SDIO时钟(48MHz)。专用PLL(PLLI2S)用于生成精确时钟,从而在I2S接口实现高品质音频性能。45STM32F4系统时钟(SYSCLK)的选择系统时钟SYSCLK是提供STM32中绝大部分部件工作的时钟源,可来源于三个时钟源:HSI、HSE、PLL在系统复位后,默认系统时钟为HSI。STM32F407的SYSCLK时钟最大168MHz46STM32F4的时钟输出STM32共有两个微控制器时钟输出(MCO)引脚,可以选择一个时钟信号输出到MCO引脚上:MCO1引脚(PA8),可选择时钟源:HSI、LSE、HSE、PLL

MCO2引脚(PC9),可选择时钟源:HSE、PLL、系统时钟、PLLI2SCLK47STM32F4的总线时钟以太网PTP时钟是使用系统时钟AHB时钟经过SYSCLK时钟分频得来,最大频率为168MHzAPB2高速时钟、APB1低速时钟经过AHB时钟分频得来,最大频率分别为168MHz、84MHz483.3STM32最小系统最小系统是指仅包含必需的元器件,仅可运行最基本软件的简化系统,也就是用最少的元件组成,但可以工作的系统。无论多么复杂的嵌入式系统,都可以认为是由最小系统和扩展功能组成。最小系统是嵌入式系统硬件设计中复用率最高,也是最基本的功能单元。典型的最小系统包括:STM32微控制器芯片、电源、调试接口、复位电路、时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论