ACC簡介
HICK時(shí)鐘校準(zhǔn)器(ACC)利用OTGFS作為設(shè)備時(shí)產(chǎn)生的SOF信號(hào)作為參考信號(hào)達(dá)到校準(zhǔn)HICK的目的,SOF信號(hào)為主機(jī)發(fā)給設(shè)備其周期為1ms的脈沖信號(hào)。 ACC控制器采用“跨越回歸”算法,可以將HICK頻率盡可能校準(zhǔn)到靠近目標(biāo)頻率。
圖1. ACC控制器架構(gòu)
ACC功能解析
主要特性
ACC控制器具備如下特性:
校準(zhǔn)HICK,已達(dá)到對(duì)OTGFS設(shè)備提供48MHz±0.25%精度的時(shí)鐘
SOF標(biāo)志可選擇來源:OTGFS1或者OTGFS2
可配置的觸發(fā)校準(zhǔn)功能的邊界頻率
兩種校驗(yàn)方式:粗校驗(yàn)和精校驗(yàn)
狀態(tài)標(biāo)志:校準(zhǔn)就緒標(biāo)志和SOF參考信號(hào)丟失標(biāo)志
帶標(biāo)志的中斷源:校準(zhǔn)就緒標(biāo)志中斷源和SOF參考信號(hào)丟失標(biāo)志中斷源
中斷請求
擁有兩個(gè)中斷請求源:校準(zhǔn)就緒中斷源和SOF參考信號(hào)丟失中斷源
表1. ACC中斷源
當(dāng)設(shè)置了對(duì)應(yīng)的使能位,當(dāng)產(chǎn)生了對(duì)應(yīng)的中斷,就會(huì)進(jìn)入對(duì)應(yīng)的中斷處理函數(shù)。
圖2. ACC中斷示意圖
校準(zhǔn)原理
首先需要了解到,如果系統(tǒng)使用的是HICK作為系統(tǒng)時(shí)鐘源,而本身ACC模塊又是對(duì)HICK進(jìn)行校準(zhǔn),那么此時(shí)整個(gè)系統(tǒng)是不具備校準(zhǔn)條件的,因?yàn)闆]有一個(gè)準(zhǔn)確的參考信號(hào)作為校準(zhǔn)的基準(zhǔn),所以就引入了OTGFS的SOF信號(hào)。 SOF信號(hào)是外部主機(jī)提供的,主機(jī)將準(zhǔn)確的SOF信號(hào)(1ms周期)給到設(shè)備(待校準(zhǔn)系統(tǒng)),然后ACC模塊采樣SOF信號(hào),并進(jìn)行一系列的計(jì)算達(dá)到判定HICK是否準(zhǔn)確,如若發(fā)現(xiàn)HICK不準(zhǔn)確那么就會(huì)進(jìn)行校準(zhǔn)動(dòng)作。
SOF周期信號(hào):1毫秒的周期性必須是準(zhǔn)確的,是自動(dòng)校準(zhǔn)模塊能夠正常工作的前提條件;
SOF信號(hào)通過PA8輸出,如下圖:
圖3. SOF信號(hào)示意圖
cross-return策略(跨越回歸算法):計(jì)算出離理論值最近的校準(zhǔn)值; 從理論上來說,可以將校準(zhǔn)后的實(shí)際頻率調(diào)校到離目標(biāo)頻率(8MHz)約0.5個(gè)step的精度范圍以內(nèi)。
圖4. 跨越回歸算法示意圖
如上圖所示,一旦觸發(fā)自動(dòng)校準(zhǔn)的條件滿足,自動(dòng)校準(zhǔn)就會(huì)按照step所規(guī)定的步長調(diào)整HICKCAL或者HICKTRIM。
跨越(cross):
在滿足自動(dòng)校驗(yàn)的條件后的第一個(gè)1毫秒采樣周期內(nèi)的實(shí)際采樣值要么小于C2,要么大于C2。 當(dāng)這個(gè)值小于C2,自動(dòng)校準(zhǔn)按照step的定義,增加HICKCAL或者HICKTRIM,直到實(shí)際采樣值比C2大,實(shí)現(xiàn)實(shí)際采樣值由小到大對(duì)C2的跨越。
當(dāng)這個(gè)值大于C2,自動(dòng)校準(zhǔn)按照step的定義,減少HICKCAL或者HICKTRIM,直到實(shí)際采樣值比C1小,實(shí)現(xiàn)實(shí)際采樣值由大到小對(duì)C2的跨越。
回歸(return):
在跨越完成后,比較在跨越前后的實(shí)際采樣值和C2之間的差值(按絕對(duì)值計(jì)算),得到離C2最近的實(shí)際采樣值,從而得到最佳的校驗(yàn)值HICKCAL或者HICKTRIM。
若跨越后的實(shí)際采樣值和C2之間的差值小于跨越前的實(shí)際采樣值和C2之間的差值,則以跨越后的校驗(yàn)值為準(zhǔn),并結(jié)束校驗(yàn)流程,直到滿足下一個(gè)滿足自動(dòng)校驗(yàn)的條件。
若跨越后的實(shí)際采樣值和C2之間的差值大于跨越前的實(shí)際采樣值和C2之間的差值,則以跨越前的校驗(yàn)值為準(zhǔn),那么校驗(yàn)值會(huì)退回一個(gè)step,并返回到跨越前的那個(gè)校驗(yàn)值,并結(jié)束校驗(yàn)流程,直到滿足下一個(gè)滿足自動(dòng)校驗(yàn)的條件。
按照cross-return策略,在理論上,可以得到離中心頻率約0.5個(gè)step所對(duì)應(yīng)的頻率精度。
如下四種情形會(huì)啟動(dòng)自動(dòng)校準(zhǔn):
CALON的上升沿(從0到1);
當(dāng)CALON=1時(shí),參考信號(hào)丟失之后又恢復(fù);
當(dāng)采樣計(jì)數(shù)器的值小于C1;
當(dāng)采樣計(jì)數(shù)器的值大于C3。
在CALON的上升沿,即便采樣計(jì)數(shù)器的值大于C1并小于C3,也會(huì)啟動(dòng)自動(dòng)校準(zhǔn),其目的在于,在CALON之后,能夠盡快將HICK的頻率調(diào)整到中心頻率的0.5個(gè)step以內(nèi)。
以上四種情形的自動(dòng)校準(zhǔn)的結(jié)果均能將HICK的頻率調(diào)整到中心頻率的0.5個(gè)step以內(nèi)。 所以為了獲得最佳的校準(zhǔn)精度,建議將step保持為默認(rèn)值1。 若將step設(shè)為0,則HICKCAL或者HICKTRIM將無法改變,也即,無法校準(zhǔn)。
ACC配置解析
以下對(duì)ACC的配置接口及流程進(jìn)行說明。
函數(shù)接口
表2. 配置函數(shù)列表
配置流程
系統(tǒng)以HICK作為系統(tǒng)時(shí)鐘源,并打開ACC時(shí)鐘;
OTG_FS以HICK為時(shí)鐘源并初始化OTGFS;
使能ACC相關(guān)中斷;
配置C1/C2/C3值;
選擇SOF源;
使能ACC并選擇粗校驗(yàn)或者精校驗(yàn)。
案例 ACC校準(zhǔn)HICK
功能簡介
實(shí)現(xiàn)了使用ACC模塊將HCIK校準(zhǔn)在要求的精度內(nèi)。
資源準(zhǔn)備
硬件環(huán)境:
對(duì)應(yīng)產(chǎn)品型號(hào)的AT-START BOARD
軟件環(huán)境
projectat_start_f4xxexamplesacccalibration
軟件設(shè)計(jì)
配置流程
開啟ACC/OTGFS外設(shè)時(shí)鐘
配置OTGFS設(shè)備和ACC模塊
開啟ACC
代碼介紹
main函數(shù)代碼描述
中斷處理函數(shù)
實(shí)驗(yàn)效果
如若HICK時(shí)鐘偏離正常值,ACC將自動(dòng)啟動(dòng)校準(zhǔn)(前提是OTGFS設(shè)備與主機(jī)成功連接),校準(zhǔn)完成后在中斷函數(shù)內(nèi)會(huì)翻轉(zhuǎn)LED2; 產(chǎn)生SOF信號(hào)丟失后也會(huì)進(jìn)入對(duì)應(yīng)中斷函數(shù)內(nèi)翻轉(zhuǎn)LED3。
審核編輯:湯梓紅
-
控制器
+關(guān)注
關(guān)注
112文章
16332瀏覽量
177806 -
時(shí)鐘
+關(guān)注
關(guān)注
10文章
1733瀏覽量
131446 -
ACC
+關(guān)注
關(guān)注
1文章
57瀏覽量
22746 -
雅特力
+關(guān)注
關(guān)注
0文章
157瀏覽量
8004 -
AT32
+關(guān)注
關(guān)注
1文章
113瀏覽量
2090
原文標(biāo)題:AT32講堂051 | 雅特力AT32F435/437 ACC使用指南
文章出處:【微信號(hào):AT32 MCU 雅特力科技,微信公眾號(hào):AT32 MCU 雅特力科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論