STM32F3xx系列是高集成和易于開(kāi)發(fā)的32位MCU,整合了帶有DSP與FPU指令、工作頻率為72MHz的32位ARM Cortex-M4內(nèi)核、高級(jí)模擬外設(shè)以及嵌入式Flash和SRAM存儲(chǔ)器。由于實(shí)時(shí)功能、數(shù)字信號(hào)處理、低功耗與低電壓操作特性,STM32F3xx能有效處理三相電機(jī)控制器、生化和工業(yè)傳感器以及音頻濾波器等電路的混合信號(hào),可廣泛用于消費(fèi)、醫(yī)療、便攜式健身、系統(tǒng)監(jiān)控與測(cè)量的實(shí)際應(yīng)用。
時(shí)鐘方面,STM32F3xx使用兩個(gè)時(shí)鐘源:LSE采用的X1是一個(gè)32.768kHz晶振,用于嵌入式RTC;HSE采用的X2為8MHz晶振,用于STM32F3xx MCU運(yùn)行。每個(gè)時(shí)鐘源在未使用時(shí),都可單獨(dú)打開(kāi)或者關(guān)閉,以降低功耗。
1. HSE時(shí)鐘
高速外部時(shí)鐘信號(hào)(HSE)OSC時(shí)鐘有2個(gè)時(shí)鐘源:HSE外部晶振 / 陶瓷諧振器,HSE用戶外部時(shí)鐘。
圖1.HSE/LSE時(shí)鐘源
PCB布線時(shí),諧振器和負(fù)載電容必須盡可能地靠近振蕩器的引腳,以盡量減小輸出失真和起振穩(wěn)定時(shí)間。負(fù)載電容值必須根據(jù)所選振蕩器的不同做適當(dāng)調(diào)整。
(1)外部晶振/陶瓷諧振器(HSE晶振)
4-32MHz外部振蕩器的優(yōu)點(diǎn)是精度非常高。時(shí)鐘控制寄存器中的HSERDY標(biāo)志(RCC_CR)指示了HSE振蕩器是否穩(wěn)定。在啟動(dòng)時(shí),硬件將此位置1后,此時(shí)鐘才可以使用。如在時(shí)鐘中斷寄存器(RCC_CIR)中使能中斷,則可產(chǎn)生中斷。HSE晶振可通過(guò)時(shí)鐘控制寄存器(RCC_CR)中的HSEON位打開(kāi)或關(guān)閉。
(2)外部源(HSE旁路)
在此模式下,必須提供外部時(shí)鐘源,最高頻率不超過(guò)32MHz。此模式通過(guò)將時(shí)鐘控制寄存器(RCC_CR)中的HSEBYP和HSEON位置1進(jìn)行選擇。必須使用占空比為40-60%的外部時(shí)鐘信號(hào)(方波、正弦波或三角波)來(lái)驅(qū)動(dòng)OSC_IN引腳,具體取決于頻率,同時(shí)OSC_OUT引腳可用作GPIO。
2. LSE時(shí)鐘
LSE晶振是32.768kHz低速外部晶振或陶瓷諧振器,可作為實(shí)時(shí)時(shí)鐘(RTC)的時(shí)鐘源來(lái)提供時(shí)鐘/日歷或其它定時(shí)功能,具有功耗低且精度高的優(yōu)點(diǎn)。LSE晶振通過(guò)備份域控制寄存器(RCC_BDCR)中的LSEON位打開(kāi)和關(guān)閉。使用備份域控制寄存器(RCC_BDCR)中的LSEDRV[1:0]位,可在運(yùn)行時(shí)更改晶振驅(qū)動(dòng)強(qiáng)度,以實(shí)現(xiàn)穩(wěn)健性、短啟動(dòng)時(shí)間和低功耗之間的最佳平衡。備份域控制寄存器(RCC_BDCR)中的LSERDY標(biāo)志指示了LSE晶振是否穩(wěn)定。在啟動(dòng)時(shí),硬件將此位置1后,LSE晶振輸出時(shí)鐘信號(hào)才可以使用。如在時(shí)鐘中斷寄存器(RCC_CIR)中使能中斷,則可產(chǎn)生中斷。在此模式下,必須提供外部時(shí)鐘源,最高頻率不超過(guò)1MHz。此模式通過(guò)將備份域控制寄存器(RCC_BDCR)中的LSEBYP和LSEON位置1進(jìn)行選擇。必須使用占空比約為50%的外部時(shí)鐘信號(hào)(方波、正弦波或三角波)來(lái)驅(qū)動(dòng)OSC32_IN引腳,同時(shí)OSC32_OUT引腳可用作GPIO。
3. HSI時(shí)鐘
HSI時(shí)鐘信號(hào)由內(nèi)部8MHz RC振蕩器生成,可直接用作系統(tǒng)時(shí)鐘(SYSCLK),或者用作PLL輸入。HSI RC振蕩器的優(yōu)點(diǎn)是成本較低(無(wú)需使用外部元件)。此外,其啟動(dòng)速度也要比HSE晶振塊,但即使校準(zhǔn)后,其頻率精度也不及外部晶振或陶瓷諧振器。因?yàn)樯a(chǎn)工藝不同,不同芯片的RC振蕩器頻率也不同,ST對(duì)每個(gè)器件進(jìn)行出廠校準(zhǔn),達(dá)到TA= 25℃時(shí)1%的精度。此外,可將HSI時(shí)鐘接至MCO復(fù)用器。時(shí)鐘可連接至F30x中定時(shí)器16的輸入及F37x中定時(shí)器14的輸入,以允許用戶校準(zhǔn)振蕩器。
4. LSI時(shí)鐘
低速內(nèi)部RC時(shí)鐘(LSI RC)頻率約為40kHz(30kHz到60kHz之間)。LSI時(shí)鐘可作為低功耗時(shí)鐘源在停機(jī)和待機(jī)模式下保持運(yùn)行,用于驅(qū)動(dòng)獨(dú)立看門狗(IWDG)和RTC,也可選擇提供給RTC用于停機(jī)/待機(jī)模式下的自動(dòng)喚醒。
圖2.STM32F30x微控制器參考原理圖
5.選型參考
下表是STM32F303VCT/358VCT6、STM32F373VCT6/378VCT6外圍元器件參考數(shù)據(jù)。其中,前三項(xiàng)為必備項(xiàng),其他為備選元器件。
STM32F3xx系列MCU外圍元器件配置參考數(shù)據(jù)
BOM中,32kHz石英晶振用于LSE,頻點(diǎn)為32.768kHz,兩個(gè)匹配電容選擇10pF的MLCC電容器,無(wú)需匹配電阻。8MHz石英晶振用于HSE,兩個(gè)匹配電容C14、C15選擇20pF的MLCC電容器,匹配電阻R4選擇390Ω,具體應(yīng)以晶振參數(shù)和涉及要求為準(zhǔn)。