本發(fā)明涉及芯片技術(shù)領(lǐng)域,特別涉及一種應(yīng)用于f2f(亦稱雙頻率數(shù)據(jù)、雙相位)解碼芯片中的片上時鐘校準(zhǔn)方法和裝置。
背景技術(shù):
在f2f解碼芯片中采用的理想時鐘頻率為9.216mhz,該時鐘是由內(nèi)部環(huán)形振蕩電路產(chǎn)生,但由于芯片生產(chǎn)工藝偏差以及工作環(huán)境、溫度、濕度等情況的變化會導(dǎo)致芯片時鐘不準(zhǔn),會引起以下問題:
該時鐘為芯片算法處理時鐘,如果時鐘不準(zhǔn)會導(dǎo)致算法內(nèi)部使用的濾波器頻帶范圍出現(xiàn)偏差影響解碼成功率;
該時鐘為芯片通訊接口的基準(zhǔn)時鐘,時鐘發(fā)生偏差會導(dǎo)致芯片與主控設(shè)備通訊不穩(wěn)定甚至無法通訊的情況;
基于以上情況的考慮,需要在芯片出廠之前進(jìn)行時鐘校準(zhǔn),現(xiàn)有技術(shù)的校準(zhǔn)方法是片外校準(zhǔn),其通過儀器采集輸出的環(huán)振時鐘確認(rèn)時鐘偏差再將校準(zhǔn)值寫回芯片內(nèi)部,完成校準(zhǔn)過程。
但此方法測試需要額外的芯片接口、測試設(shè)備而且每顆芯片的校準(zhǔn)時間長,增加測試成本。
技術(shù)實現(xiàn)要素:
本發(fā)明為克服現(xiàn)有技術(shù)中的缺陷而提供一種應(yīng)用于f2f(亦稱雙頻率數(shù)據(jù)、雙相位)解碼芯片中的片上時鐘校準(zhǔn)方法和裝置,以解決現(xiàn)有技術(shù)中的不足,其采用片內(nèi)校準(zhǔn)裝置,測試簡單,無需外圍電路,測試時間短,適用于大規(guī)模生產(chǎn)。
為實現(xiàn)本發(fā)明目的而提供的一種應(yīng)用于f2f解碼芯片中的片上時鐘校準(zhǔn)方法,包括如下步驟:
mcu從非易失型內(nèi)存中回讀默認(rèn)時鐘校準(zhǔn)值,并傳遞給時鐘校準(zhǔn)電路,控制時鐘校準(zhǔn)電路打開;
所述時鐘校準(zhǔn)電路在所述mcu的控制下,在所述環(huán)振電路的配合下,進(jìn)行時鐘校準(zhǔn);
將確認(rèn)時鐘校準(zhǔn)值作為默認(rèn)時鐘校準(zhǔn)值寫入到非易失型內(nèi)存中,并關(guān)閉時鐘校準(zhǔn)計算;
當(dāng)f2f解碼芯片上電時,回讀所述默認(rèn)時鐘校準(zhǔn)值,并對f2f解碼芯片輸出準(zhǔn)確的時鐘。
優(yōu)選地,所述時鐘校準(zhǔn),包括如下步驟:
mcu啟動時鐘校準(zhǔn)計算,時鐘校準(zhǔn)電路測試環(huán)振電路的時鐘頻率偏差并確認(rèn)時鐘校準(zhǔn)值;
所述時鐘校準(zhǔn)電路打開后用環(huán)振電路產(chǎn)生時鐘clk_osc去采樣外部輸入的基準(zhǔn)時鐘clk_ref進(jìn)行時鐘校準(zhǔn);
校準(zhǔn)控制可以是通過時鐘校準(zhǔn)電路產(chǎn)生的7bit校準(zhǔn)控制字輸出給所述環(huán)振電路,所述環(huán)振電路按照校準(zhǔn)控制字對應(yīng)控制環(huán)形時鐘的驅(qū)動電流大小來調(diào)整時鐘頻率clk_osc;
對于時鐘校準(zhǔn)字adj_val[6:0]的每個比特(bit)(bit[n])的計算方式一致,用環(huán)振時鐘clk_osc對參考時鐘clk_ref信號的高電平進(jìn)行計數(shù),計數(shù)值adj_cnt與基準(zhǔn)值ref_val進(jìn)入比較器comp進(jìn)行比較,會出現(xiàn)以下結(jié)果:
adj_cnt<ref_val時,bit[n]置為1,否則保持該bit值不變;
adj_cnt>ref_val時,bit[n]置為0,否則保持該bit值不變;
adj_cnt=ref_val時,則結(jié)束時鐘校準(zhǔn)過程。
優(yōu)選地,所述環(huán)振電路配合時鐘校準(zhǔn)電路,包括如下步驟:
時鐘校準(zhǔn)電路反饋的時鐘頻率控制字bit[6:0]控制一個驅(qū)動電流產(chǎn)生電路,每個比特控制一個電阻的開閉;當(dāng)全部電阻開關(guān)打開時,驅(qū)動電流最小,反之驅(qū)動電流最大;
控制環(huán)振電路調(diào)整時鐘頻率的方式是通過一個7bit的時鐘校準(zhǔn)控制字adj_val,該控制字控制著環(huán)振電路的驅(qū)動電流,電流越大產(chǎn)生的時鐘頻率越高;
時鐘校準(zhǔn)控制字adj_val的調(diào)整方法是由高至低逐bit進(jìn)行校準(zhǔn),因此在時鐘校準(zhǔn)計算流程中提到的校準(zhǔn)值計算狀態(tài)下,bit_cnt初始值為6,即從adj_val的最高位,開始進(jìn)行校準(zhǔn),直至bit_cnt為0時說明全部時鐘控制字完成校準(zhǔn);
時鐘控制字每個bit的校準(zhǔn)方法都是一樣的,就是在校準(zhǔn)值計算狀態(tài)判斷adj_cnt與ref_val的關(guān)系:
adj_cnt<ref_val時,adj_val對應(yīng)的該bit置為1;
adj_cnt>ref_val時,adj_val對應(yīng)的該bit置為0;
adj_cnt=ref_val時,adj_val不需要調(diào)整。
為實現(xiàn)本發(fā)明目的還提供一種應(yīng)用于f2f解碼芯片中的片上時鐘校準(zhǔn)裝置。
本發(fā)明一種應(yīng)用于f2f解碼芯片中的片上時鐘校準(zhǔn)方法和裝置具有如下優(yōu)點:
本發(fā)明采用片內(nèi)校準(zhǔn)裝置,在內(nèi)部加入時鐘校準(zhǔn)電路確認(rèn)時鐘偏差,時鐘校準(zhǔn)值寫在非易失型內(nèi)存(memory)中,這樣芯片每次再上電從所述非易失型內(nèi)存中回讀校準(zhǔn)值即可保證時鐘精度,測試簡單,無需外圍電路,測試時間短適用于大規(guī)模生產(chǎn)。
附圖說明
為了更清楚地說明本發(fā)明具體實施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對具體實施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施方式,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例的時鐘校準(zhǔn)電路示意圖;
圖2為本發(fā)明實施例的時鐘校準(zhǔn)過程狀態(tài)流程圖;
圖3為本發(fā)明實施例的環(huán)振電路示意圖;
圖4為本發(fā)明實施例的應(yīng)用于f2f解碼芯片中的片上時鐘校準(zhǔn)裝置結(jié)構(gòu)示意圖。
具體實施方式
如圖1-4所示,為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明了。結(jié)合具體的實施方式,對本發(fā)明進(jìn)行詳細(xì)說明。此過程中,省略了對公知結(jié)構(gòu)和技術(shù)的描述,用以避免對不必要地混淆本發(fā)明的概念。對于這些描述,只是示例性的。并不是限制本發(fā)明的范圍。
本實施例提供一種應(yīng)用于f2f解碼芯片中的片上時鐘校準(zhǔn)方法,包括如下步驟:
步驟s100,mcu(microprogrammedcontrolunit,微程序控制器)從非易失型內(nèi)存中回讀默認(rèn)時鐘校準(zhǔn)值,并傳遞給時鐘校準(zhǔn)電路,控制時鐘校準(zhǔn)電路打開;
作為一種可實施方式,所述步驟s100可以包括如下步驟:
步驟s110,在f2f解碼芯片上設(shè)置至少一非易失型內(nèi)存,所述非易失型內(nèi)存用于所述芯片的默認(rèn)時鐘校準(zhǔn)值;
步驟s120,芯片初始化階段:完成芯片上電后的初始化;
步驟s130,時鐘校準(zhǔn)值回讀;
芯片非易失內(nèi)存中保存著默認(rèn)時鐘校準(zhǔn)值,只有在完成時鐘校準(zhǔn)計算后該值才會被改寫,因此此時回讀的仍然是默認(rèn)值。
步驟140,mcu通過內(nèi)部總線接口傳遞給時鐘校準(zhǔn)電路,控制時鐘校準(zhǔn)電路打開。
步驟s200,時鐘校準(zhǔn)電路在所述mcu的控制下,在所述環(huán)振電路的配合下,進(jìn)行時鐘校準(zhǔn)。
mcu啟動時鐘校準(zhǔn)計算,時鐘校準(zhǔn)電路測試環(huán)振電路的時鐘頻率偏差并確認(rèn)時鐘校準(zhǔn)值;
作為一種可實施方式,所述時鐘校準(zhǔn)電路打開后用環(huán)振電路產(chǎn)生時鐘clk_osc去采樣外部輸入的基準(zhǔn)時鐘clk_ref進(jìn)行時鐘校準(zhǔn);
校準(zhǔn)控制可以是通過時鐘校準(zhǔn)電路產(chǎn)生的7bit校準(zhǔn)控制字輸出給所述環(huán)振電路,所述環(huán)振電路按照校準(zhǔn)控制字對應(yīng)控制環(huán)形時鐘的驅(qū)動電流大小來調(diào)整時鐘頻率clk_osc。
作為一種可實施方式,如圖1為時鐘校準(zhǔn)電路示意圖,對于時鐘校準(zhǔn)字adj_val[6:0]的每個比特(bit)(bit[n])的計算方式一致,用環(huán)振時鐘clk_osc對參考時鐘clk_ref信號的高電平進(jìn)行計數(shù),計數(shù)值adj_cnt與基準(zhǔn)值ref_val進(jìn)入比較器comp進(jìn)行比較,會出現(xiàn)以下結(jié)果:
adj_cnt<ref_val時,bit[n]置為1,否則保持該bit值不變;
adj_cnt>ref_val時,bit[n]置為0,否則保持該bit值不變;
adj_cnt=ref_val時,則結(jié)束時鐘校準(zhǔn)過程。
作為一種可實施方式,如圖2所示,所述時鐘校準(zhǔn)計算的具體操作流程,包括如下步驟:
步驟s210,空閑狀態(tài)時,不執(zhí)行時鐘校準(zhǔn)操作,為電路上電默認(rèn)狀態(tài),當(dāng)輸入的校準(zhǔn)使能信號有效時,進(jìn)入等待狀態(tài);
步驟220,等待狀態(tài)時,校準(zhǔn)電路已經(jīng)進(jìn)入校準(zhǔn)流程,正在等待基準(zhǔn)時鐘的時鐘輸入,基準(zhǔn)時鐘是通過芯片管腳持續(xù)輸入的“高電平時長31250ns,低電平時長500ns”的方波,當(dāng)基準(zhǔn)時鐘上升沿有效時,進(jìn)入采樣狀態(tài);
步驟s230,采樣狀態(tài),校準(zhǔn)電路輸入的基準(zhǔn)時鐘clk_ref始終處于高電平,校準(zhǔn)計數(shù)器adj_cnt用環(huán)振電路產(chǎn)生的待校準(zhǔn)時鐘clk_osc進(jìn)行計數(shù),當(dāng)基準(zhǔn)時鐘下降沿有效時,進(jìn)入校準(zhǔn)值計算狀態(tài);
步驟s240,校準(zhǔn)值計算時,校準(zhǔn)電路輸入的基準(zhǔn)時鐘clk_ref始終處于低電平,校準(zhǔn)值比特計數(shù)器bit_cnt用環(huán)振電路產(chǎn)生的待校準(zhǔn)時鐘clk_osc進(jìn)行計數(shù),每次執(zhí)行減1操作后判斷校準(zhǔn)完成信號是否有效;
校準(zhǔn)完成信號無效時,進(jìn)入等待狀態(tài)進(jìn)行校準(zhǔn)值下一比特校準(zhǔn);
校準(zhǔn)完成信號有效時,表明校準(zhǔn)值全部比特完成校準(zhǔn),回到空閑狀態(tài);
作為一種可實施方式,所述校準(zhǔn)值計算包括如下步驟:
環(huán)振電路產(chǎn)生理想時鐘clk_osc為9.216mhz,基準(zhǔn)時鐘clk_ref的高電平時長31250ns,因此在時鐘校準(zhǔn)計算流程中提到的采樣狀態(tài)下(即clk_ref的高電平期間)使用clk_osc進(jìn)行計數(shù)adj_cnt,其理想計數(shù)結(jié)果ref_val為288,因此:
1)實際計數(shù)值adj_cnt<ref_val時,說明環(huán)振時鐘頻率低于9.216mhz,需要提高clk_osc的時鐘頻率;
2)實際計數(shù)值adj_cnt>ref_val時,說明環(huán)振時鐘頻率高于9.216mhz,需要降低clk_osc的時鐘頻率。
作為一種可實施方式,如圖3所示,環(huán)振電路包括奇數(shù)首尾相連的反相器,產(chǎn)生自激振蕩,并利用門電路器件的固有延遲產(chǎn)生的時鐘頻率,其驅(qū)動電流越大,產(chǎn)生的時鐘頻率越快。
所述時鐘校準(zhǔn)電路反饋的時鐘頻率控制字bit[6:0]控制一個驅(qū)動電流產(chǎn)生電路,每個比特(bit)控制一個電阻的開閉,可以看出當(dāng)全部電阻開關(guān)打開時,驅(qū)動電流最小,反之驅(qū)動電流最大。因此時鐘校準(zhǔn)電路通過控制頻率控制字的每個比特(bit)實現(xiàn)調(diào)整環(huán)振電路的驅(qū)動電流大小,實現(xiàn)生成時鐘clk_osc的頻率校準(zhǔn)。
控制環(huán)振電路調(diào)整時鐘頻率的方式是通過一個7bit的時鐘校準(zhǔn)控制字adj_val,該控制字控制著環(huán)振電路的驅(qū)動電流,電流越大產(chǎn)生的時鐘頻率越高。因此在時鐘校準(zhǔn)電路中通過調(diào)整adj_val數(shù)值即可完成時鐘頻率的調(diào)整。
時鐘校準(zhǔn)控制字adj_val的調(diào)整方法是由高至低逐bit進(jìn)行校準(zhǔn),因此在時鐘校準(zhǔn)計算流程中提到的校準(zhǔn)值計算狀態(tài)下,bit_cnt初始值為6(即從adj_val的最高位)開始進(jìn)行校準(zhǔn),直至bit_cnt為0時說明全部時鐘控制字完成校準(zhǔn)。
時鐘控制字每個bit的校準(zhǔn)方法都是一樣的,就是在校準(zhǔn)值計算狀態(tài)判斷adj_cnt與ref_val的關(guān)系:
adj_cnt<ref_val時,adj_val對應(yīng)的該bit置為1;
adj_cnt>ref_val時,adj_val對應(yīng)的該bit置為0;
adj_cnt=ref_val時,adj_val不需要調(diào)整。
經(jīng)測試,整個時鐘校準(zhǔn)過程持續(xù)時間大約270us,之后時鐘校準(zhǔn)電路產(chǎn)生校準(zhǔn)完成信號輸出給mcu,mcu控制時鐘校準(zhǔn)流程停止。
步驟s300,將確認(rèn)時鐘校準(zhǔn)值作為默認(rèn)時鐘校準(zhǔn)值寫入到非易失型內(nèi)存中,并關(guān)閉時鐘校準(zhǔn)計算。
mcu向非易失型內(nèi)存寫入新的校準(zhǔn)控制值,即新的默認(rèn)時鐘校準(zhǔn)值。
在時鐘校準(zhǔn)值寫入階段里,經(jīng)過計算的時鐘校準(zhǔn)值作為默認(rèn)時鐘校準(zhǔn)值,重新寫回非易失內(nèi)存(memory)中保存起來,以便之后芯片在實際工作過程中使用。
步驟s400,當(dāng)f2f解碼芯片上電時,回讀所述默認(rèn)時鐘校準(zhǔn)值,并對f2f解碼芯片輸出準(zhǔn)確的時鐘。
作為一種可實施方式,所述步驟s400包括如下步驟:
步驟s410,芯片初始化階段:完成芯片上電后的一系列初始化操作;
步驟s420,在實際使用階段,時鐘校準(zhǔn)值回讀時,芯片已經(jīng)完成了時鐘校準(zhǔn)操作,因此在非易失內(nèi)存中保存著準(zhǔn)確的默認(rèn)時鐘校準(zhǔn)值,每次芯片上電都會回讀該值以便f2f解碼芯片的環(huán)振時鐘輸出準(zhǔn)確時間;
步驟s430,芯片執(zhí)行其他任務(wù)操作階段。
如圖4所示,本發(fā)明實施例的應(yīng)用于f2f解碼芯片中的片上時鐘校準(zhǔn)裝置,包括mcu10,時鐘校準(zhǔn)電路20,環(huán)振電路30,以及非易失型內(nèi)存40,其中:
所述mcu10,用于控制所述時鐘校準(zhǔn)電路的開閉,校準(zhǔn)控制字向所述非易失型內(nèi)存中回讀/回寫,并控制執(zhí)行時鐘校準(zhǔn);
所述時鐘校準(zhǔn)電路20,用于在所述mcu的控制下,并在所述環(huán)振電路的配合下,進(jìn)行時鐘校準(zhǔn);
所述環(huán)振電路30,用于在所述時鐘校準(zhǔn)電路的控制下,配合所述時鐘校準(zhǔn)電路,按照校準(zhǔn)控制字進(jìn)行時鐘頻率調(diào)整;
所述非易失型內(nèi)存40,用于存儲默認(rèn)時鐘校準(zhǔn)值。
較佳地,所述非易失型內(nèi)存包括但不限于prom(programmablered-onlymemory,可編程只讀存儲器),eprom(erasableprogrammablerom,可擦除可編程只讀存儲器),eeprom(electricallyerasableprogrammablerom,電可擦可編程只讀存儲器)等等。
本發(fā)明實施例的應(yīng)用于f2f解碼芯片中的片上時鐘校準(zhǔn)裝置,其工作過程與所述應(yīng)用于f2f解碼芯片中的片上時鐘校準(zhǔn)方法基本相同,因此,在本發(fā)明實施例中,不再一一重復(fù)描述。
本發(fā)明實施例的應(yīng)用于f2f解碼芯片中的片上時鐘校準(zhǔn)方法和裝置,其不額外占用芯片管腳,在工廠測試期間操作可以復(fù)用功能管腳;內(nèi)置電路整個時鐘校準(zhǔn)時間短,節(jié)省測試時間,節(jié)約測試成本;一次校準(zhǔn)后在芯片整個生命周期中可用,無需再次校準(zhǔn)操作。
以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)軌道了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。