第四章-第一节-ARM硬件平台课件

PPT
  • 阅读 94 次
  • 下载 0 次
  • 页数 84 页
  • 大小 13.543 MB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
第四章-第一节-ARM硬件平台课件
可在后台配置第一页与第二页中间广告代码
第四章-第一节-ARM硬件平台课件
可在后台配置第二页与第三页中间广告代码
第四章-第一节-ARM硬件平台课件
可在后台配置第三页与第四页中间广告代码
第四章-第一节-ARM硬件平台课件
第四章-第一节-ARM硬件平台课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 84
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】第四章-第一节-ARM硬件平台课件.ppt,共(84)页,13.543 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92629.html

以下为本文档部分文字说明:

第四章ARM硬件系统第一节STM32微控制器必备资料Cortex-M3权威指南-经典M3教程指导STM32F10xDATASHEET–器件参数ReferenceManual参考手册—芯片使用方法www.st.com意法半导体官网

www.winsilicon.com.cnST代理商论坛STM32F103VBT6STM32F103VBT6基本特性:内核:ARM32位的Cortex™-M3CPU−最高72MHz工作频率存储器−

128K字节的闪存程序存储器−高达16K字节的SRAM时钟、复位和电源管理−2.0~3.6伏供电(I/O引脚)−上电/断电复位(POR/PDR)、可编程电压监测器(PVD)−4~16MHz晶体振荡器−内嵌经出厂调校

的8MHz的RC振荡器−内嵌带校准的40kHz的RC振荡器−产生CPU时钟的PLL−带校准功能的32kHzRTC振荡器低功耗−睡眠、停机和待机模式−VBAT为RTC和后备寄存器供电STM32F103VB睡眠模式在睡眠模式

下,CPU时钟处于停止状态,但是所有的外设继续运行,除非它们被关闭。电源功耗相应地减少。任一中断或唤醒事件可将微处理器从睡眠模式中唤醒。在睡眠模式下,所有的SRAM和寄存器内的内容被保存下来。停止模式停止模式是

在Cortex-M3的睡眠模式基础上结合了外设的时钟控制机制,在停止模式下电压调节器可运行在正常或低功耗模式。此时在1.8V供电区域的的所有时钟都被停止,PLL、HIS和HSERC振荡器的功能被禁止,SRAM和寄存器内容被保

留下来。在停止模式下,通过设置电源控制寄存器(PWR_CR)使内部调节器进入低功耗模式,能够降低更多的功耗。待机模式待机模式可实现系统的最低功耗。该模式是在Cortex-M3深睡眠模式时关闭电压调节器。整

个1.8V供电区域被断电。PLL、HSI和HSE振荡器也被断电。SRAM和寄存器内容丢失。只有备份的寄存器和待机电路维持供电。RTC可以在不需要依赖外部中断的情况下唤醒低功耗模式下的微控制器(电池供电

)。2个12位模数转换器−转换范围:0至3.6V−双采样和保持功能−温度传感器外部接口DMA:−7通道DMA控制器−支持的外设:定时器、ADC、SPI、I2C和USART80个I/O端口(100pins)−26/37/51/80个I/O口,所有I/O口可以映像到16个外部中

断;几乎所有端口均可接受5V信号外部接口调试模式−串行单线调试(SWD)和JTAG接口7个定时器−3个16位定时器−1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器−2个看门狗定时器(

独立的和窗口型的)−系统时间定时器:24位自减型计数器(systick)外部接口9个通信接口−2个I2C接口−3个USART接口−2个SPI接口(18M位/秒)−CAN接口(2.0B主动)−USB2.0全速接口外部接口再议

GPIO口回顾:什么是GPIO?GPIO,英文全称为General-PurposeIOports,也就是通用IO口。嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号。而且,许多这样的设备/电

路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭。对这些设备/电路的控制,使用传统的串行口或并行口都不合适。所以在微控制器芯片上一般都会提供一个“通用可编程IO接口”,即GPIO。二、STM32F103GPIO1、PA~PE,共五组GPIO2

、Px0~Px15,每组16位,即16个管脚3、端口复用,并支持重映射IO口的基本结构Example:端口配置寄存器端口配置低寄存器(GPIOx_CRL)(x=A..E)偏移地址:00h复位值:4

4444444h用于配置每组端口中的低8位端口当I/O端口配置为输入时:􀁺输出缓冲器被禁止􀁺施密特触发输入被激活􀁺根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接􀁺出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存

