新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32單片機硬件關鍵基礎精華及注意事項

        STM32單片機硬件關鍵基礎精華及注意事項

        作者: 時間:2012-09-06 來源:網絡 收藏


         如何獲得高精度的RTC

        本文引用地址:http://www.104case.com/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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永嘉县| 施甸县| 佛教| 文安县| 岐山县| 顺昌县| 化德县| 隆回县| 台江县| 巴彦淖尔市| 温宿县| 永济市| 池州市| 双流县| 叙永县| 尉氏县| 颍上县| 青冈县| 肥东县| 原阳县| 邢台县| 黔南| 紫阳县| 仲巴县| 绍兴县| 沙田区| 韩城市| 邹城市| 兴安盟| 犍为县| 伊宁县| 聊城市| 弥勒县| 建湖县| 北海市| 黎平县| 宜川县| 策勒县| 灵武市| 牙克石市| 梁河县|