應用於F2F解碼晶片中的片上時鐘校準方法和裝置與流程
2023-06-20 00:32:41

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