arm单片机知识S.docx

上传人:b****6 文档编号:5682037 上传时间:2022-12-31 格式:DOCX 页数:9 大小:602.18KB
下载 相关 举报
arm单片机知识S.docx_第1页
第1页 / 共9页
arm单片机知识S.docx_第2页
第2页 / 共9页
arm单片机知识S.docx_第3页
第3页 / 共9页
arm单片机知识S.docx_第4页
第4页 / 共9页
arm单片机知识S.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

arm单片机知识S.docx

《arm单片机知识S.docx》由会员分享,可在线阅读,更多相关《arm单片机知识S.docx(9页珍藏版)》请在冰豆网上搜索。

arm单片机知识S.docx

arm单片机知识S

STM32的一些情况简介

如何保证ADC精度之STM32的ADC

  共有最多3个ADC模块,最多21个ADC输入通道

  特性

  12位分辨率

  自校准

  转换结束,注入转换结束和发生模拟看门狗事件时产生中断

  带内嵌数据一致的数据对齐

  非常丰富的操作模式

  双重模式(带2个或以上ADC的器件)

  ADC转换时间:

  1μs:

ADC时钟为14MHz时达到最快

  14个时钟周期,转换周期可调:

14、20、26、41、54、68、84、252

  ADC供电要求:

2.4V~3.6V

  ADC输入范围:

VREF-≤VIN≤VREF+

  规则通道转换期间有DMA请求产生

VDD与VDDA的处理

  供电引脚

  STM32共有7种封装规格,共有多组VDD/VSS引脚,以及一组VDDA/VSSA引脚。

尽管所有VDD和所有VSS在内部相连,在芯片外部仍然需要连接上所有的VDD和VSS。

因为导线较细,内部连接负载能力较差,抗干扰的能力也较差,如果漏接VDD或VSS,容易造成内部线路损坏,同时抗干扰能力下降。

  VDD与VSS的去藕电容

  每对VDD与VSS都必须在尽可能靠近芯片处分别放置一个10nF~100nF的高频瓷介电容。

在靠近VDD3和VSS3的地方放置一个4.7μF~10μF的钽电容或瓷介电容。

VDD与VDDA的关系

  VDDA为所有的模拟电路部分供电,包括:

 ADC模块,复位电路,PVD(可编程电压监测器),PLL,上电复位(POR)和掉电复位(PDR)模块,控制VBAT切换的开关等。

即使不使用ADC功能,也需要连接VDDA,强烈建议VDD和VDDA使用同一个电源供电。

VDD与VDDA之间的电压差不能超过300mV,VDD与VDDA应该同时上电或调电。

如何达到最优功耗水准

  低功耗模式

I/O引脚的处理

  1、如果需要减小I/O端口的电流消耗,可以根据具体情况配置I/O端口的状态:

  输入端口?

?

?

?

配置为浮空输入,带外部上拉的输出端口?

?

?

?

配置为推挽输出并输出’1’,,带外部下拉的输出端口?

?

?

?

配置为推挽输出并输出’0’。

2、未用的内部外设:

  保持为关闭和默认的复位状态:

  不要进行重映射,复位寄存器RCC_APB1RSTR和RCC_APB2RSTR。

关闭对应的时钟,时钟使能寄存器:

RCC_AHBENR、RCC_APB2ENR和RCC_APB1ENR。

进入SLEEP模式的省电操作

  1、为了降低系统功耗,进入SLEEP模式时,执行如下操作流程:

  关闭无需等待中断或事件的外设时钟;设置进入机制(Sleep-Now或Sleep-on-Exit);设置系统进入SLEEP模式。

  2、退出睡眠模式的方式:

  WFI(等待中断),可由任一外设中断触发,WFE(等待事件),可由任一外设事件触发。

  进入STOP省电模式的操作

  为了降低系统功耗,进入STOP模式的操作流程:

  关闭设置为普通IO功能的GPIO口时钟;

  关闭已开启时钟的外设的使能位(尤其是ADC、DAC、USB等带模拟模块的外设);

  关闭已开启时钟的外设的时钟;

  关闭预取缓冲区,并将Flash等待周期置为0;

  设置PWR_CR中LPDS位选择电压调节器的模式:

  正常模式:

电压调节器处于正常供电状态;

  低功耗模式:

可降低电压调节器自身的功耗,

  将MCU从STOP模式唤醒的时间有所增加;

  设置系统进入STOP模式。

  退出STOP省电模式的操作

  1、退出停止模式:

  以WFI进入时:

