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