很多應(yīng)用場(chǎng)合需要檢測(cè)系統(tǒng)時(shí)鐘是否在正常范圍內(nèi),以保證MCU能正常工作,CLASS B功能安全實(shí)現(xiàn)系統(tǒng)時(shí)鐘自檢的方法是采用兩個(gè)獨(dú)立時(shí)鐘源交叉檢查來(lái)進(jìn)行測(cè)量,可使其中一個(gè)作為定時(shí)器的時(shí)鐘源,另一個(gè)作為定時(shí)器的輸入。SPIN0280含有微控制器時(shí)鐘輸出(MCO)功能,允許時(shí)鐘輸出到外部 MCO 引腳上,可以很便捷的輸出HSI內(nèi)部時(shí)鐘信號(hào)到引腳上,配置外部時(shí)鐘HSE為MCU的系統(tǒng)時(shí)鐘,使用Timer3對(duì)引腳上的HSI信號(hào)進(jìn)行捕獲,以實(shí)現(xiàn)內(nèi)部HSI和外部HSE交叉檢測(cè)的功能。
微控制器時(shí)鐘輸出(MCO)
微控制器時(shí)鐘輸出(MCO)允許時(shí)鐘輸出到外部 MCO引腳上。相應(yīng) GPIO端口的配置寄存器必須被配置為復(fù)用輸出功能。可以選擇以下五個(gè)時(shí)鐘信號(hào)中的一個(gè)作為 MCO輸出時(shí)鐘:
MCO 與時(shí)鐘源對(duì)應(yīng)關(guān)系
微控制器時(shí)鐘輸出(MCO)配置為在PA8引腳上輸出,此時(shí)PA8引腳需配置為AF0復(fù)用模式。
TIM3 通用定時(shí)器
由一個(gè)16位可實(shí)時(shí)編程預(yù)分頻器和一個(gè)16位計(jì)數(shù)方向可調(diào)的自動(dòng)裝載計(jì)數(shù)器組成,可以為用戶提供便捷的計(jì)數(shù)定時(shí)功能,計(jì)數(shù)器時(shí)鐘由預(yù)分頻器分頻得到。
TIM3具有多種用途:輸入功能(測(cè)量輸入信號(hào)的脈沖寬度、頻率,PWM輸入等),輸出功能(PWM輸出、單脈沖模式輸出等)。
本次主要使用TIM3的輸入捕獲功能,輸入捕獲部分包括數(shù)字濾波器、多路復(fù)用、預(yù)分頻器等,結(jié)構(gòu)如下:
輸入捕獲模式下,當(dāng)檢測(cè)到信號(hào)ICx上的有效邊沿后,計(jì)數(shù)器的當(dāng)前值被鎖存到對(duì)應(yīng)的影子寄存器上,再?gòu)?fù)制到對(duì)應(yīng)的捕獲比較寄存器中。當(dāng)開啟了中斷或DMA使能,發(fā)生捕獲事件時(shí),將產(chǎn)生相應(yīng)的中斷或DMA請(qǐng)求。發(fā)生捕獲事件時(shí),會(huì)將狀態(tài)寄存器(TIM3_SR)中的捕獲標(biāo)志位 CCxIF 置 1,通過(guò)配置 CCxIF=0或讀取TIM3_CCRx中的數(shù)據(jù),清除CCxIF標(biāo)志位。當(dāng)CCxIF未被清零時(shí),發(fā)生輸入捕獲事件,重復(fù)捕獲標(biāo)志位CCxOF將會(huì)被置1,通過(guò)配置CCxOF=0,可以清除CCxOF標(biāo)志位。
SPIN0280的通用定時(shí)器TIM3有4路輸入捕獲通道,本文采用TIM3_CH2對(duì)HSI進(jìn)行捕獲。
SPIN0280 Timer3捕獲內(nèi)部HSI時(shí)鐘具體步驟
1.使用外部HSE時(shí)鐘(8M)并倍頻到96M作為系統(tǒng)時(shí)鐘
2.TIM3_CH2的引腳配置,配置為PA7的AF1復(fù)用功能
3. TIM3掛載在APB1上,使能TIM3時(shí)鐘
4.配置TIM3,計(jì)數(shù)器清空,由低向高計(jì)數(shù),上升沿觸發(fā),時(shí)鐘不分頻
5. 配置MCO輸出在PA8引腳上,配置PA8為AF0復(fù)用功能,HSI信號(hào)128分頻輸出
6. 開啟TIM3的時(shí)鐘中斷,并配置NVIC和編寫中斷函數(shù)
7. 開啟Timer3外設(shè)
示例代碼如下:
示例輸出結(jié)果:
與實(shí)際硬件測(cè)試的結(jié)果相符。
審核編輯:劉清
-
微控制器
+關(guān)注
關(guān)注
48文章
7552瀏覽量
151423 -
寄存器
+關(guān)注
關(guān)注
31文章
5343瀏覽量
120365 -
數(shù)字濾波器
+關(guān)注
關(guān)注
4文章
270瀏覽量
47026 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3248瀏覽量
114800 -
預(yù)分頻器
+關(guān)注
關(guān)注
0文章
18瀏覽量
8135
原文標(biāo)題:靈動(dòng)微課堂 (第270講)|CLASS B內(nèi)部時(shí)鐘檢測(cè)在MM32SPIN0280上的實(shí)現(xiàn)
文章出處:【微信號(hào):MindMotion-MMCU,微信公眾號(hào):靈動(dòng)MM32MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論