ARM嵌入基础应用 11_第1页
ARM嵌入基础应用 11_第2页
ARM嵌入基础应用 11_第3页
ARM嵌入基础应用 11_第4页
ARM嵌入基础应用 11_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第2章STM32F103微控制器与实验平台作者:黄克亚2025年5月本章概要CONTENTSSTM32F103微控制器电源模块电路扩展模块电路IO模块电路开发板总体概况核心板电路2.1STM32F103微控制器基于ARMCortex-M3内核的STM32F103微控制器讲解嵌入式原理及其应用方法。2.1STM32F103微控制器STM32F103系列芯片是ST公司较早推出的一款32位微控制器,拥有很高的性价比,主要用于电机控制、工业智能控制、医疗设备、计算机外围终端和全球定位系统等。其主要特性如下:2.1.1STM32F103功能特性01集成了32位的ARMCortex-M3内核,最高工作频率可达72MHz;02具有512KB片内FLASH存储器和64KB片内SRAM存储器;05具有睡眠、停止、待机三种低功耗工作模式;03内部集成了8MHz晶体振荡器,可外接4~16MHz时钟源;042.0V~3.6V单一供电电源,具有上电复位功能(POR);06144管脚LQFP封装(薄型四侧引脚扁平封装);2.1STM32F103微控制器2.1.1STM32F103功能特性07内部集成了11个定时器:2个基本,4个通用,2个高级,2个看门狗,1个SysTick。082个12位的DAC和3个12位的ADC;11集成了13个外部通信接口:2个I2C、3个SPI、1个CAN、5个UART、1个USB和1个SDIO;09集成了内部温度传感和实时时钟RTC;10具有112根高速通用输入输出口(GPIO),PA~PG口,每个端口16个引脚;1212通道的DMA控制器,支持定时器、ADC、DAC、SDIO、I2S、SPI、I2C和UART外设;13具有96位的全球唯一编号;14工作温度为-40~85℃。2.1.2STM32F103系统架构2.1STM32F103微控制器STM32F103系统架构:主要由4个驱动单元和4个被动单元构成,它们彼此之间通过一个多级的AHB(高性能总线)构架相互连接。其中,4个驱动单元是内核数据总线、系统总线、通用DMA1、通用DMA2;4个被动单元是内部SRAM、内部闪存存储器和连接所APB(高级外设总线)设备的AHB到APB桥。2.1.2STM32F103系统架构2.1STM32F103微控制器总线说明:ICode总线:该总线将Cortex-M3内核指令总线和闪存指令接口相连,指令预取在此总线上完成。DCode总线:该总线将Cortex-M3内核的DCode总线与闪存存储器的数据接口连接,常量加载和调试访问在此总线上完成。System总线:该总线连接Cortex-M3内核的系统总线(外设总线)到总线矩阵。DMA总线:该总线将DMA的AHB主控接口与总线矩阵相连。总线矩阵:总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁。AHB/APB桥:这两个桥在AHB和2个APB总线间提供同步连接,APB1操作速度限于36MHz,APB2操作于全速(最高72MHz)。2.1.3STM32F103内部结构2.1STM32F103微控制器STM32F103ZET6内部结构(详细信息参见数据手册P12)2.1.4STM32F103存储器映射2.1STM32F103微控制器STM32F1存储空间功能表存储器是微控制器最重要的功能单元之一,是众多存储单元的集合。存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程称为存储器映射,如果再分配一个地址就叫重映射。Cortex-M3是32位处理器内核,32位总线矩阵寻址空间是232B=4GB。在STM32F103芯片内部,程序存储器、数据存储器、寄存器和I/O端口排列在同一个顺序的4GB地址空间内。序号用途地址范围Block0Code0x00000000~0x1FFFFFFF(512MB)Block1SRAM0x20000000~0x3FFFFFFF(512MB)Block2片上外设0x40000000~0x5FFFFFFF(512MB)Block3FSMC的bank1~bank20x60000000~0x7FFFFFFF(512MB)Block4FSMC的bank3~bank40x80000000~0x9FFFFFFF(512MB)Block5FSMC寄存器0xA0000000~0xBFFFFFFF(512MB)Block6未使用0xC0000000~0xDFFFFFFF(512MB)Block7Cortex-M3内部外设0xE0000000~0xFFFFFFFF(512MB)2.1.4STM32F103存储器映射2.1STM32F103微控制器STM32F103存储器映射(更多详细信息参见数据手册P40)2.1.5STM32F103时钟树2.1STM32F103微控制器时钟源:HSI(HighSpeedInside)高速内部时钟,RC振荡器,频率为8MHz。可以直接作为系统时钟或者用作PLL输入HSE(HighSpeedExternal)高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。实验平台连接的是8MHz晶振,HSE也可以直接作为系统时钟或者PLL输入。LSI(LowSpeedInside)低速内部时钟,RC振荡器,频率约为40kHz。为独立看门狗和自动唤醒单元提供时钟。LSE(LowSpeedExternal)低速外部时钟,接频率为32.768kHz的石英晶体。这个主要是RTC的时钟源。PLL(PhaseLockedLoop)锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。2.1.5STM32F103时钟树2.1STM32F103微控制器STM32F103微控制器时钟系统,(更多详细信息参见中文参考手册P56~59)5个时钟源,分别为HSI、HSE、LSI、LSE、PLL。从时钟频率来分可以分为高速时钟源和低速时钟源。高速时钟:HSI、HSE、PLL;低速时钟:LSI、LSE。从来源可分为外部时钟源和内部时钟源。外部时钟源:就是从外部通过连接晶振的方式获取时钟源,其中HSE和LSE是外部时钟源,内部时钟源:HSI、LSI、PLL。2.1.5STM32F103时钟树2.1STM32F103微控制器时钟源是如何给各个外设以及系统提供时钟:MCO是STM32的一个时钟输出I/O(PA8),该时钟可以用来给外部其他系统提供时钟源,也可以用于时钟系统测试。这里是RTC时钟源。从时钟系统图可以看出C处USB的时钟是来自PLL时钟源。D处就是STM32的系统时钟SYSCLK,是供STM32中绝大部分部仵工作的时钟源。系统时钟可选择为PLL输出、HSI或者HSE,最大频率为72MHz。这里的E处是指其他所有外设。从时钟图上可以看出,其他所有外设的时钟最终来源都是SYSCLK。SYSCLK通过AHB分频器分频后送给各模块使用AHB总线、内核、内存和DMA使用的高速时钟HCLK。通过8分频后送给Cortex的系统定时器时钟,也就是SysTick。直接送给Cortex的自由运行时钟FCLK。送给APB1分频器。APB1分频器输出一路供APB1外设使用。送给APB2分频器。APB2分频器分频输出一路供APB2外设使用。2.1.6STM32F103引脚定义2.1STM32F103微控制器ST32F103ZET6芯片引脚图STM32F103ZET6引脚大体上分为三类,分别为电源引脚、GPIO引脚和系统功能引脚,引脚分布如右图所示,功能定义表见附录E,使用方法将在后续章节详细介绍。2.2开发板总体概况作者自主设计教材配套星火嵌入式开发板(F103),以便于项目验证和教学演示。2.2.1开发板设计背景2.1STM32F103微控制器量身定做,简单实用,包含51单片机经典项目,适合嵌入式入门。自主设计芯片功能强大,产品线丰富,传统的Proteus+Keil仿真教学模式无法适应。仿真教学功能复杂、价格较贵、适合嵌入式开发工程技术人员。网上购买嵌入式系统开发是一门实践性很强的专业课,必须通过大量的实验才能较好地掌握其系统资源。实践需要原创产品简单、实用、价格不贵2.2.2开发板总体介绍2.2开发板总体概况开发板PCB布局图参数尺寸:16.8cm×12.0cm,板层:双面布线、顶层安装,普通工艺。功能板载ISP下载器,提供JTAG接口,包含嵌入式学习经典项目特点简单实用、性价比高、适合32位单片机初学者入门与提高。2.2.2开发板总体介绍2.2开发板总体概况开发板PCB布线图2.3电源模块为开发板各模块提供电能。2.3.1电源模块原理图2.3电源模块开发板电源模块原理图实验平台采用双电源供电方式:一种方式为USB接口供电方式;一种方式为火牛接口供电方式。两个供电电路采用并联的方式,实验时只要接入一个电源即可。火牛接口USBB型口2.4核心板电路核心板电路就是单片机最小系统电路加上ISP(InSystemProgramming)下载电路,也就是让微控制器运行起来,并可在线更新程序。2.4.1芯片电源电路2.4核心板电路芯片电源电路芯片供电:采用3.3V供电,芯片的11个VDD引脚连接至+3.3V,11个VSS引脚连接至GNDADC模块:ADC模块电源VDDA和AD转换参考电源VREF+均取自系统3.3V主电源,并经一个10Ω电阻R9隔离。备用电源模块:实验平台的备用电源为一钮扣电池,选用CR1220型号,供电电压为3V,用于对实时时钟以及备份存储器进行供电。2.4.2CPU滤波电路2.4核心板电路CPU滤波电路为保证CPU供电可靠稳定,在芯片所有的电源引脚VDD和VSS之间加上滤波电容。CPU滤波电路采用了8个0.1μF的电容(C12-C19)并联为CPU电源提供滤波功能。2.4.3外接晶振模块2.4核心板电路外接晶振电路系统主晶振Y2,频率为8MHz,为STM32内核提供振荡源实时时钟晶振Y3,频率为32.768kHz,为RTC模块提供振荡源主晶振两端外接22pF对地微调电容RTC晶振两端外接15pF对地微调电容2.4.4复位电路2.4核心板电路开发板复位电路接通电源,R5和C20构成RC充电电路,对系统进行上电复位,复位持续时间由R5电阻值和C20容值乘积决定,一般情况电阻取10kΩ,电容取10μF可以满足复位要求。按钮RST可以实现按键复位,当需要复位时按下RST按钮,RSET引脚直接接地,CPU即可进入复位状态。2.4.5串口通信模块2.4核心板电路串口通信模块和启动设置电路串口通信模块,其核心为CH340G芯片,是一个USB总线的转接芯片,实现USB转串口或者USB转打印口。在串口方式下,CH340G提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将串口设备直接升级到USB总线。CH340G芯片正常工作时需要在XI和XO外接12MHz晶振,并在其两端连接2个对地微调电容。CH340G芯片采用5V电源供电,并在V3引脚与地之间跨接一下0.1uF的退耦电容。2.4.6启动设置电路2.4核心板电路启动方式与引脚对应表启动模式选择引脚启动模式说明BOOT1BOOT0×0从用户闪存启动这是正常的工作模式01从系统存储器启动启动的程序功能由厂家设置11从内置SRAM启动这种模式可以用于调试STM32三种启动模式对应的存储介质均是芯片内置:(1)用户闪存,即芯片内置的Flash。(2)SRAM,即芯片内置的RAM区,就是内存。(3)系统存储器,即芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,这个区域的内容在芯片出厂后不能够修改或擦除,即是一个ROM区。如实验平台启动设置电路所示,BOOT0引脚连接至PNP型三极管TP1的发射极,且在TP1的集电极和发射极之间跨接一个100kΩ电阻R7,BOOT1引脚通过100kΩ电阻R8接地。由于BOOT1引脚始终为低电平,由上表可知,芯片启动方式仅由其复位时BOOT0的电平状态决定,低电平从用户闪存启动,高电平从系统存储器启动。2.4.7JTAG接口2.4核心板电路JTAG接口实验平台推荐使用ISP电路实现程序下载和串口通信,但ISP电路在调试程序时并不方便,为了便于已经拥有调试器的读者调试下载程序,开发板设计了一个20针的标准JTAG(JointTestActionGroup)接口,其支持JTAG和SWD(SerialWireDebug)两种接连接方式。2.5IO模块电路主要介绍实验平台的输入和输出设备,这些设备是实验平台的基础设备,也是学习嵌入式系统的首先需要掌握的接口技术。2.5.1LED指示灯模块2.5IO模块电路实验平台共设置8个LED指示灯,采用共阳接法,即8个LED指示灯L1~L8的阳极经限流电阻R10~R17接系统的3.3V电源,8个LED指示灯的阴极接CPU的PC0~PC7。2.5.2按键模块2.5IO模块电路实验平台共设置5个输入按键,5个按键的一端并联接地,另外一端由CPU的GPIO控制,具体为KEY1~KEY4接PE0~PE3,KEY5接PE6。2.5.3数码管模块2.5IO模块电路实验平台共设置6个共阳数码管,采用动态扫描方式控制,为实现上述控制方法,需要将所有数码管的笔画位(a,b,c,d,e,f,g,dp,共8个笔画引脚)并联,每一个数码管的公共端(3和8引脚),由一个PNP三极管控制,可以将该数码管打开或关闭。数码管位选信号由PE15~PE10控制,段选信号由PG0~PG7控制。2.5.4蜂鸣器模块2.5IO模块电路实验平台配备一个无源蜂鸣器BUZ1作为系统报警或是演奏简单曲目使用,由PNP三极管Q7控制其导通或是关闭。三极管的基极由微控制器的PC8引脚控制,通过控制该GPIO引脚的信号频率和持续时间就可以控制蜂鸣器发出不同声音以及发音时间的长短。2.5.5OLED显示屏电路2.5IO模块电路OLED显示屏是利用有机发光二极管制成的显示屏。共有6个引脚,其中1号脚为GND,连接系统电源的地线;2号脚为VCC,连接系统的+5V电源;3号脚SCL为SPI接口的时钟线,连接CPU的PD6引脚;4号脚SDA为SPI接口的数据线,连接CPU的PD7;5号脚RES为OLED的复位线,连接CPU的PD4;6号脚DC为SPI接口的数据/命令选择线,连接CPU的PD5。2.6扩展模块电路主要介绍实验平台提供的基本外设扩展电路、典型传感器应用电路和GPIO引脚外接电路等内容。2.6.1温度传感器2.6扩展模块电路DS18B20是常用的数字温度传感器,其输出的是数字

温馨提示

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

评论

0/150

提交评论