STM32單片機硬件關(guān)鍵基礎精華及注意事項
如何獲得高精度的RTC本文引用地址:http://dyxdggzs.com/article/170908.htm
STM32使用Pierce振蕩器,原理圖及重要參數如下:
三個(gè)步驟選擇一個(gè)合適的LSE
第一步:增益裕量(Gainmargin)計算
選擇一個(gè)晶振(參考MCU的數據手冊確定晶振的頻率)
計算晶振的增益裕量(Gainmargin)并檢查其是否大于5:
如果Gainmargin《 5,說(shuō)明這不是一個(gè)合適的晶振,應當再挑選一個(gè)低ESR值和低CL值的晶振,重新第一步。如果Gainmargin》 5,進(jìn)行第二步。
第二步:外部負載電容的計算
計算CL1和CL2的值,并檢查標定為該計算值的電容是否能在市場(chǎng)上獲得。如果能找到容值為計算值的電容,則晶振可以在期望的頻率正常起振。然后轉到第三步。
如果找不到容值為計算值的電容:
該應用對頻率要求很高,你可使用一個(gè)可變電容并將其調整到計算值,然后轉到第三步。如果對頻率的要求不是特別苛刻,選擇市場(chǎng)上能獲得的電容中容值距計算值最近的電容。
第三步:驅動(dòng)級別及外部電阻的計算
計算驅動(dòng)級別DL并檢查其是否大于DLcrystal:
如果DL《 DLcrystal,沒(méi)必要使用外部電阻,祝賀你,你找到了合適的晶振。如果DL》 DLcrystal,你應該計算RExt 使其確保DL《 DLcrystal 并據此重新計算Gainmargin。如果Gainmargin》 5,祝賀你,你找到了合適的晶振。如果Gainmargin《 5,你別無(wú)選擇,再重新挑選另外一個(gè)晶振吧。然后重新回到第一步。
ST推薦的LSE型號
對于STM32™的LSE部分,推薦使用CL《7pF的晶振(過(guò)大的CL會(huì )導致過(guò)大的gmcrit,從而無(wú)法保證足夠的增益裕量)。
RTC是一個(gè)計數器,對輸入時(shí)鐘分頻、計數、比較
RTC的校準
設置BKP_RTCCR寄存器,每220(1048576)個(gè)時(shí)鐘周期中,減去相應周期數,每個(gè)單位能實(shí)現0.954(1000000/220) ppm的精度校準,BKP_RTCCR寄存器取值范圍0-127,時(shí)鐘可以調慢0 -121 ppm。
對于32,768Hz晶振,可補償頻偏范圍為:32,768Hz 《 fLSE《 32,772Hz ????調慢,設置RTC預分頻寄存器RTC_PRLH / RTC_PRLL。
例如:由預設值32768調整為32766,再設置BKP_RTCCR寄存器,此時(shí),對于32,768Hz晶振,可補償頻偏范圍:
復位電路
外部復位信號低脈沖至少保持300ns,系統復位信號不影響備份區域的工作,NRST復位引腳是CMOS工藝的開(kāi)漏電路。在產(chǎn)生內部復位信號時(shí),NRST引腳會(huì )輸出一個(gè)低電平。
SWJ調試電路
SWJ電路設計及注意事項
調試燒錄失敗的常見(jiàn)原因
1、目標芯片沒(méi)有正確連接,不能正常工作:
解決方法:確保目標板的最小系統正確連接,芯片能正常工作:VDD、VDDA及VSS 、VDDS已全部正確連接,復位電路能夠可靠復位,各復位源不互相影響。
2、芯片內原先燒錄的代碼影響了新的調試操作:
芯片內原先燒錄的代碼出錯,芯片上電運行,進(jìn)入未定義狀態(tài),不能進(jìn)入調試模式。芯片內原先燒錄的代碼啟動(dòng)了某些外設,或者將SWJ引腳配置為普通I/O口。
解決方法:選擇芯片的BOOT0/BOOT1引腳從RAM啟動(dòng),或先擦除芯片內代碼。
3、芯片已被讀/寫(xiě)保護:
調試工具不能讀寫(xiě)芯片內置的Flash。
解決方法:先使用調試工具解除芯片的讀/寫(xiě)保護。
STM32硬件電路設計注意事項
STM32的基本系統主要涉及下面幾個(gè)部分:
1、電源
1)、無(wú)論是否使用模擬部分和AD部分,MCU外圍出去VCC和GND,VDDA、VSSA、Vref(如果封裝有該引腳)都必需要連接,不可懸空;
2)、對于每組對應的VDD和GND都應至少放置一個(gè)104的陶瓷電容用于濾波,并接該電容應放置盡量靠近MCU;
2、復位、啟動(dòng)選擇
1)、Boot引腳與JTAG無(wú)關(guān)。其僅是用于MCU啟動(dòng)后,判斷執行代碼的起始地址;
2)、在電路設計上可能Boot引腳不會(huì )使用,但要求一定要外部連接電阻到地或電源,切不可懸空;
3、調試接口
4、ADC
1)、ADC是有工作電壓的,且與MCU的工作電壓不完全相同。MCU工作電壓可以到2.0V~3.6V,但ADC模塊工作的電壓在2.4V~3.6V。設計電路時(shí)需要注意。
5、時(shí)鐘
1)、STM32上電默認是使用內部高速RC時(shí)鐘(HSI)啟動(dòng)運行,如果做外部時(shí)鐘(HSE)切換,外部時(shí)鐘是不會(huì )運行的。因此,判斷最小系統是否工作用示波器檢查OSC是否有時(shí)鐘信號,是錯誤的方法;
2)、RTC時(shí)鐘要求使用的32.768振蕩器的寄生電容是6pF,這個(gè)電容區別于振蕩器外部接的負載電容;
5、GPIO
1)、IO推動(dòng)LED時(shí),建議盡量考慮使用灌電流的方式。
2)、在Stop等低功耗模式下,為了更省電,通常情況下建議GPIO配置為帶上拉的輸出模式,輸出電平由外部電路決定;
6、FSMC
1)、對應100pin或144pin,FSMC的功能與I2C是存在沖突的,如果FSMC時(shí)鐘打開(kāi),I2C 1的硬件模式無(wú)法工作。這在STM32F10xxx的勘誤表中是有描述的。
ST官方推薦的幾大主流開(kāi)發(fā)板的原理圖,在畫(huà)電路的時(shí)候可以做為參考依據:
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
模數轉換器相關(guān)文章:模數轉換器工作原理
電容傳感器相關(guān)文章:電容傳感器原理 晶振相關(guān)文章:晶振原理 鎖相環(huán)相關(guān)文章:鎖相環(huán)原理 調壓器相關(guān)文章:調壓器原理
評論