玩轉STM32 10 CPU的脈搏

2021-09-24 03:43:14 字數 1090 閱讀 2890

在這個振盪電路裡,你也許聽過石英晶振這個名稱,為什麼要使用它呢?物理學家在研究物質的屬性時,發現石英有乙個特性,當把石英放在乙個電場裡,石英會變長,當電場去掉後,又可以恢復原來的長度。在這個過程裡,可以把電能轉換為機械能,恢復過程時把機械能轉換為電能。如果外面定時地給這個石英乙個電場,那麼這個石英就會以這個頻率來變長,過一段時間又撤掉這個電場,石英又產生乙個反方向的電場。如果新增這個電場與石英產生的電場一致,那麼就會導致電場最高,如果相反,就是最低。通過電路產生的電場頻率與石英本身頻率一致時,就會產生最高的振幅,這樣就達到壓電諧振。因此,通過切換不同的石英就可以達到不同的頻率。

當然,也有別的電路來產生振盪的頻率,比如使用rc電路或lc電路,但是為什麼要採用石英晶振呢?原因是由它的物理特性來決定的,因為它對溫度的變化而導致頻率的變化是最小的。在cpu內部,現在很多晶元都內建乙個rc振盪器,比如在對頻率要求不嚴格的場合,就可以使用這個晶振,例如在玩具應用時,檢測快與慢就是不嚴格的,可以使用這樣的晶振。大多數情況下,我們還是使用嚴格要求的晶振,比如在高鐵裡或者實時性要求很嚴格的產品。如果對時間有嚴格要求,比如一天86400秒裡,要求萬分之一的精度,就要使用好的晶振了,否則時間就會偏差很大,因此常常在電路裡還會有乙個32.768k的晶振,這個晶振為什麼又是32.768k呢?是因為時間頻率為1hz,要產生這個頻率,必須是乙個計算機二進位制能整數表示的頻率。因為2的15次方,就是等於32768。於是cpu裡的電路把這個頻率進行分頻,經過15次分頻之後,就變成1hz了,這樣每乙個跳動就是一秒鐘。

cpu有了上面介紹的晶振電路,就可以有脈搏跳動的**,就可以週期地執行任務了。如果電路裡晶振振盪不起來,cpu就是死的,什麼也不會輸出,所以在焊接cpu之後,往往第一步檢查的就是cpu是否有振盪訊號。如果振盪頻率有偏差也會導致失速或超速。如果頻率不准,當採用這個頻率來通訊時,就會導致出錯。因為兩個通訊端頻率對應不上,理解就會出現偏差。

在我的開發板裡採用下面的原理圖表示晶振輸入:

這裡採用了25mhz頻率的晶振。

STM3210B評估板 簡述

晶元 stm32f103vbt6 通過跳線連線對應引腳 兩個 rs232 連線插座 db9 乙個 b 型 usb 插座 乙個 can 連線插座 db9 乙個 sd 卡座 主時鐘振盪器 8mhz 使用者可換 32khz 振盪器 1 個 4 16 段的 lcd 顯示模組 四個 led 發光管 一路電位器...

STM32(10) 視窗看門狗

視窗看門狗 wwdg 通常被用來監測由外部干擾或不可預見的邏輯條件造成的應用程式背離正常的執行序列而產生的軟體故障。除非遞減計數器的值在 t6 位 wwdg cr 的第六位 變成 0 前被重新整理,看門狗電路在達到預置的時間週期時,會產生乙個 mcu 復位。在遞減計數器達到視窗配置暫存器 wwdg ...

玩轉C 名字空間

一 概要 名字空間是一種描述邏輯分組的機制。也就是說,如果有一些宣告按照某種準則在邏輯上屬於同乙個集團,就可以將它們放入同乙個名字空間,以表明這個事實。名字空間就是為了表示邏輯結構。同時也避免了名字衝突。名字空間的宣告和定義 namespace namespace name ps 只有名字空間的宣告...