任意外部中断线的中断;

  以WFE进入时:

任意外部中断线的事件;

  不包括PVD和USB唤醒事件。

2、从STOP模式恢复后,时钟的配置返回到复位时的状态(系统时钟为HSI),用户程序必须重新配置整个时钟系统,包括PLL。

ST推荐的LSE型号

  对于STM32™的LSE部分,推荐使用CL《7pF的晶振(过大的CL会导致过大的gmcrit,从而无法保证足够的增益裕量)。

RTC是一个计数器,对输入时钟分频、计数、比较

RTC的校准

  设置BKP_RTCCR寄存器,每220(1048576)个时钟周期中,减去相应周期数,每个单位能实现0.954(1000000/220)ppm的精度校准,BKP_RTCCR寄存器取值范围0-127,时钟可以调慢0-121ppm。

对于32,768Hz晶振,可补偿频偏范围为:

32,768Hz《fLSE《32,772Hz?

?

?

?

调慢,设置RTC预分频寄存器RTC_PRLH/RTC_PRLL。

  例如:

由预设值32768调整为32766,再设置BKP_RTCCR寄存器,此时,对于32,768Hz晶振,可补偿频偏范围:

复位电路

  外部复位信号低脉冲至少保持300ns,系统复位信号不影响备份区域的工作,NRST复位引脚是CMOS工艺的开漏电路。

在产生内部复位信号时,NRST引脚会输出一个低电平。

 SWJ调试电路

  SWJ电路设计及注意事项

调试烧录失败的常见原因

  1、目标芯片没有正确连接,不能正常工作:

  解决方法:

确保目标板的最小系统正确连接,芯片能正常工作:

VDD、VDDA及VSS、VDDS已全部正确连接,复位电路能够可靠复位,各复位源不互相影响。

  2、芯片内原先烧录的代码影响了新的调试操作:

  芯片内原先烧录的代码出错,芯片上电运行,进入未定义状态,不能进入调试模式。

芯片内原先烧录的代码启动了某些外设,或者将SWJ引脚配置为普通I/O口。

  解决方法:

选择芯片的BOOT0/BOOT1引脚从RAM启动,或先擦除芯片内代码。

、芯片已被读/写保护:

  调试工具不能读写芯片内置的Flash。

解决方法:

先使用调试工具解除芯片的读/写保护。

STM32硬件电路设计注意事项

  STM32的基本系统主要涉及下面几个部分:

  1、电源

  1)、无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA、VSSA、Vref(如果封装有该引脚)都必需要连接,不可悬空;

2)、对于每组对应的VDD和GND都应至少放置一个104的陶瓷电容用于滤波,并接该电容应放置尽量靠近MCU;

2、复位、启动选择

  1)、Boot引脚与JTAG无关。

其仅是用于MCU启动后,判断执行代码的起始地址;

  2)、在电路设计上可能Boot引脚不会使用,但要求一定要外部连接电阻到地或电源,切不可悬空;

3、调试接口

  4、ADC

  1)、ADC是有工作电压的,且与MCU的工作电压不完全相同。

MCU工作电压可以到2.0V~3.6V,但ADC模块工作的电压在2.4V~3.6V。

设计电路时需要注意。

  5、时钟

  1)、STM32上电默认是使用内部高速RC时钟(HSI)启动运行,如果做外部时钟(HSE)切换,外部时钟是不会运行的。

因此,判断最小系统是否工作用示波器检查OSC是否有时钟信号,是错误的方法;

2)、RTC时钟要求使用的32.768振荡器的寄生电容是6pF,这个电容区别于振荡器外部接的负载电容;

5、GPIO

  1)、IO推动LED时,建议尽量考虑使用灌电流的方式。

2)、在Stop等低功耗模式下,为了更省电,通常情况下建议GPIO配置为带上拉的输出模式,输出电平由外部电路决定;

 6、FSMC

  1)、对应100pin或144pin,FSMC的功能与I2C是存在冲突的,如果FSMC时钟打开,I2C1的硬件模式无法工作。

这在STM32F10xxx的勘误表中是有描述的。

  ST官方推荐的几大主流开发板的原理图,在画电路的时候可以做为参考依据:

 

(本资料素材和资料部分来自网络,仅供参考。

请预览后才下载,期待您的好评与关注!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1