版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STM32的嵌入式系统原理与设计
第一章STM32基本原理主讲教师:EMAL:博客:/u/2630123921交流论坛:/bp开发板和教程:要点STM32性能和结构CortexM3处理器输入输出端口GPIO引脚、电源和时钟树模数和数模转换中断定时器DMA灵活的FSMC同步和异步串行接口3.1ARM简介ARM公司简介ARM是AdvancedRISCMachines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。3.1ARM简介ARM公司简介将技术授权给其它芯片厂商形成各具特色的ARM芯片...3.1ARM简介微处理器是整个系统的核心,通常由3大部分组成:控制单元、算术逻辑单元和寄存器。
算术逻辑单元寄存器控制单元微处理器存储器输入输出3.1ARM简介ARM处理器的应用当前主要应用于消费类电子领域;到目前为止,基于ARM技术的微处理器应用约占据了32位嵌入式微处理器75%以上的市场份额全球80%的GSM/3G手机、99%的CDMA手机以及绝大多数PDA产品均采用ARM体系的嵌入式处理器,“掌上计算”相关的所有领域皆为其所主宰。ARM技术正在逐步渗入到我们生活的各个方面。3.1ARM简介ARM体系结构ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。它具有经典RISC的特点:大的、统一的寄存器文件;装载/保存结构,数据处理操作只针对寄存器的内容,而不直接对存储器进行操作;简单的寻址模式;统一和固定长度的指令域,简化了指令的译码,便于指令流水线设计。3.1ARM简介ARM体系结构ARM体系结构的特点:每条数据处理指令都对算术逻辑单元和移位器控制,实现了ALU和移位器的最大利用;地址自动增加和减少寻址模式,优化程序循环;多寄存器装载和存储指令实现最大数据吞吐量;所有指令的条件执行实现最快速的代码执行。3.1ARM简介各ARM体系结构版本ARM体系结构从最初开发到现在有了很大的改进,并仍在完善和发展。为了清楚的表达每个ARM应用实例所使用的指令集,ARM公司定义了多种主要的ARM指令集体系结构版本,目前已经发展到了V8版本。3.1ARM简介各ARM体系结构版本—V1
该版本的ARM体系结构,只有26位的寻址空间,没有商业化,其特点为:基本的数据处理指令(不包括乘法);字节、字和半字加载/存储指令;具有分支指令,包括在子程序调用中使用的分支和链接指令;在操作系统调用中使用的软件中断指令。3.1ARM简介各ARM体系结构版本—V2
同样为26位寻址空间,现在已经废弃不再使用,它相对V1版本有以下改进:具有乘法和乘加指令;支持协处理器;快速中断模式中的两个以上的分组寄存器;具有原子性加载/存储指令SWP和SWPB。3.1ARM简介各ARM体系结构版本—V3
寻址范围扩展到32位(目前已废弃),具有独立的程序:具有乘法和乘加指令;支持协处理器;快速中断模式中具有的两个以上的分组寄存器;具有原子性加载/存储指令SWP和SWPB。3.1ARM简介各ARM体系结构版本—V4
不在为了与以前的版本兼容而支持26位体系结构,并明确了哪些指令会引起未定义指令异常发生,它相对V3版本作了以下的改进:半字加载/存储指令;字节和半字的加载和符号扩展指令;具有可以转换到Thumb状态的指令(BX);增加了用户模式寄存器的新的特权处理器模式。3.1ARM简介各ARM体系结构版本—V5
在V4版本的基础上,对现在指令的定义进行了必要的修正,对V4版本的体系结构进行了扩展并并增加了指令,具体如下:改进了ARM/Thumb状态之间的切换效率;E-增强型DSP指令集,包括全部算法操作和16位乘法操作;J-支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能。3.1ARM简介各ARM体系结构版本—V6为了满足目前无线网络、汽车电子和消费类电子产品不断增长的市场需要,ARM公司在ARMv6中引入新的技术和结构,包括增强的DSP支持和对多处理器环境的支持。
该版本的处理器包括Cortex-M0和Cortex-M1ARMv6存储系统示意图3.1ARM简介各ARM体系结构版本—V7、V8
ARMv7架构是包括Cortex-A15和Cortex-A9处理器在内的目前所有32位ARMCortex处理器产品的基础。ARMv8架构则是ARM首款加入了64位执行的架构,基于该架构的处理器能够同时拥有64位执行和32位执行的能力。ARMv8架构将ARM在功耗效率上的优良传统应用到了64位计算并将ARM处理器的适用性拓展到了许多全新的应用领域。3.1ARM简介ARM处理器核简介ARM公司开发了很多系列的ARM处理器核,目前最新的系列已经是ARM11了,而ARM6核以及更早的系列已经很罕见了。目前应用比较广泛的系列是:ARM7ARM9ARM9EARM10SecurCoreXscaleARM11Cortex预取(Fetch)译码(Decode)执行(Execute)预取(Fetch)译码(Decode)执行(Execute)访存(Memory)写入(Write)预取(Fetch)译码(Decode)发送(Issue)预取(Fetch)预取(Fetch)执行(Execute)访存(Memory)写入(Write)译码(Decode)发送(Issue)执行(Execute)转换(Snny)访存(Memory)写入(Write)ARM7ARM9ARM10ARM113.1ARM简介项目ARM7ARM9ARM10ARM11流水线3568典型频率(MHz)80150260335功耗(mW/MHz)0.060.19(+cache)0.5(+cache)0.4(+cache)性能MIPS**/MHz0.971.11.31.2架构冯诺伊曼哈佛哈佛哈佛3.1ARM简介ARM系列微处理器核特点ARM7(属于V4版)ARM7TDMI:整数处理核ARM7TDMI处理器的可综合版本;ARM720T:带MMU的处理器核心,支持操作系统;ARM7EJ-S:带有DSP和JazelleTM
技术,能够实现Java加速功能冯诺伊曼体系结构;ARMTDMI是目前应用最广的微处理器核ARM720T带有MMU和8KB的指令数据混合cache;ARM7EJ-执行ARMv5TEJ指令,5级流水线,提供Java加速指令,没有存储器保护。ARM9(属于V4版)ARM920T:带有独立的16KB数据和指令Cache;ARM922T:带有独立的8位KB数据和指令Cache;ARM940T–包括更小数据和指令Cache和一个MPU基于ARM9TDMI,带16位的Thumb指令集,增强代码密度最多到35%;在0.13µm工艺下最高性能可达到300MIPS(Dhrystone2.1测试标准);集成了数据和指令Chche;32位AMBA总线接口的MMU支持;可在0.18µm、0.15µm和0.13µm工艺的硅芯片上实现。3.1ARM简介ARM9EARM926EJ-S:Jazelle技术,有MMU,可配置的数据和指令Cache,TCM接口;ARM946E-S:可配置的数据和指令Cache及TCM;ARM966E-S:针对要求高性能和低功耗的可预测的指令执行时间的硬实时应用设计ARM968E-S:最小、功耗最小的
ARM9E系列处理器,针对嵌入式实时应用设计;ARM9E是针对微控制器、DSP和Java的单处理器解决方案;ARM
Jazelle
技术提供8倍的Java加速性能(ARM926EJ-S);5-级整数流水线;在0.13µm工艺下最高性能可达到300MIPS(Dhrystone2.1测试标准);可选择的
向量浮点单元VFP9协处理器指令优秀海浮点性能,对于3D图形加速和实时控制可达到
215MFLOPS。高性能的AHB总线,带MMU可在0.18µm,0.15µm,0.13µm工艺的硅芯片上实现。ARM10E(属于V5版)ARM1020E:带DSP指令集,在片调试功能,独立的32KB数据和指令Cache,MMU支持;ARM1022E:与ARM1020E相同,只是独立的数据和指令Cache变为16KB;ARM1026EJ-S:同时具有MPU和MMU,可综合版本;带分支预测的6级整数流水线;在0.13µm工艺下最高性能可达到430MIPS(Dhrystone2.1测试标准);对于3D图形运算和实时控制采用VFP协处理器,浮点运算性能最高可达650MFLOPS;双64位AMBA总线接口和64位内部总路线接口;优化的缓存结构提高了处理器访问低速存储器的性能;可在0.18µm,0.15µm,0.13µm工艺的硅芯片上实现3.1ARM简介ARM11(属于V6版)ARM11MPCore:可综合的多处理器核,1至4个处理器可配置;ARM1136J(F)-S:可配置的数据和指令Cache,可提供1.9位的MPEG4编码加速功能;ARM1156T2(F)-S:带集成浮点协处理器,带内存保护单元MPU
;ARM1176JZ(F)-S:带针对CPU和系统安全架构扩展的TrustZone技术。增强的Thumb、Jazelle、DSP扩展支持;带片上和系统安全TrustZone技术支持;在0.13µm工艺下最高可达到550MHz;MPCore在0.13µm工艺下最高性能可达到740MIPS(Dhrystone2.1测试标准);支持多媒体指令SIMD;采用三种电源模式:全速/待命/休眠集成DMA的TCM低功耗、高性能。SecurCoreSC100:第一个32位安全处理器;、SC110:在SC100上增加密钥协处理器;SC200:带Jazelle技术的高级安全处理器;SC210:在SC200上增加密钥协处理器SecurCore是专门为智能卡、安全IC提供的32位安全处理器,为电子商务、银行、网络、移动多媒体、公共交通提供安全解决方案;体积小、功耗低,代码压缩密度高;为快速增长的Java卡平台提供Java加速功能;3.1ARM简介CortexCortex-A:面向应用的微处理器,针对复杂操作系统和应用程序设计;Cortex-R:针对实时系统的嵌入式处理器;Cortex-M:针对成本敏感应用优化的深度嵌入式处理器;2004年发布,提供增强的媒体和数字处理能力,增加了系统性能;支持ARM、Thumb、Thumb-2指令集;Thumb-2指令集提供了更高的代码存储密度,进一步降低成本;Intel系列StrongARM:ARMv4体系XScale:ARMv5TE体系,增加MMX指令StrongARM主要应用于手持设备和PDA,5级流水线,具有独立的数据和指令Cache,不支持Thumb指令集,目前已停产;XScale是目前Intel公司主推的高性能嵌入式处理器,分通用处理器、网络处理器和I/O处理器三类。其中通用处理器有PXA25x、PXA26x、PXA27x三个系列,被广泛应用于智能手机、PDA领域。3.1ARM简介ARM架构(或版本)与具体处理器的关系第一章STM32基本原理学习STM32需要从原理入手,为硬件、软件、操作系统、工程实践学习打下一个良好的基础。本章的第一部分是STM32的性能和结构,然后是对CortexM3处理器的分析,之后是地址映射、引脚功能描述、电源连接、复位和时钟控制RCC、输入输出端口GPIO、ADC和DAC、中断、DMA、定时器、同步串行通信SPI和I2C、同步异步串行通信USART,最后是灵活的存储器控制FSMC。通过本章的学习,既可以掌握STM32的全貌,也可以学习到重要的关于CortexM3处理器内核和STM32器件的细节信息1.1STM32性能和结构
1.1.1总体性能以高密度的STM32F103VET6为例,能适合一般项目的需要,价格在30元以下,避免由于FLASH和RAM太小造成的瓶颈。VET6的含义为:V的含义为100pins,即100个管脚。E表示512KB的FLASH。T表示LQFP封装。6表示-40到85度的温度范围。1.1STM32性能和结构
1.1.2系统结构分析
1.1STM32性能和结构
1.1.2系统结构分析
(1)Cortex-M3CPU所在之处,是司令部是大脑。(2)总线矩阵
(3)FLASH通过FLASH接口连接CPU。
(4)静态存储器SRAM通过总线矩阵连接CPU。
(5)复位和时钟控制RCC。
(6)低速APB1外设。(7)低速APB2外设。(8)可变静态存储控制器FSMC。
(9)DMA通道。
1.1STM32性能和结构
1.1.3芯片封装和管脚概述
1.2CortexM3处理器
1.2.1Cortex-M3的定位和应用
从图1.2.1可见,嵌入式处理器核CortexM3,容量(Capability)和执行功能(PerformanceFunctionality)都居中,但其性价比是当今最好的品种之一,也是现在最流行的品种之一。
1.2CortexM3处理器
1.2.2Cortex-M3处理器结构
1.2CortexM3处理器
1.2.2Cortex-M3处理器结构
1.2CortexM3处理器
1.2.3Cortex-M3寄存器
1.2CortexM3处理器
1.2.3Cortex-M3寄存器
1.2CortexM3处理器
1.2.3Cortex-M3寄存器
特殊功能寄存器1.2CortexM3处理器
1.2.3Cortex-M3寄存器
1.2CortexM3处理器
1.2.4堆栈
1.2CortexM3处理器
1.2.4堆栈
1.3STM32存储地址映射存储地址映射P12图1-71.3STM32存储地址映射
1.3STM32存储地址映射代码分析,P13代码1-2到1-6说明如何访问串口寄存器来实现发送数据到串口1.4引脚功能描述引脚功能来源于数据手册,注意复用功能1.6复位和时钟控制RCC
复位分三种形式,电源复位、系统复位和备份区域复位。1.6.1复位1.6复位和时钟控制RCC
通常,STM32主频在72M,而外时钟选择8M,因此必须通过倍频获得。1.6.2时钟源1.6复位和时钟控制RCC
时钟树图解了各个设备时钟的来源。参考P19页图1-11STM32时钟树。问题:STM32定时器1是APB2外设,请从晶振开始,分析器定时器1时钟的来源。那么定时器2呢?1.7输入输出端口GPIO
1.7.1常规输入输出GPIO
GPIO是可编程输入/输出端口1.7输入输出端口GPIO
1.7.1常规输入输出GPIO
GPIO端口的模式是输入浮空,为什么这样设计?1.7输入输出端口GPIO
1.7.2GPIO复用可以将具有复用功能的引脚的功能进行重新配置,例如配置一些管脚为ADC的管脚,这些管脚就不能再作为GPIO使用。这个过程叫做复用重映射。
8个ADC通道的选择过程见P21-22。1.8模数转换器和数模转换器
1.8.1模-数转换器(ADC)1.模数转换器框图分析P23图1-13。2.常规通道和注入通道。3.参考源。1.8模数转换器和数模转换器
1.8.2数-模转换器(DAC)1.数模转换器框图分析P24图1-15。2.参考源。3.信号发生器功能。1.9中断中断处理的优越性现实生活中的中断的例子中断嵌套,现实生活中的中断嵌套STM32的先占优先级和从优先级嵌入式操作系统与中断的关系1.9中断
1.9.1STM32的中断通道和中断向量处理1.STM32中断通道。表1-8中的中断通道分析2.启动代码设置中断向量表代码1-7分析3.复位中断的处理代码1-8分析1.9中断
1.9.2STM32外部中断STM32外部中断的来源。分析P29图1-16,说明全部中断输入线的来源。是否可以用PA0和PB0同时作为外部中断?是否可以用PA0和PB1同时作为外部中断?为什么?1.9中断
1.9.3STM32中断优先级分组优先级越高,数值越低!抢占优先级相同的任务,响应优先级高的先响应,但不能互相抢占;抢占优先级不同的,可以抢占低优先级的CPU。分析(P30)串口和按键中断的例子,假设将优先级互换会产生什么样的结果呢?1.10直接存储器存取DMA直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速的无需CPU干预的数据传输。1.10DMA
1.10.1DMA解析1.图1-17DMA框图解析2.从内存到外设或从外设到内存的DMA传输。3.传输申请和仲裁。1.10DMA
1.10.2DMA通道和请求1.DMA通道分配 P32表1-10和表1-112.仲裁机制的作用和功能。3.通道号和优先级。
P33图1-18.1.11定时器
1.11.1系统滴答定时器SysTick1.SysTic定时器的位置和功能2.SysTic定时器的4个寄存器表1-12表1-153.SysTic定时器编程(寄存器级别)。
P36代码1-10.4.SysTic定时器编程(库函数级别)。
P36代码1-11.
库函数实现原理P36代码1-12
1.11定时器
1.11.2STM32常规定时器STM32的常规定时器分为三类,包括1.高级控制定时器TIM1和TIM82.通用定时器TIM2、TIM3、TIM4、TIM53.基本定时器TIM6、TIM7三种定时器功能P39表1-16
1.12同步串行口SPI和I2C
1.12.1SPI串行外设接口SPI(SerialPeripheralInterface)是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信、交换信息。
常SPI通过4个引脚与外部器件相连:1.12同步串行口SPI和I2C
1.12.1SPISPI时钟周期在一个SPI时钟周期内,会完成如下操作:1)主机通过MOSI线发送1位数据,从机通过该线读取这1位数据;2)从机通过MISO线发送1位数据,主机通过该线读取这1位数据。这个SPI时钟周期,就是SCK
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年全球玻璃棉行业供需趋势及未来发展策略分析报告
- 2024-2030年全球及中国超声波驱鼠器行业销售动态及竞争趋势预测报告
- 2024-2030年全球及中国肺模拟器行业发展前景及投资趋势预测报告
- 2024-2030年全球及中国生物样品袋行业运营动态及投资前景预测报告
- 2024-2030年全球及中国橡胶内衬消防软管行业产销形势及供应情况预测报告
- 2024-2030年全球及中国捆扎分配器行业竞争态势及发展前景预测报告
- 2024-2030年全球及中国尺寸测量工具行业销售动态及竞争前景预测报告
- 2024-2030年全球及中国商用台下式洗杯机行业需求态势及竞争格局分析报告
- 2024-2030年全球及中国助睡眠喷雾行业营销动态及盈利前景预测报告
- 2024-2030年全球及中国PVC游戏垫行业竞争态势及销售渠道策略报告
- 预防早恋 早婚早育
- 广西壮族自治区桂林市2023-2024学年七年级上学期期末数学试题(无答案)
- 拆除钢结构安全施工方案
- 国际仲裁和调解案例分析
- GB/T 43333-2023独立型微电网调试与验收规范
- 心理健康教育主题班会课件(共38张)
- 五年级上册《劳动与技术》期中期末复习测试卷(附答案)
- 了解世界各大宗教的信仰
- 《社会调查研究与方法》课程复习题-课程ID-01304试卷号-22196
- 一例缝线伤口延迟愈合患者的个案护理体会
- 商务写作与外贸函电-第二版-习题答案
评论
0/150
提交评论