器􀁺对输入数据寄存器的读访问可得到I/O状态当I/O端口被配置为输出时:􀁺输出缓冲器被激活─开漏模式:输出寄存器上的0激活N-MOS,而输出寄存器上的1将端口置于高阻状态(P-MOS从不被激活)。─推挽

模式:输出寄存器上的0激活N-MOS,而输出寄存器上的1将激活P-MOS。􀁺弱上拉和下拉电阻被禁止􀁺出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器─在开漏模式时,对输入数据寄存器的读访问可得到I/O状态─在推挽式模式时,对输出数据寄存器的读访问得到最后一

次写的值。当I/O端口被配置为复用功能时:􀁺在开漏或推挽式配置中,输出缓冲器被打开􀁺内置外设的信号驱动输出缓冲器(复用功能输出)􀁺密特触发输入被激活􀁺弱上拉和下拉电阻被禁止􀁺在每个APB2时钟周期,出现在I/O脚

上的数据被采样到输入数据寄存器􀁺开漏模式时,读输入数据寄存器时可得到I/O口状态􀁺在推挽模式时,读输出数据寄存器时可得到最后一次写的值。跑马灯实验硬件资源分配:PC6----PC9分别连到4个

LED,定义为LED1~4需将端口配置为输出模式跑马灯实验控制过程点亮LED相应管脚输出高电平即相应管脚置1管脚如何控制?特殊寄存器(端口配置寄存器)控制GPIO端口用到的寄存器有:两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据

寄存器(GPIOx_IDR,GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个32位复位寄存器(GPIOx_BRR)一个32位锁定寄存器(GPIOx_LCKR)。端口配置寄存器端口配置

低寄存器(GPIOx_CRL)(x=A..E)偏移地址:00h复位值:44444444h用于配置每组端口中的低8位端口端口配置高寄存器(GPIOx_CRH)(x=A..E)偏移地址:04h复位值:44444444h用于配置每组端口中的高8位端口例:配置端口C的第6,7

,8,9管脚为:1、通用推挽输出2、输出速度为50MHzGPIOC->CRL=0x33000000GPIOC->CRH=0x00000033端口输入数据寄存器(GPIOx_IDR)(x=A..E)地址偏移:08h复位值:0000

0000h端口输出数据寄存器(GPIOx_ODR)(x=A..E)地址偏移:0Ch复位值:00000000h端口位设置/复位寄存器(GPIOx_BSRR)(x=A..E)地址偏移:10h复位值:0000000

0h端口位复位寄存器(GPIOx_BRR)(x=A..E)地址偏移:14h复位值:00000000h例:要求在以上配置的基础上,读出GPIOC管脚的状态,并将其状态反转temp=GPIOC->ODR;GPIOC->ODR=~temp;GPIOC->OD

R=~GPIOC->ODRif((GPIOx->ODR&GPIO_Pin)!=(u32)Bit_RESET){bitstatus=(u8)Bit_SET;}else{bitstatus=(u8)

Bit_RESET;}returnbitstatus;if(bitstatus!=RESET){GPIOx->BSRR=GPIO_Pin;}else{GPIOx->BRR=GPIO_Pin;}端口配置锁定寄存器(GPIOx_LCKR)(x=A..E)当执行正确的写序列设置了位16(

LCKK)时,该寄存器用来锁定端口位的配置。位[15:0]用于锁定GPIO端口的配置。在规定的写入操作期间,不能改变LCKP[15:0]。当对相应的端口位执行了LOCK序列后,在下次系统复位之前将不能再更改端口位的配置。每个锁定位锁定控制寄存器(CRL,CRH)中相应的

4个位。地址偏移:18h复位值:00000000h控制过程点亮LED相应管脚输出高电平即相应管脚置1管脚如何控制?特殊寄存器(端口配置寄存器)写入相应值即可控制定位特殊寄存器存储器地址系统总线构架四个主动单元:Cortex-M3内核的ICode总线(I-bus)、DC

ode总线(D-bus)、System总线(S-bus)和通用DMA(GP-DMA)。三个被动单元:内部SRAM、内部Flash存储器、AHB到APB的桥(AHB2APBx,连接所有的APB设备)。总线I

Code总线该总线将Cortex-M3内核的指令总线与Flash指令接口相连接。指令预取在此总线上完成DCode总线该总线将Cortex-M3内核的DCode总线与闪存存储器的数据接口相连接(常量加载和调试访问)。系统总线连接内核的系统总线(外设总线

)到总线矩阵,总线矩阵协调着内核和DMA间的访问。总线矩阵此总线矩阵由三个驱动部件(CPU的DCode、系统总线和DMA总线)和三个被动部件(闪存存储器接口、SRAM和AHB2APB桥)构成。AHB外设通过总线矩阵与系统

总线相连,允许DMA访问外设寄存器求法#definePERIPH_BASE((u32)0x40000000)寄存器地址=总线基址+外围总线基址+外设地址偏移量+寄存器偏移量#defineAPB1PERIP

H_BASEPERIPH_BASE#defineAPB2PERIPH_BASE(PERIPH_BASE+0x10000)#defineAHBPERIPH_BASE(PERIPH_BASE+0x20000)#defin

eGPIOA_BASE(APB2PERIPH_BASE+0x0800)#defineGPIOB_BASE(APB2PERIPH_BASE+0x0C00)#defineGPIOC_BASE(APB2PERIPH_BASE+0x100

0)外设寄存器求法寄存器地址=总线基址+外围总线基址+外设地址偏移量+寄存器偏移量typedefstruct{vu32CRL;vu32CRH;vu32IDR;vu32ODR;vu32BSRR;vu32BRR;vu32LCKR;}GPIO_TypeDef;#def

