您当前的位置:五五电子网电子知识单片机-工控设备综合-其它基于 ARM Cortex-M3内核的STM32系列处理器解决方案 正文
基于 ARM Cortex-M3内核的STM32系列处理器解决方案

基于 ARM Cortex-M3内核的STM32系列处理器解决方案

点击数:7110 次   录入时间:03-04 11:36:41   整理:http://www.55dianzi.com   综合-其它

      退出STOP省电模式的操作

      1、退出停止模式:

      以WFI进入时:任意外部中断线的中断;

      以WFE进入时:任意外部中断线的事件;

      不包括PVD和USB唤醒事件。

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



www.55dianzi.com

 如何获得高精度的RTC

    STM32使用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型号

      对于STM32™的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晶振,可补偿频偏范围:

5676

    复位电路

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

复位电路

      SWJ调试电路

      SWJ电路设计及注意事项

SWJ电路设计及注意事项

    调试烧录失败的常见原因

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

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

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

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

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

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

    调试工具不能读写芯片内置的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时钟打开,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] 


本文关键字:处理器  解决方案  综合-其它单片机-工控设备 - 综合-其它