新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > STM32单片机硬件关键基础精华及注意事项

STM32单片机硬件关键基础精华及注意事项

作者:时间:2012-09-06来源:网络收藏


 如何获得高精度的RTC

本文引用地址:http://www.eepw.com.cn/article/170908.htm

  使用Pierce振荡器,原理图及重要参数如下:

如何获得高精度的RTC

三个步骤选择一个合适的LSE

  第一步:增益裕量(Gainmargin)计算

  选择一个晶振(参考MCU的数据手册确定晶振的频率)

  计算晶振的增益裕量(Gainmargin)并检查其是否大于5:

  如果Gainmargin《 5,说明这不是一个合适的晶振,应当再挑选一个低ESR值和低CL值的晶振,重新第一步。如果Gainmargin》 5,进行第二步。

  第二步:外部负载电容的计算

  计算CL1和CL2的值,并检查标定为该计算值的电容是否能在市场上获得。如果能找到容值为计算值的电容,则晶振可以在期望的频率正常起振。然后转到第三步。

  如果找不到容值为计算值的电容:

  该应用对频率要求很高,你可使用一个可变电容并将其调整到计算值,然后转到第三步。如果对频率的要求不是特别苛刻,选择市场上能获得的电容中容值距计算值最近的电容。

  第三步:驱动级别及外部电阻的计算

  计算驱动级别DL并检查其是否大于DLcrystal:

  如果DL《 DLcrystal,没必要使用外部电阻,祝贺你,你找到了合适的晶振。如果DL》 DLcrystal,你应该计算RExt 使其确保DL《 DLcrystal 并据此重新计算Gainmargin。如果Gainmargin》 5,祝贺你,你找到了合适的晶振。如果Gainmargin《 5,你别无选择,再重新挑选另外一个晶振吧。然后重新回到第一步。

  ST推荐的LSE型号

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

对于STM32?的LSE部分

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

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

  RTC的校准

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

RTC的校准

  对于32,768Hz晶振,可补偿频偏范围为:32,768Hz 《 fLSE《 32,772Hz ????调慢,设置RTC预分频寄存器RTC_PRLH / RTC_PRLL。

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

复位电路

  外部复位信号低脉冲至少保持300ns,系统复位信号不影响备份区域的工作,NRST复位引脚是CMOS工艺的开漏电路。在产生内部复位信号时,NRST引脚会输出一个低电平。

复位电路

  SWJ调试电路

  SWJ电路设计及

SWJ电路设计及注意事项

调试烧录失败的常见原因

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

  解决方法:确保目标板的最小系统正确连接,芯片能正常工作:VDD、VDDA及VSS 、VDDS已全部正确连接,复位电路能够可靠复位,各复位源不互相影响。

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

  芯片内原先烧录的代码出错,芯片上电运行,进入未定义状态,不能进入调试模式。芯片内原先烧录的代码启动了某些外设,或者将SWJ引脚配置为普通I/O口。

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

  3、芯片已被读/写保护:

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

  解决方法:先使用调试工具解除芯片的读/写保护。
电路设计

  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时钟打开,I2C 1的模式无法工作。这在STM32F10xxx的勘误表中是有描述的。

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

  1、IAR

  1)、STM32F103RBT6

  2)、STM32F103ZET6

  2、MDK

  1)、STM32F103RBT6

  2)、STM32F103ZET6

  3、Raisonance

  1)、STM32F103RBT6

  2)、STM32F103VET6

  4、ST官方的板

  1)、STM3210E-LK

  2)、STM3210B-EVAL

  3)、STM3210E-EVAL

  4)、STM3210C-EVAL

模数转换器相关文章:模数转换器工作原理


电容传感器相关文章:电容传感器原理
晶振相关文章:晶振原理
锁相环相关文章:锁相环原理
调压器相关文章:调压器原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