ineGPIOC((GPIO_TypeDef*)GPIOC_BASE)GPIOC->BSRR=0x0040;GPIO_SetBits(GPIO_LED,GPIO_Pin_6);voidGPIO_SetBits(GPIO_TypeDef*GPIOx,

u16GPIO_Pin){GPIOx->BSRR=GPIO_Pin;}typedefstruct{vu32CRL;vu32CRH;vu32IDR;vu32ODR;vu32BSRR;vu32BRR;vu

32LCKR;}GPIO_TypeDef;#defineGPIO_LEDGPIOCGPIOC->BSRR=GPIO_Pin_6;#defineGPIO_Pin_6((u16)0x0040)GPIOC->BSRR=((u16)0x0040)GPIO端口复用AFIOAFIOA

lternativeFunctionIO同一管脚,不仅作为GPIO,也可作为其他特殊功能使用即同一管脚,多种应用使用默认复用功能前必须对端口位配置寄存器编程。对于复用的输入功能,端口可以配置成:─输入模式(浮空、上拉或下拉)─复用功能输出模式:输入驱动器被配置成浮空输

入模式对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏)。对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。这时,输入驱动器被配置成浮空输入模式。注意:1、如果把一端口配置成复用输出功能,将使引脚和输出寄存器断开,并和片上外设的

输出信号连接。2、如果软件把一个GPIO脚配置成复用输出功能,但是外设没有被激活,它的输出将不确定。软件重新映射I/O复用功能为了使不同器件封装的外设I/O功能的数量达到最优,可以把一些复用功能重新映射到

其他一些脚上。这可以通过软件配置相应的寄存器来完成这时,复用功能就不再映射到它们的原始引脚上了。当I/O端口被配置为复用功能时:在开漏或推挽式配置中,输出缓冲器被打开内置外设的信号驱动输出缓冲器(复用功能输出)密特触发输入被激活弱上拉和

下拉电阻被禁止在每个APB2时钟周期,出现在I/O脚上的数据被采样到输入数据寄存器例,采用串口1进行通信,进行必要AFIO的设置例,采用串口1进行通信,进行必要AFIO的设置GPIOA->CRH=0xB0;GPIOA->CRH=0x0400;或GPIOA->CRH=0x04B0;

复用重映射和调试I/O配置寄存器(AFIO_MAPR)地址:#defineAPB2PERIPH_BASE(PERIPH_BASE+0x10000)#defineAFIO_BASE(APB2PERIPH_BASE+0x0000)typedefstruct{vu32EVCR;vu32M

APR;vu32EXTICR[4];}AFIO_TypeDef;地址偏移:04h如:可以把串口1重新映射到PB6和7口AFIO->MAPR|=0x04;GPIOB->CRL=0x0B000000;GPIOB->CRL=0x40000000;或GPIOB->CRL=0x4B

000000外部中断/唤醒线所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。外部中断配置寄存器1-4(AFIO_EXTICR1-4)分别配置各个端口的外部中断方式GPIOAFIO固

件库GPIO寄存器结构以及GPIO_TypeDef和AFIO_TypeDef,在文件“stm32f10x_map.h”中定义如下:typedefstruct{vu32CRL;vu32CRH;vu

32IDR;vu32ODR;vu32BSRR;vu32BRR;vu32LCKR;}GPIO_TypeDef;typedefstruct{vu32EVCR;vu32MAPR;vu32EXTICR[4];

}AFIO_TypeDef;

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?