補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法及裝置。方法包括:經(jīng)由延長(zhǎng)線對(duì)安全數(shù)碼卡執(zhí)行預(yù)設(shè)次數(shù)的通信操作,若接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,若未接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段;將位于最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的通信操作的延遲值作為最佳延遲值;將最佳延遲值設(shè)置為安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差,以補(bǔ)償由安全數(shù)碼卡的延長(zhǎng)線所引起的延遲。通過以上方式,本發(fā)明能夠彌補(bǔ)安全數(shù)碼卡的信號(hào)傳輸延時(shí),保證傳輸速率。
【專利說明】
補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及通信領(lǐng)域,特別是涉及一種補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法及裝置?!颈尘凹夹g(shù)】
[0002]在車機(jī)系統(tǒng)中,安全數(shù)碼(Secure Digital,SD)卡的卡槽不放置在主印刷電路板 (Printed Circuit Board,PCB)板上,而是通過延長(zhǎng)線引出放置在操作面板上。
[0003]電流在不同導(dǎo)體中傳輸速度會(huì)不同,一般情況下傳輸速度在2xl08m/S與3xl08m/S 之間,這樣lm長(zhǎng)度的導(dǎo)線引起的delay在4?5ns,信號(hào)往返時(shí)間x2,這樣比正常情況下會(huì)增加8?10ns的延遲時(shí)間。而增加這些時(shí)間就可能會(huì)導(dǎo)致SD卡采樣出現(xiàn)偏差。由于增加延長(zhǎng)線后,會(huì)增加信號(hào)傳輸延遲,還會(huì)增加信號(hào)被干擾概率,導(dǎo)致SD卡經(jīng)常會(huì)出現(xiàn)兼容性問題。有些SD卡能正常工作,而另一些SD卡則傳輸異?!,F(xiàn)有的方案都是采取降頻方案,將SD卡的時(shí)鐘頻率從50Mhz降到12Mhz左右。這樣則會(huì)導(dǎo)致SD卡的傳輸速度大大降低,進(jìn)而影響存儲(chǔ)以及系統(tǒng)的性能。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了一種補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法及裝置,能夠補(bǔ)償安全數(shù)碼卡上的延遲,保證安全數(shù)碼卡的傳輸速率,提高系統(tǒng)的性能。
[0005]本發(fā)明提供一種補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法,包括:經(jīng)由延長(zhǎng)線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的通信操作,若接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,若未接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段;將位于最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的通信操作的延遲值作為最佳延遲值;將最佳延遲值設(shè)置為安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差,以補(bǔ)償由安全數(shù)碼卡的延長(zhǎng)線所引起的延遲。
[0006]其中,通信操作包括命令通信操作和數(shù)據(jù)通信操作,最佳延遲值包括最佳命令延遲值和最佳數(shù)據(jù)延遲值,經(jīng)由延長(zhǎng)線與安全數(shù)碼卡進(jìn)行通信操作的步驟包括:經(jīng)由延長(zhǎng)線的命令總線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的命令通信操作,分別獲取多個(gè)命令通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值;或經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的數(shù)據(jù)通信操作,分別獲取多個(gè)數(shù)據(jù)通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值。
[0007]其中,經(jīng)由延長(zhǎng)線的命令總線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的命令通信操作,分別獲取多個(gè)命令通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值的步驟包括:設(shè)置命令通信操作的初始延遲值為〇;經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的命令;如果接收到安全數(shù)碼卡經(jīng)由所述延長(zhǎng)線的命令總線返回的未顯示循環(huán)冗余校驗(yàn)錯(cuò)誤的響應(yīng),則記錄當(dāng)前的命令通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的命令通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回執(zhí)行向安全數(shù)碼卡發(fā)送預(yù)存的下一條命令的操作,若是,則結(jié)束本步驟。
[0008]其中,經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的數(shù)據(jù)通信操作,分別獲取多個(gè)數(shù)據(jù)通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值的步驟包括:設(shè)置讀數(shù)據(jù)通信操作的初始延遲值為〇;經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的讀數(shù)據(jù)的命令;如果正確接收到安全數(shù)碼卡經(jīng)由所述延長(zhǎng)線的數(shù)據(jù)總線返回的未顯示循環(huán)冗余校驗(yàn)錯(cuò)誤的數(shù)據(jù),則記錄當(dāng)前的讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回執(zhí)行向安全數(shù)碼卡發(fā)送預(yù)存的下一條讀數(shù)據(jù)的命令操作,若是則結(jié)束本步驟。
[0009]其中,經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的數(shù)據(jù)通信操作,分別獲取多個(gè)數(shù)據(jù)通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值的步驟包括:設(shè)置寫數(shù)據(jù)通信操作的初始延遲值為〇;經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的寫數(shù)據(jù)的命令,并經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線向安全數(shù)碼卡發(fā)送待寫數(shù)據(jù);如果正確接收到安全數(shù)碼卡返回的寫數(shù)據(jù)成功的響應(yīng),則記錄當(dāng)前的寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否則返回執(zhí)行向安全數(shù)碼卡發(fā)送預(yù)存的下一條寫數(shù)據(jù)的命令的操作,若是則結(jié)束本步驟。
[0010]其中,數(shù)據(jù)通信操作包括讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作,查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段的步驟包括:查找對(duì)應(yīng)于讀數(shù)據(jù)通信操作的第一最長(zhǎng)數(shù)據(jù)段以及對(duì)應(yīng)于寫數(shù)據(jù)通信操作的第二最長(zhǎng)數(shù)據(jù)段;將位于最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的通信操作的延遲值作為最佳延遲值的步驟包括:將第一最長(zhǎng)數(shù)據(jù)段和第二最長(zhǎng)數(shù)據(jù)段相重疊部分的數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的延遲值作為最佳數(shù)據(jù)延遲值。
[0011]本發(fā)明還提供一種補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的裝置,包括:操作模塊, 用于經(jīng)由延長(zhǎng)線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的通信操作,若接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,若未接收到安全數(shù)據(jù)卡返回的正確響應(yīng), 則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;查找模塊,與操作模塊連接,用于查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段;處理模塊,與查找模塊連接,用于將位于最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的通信操作的延遲值作為最佳延遲值;設(shè)置模塊,與處理模塊連接,將最佳延遲值設(shè)置為安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差,以補(bǔ)償由安全數(shù)碼卡的延長(zhǎng)線所引起的延遲。
[0012]其中,通信操作包括命令通信操作和數(shù)據(jù)通信操作,最佳延遲值包括最佳命令延遲值和最佳數(shù)據(jù)延遲值,操作模塊用于:經(jīng)由延長(zhǎng)線的命令總線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的命令通信操作,分別獲取多個(gè)命令通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值;或經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的數(shù)據(jù)通信操作,分別獲取多個(gè)數(shù)據(jù)通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值。
[0013]其中,操作模塊還用于:設(shè)置命令通信操作的初始延遲值為0;經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的命令;如果接收到安全數(shù)碼卡返回的未顯示循環(huán)冗余校驗(yàn)錯(cuò)誤的響應(yīng),則記錄當(dāng)前的命令通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的命令通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回執(zhí)行向安全數(shù)碼卡發(fā)送預(yù)存的下一條命令的操作,若是,則結(jié)束本步驟。
[0014]其中,操作模塊還用于:設(shè)置讀數(shù)據(jù)通信操作的初始延遲值為0;經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的讀數(shù)據(jù)的命令;如果正確接收到安全數(shù)碼卡經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線返回的未顯示循環(huán)冗余校驗(yàn)錯(cuò)誤的數(shù)據(jù),則記錄當(dāng)前的讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;將延遲值加 1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回執(zhí)行向安全數(shù)碼卡發(fā)送預(yù)存的下一條讀數(shù)據(jù)的命令操作,若是則結(jié)束本步驟。
[0015]其中,操作模塊還用于:設(shè)置寫數(shù)據(jù)通信操作的初始延遲值為0;經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的寫數(shù)據(jù)的命令,并經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線向安全數(shù)碼卡發(fā)送待寫數(shù)據(jù);
[0016]如果正確接收到安全數(shù)碼卡返回的寫數(shù)據(jù)成功的響應(yīng),則記錄當(dāng)前的寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否則返回執(zhí)行向安全數(shù)碼卡發(fā)送預(yù)存的下一條寫數(shù)據(jù)的命令的操作,若是則結(jié)束本步驟。
[0017]其中,數(shù)據(jù)操作包括讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作,查找模塊用于:查找對(duì)應(yīng)于讀數(shù)據(jù)通信操作的第一最長(zhǎng)數(shù)據(jù)段以及對(duì)應(yīng)于所述寫數(shù)據(jù)通信操作的第二最長(zhǎng)數(shù)據(jù)段; 處理模塊用于:將第一最長(zhǎng)數(shù)據(jù)段和第二最長(zhǎng)數(shù)據(jù)段相重疊部分的數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的延遲值作為最佳數(shù)據(jù)延遲值。
[0018]上述補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法及裝置,通過經(jīng)由延長(zhǎng)線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的通信操作,若接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,若未接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段;將位于最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的通信操作的延遲值作為最佳延遲值;將最佳延遲值設(shè)置為安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差,以補(bǔ)償由安全數(shù)碼卡的延長(zhǎng)線所引起的延遲,能夠補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲,保證安全數(shù)碼卡的傳輸速度,提高系統(tǒng)的性能?!靖綀D說明】
[0019]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。其中:
[0020]圖1是本發(fā)明實(shí)施例的安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差示意圖;
[0021]圖2是本發(fā)明實(shí)施例的補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法的流程示意圖;
[0022]圖3是本發(fā)明經(jīng)由延長(zhǎng)線與SD卡進(jìn)行命令通信操作的方法的流程示意圖;
[0023]圖4是本發(fā)明經(jīng)由延長(zhǎng)線與SD卡進(jìn)行讀數(shù)據(jù)通信操作的方法的流程示意圖;
[0024]圖5是本發(fā)明經(jīng)由延長(zhǎng)線與SD卡進(jìn)行寫數(shù)據(jù)通信操作的方法的流程示意圖;
[0025]圖6是本發(fā)明第二實(shí)施例的補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲裝置的結(jié)構(gòu)示意圖。【具體實(shí)施方式】
[0026]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性的勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0027]圖1是本發(fā)明實(shí)施例的安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差示意圖。如圖1所示,源時(shí)鐘的下降沿以及與源時(shí)鐘的下降沿相鄰的采樣時(shí)鐘的下降沿之間的相位差定義為源時(shí)鐘和采樣時(shí)鐘的相位差。當(dāng)然也可以是源時(shí)鐘的上升沿以及與源時(shí)鐘的下降沿相鄰的采樣時(shí)鐘的上升沿之間的相位差定義為源時(shí)鐘和采樣時(shí)鐘的相位差。
[0028]在本發(fā)明實(shí)施例中,經(jīng)由延長(zhǎng)線對(duì)安全數(shù)碼卡執(zhí)行通信操作時(shí),使用源時(shí)鐘做為基準(zhǔn)時(shí)鐘來發(fā)送命令或數(shù)據(jù)到安全數(shù)碼卡。命令或數(shù)據(jù)會(huì)經(jīng)過芯片管腳、印刷電路板 (Printed Circuit Board,PCB)走線、安全數(shù)碼卡延長(zhǎng)線到安全數(shù)碼卡上,然后安全數(shù)碼卡會(huì)回復(fù)相應(yīng)的響應(yīng)或數(shù)據(jù)。安全數(shù)碼卡會(huì)使用采樣時(shí)鐘做為基準(zhǔn)時(shí)鐘來采樣來接收響應(yīng)或數(shù)據(jù)。通過調(diào)整源時(shí)鐘和采樣時(shí)鐘的相位差,可以彌補(bǔ)延長(zhǎng)線引起的時(shí)序延時(shí)。
[0029]圖2是本發(fā)明實(shí)施例的補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法的流程示意圖。如圖2所示,補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法包括:
[0030]步驟S10:經(jīng)由延長(zhǎng)線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的通信操作,若接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,若未接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值。
[0031]為了補(bǔ)償因SD卡的延長(zhǎng)線而引起的延遲,本發(fā)明實(shí)施例中,首先設(shè)置測(cè)試工具對(duì) SD卡的延長(zhǎng)線引起的延遲進(jìn)行測(cè)試。具體地,外部測(cè)試工具經(jīng)由延長(zhǎng)線與SD卡進(jìn)行預(yù)設(shè)次數(shù)的通信操作,該通信操作可以為命令通信操作或數(shù)據(jù)通信操作,外部測(cè)試工具可以設(shè)置為由SD卡的驅(qū)動(dòng)器執(zhí)行一段測(cè)試程序,用以逐個(gè)掃描預(yù)先儲(chǔ)存的命令通信操作或數(shù)據(jù)通信操作,以將其經(jīng)由延長(zhǎng)線傳輸至SD卡。因此,在步驟S10之前,通常將配置SD卡的驅(qū)動(dòng)器為掃描模式。若此后接收到SD卡返回的正確響應(yīng),則記錄該通信操作所對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,若未接收到SD卡返回的正確響應(yīng),則記錄該通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值。該第一數(shù)值和第二數(shù)值例如為〇或1,而在經(jīng)過預(yù)設(shè)次數(shù)的通信操作及狀態(tài)值記錄后,可得到一段連續(xù)的由〇和1組成的數(shù)據(jù)串。
[0032]步驟S11:查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段。
[0033]步驟S12:將位于最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的通信操作的延遲值作為最佳延遲值。
[0034]步驟S13:將最佳延遲值設(shè)置為安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差,以補(bǔ)償由安全數(shù)碼卡的延長(zhǎng)線所引起的延遲。
[0035]得到一段連續(xù)的數(shù)據(jù)串后,可在此數(shù)據(jù)串中查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段,也就是說,查找通信操作狀態(tài)持續(xù)為“正確傳送-接收-響應(yīng)”的命令通信操作或數(shù)據(jù)通信操作所對(duì)應(yīng)的狀態(tài)值的最長(zhǎng)數(shù)據(jù)段。例如,如果掃描到一組狀態(tài)值如下:
[0036][1,〇,〇,1,1,1,1,1,1,1,〇,〇,〇,〇,1,1,1,〇,〇,〇,1,〇,〇,1,1,〇,〇,1,〇,〇,〇]
[0037]則最長(zhǎng)數(shù)據(jù)段為序號(hào)為4-10的連續(xù)7個(gè)狀態(tài)值為1的數(shù)據(jù)段。
[0038]查找到這段數(shù)據(jù)段后,直接將查找到的最長(zhǎng)數(shù)據(jù)段的中間值所對(duì)應(yīng)的通信操作的延遲值作為最佳延遲值,并將最佳延遲值設(shè)置為安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差,以補(bǔ)償由安全數(shù)碼卡的延長(zhǎng)線所引起的延遲。例如,對(duì)于以上查找到的最長(zhǎng)數(shù)據(jù)段,其中間值為最長(zhǎng)數(shù)據(jù)段中的第4個(gè)狀態(tài)值,在整組數(shù)據(jù)段中為第7個(gè)狀態(tài)值,該狀態(tài)值所對(duì)應(yīng)的延遲值則為最佳延遲值。
[0039]在本發(fā)明實(shí)施例中,選擇狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段的中間數(shù)值所對(duì)應(yīng)的延遲值為最佳延遲值可以保證所選擇的最佳延遲值有一個(gè)較大的誤差浮動(dòng)范圍。換句話說,即便所選擇的延遲值存在一定的偏差,也能保證在一定偏差范圍內(nèi)所選擇的延遲值對(duì)應(yīng)的通信操作仍然為可以正確“發(fā)送-接收-響應(yīng)”的狀態(tài),從而可以使得在實(shí)際的通信操作過程中,即使環(huán)境發(fā)生變化導(dǎo)致時(shí)序存在波動(dòng)時(shí),也可以確保通信操作不會(huì)因外部環(huán)境變化而導(dǎo)致異常。
[0040]本發(fā)明實(shí)施例中,上述步驟S10中經(jīng)由延長(zhǎng)線與SD卡進(jìn)行的通信操作可以為命令通信操作或數(shù)據(jù)通信操作,最佳延遲值可以為最佳命令延遲值或最佳數(shù)據(jù)延遲值。圖3是本發(fā)明經(jīng)由延長(zhǎng)線與SD卡進(jìn)行命令通信操作的方法的流程示意圖,如圖3所示,經(jīng)由延長(zhǎng)線與 SD卡進(jìn)行命令通信操作的方法包括:[0041 ]步驟S21:設(shè)置命令通信操作的初始延遲值為0;
[0042]步驟S22:經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的命令;[〇〇43]具體地,在執(zhí)行本實(shí)施例之前,預(yù)先配置SD卡的驅(qū)動(dòng)器為掃描模式,從而在上述步驟S22中,驅(qū)動(dòng)器可依序掃描預(yù)先儲(chǔ)存設(shè)置的多個(gè)命令通信操作。需要說明的是,這些命令通信操作均為帶有響應(yīng)的命令通信操作,即若接收方能成功接收到該命令通信操作,則會(huì)返回正確接收的響應(yīng)。
[0044]步驟S23:判斷是否接收到安全數(shù)碼卡返回的未顯示循環(huán)冗余校驗(yàn)(CCR)錯(cuò)誤的響應(yīng),若是則跳至步驟S24,若否則跳至步驟S25;
[0045]步驟S24:記錄當(dāng)前的命令通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,跳至步驟S26;
[0046]步驟S25:記錄當(dāng)前的命令通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值,跳至步驟S26;[〇〇47]向SD卡發(fā)送命令通信操作后,判斷是否能接收到SD卡返回的未顯示CCR錯(cuò)誤的響應(yīng),即判斷SD卡是否能經(jīng)由延長(zhǎng)線成功接收到命令。若接收到SD卡返回的正確接收的響應(yīng), 則記錄當(dāng)前的命令通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,反之,則記錄當(dāng)前的命令通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值。舉例來說,該第一數(shù)值和第二數(shù)值例如為0或1。[〇〇48] 步驟26:將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回步驟S22,若是,則結(jié)束本流程。
[0049]記錄下當(dāng)前命令通信操作對(duì)應(yīng)的狀態(tài)值后,將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,即判斷與SD卡進(jìn)行的命令通信操作是否已經(jīng)達(dá)到預(yù)設(shè)次數(shù)。若是,則結(jié)束本流程, 若否則返回步驟S22,繼續(xù)通過延長(zhǎng)線的命令總線向SD卡發(fā)送預(yù)存的下一條命令操作,以及繼續(xù)記錄下一條命令操作所對(duì)應(yīng)的狀態(tài)值,直至測(cè)試完預(yù)設(shè)次數(shù)的命令通信操作,以及記錄下所有命令通信操作對(duì)應(yīng)的狀態(tài)值,得到完整的由一組狀態(tài)值組成的數(shù)據(jù)串為止。
[0050]需要說明的是,在本發(fā)明實(shí)施例中,各命令通信操作對(duì)應(yīng)的延遲值即為各命令通信操作所對(duì)應(yīng)的序號(hào)減1。例如假定第一數(shù)值為1,第二數(shù)值為〇,則在上述狀態(tài)值數(shù)據(jù)串[1, 0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0]中,連續(xù)狀態(tài)值為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段為序號(hào)4-10的數(shù)據(jù)段,而該最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的延遲值的序號(hào)為7,其對(duì)應(yīng)的延遲值為6,因而在此實(shí)施例中,6為最佳延遲值。此外還需要說明的是,實(shí)際操作中,可配置進(jìn)行發(fā)送預(yù)存的命令時(shí)的時(shí)鐘頻率為50MHz,為安全數(shù)碼卡的最大時(shí)鐘頻率。此外,上述延遲值的預(yù)設(shè)值通常是根據(jù)經(jīng)驗(yàn)確定的,一般在0.5個(gè)時(shí)鐘周期左右。
[0051]此外需要說明的是,在步驟S10中經(jīng)由延長(zhǎng)線的命令總線向SD卡發(fā)送帶有響應(yīng)的命令時(shí),還經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送不帶有響應(yīng)的命令。并且在向SD卡發(fā)送不帶有響應(yīng)的命令時(shí),可將發(fā)送不帶有響應(yīng)的命令的時(shí)鐘頻率控制在6-15MHZ之間,具體值可根據(jù)經(jīng)驗(yàn)確定,同時(shí)配置默認(rèn)的延遲值以保證能正確發(fā)送命令。[〇〇52]對(duì)于數(shù)據(jù)通信操作而言,在本發(fā)明實(shí)施例中,數(shù)據(jù)通信操作包括讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作。在本發(fā)明實(shí)施例中,對(duì)于讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作的處理方式有所不同,下面將分別進(jìn)行說明。圖4是本發(fā)明經(jīng)由延長(zhǎng)線與SD卡進(jìn)行讀數(shù)據(jù)通信操作的方法的流程示意圖,如圖4所示,經(jīng)由延長(zhǎng)線與SD卡進(jìn)行讀數(shù)據(jù)通信操作的方法包括:[〇〇53]步驟S31:設(shè)置讀數(shù)據(jù)通信操作的初始延遲值為0;
[0054]步驟S32:經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的讀數(shù)據(jù)的命令;[〇〇55]與上述命令通信操作的實(shí)施例類似,在執(zhí)行本實(shí)施例之前,預(yù)先配置SD卡的驅(qū)動(dòng)器為掃描模式,從而在上述步驟S32中,驅(qū)動(dòng)器可依序掃描預(yù)先儲(chǔ)存設(shè)置的多個(gè)讀數(shù)據(jù)的命令通信操作。[〇〇56]步驟S33:判斷是否接收到安全數(shù)碼卡返回的未顯示CCR錯(cuò)誤的數(shù)據(jù),若是則跳至步驟S34,若否則跳至步驟S35;[〇〇57]S34:記錄當(dāng)前的讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,跳至步驟S36;[〇〇58]S35:記錄當(dāng)前的讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值,跳至步驟S36;[〇〇59]向SD卡發(fā)送讀數(shù)據(jù)的命令操作后,判斷是否能接收到SD卡經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線返回的未顯示CCR錯(cuò)誤的數(shù)據(jù),即判斷SD卡是否能正確響應(yīng)該讀數(shù)據(jù)的命令。若接收到SD卡經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線返回的正確的數(shù)據(jù),則記錄當(dāng)前的讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,反之,則記錄當(dāng)前的讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值。
[0060]步驟36:將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回步驟S32,若是,則結(jié)束本流程。
[0061]圖5是本發(fā)明經(jīng)由延長(zhǎng)線與SD卡進(jìn)行寫數(shù)據(jù)通信操作的方法的流程示意圖,如圖5 所示,經(jīng)由延長(zhǎng)線與SD卡進(jìn)行寫數(shù)據(jù)通信操作的方法包括:[〇〇62]步驟S41:設(shè)置寫數(shù)據(jù)通信操作的初始延遲值為0;[〇〇63]步驟S42:經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的寫數(shù)據(jù)的命令,并經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線向安全數(shù)據(jù)卡發(fā)送待寫數(shù)據(jù);
[0064]與上述讀數(shù)據(jù)通信操作的做法不同的是,在本實(shí)施例中,除了向SD卡發(fā)送寫數(shù)據(jù)的命令之外,還需要緊接著經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線向SD卡發(fā)送待寫數(shù)據(jù)。[〇〇65]步驟S43:判斷是否接收到安全數(shù)碼卡返回的寫數(shù)據(jù)成功的響應(yīng),若是則跳至步驟 S44,若否則跳至步驟S45;[〇〇66]S44:記錄當(dāng)前的寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,跳至步驟S46;[〇〇67]S45:記錄當(dāng)前的寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值,跳至步驟S46;[〇〇68]若SD卡能夠正確接收到待寫數(shù)據(jù),則會(huì)返回寫數(shù)據(jù)成功的響應(yīng),從而若接收到SD 卡返回的正確響應(yīng),則記錄當(dāng)前的寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,反之,則記錄當(dāng)前的寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值。
[0069]步驟46:將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回步驟S42,若是,則結(jié)束本流程。
[0070]在上述讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作的測(cè)試流程中,同樣可配置進(jìn)行發(fā)送帶有讀數(shù)據(jù)命令和寫數(shù)據(jù)命令時(shí)的時(shí)鐘頻率為50MHz,即為SD卡在SDR25模式下的最大時(shí)鐘頻率。
[0071]需要說明的是,對(duì)于數(shù)據(jù)通信操作,由于存在讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作兩種類型,因而在上述執(zhí)行完預(yù)設(shè)次數(shù)的讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作后,會(huì)得到分別與其對(duì)應(yīng)的由多個(gè)狀態(tài)值組成的兩組數(shù)據(jù)串,從而在上述步驟S11中,會(huì)分別查找到兩個(gè)最長(zhǎng)數(shù)據(jù)段,即對(duì)應(yīng)讀數(shù)據(jù)通信操作的第一最長(zhǎng)數(shù)據(jù)段和對(duì)應(yīng)寫數(shù)據(jù)通信操作的第二最長(zhǎng)數(shù)據(jù)段。在實(shí)際應(yīng)用中,雖然這兩組數(shù)據(jù)串不一定完全一致(通常只有些許不同),但是由于操作環(huán)境的一致性,這兩組數(shù)據(jù)串所分別包含的最長(zhǎng)數(shù)據(jù)段必然會(huì)大致重疊,從而可以從重疊部分選取最佳數(shù)據(jù)延遲值。具體地,在上述步驟S12中,將第一最長(zhǎng)數(shù)據(jù)段和第二最長(zhǎng)數(shù)據(jù)段相重疊部分的數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的延遲值作為最佳數(shù)據(jù)延遲值。
[0072]例如,如果掃描到一組向安全數(shù)碼卡發(fā)送讀數(shù)據(jù)的命令所記錄的狀態(tài)值如下:
[0073][〇,〇,1,1,〇,〇,〇,1,1,1,1,1,1,1,1,〇,〇,〇,〇,〇,1,1,1,1,1,〇,〇,〇,〇,1]
[0074]則第一最長(zhǎng)數(shù)據(jù)段為序號(hào)為8-15的連續(xù)8個(gè)狀態(tài)值為1的數(shù)據(jù)段。
[0075]掃描到一組向安全數(shù)碼卡發(fā)送寫數(shù)據(jù)的命令所記錄的狀態(tài)值如下:
[0076][〇,1,1,〇,〇,〇,〇,〇,1,1,1,1,1,1,1,1,〇,〇,1,〇,〇,1,1,1,1,1,1,〇,〇,1]
[0077]則第二最長(zhǎng)數(shù)據(jù)段為序號(hào)為9-16的連續(xù)8個(gè)狀態(tài)值為1的數(shù)據(jù)段。[〇〇78]以上查找到的第一最長(zhǎng)數(shù)據(jù)段和第二最長(zhǎng)數(shù)據(jù)段相重疊部分為序號(hào)為9-15中間的7個(gè)狀態(tài)值組成的數(shù)據(jù)段,對(duì)應(yīng)的中間位置的數(shù)值為序號(hào)為12的狀態(tài)值,其對(duì)應(yīng)的通信操作的延遲值為11,即最佳數(shù)據(jù)延遲值為11。[〇〇79]以上描述了如何經(jīng)由延長(zhǎng)線與SD卡進(jìn)行通信操作、記錄每個(gè)通信操作對(duì)應(yīng)的狀態(tài)值、以及查找最佳延遲值的方法流程。本發(fā)明實(shí)施例通過上述方法選擇最佳延遲值可以保證所選擇的最佳延遲值有一個(gè)較大的誤差浮動(dòng)范圍。換句話說,即便所選擇的延遲值存在一定的偏差,也能保證在一定偏差范圍內(nèi)所選擇的延遲值對(duì)應(yīng)的通信操作仍然為可以正確 “發(fā)送_接收-響應(yīng)”的狀態(tài),從而可以使得在實(shí)際的通信操作過程中,即使環(huán)境發(fā)生變化導(dǎo)致時(shí)序存在波動(dòng)時(shí),也可以在一定范圍內(nèi)確保通信操作不會(huì)因外部環(huán)境變化而導(dǎo)致異常。
[0080]而在實(shí)際應(yīng)用中,在經(jīng)由上述參數(shù)配置后,SD卡通常能夠滿足正常的傳輸過程,但是仍然很難避免SD卡的通信操作出現(xiàn)突發(fā)干擾等情況。如此就需要增強(qiáng)通信操作軟件的魯棒性,對(duì)通信操作過程中出現(xiàn)的不同錯(cuò)誤都需要設(shè)置解決方案,讓系統(tǒng)能夠正常對(duì)SD卡進(jìn)行通信操作。具體地,在SD卡通信操作過程中,主要會(huì)出現(xiàn)的錯(cuò)誤包括接收到SD卡返回的包含CRC錯(cuò)誤的響應(yīng),以及通信操作超時(shí)。
[0081]當(dāng)接收到SD卡返回的包含CRC錯(cuò)誤的響應(yīng)時(shí),本發(fā)明實(shí)施例中可以通過動(dòng)態(tài)調(diào)整命令通信操作或數(shù)據(jù)通信操作對(duì)應(yīng)的最佳延遲值后,再重傳當(dāng)前命令/數(shù)據(jù),以使系統(tǒng)恢復(fù)正常?;蛘咧苯咏档蜁r(shí)鐘頻率后重傳當(dāng)前命令/數(shù)據(jù),以使系統(tǒng)恢復(fù)正常。對(duì)于前者,可以針對(duì)最佳延遲值設(shè)置一定的調(diào)整范圍,以在預(yù)設(shè)范圍內(nèi),對(duì)最佳延遲值進(jìn)行調(diào)整。
[0082]而當(dāng)遇到SD卡的通信操作超時(shí)的情況時(shí),本發(fā)明實(shí)施例則可以通過重傳當(dāng)前命令/數(shù)據(jù)、關(guān)閉SD卡硬件電源重啟后再重傳、或者直接降低時(shí)鐘頻率后重傳當(dāng)前命令/數(shù)據(jù),以使系統(tǒng)恢復(fù)正常。
[0083]圖6是本發(fā)明第一實(shí)施例的補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲裝置的結(jié)構(gòu)示意圖。如圖6所示,補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲裝置10包括:通信操作模塊11、查找模塊12、處理模塊13以及設(shè)置模塊14。
[0084]通信操作模塊11用于經(jīng)由延長(zhǎng)線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的通信操作,若接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,若未接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值。
[0085]為了補(bǔ)償因SD卡的延長(zhǎng)線而引起的延遲,本發(fā)明實(shí)施例中,首先設(shè)置測(cè)試工具對(duì) SD卡的延長(zhǎng)線引起的延遲進(jìn)行測(cè)試。具體地,外部測(cè)試工具經(jīng)由延長(zhǎng)線與SD卡進(jìn)行預(yù)設(shè)次數(shù)的通信操作,該通信操作可以為命令通信操作或數(shù)據(jù)通信操作,外部測(cè)試工具可以設(shè)置為由SD卡的驅(qū)動(dòng)器執(zhí)行一段測(cè)試程序,用以逐個(gè)掃描預(yù)先儲(chǔ)存的命令通信操作或數(shù)據(jù)通信操作,以將其經(jīng)由延長(zhǎng)線傳輸至SD卡。因此,在步驟S10之前,通常將配置SD卡的驅(qū)動(dòng)器為掃描模式。若此后接收到SD卡返回的正確響應(yīng),則記錄該通信操作所對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,若未接收到SD卡返回的正確響應(yīng),則記錄該通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值。該第一數(shù)值和第二數(shù)值例如為〇或1,而在經(jīng)過預(yù)設(shè)次數(shù)的通信操作及狀態(tài)值記錄后,可得到一段連續(xù)的由〇和1組成的數(shù)據(jù)串。
[0086]查找模塊12與通信操作模塊11連接,用于查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段。處理模塊13與查找模塊12連接,用于將位于最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的通信操作的延遲值作為最佳延遲值。設(shè)置模塊14與處理模塊13連接,將最佳延遲值設(shè)置為安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差,以補(bǔ)償由安全數(shù)碼卡的延長(zhǎng)線所引起的延遲。
[0087]得到一段連續(xù)的數(shù)據(jù)串后,查找模塊12可在此數(shù)據(jù)串中查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段,也就是說,查找模塊12查找通信操作狀態(tài)持續(xù)為“正確傳送-接收-響應(yīng)” 的命令通信操作或數(shù)據(jù)通信操作所對(duì)應(yīng)的狀態(tài)值的最長(zhǎng)數(shù)據(jù)段。例如,如果掃描到一組狀態(tài)值如下:
[0088][1,〇,〇,1,1,1,1,1,1,1,〇,〇,〇,〇,1,1,1,〇,〇,〇,1,〇,〇,1,1,〇,〇,1,〇,〇,〇]
[0089]則最長(zhǎng)數(shù)據(jù)段為序號(hào)為4-10的連續(xù)7個(gè)狀態(tài)值為1的數(shù)據(jù)段。
[0090]查找模塊12查找到這段數(shù)據(jù)段后,處理模塊13直接將查找模塊12查找到的最長(zhǎng)數(shù)據(jù)段的中間值所對(duì)應(yīng)的通信操作的延遲值作為最佳延遲值,并將最佳延遲值設(shè)置為安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差,以補(bǔ)償由安全數(shù)碼卡的延長(zhǎng)線所引起的延遲。例如,對(duì)于以上查找到的最長(zhǎng)數(shù)據(jù)段,其中間值為最長(zhǎng)數(shù)據(jù)段中的第4個(gè)狀態(tài)值,在整組數(shù)據(jù)段中為第7個(gè)狀態(tài)值,該狀態(tài)值所對(duì)應(yīng)的延遲值則為最佳延遲值。
[0091]在本發(fā)明實(shí)施例中,處理模塊13選擇狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段的中間數(shù)值所對(duì)應(yīng)的延遲值為最佳延遲值可以保證所選擇的最佳延遲值有一個(gè)較大的誤差浮動(dòng)范圍。換句話說,即便處理模塊13所選擇的延遲值存在一定的偏差,也能保證在一定偏差范圍內(nèi)所選擇的延遲值對(duì)應(yīng)的通信操作仍然為可以正確“發(fā)送-接收-響應(yīng)”的狀態(tài),從而可以使得在實(shí)際的通信操作過程中,即使環(huán)境發(fā)生變化導(dǎo)致時(shí)序存在波動(dòng)時(shí),也可以確保通信操作不會(huì)因外部環(huán)境變化而導(dǎo)致異常。
[0092]在本發(fā)明實(shí)施例中,通信操作包括命令通信操作和數(shù)據(jù)通信操作,最佳延遲值包括最佳命令延遲值和最佳數(shù)據(jù)延遲值。通信操作模塊還包括命令通信模塊111和數(shù)據(jù)通信模塊112。命令通信模塊111用于首先配置安全數(shù)碼卡的驅(qū)動(dòng)器為掃描模式,然后對(duì)安全數(shù)碼卡執(zhí)行命令通信操作。需要說明的是,這些命令通信操作均為帶有響應(yīng)的命令通信操作, 即若接收方能成功接收到該命令通信操作,則會(huì)返回正確接收的響應(yīng)。具體地,命令通信模塊111用于:經(jīng)由延長(zhǎng)線的命令總線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的命令通信操作,分別獲取多個(gè)命令通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值;或經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線對(duì)安全數(shù)碼卡執(zhí)行預(yù)設(shè)次數(shù)的數(shù)據(jù)通信操作,分別獲取多個(gè)數(shù)據(jù)通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值。
[0093]在本發(fā)明實(shí)施例中,對(duì)于命令通信操作,命令通信模塊111還用于:設(shè)置命令通信操作的初始延遲值為〇;經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的命令;如果接收到安全數(shù)碼卡返回的未顯示循環(huán)冗余校驗(yàn)錯(cuò)誤的響應(yīng),則記錄當(dāng)前的命令通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的命令通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;將延遲值加1, 并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回執(zhí)行向安全數(shù)碼卡發(fā)送預(yù)存的下一個(gè)命令的操作,若是,則結(jié)束本步驟。如果返回執(zhí)行向安全數(shù)碼卡發(fā)送預(yù)存的下一個(gè)命令的操作,則繼續(xù)記錄下一條命令操作所對(duì)應(yīng)的狀態(tài)值,直至測(cè)試完預(yù)設(shè)次數(shù)的命令通信操作,以及記錄下所有命令通信操作對(duì)應(yīng)的狀態(tài)值,得到完整的由一組狀態(tài)值組成的數(shù)據(jù)串為止。
[0094]需要說明的是,在本發(fā)明實(shí)施例中,各命令通信操作對(duì)應(yīng)的延遲值即為各命令通信操作所對(duì)應(yīng)的序號(hào)減1。例如假定第一數(shù)值為1,第二數(shù)值為〇,則在上述狀態(tài)值數(shù)據(jù)串[1, 0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0]中,連續(xù)狀態(tài)值為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段為序號(hào)4-10的數(shù)據(jù)段,而該最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的延遲值的序號(hào)為7,其對(duì)應(yīng)的延遲值為6,因而在此實(shí)施例中,6為最佳延遲值。此外還需要說明的是,實(shí)際操作中,命令通信模塊111發(fā)送預(yù)存的命令的時(shí)鐘頻率為50MHz,為安全數(shù)碼卡的最大時(shí)鐘頻率。此外,上述延遲值的預(yù)設(shè)值通常是根據(jù)經(jīng)驗(yàn)確定的,一般在0.5個(gè)時(shí)鐘周期左右。[〇〇95]此外需要說明的是,命令通信模塊111在經(jīng)由延長(zhǎng)線的命令總線向SD卡發(fā)送帶有響應(yīng)的命令時(shí),還經(jīng)由延長(zhǎng)線的命令總線向SD卡發(fā)送不帶有響應(yīng)的命令。并且在向SD卡發(fā)送不帶有響應(yīng)的命令時(shí),將發(fā)送不帶有響應(yīng)的命令的時(shí)鐘頻率控制在6-15MHZ之間,具體值可根據(jù)經(jīng)驗(yàn)確定,同時(shí)配置默認(rèn)的延遲值以保證能正確發(fā)送命令。
[0096]在本發(fā)明實(shí)施例中,數(shù)據(jù)通信操作包括讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作,數(shù)據(jù)通信模塊112還包括讀數(shù)據(jù)通信模塊1121和寫數(shù)據(jù)通信模塊1122。在本發(fā)明實(shí)施例中,對(duì)于讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作的處理方式有所不同,下面將分別進(jìn)行說明。對(duì)于讀數(shù)據(jù)通信操作,與上述命令通信操作的實(shí)施例類似,預(yù)先配置SD卡的驅(qū)動(dòng)器為掃描模式,驅(qū)動(dòng)器可依序掃描預(yù)先儲(chǔ)存設(shè)置的多個(gè)讀數(shù)據(jù)的命令通信操作。讀數(shù)據(jù)通信模塊1121用于:設(shè)置讀數(shù)據(jù)通信操作的初始延遲值為〇;經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的讀數(shù)據(jù)的命令;如果正確接收到安全數(shù)碼卡經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線返回的未顯示循環(huán)冗余校驗(yàn)錯(cuò)誤的數(shù)據(jù),則記錄當(dāng)前的讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值, 若否,則返回執(zhí)行向安全數(shù)碼卡發(fā)送預(yù)存的下一條讀數(shù)據(jù)的命令通信操作,若是則結(jié)束本步驟。
[0097]對(duì)于寫數(shù)據(jù)通信操作,寫數(shù)據(jù)通信模塊1122還用于:設(shè)置寫數(shù)據(jù)操作的初始延遲值為〇;經(jīng)由延長(zhǎng)線的命令總線向安全數(shù)碼卡發(fā)送預(yù)存的寫數(shù)據(jù)的命令,并經(jīng)由延長(zhǎng)線的數(shù)據(jù)總線向安全數(shù)碼卡發(fā)送待寫數(shù)據(jù);如果正確接收到安全數(shù)碼卡返回的寫數(shù)據(jù)成功的響應(yīng),則記錄當(dāng)前的寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;將延遲值加1,并判斷延遲值是否達(dá)到預(yù)設(shè)值,若否則返回執(zhí)行向安全數(shù)碼卡發(fā)送預(yù)存的下一條寫數(shù)據(jù)的命令的操作,若是則結(jié)束本步驟。
[0098]在本發(fā)明實(shí)施例中,優(yōu)選地,第一數(shù)值為1,第二數(shù)值為0。在本發(fā)明的其他實(shí)施例中,也可以第一數(shù)值為0,第二數(shù)值為1,在此不作限制。在上述讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作的測(cè)試流程中,操作模塊11同樣可配置進(jìn)行發(fā)送帶有讀數(shù)據(jù)命令和寫數(shù)據(jù)命令時(shí)的時(shí)鐘頻率為50MHz,即為安全數(shù)碼卡在SDR25模式下的最大時(shí)鐘頻率。
[0099]在本發(fā)明實(shí)施例中,查找模塊12查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段時(shí),對(duì)于命令操作,查找模塊12逐一掃描狀態(tài)值,直接查找向安全數(shù)碼卡發(fā)送帶有響應(yīng)的命令所記錄的狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段。對(duì)應(yīng)地,處理模塊13直接將查找到的最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的通信操作的延遲值作為最佳命令延遲值。
[0100]對(duì)于數(shù)據(jù)通信操作,由于數(shù)據(jù)通信操作包括讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作, 因而在上述執(zhí)行完預(yù)設(shè)次數(shù)的讀數(shù)據(jù)通信操作和寫數(shù)據(jù)通信操作后,會(huì)得到分別與其對(duì)應(yīng)的由多個(gè)狀態(tài)值組成的兩組數(shù)據(jù)串,查找模塊12用于:分別查找到兩個(gè)最長(zhǎng)數(shù)據(jù)段,即對(duì)應(yīng)讀數(shù)據(jù)通信操作的第一最長(zhǎng)數(shù)據(jù)段以及和對(duì)應(yīng)寫數(shù)據(jù)通信操作的第二最長(zhǎng)數(shù)據(jù)段。在實(shí)際應(yīng)用中,雖然這兩組數(shù)據(jù)串不一定完全一致(通常只有些許不同),但是由于操作環(huán)境的一致性,這兩組數(shù)據(jù)串所分別包含的最長(zhǎng)數(shù)據(jù)段必然會(huì)大致重疊,從而可以從重疊部分選取最佳數(shù)據(jù)延遲值。對(duì)應(yīng)地,處理模塊13將第一最長(zhǎng)數(shù)據(jù)段和第二最長(zhǎng)數(shù)據(jù)段相重疊部分的數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的延遲值作為最佳數(shù)據(jù)延遲值。
[0101]以上描述了如何經(jīng)由延長(zhǎng)線與SD卡進(jìn)行通信操作、記錄每個(gè)通信操作對(duì)應(yīng)的狀態(tài)值、以及查找最佳延遲值的過程,通過查找模塊12查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段,可以保證選擇的最佳延遲值有一個(gè)較大的浮動(dòng)范圍,換句話說,即便所選擇的延遲值存在一定的偏差,也能保證在一定偏差范圍內(nèi)所選擇的延遲值對(duì)應(yīng)的通信操作仍然為可以正確“發(fā)送-接收-響應(yīng)”的狀態(tài),使得在實(shí)際的通信操作過程中,即使環(huán)境發(fā)生變化導(dǎo)致時(shí)序存在波動(dòng)時(shí),也可以在一定范圍內(nèi)確保通信操作不會(huì)因外部環(huán)境變化導(dǎo)致異常。
[0102]本發(fā)明實(shí)施例的補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的裝置10通過將最佳延遲值設(shè)置為安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差后,安全數(shù)碼卡能夠滿足正常通信操作過程,但很難避免出現(xiàn)突發(fā)干擾等情況。如此就需要增強(qiáng)通信操作軟件的魯棒性.對(duì)通信操作過程中出現(xiàn)的不同錯(cuò)誤都需要有解決方案,讓系統(tǒng)能夠正常對(duì)安全數(shù)碼卡進(jìn)行通信操作。在安全數(shù)碼卡通信操作過程中,主要會(huì)出現(xiàn)的錯(cuò)誤包括接收到安全數(shù)碼卡返回的CRC錯(cuò)誤響應(yīng),以及通信操作超時(shí)。
[0103]當(dāng)接收到SD卡返回的包含CRC錯(cuò)誤的響應(yīng)時(shí),本發(fā)明實(shí)施例中可以通過動(dòng)態(tài)調(diào)整命令通信操作或數(shù)據(jù)通信操作對(duì)應(yīng)的最佳延遲值后,再重傳當(dāng)前命令/數(shù)據(jù),以使系統(tǒng)恢復(fù)正常?;蛘咧苯咏档蜁r(shí)鐘頻率后重傳當(dāng)前命令/數(shù)據(jù),以使系統(tǒng)恢復(fù)正常。對(duì)于前者,可以針對(duì)最佳延遲值設(shè)置一定的調(diào)整范圍,以在預(yù)設(shè)范圍內(nèi),對(duì)最佳延遲值進(jìn)行調(diào)整。
[0104]而當(dāng)遇到SD卡的通信操作超時(shí)的情況時(shí),本發(fā)明實(shí)施例則可以通過重傳當(dāng)前命令/數(shù)據(jù)、關(guān)閉SD卡硬件電源重啟后再重傳、或者直接降低時(shí)鐘頻率后重傳當(dāng)前命令/數(shù)據(jù), 以使系統(tǒng)恢復(fù)正常。
[0105]綜上所述,本發(fā)明通過經(jīng)由延長(zhǎng)線與安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的通信操作,若接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,若未接收到安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;查找狀態(tài)值連續(xù)為第一數(shù)值的最長(zhǎng)數(shù)據(jù)段;將位于最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的通信操作的延遲值作為最佳延遲值;將最佳延遲值設(shè)置為安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差,以補(bǔ)償由安全數(shù)碼卡的延長(zhǎng)線所引起的延遲,能夠補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲,保證安全數(shù)碼卡的傳輸速度,提高系統(tǒng)的性能。
[0106]以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均應(yīng)包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的方法,其特征在于,所述方法包括:經(jīng)由所述延長(zhǎng)線與所述安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的通信操作,若接收到所述安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄所述通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,若未接收到所述安全 數(shù)據(jù)卡返回的正確響應(yīng),則記錄所述通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;查找所述狀態(tài)值連續(xù)為所述第一數(shù)值的最長(zhǎng)數(shù)據(jù)段;將位于所述最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的所述通信操作的延遲值作為最 佳延遲值;以及將所述最佳延遲值設(shè)置為所述安全數(shù)碼卡的源時(shí)鐘和采樣時(shí)鐘的相位差,以補(bǔ)償由所 述安全數(shù)碼卡的所述延長(zhǎng)線所引起的延遲。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通信操作包括命令通信操作和數(shù)據(jù)通 信操作,所述最佳延遲值包括最佳命令延遲值和最佳數(shù)據(jù)延遲值,經(jīng)由所述延長(zhǎng)線與所述 安全數(shù)碼卡進(jìn)行所述通信操作的步驟包括:經(jīng)由所述延長(zhǎng)線的命令總線與所述安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的所述命令通信操作,分 別獲取多個(gè)所述命令通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值;或經(jīng)由所述延長(zhǎng)線的數(shù)據(jù)總線與所述安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的所述數(shù)據(jù)通信操作,分 別獲取多個(gè)所述數(shù)據(jù)通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述經(jīng)由所述延長(zhǎng)線的命令總線與所述安 全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的所述命令通信操作,分別獲取多個(gè)所述命令通信操作分別對(duì)應(yīng)的 多個(gè)狀態(tài)值的步驟包括:設(shè)置所述命令通信操作的初始延遲值為〇;經(jīng)由所述延長(zhǎng)線的命令總線向所述安全數(shù)碼卡發(fā)送預(yù)存的命令;如果接收到所述安全數(shù)碼卡經(jīng)由所述延長(zhǎng)線的命令總線返回的未顯示循環(huán)冗余校驗(yàn) 錯(cuò)誤的響應(yīng),則記錄當(dāng)前的所述命令通信操作對(duì)應(yīng)的狀態(tài)值為所述第一數(shù)值,否則記錄當(dāng) 前的所述命令通信操作對(duì)應(yīng)的狀態(tài)值為所述第二數(shù)值;以及將所述延遲值加1,并判斷所述延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回執(zhí)行向所述安全 數(shù)碼卡發(fā)送預(yù)存的下一條命令的操作,若是,則結(jié)束本步驟。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述經(jīng)由所述延長(zhǎng)線的數(shù)據(jù)總線與所述安 全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的所述數(shù)據(jù)通信操作,分別獲取多個(gè)所述數(shù)據(jù)通信操作分別對(duì)應(yīng)的 多個(gè)狀態(tài)值的步驟包括:設(shè)置所述讀數(shù)據(jù)通信操作的初始延遲值為〇;經(jīng)由所述延長(zhǎng)線的命令總線向所述安全數(shù)碼卡發(fā)送預(yù)存的讀數(shù)據(jù)的命令;如果正確接收到所述安全數(shù)碼卡經(jīng)由所述延長(zhǎng)線的數(shù)據(jù)總線返回的未顯示循環(huán)冗余 校驗(yàn)錯(cuò)誤的數(shù)據(jù),則記錄當(dāng)前的所述讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄 當(dāng)前的所述讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;以及將所述延遲值加1,并判斷所述延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回執(zhí)行向所述安全 數(shù)碼卡發(fā)送預(yù)存的下一條讀數(shù)據(jù)的命令的操作,若是則結(jié)束本步驟。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述經(jīng)由所述延長(zhǎng)線的數(shù)據(jù)總線與所述安 全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的所述數(shù)據(jù)通信操作,分別獲取多個(gè)所述數(shù)據(jù)通信操作分別對(duì)應(yīng)的 多個(gè)狀態(tài)值的步驟包括:設(shè)置所述寫數(shù)據(jù)通信操作的初始延遲值為0;經(jīng)由所述延長(zhǎng)線的命令總線向所述安全數(shù)碼卡發(fā)送預(yù)存的寫數(shù)據(jù)的命令,并經(jīng)由所述 延長(zhǎng)線的數(shù)據(jù)總線向所述安全數(shù)碼卡發(fā)送待寫數(shù)據(jù);如果正確接收到所述安全數(shù)碼卡返回的寫數(shù)據(jù)成功的響應(yīng),則記錄當(dāng)前的所述寫數(shù)據(jù) 通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的所述寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為 第二數(shù)值;以及將所述延遲值加1,并判斷所述延遲值是否達(dá)到預(yù)設(shè)值,若否則返回執(zhí)行向所述安全數(shù) 碼卡發(fā)送預(yù)存的下一條寫數(shù)據(jù)的命令的操作,若是則結(jié)束本步驟。6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述數(shù)據(jù)通信操作包括讀數(shù)據(jù)通信操作和 寫數(shù)據(jù)通信操作,所述查找所述狀態(tài)值連續(xù)為所述第一數(shù)值的最長(zhǎng)數(shù)據(jù)段的步驟包括:查找對(duì)應(yīng)于所述 讀數(shù)據(jù)通信操作的第一最長(zhǎng)數(shù)據(jù)段以及對(duì)應(yīng)于所述寫數(shù)據(jù)通信操作的第二最長(zhǎng)數(shù)據(jù)段; 所述將位于所述最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的所述通信操作的延遲值作 為最佳延遲值的步驟包括:將所述第一最長(zhǎng)數(shù)據(jù)段和所述第二最長(zhǎng)數(shù)據(jù)段相重疊部分的數(shù) 據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的延遲值作為最佳數(shù)據(jù)延遲值。7.—種補(bǔ)償安全數(shù)碼卡的延長(zhǎng)線引起的延遲的裝置,其特征在于,所述裝置包括: 通信操作模塊,用于經(jīng)由所述延長(zhǎng)線與所述安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的通信操作,若接收到所述安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄所述通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值, 若未接收到所述安全數(shù)據(jù)卡返回的正確響應(yīng),則記錄所述通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù) 值;查找模塊,與所述通信操作模塊連接,用于查找所述狀態(tài)值連續(xù)為所述第一數(shù)值的最 長(zhǎng)數(shù)據(jù)段;處理模塊,與所述查找模塊連接,用于將位于所述最長(zhǎng)數(shù)據(jù)段的中間位置的狀態(tài)值所 對(duì)應(yīng)的所述通信操作的延遲值作為最佳延遲值;以及設(shè)置模塊,與所述處理模塊連接,將所述最佳延遲值設(shè)置為所述安全數(shù)碼卡的源時(shí)鐘 和采樣時(shí)鐘的相位差,以補(bǔ)償由所述安全數(shù)碼卡的所述延長(zhǎng)線所引起的延遲。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述通信操作包括命令通信操作和數(shù)據(jù)通 信操作,所述最佳延遲值包括最佳命令延遲值和最佳數(shù)據(jù)延遲值,所述通信操作模塊包括:命令通信模塊,用于經(jīng)由所述延長(zhǎng)線的命令總線與所述安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的 所述命令通信操作,分別獲取多個(gè)所述命令通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值;以及數(shù)據(jù)通信模塊,用于經(jīng)由所述延長(zhǎng)線的數(shù)據(jù)總線與所述安全數(shù)碼卡進(jìn)行預(yù)設(shè)次數(shù)的所 述數(shù)據(jù)通信操作,分別獲取多個(gè)所述數(shù)據(jù)通信操作分別對(duì)應(yīng)的多個(gè)狀態(tài)值。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述命令通信模塊還用于:設(shè)置所述命令 通信操作的初始延遲值為〇;經(jīng)由所述延長(zhǎng)線的命令總線向所述安全數(shù)碼卡發(fā)送預(yù)存的命令;如果接收到所述安全數(shù)碼卡經(jīng)由所述延長(zhǎng)線的命令總線返回的未顯示循環(huán)冗余校驗(yàn) 錯(cuò)誤的響應(yīng),則記錄當(dāng)前的所述命令通信操作對(duì)應(yīng)的狀態(tài)值為所述第一數(shù)值,否則記錄當(dāng) 前的所述命令通信操作對(duì)應(yīng)的狀態(tài)值為所述第二數(shù)值;以及將所述延遲值加1,并判斷所述延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回執(zhí)行向所述安全數(shù)碼卡發(fā)送預(yù)存的下一條命令的操作,若是,則結(jié)束本步驟。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述數(shù)據(jù)通信模塊包括讀數(shù)據(jù)通信模塊, 所述讀數(shù)據(jù)通信模塊用于:設(shè)置所述讀數(shù)據(jù)通信操作的初始延遲值為〇;經(jīng)由所述延長(zhǎng)線的命令總線向所述安全數(shù)碼卡發(fā)送預(yù)存的讀數(shù)據(jù)的命令;以及如果正確接收到所述安全數(shù)碼卡經(jīng)由所述延長(zhǎng)線的數(shù)據(jù)總線返回的未顯示循環(huán)冗余 校驗(yàn)錯(cuò)誤的數(shù)據(jù),則記錄當(dāng)前的所述讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄 當(dāng)前的所述讀數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為第二數(shù)值;將所述延遲值加1,并判斷所述延遲值是否達(dá)到預(yù)設(shè)值,若否,則返回執(zhí)行向所述安全 數(shù)碼卡發(fā)送預(yù)存的下一條讀數(shù)據(jù)的命令操作,若是則結(jié)束本步驟。11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述數(shù)據(jù)通信模塊還包括寫數(shù)據(jù)通信模 塊,所述寫數(shù)據(jù)通信模塊用于:設(shè)置所述寫數(shù)據(jù)通信操作的初始延遲值為〇;經(jīng)由所述延長(zhǎng)線的命令總線向所述安全數(shù)碼卡發(fā)送預(yù)存的寫數(shù)據(jù)的命令,并經(jīng)由所述 延長(zhǎng)線的數(shù)據(jù)總線向所述安全數(shù)碼卡發(fā)送待寫數(shù)據(jù);如果正確接收到所述安全數(shù)碼卡返回的寫數(shù)據(jù)成功的響應(yīng),則記錄當(dāng)前的所述寫數(shù)據(jù) 通信操作對(duì)應(yīng)的狀態(tài)值為第一數(shù)值,否則記錄當(dāng)前的所述寫數(shù)據(jù)通信操作對(duì)應(yīng)的狀態(tài)值為 第二數(shù)值;以及將所述延遲值加1,并判斷所述延遲值是否達(dá)到預(yù)設(shè)值,若否則返回執(zhí)行向所述安全數(shù) 碼卡發(fā)送預(yù)存的下一條寫數(shù)據(jù)的命令的操作,若是則結(jié)束本步驟。12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述數(shù)據(jù)操作包括讀數(shù)據(jù)通信操作和寫 數(shù)據(jù)通信操作,所述查找模塊還用于:查找對(duì)應(yīng)于所述讀數(shù)據(jù)通信操作的第一最長(zhǎng)數(shù)據(jù)段 以及對(duì)應(yīng)于所述寫數(shù)據(jù)通信操作的第二最長(zhǎng)數(shù)據(jù)段;所述處理還模塊用于:將所述第一最長(zhǎng)數(shù)據(jù)段和所述第二最長(zhǎng)數(shù)據(jù)段相重疊部分的數(shù) 據(jù)段的中間位置的狀態(tài)值所對(duì)應(yīng)的延遲值作為最佳數(shù)據(jù)延遲值。
【文檔編號(hào)】G06K19/077GK106096702SQ201610339223
【公開日】2016年11月9日
【申請(qǐng)日】2016年5月18日
【發(fā)明人】陳松林
【申請(qǐng)人】杰發(fā)科技(合肥)有限公司