一種自適應諧振頻率的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種自適應諧振頻率的方法和裝置。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,終端與智能卡通信過程中,由于智能卡的制作工藝問題,或者隨著智能卡的工作時間的增長,會出現(xiàn)智能卡的諧振頻率發(fā)生變化的情況,導致終端不能正常的接收到智能卡的信號,降低終端和智能卡的通信效率,甚至使終端不能與智能卡進行通信。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的不足,提供一種自適應諧振頻率的方法和裝置,根據(jù)尋卡過程中發(fā)生的錯誤類型,自動調(diào)整終端中接收智能卡信號的增益值,使終端自適應不同諧振頻率的智能卡,提高終端和智能卡的通信效率。
[0004]本發(fā)明提供的一種自適應諧振頻率的方法,包括:
[0005]當終端接收到上位機發(fā)送的尋卡請求時,執(zhí)行以下步驟:
[0006]步驟S1:所述終端根據(jù)增益值進行尋卡,得到尋卡結(jié)果;
[0007]步驟S2:所述終端根據(jù)所述尋卡結(jié)果判斷是否尋卡成功,是則向所述上位機返回操作結(jié)果,結(jié)束,否則執(zhí)行步驟S3 ;
[0008]步驟S3:所述終端根據(jù)所述尋卡結(jié)果更新錯誤代碼;
[0009]步驟S4:所述終端根據(jù)所述錯誤代碼調(diào)整所述增益值;
[0010]步驟S5:所述終端判斷調(diào)整后的增益值是否在第一預設范圍內(nèi),是則返回步驟Si,否則向所述上位機返回尋卡失敗信息,結(jié)束。
[0011]本發(fā)明提供一種自適應諧振頻率的裝置,所述裝置包括:主控芯片、非接觸芯片和通信接口 ;
[0012]所述通信接口用于接收上位機發(fā)送的尋卡請求;
[0013]所述主控芯片包括接收模塊、發(fā)送模塊、第一判斷模塊、更新模塊、調(diào)整模塊和第二判斷模塊;
[0014]所述發(fā)送模塊,用于當所述通信接口接收到所述尋卡請求時,將所述增益值發(fā)送給所述非接觸芯片,向所述非接觸芯片發(fā)送尋卡指令;當所述第一判斷模塊判斷出尋卡成功時,通過所述通信接口向所述上位機返回操作結(jié)果;當所述第二判斷模塊判斷出所述調(diào)整后的增益值不在所述第一預設范圍內(nèi)時,通過所述通信接口向所述上位機返回尋卡失敗信息;
[0015]所述接收模塊,用于接收所述非接觸芯片返回的所述尋卡結(jié)果;
[0016]所述第一判斷模塊,用于根據(jù)所述接收模塊接收到的所述尋卡結(jié)果判斷是否尋卡成功;
[0017]所述更新模塊,用于當所述第一判斷模塊判斷出尋卡失敗時,根據(jù)所述尋卡結(jié)果更新錯誤代碼;
[0018]所述調(diào)整模塊,用于根據(jù)所述更新模塊得到的所述錯誤代碼調(diào)整所述增益值;
[0019]所述第二判斷模塊,用于判斷所述調(diào)整模塊調(diào)整后的增益值是否在第一預設范圍內(nèi),當所述調(diào)整后的增益值在所述第一預設范圍內(nèi)時,觸發(fā)所述發(fā)送模塊將所述調(diào)整后的增益值發(fā)送給所述非接觸芯片;
[0020]所述非接觸芯片用于接收所述主控芯片發(fā)送的尋卡指令,向智能卡發(fā)送尋卡指令,生成尋卡結(jié)果,向所述主控芯片返回所述尋卡結(jié)果。
[0021]本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點:
[0022]本發(fā)明提供的一種自適應諧振頻率的方法和裝置,根據(jù)尋卡過程中發(fā)生的錯誤類型,自動調(diào)整終端中接收智能卡信號的增益值,使終端自適應不同諧振頻率的智能卡,提高終端和智能卡的通信效率。
【附圖說明】
[0023]圖1是本發(fā)明實施例1提供的一種自適應諧振頻率的方法的流程圖;
[0024]圖2是本發(fā)明實施例1中步驟107的一種具體實現(xiàn)流程圖;
[0025]圖3是本發(fā)明實施例1中步驟107的又一種具體實現(xiàn)流程圖;
[0026]圖4是本發(fā)明實施例2提供的一種自適應諧振頻率的裝置的模塊圖。
【具體實施方式】
[0027]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0028]實施例1
[0029]本發(fā)明的實施例1提供了一種自適應諧振頻率的方法,如圖1所示,當終端接收到上位機發(fā)送的尋卡請求時,執(zhí)行以下步驟:
[0030]步驟101:終端初始化錯誤次數(shù);
[0031 ] 優(yōu)選地,錯誤次數(shù)的初始值為O ;
[0032]本實施例中,該步驟還可以包括:終端初始化增益值;優(yōu)選地,增益值的初始值為4 ;
[0033]步驟102:終端根據(jù)增益值進行尋卡,得到尋卡結(jié)果;
[0034]具體地,終端將增益值發(fā)送給終端中的非接觸芯片,終端向非接觸芯片發(fā)送尋卡指令,接收非接觸芯片返回的尋卡結(jié)果;
[0035]例如,終端向非接觸芯片發(fā)送的尋卡指令為0x00 FF FF 01 00 ;
[0036]具體地,終端將增益值發(fā)送給終端中的非接觸芯片為:終端將增益值寫入非接觸芯片的增益控制寄存器;
[0037]優(yōu)選地,終端將增益值寫入增益控制寄存器Receive Configurat1n Register 4的尚4位;
[0038]例如,若增益值為4,則終端將增益控制寄存器Receive Configurat1n Register4的高4位設置為二進制數(shù)0100 ;
[0039]步驟103:終端根據(jù)尋卡結(jié)果判斷是否尋卡成功,是則向上位機返回操作結(jié)果,結(jié)束,否則執(zhí)行步驟104;
[0040]具體地,終端獲取尋卡結(jié)果中的返回碼,判斷返回碼是否為第一預設值,是則確定尋卡成功,否則確定尋卡失?。?br>[0041]優(yōu)選地,第一預設值為0x00 ;
[0042]例如,尋卡結(jié)果中的返回碼為OxCE,則終端判斷出尋卡結(jié)果中的返回碼不為第一預設值,確定尋卡失??;
[0043]步驟104:終端判斷錯誤次數(shù)是否大于最大次數(shù),是則向上位機返回尋卡失敗信息,結(jié)束,否則執(zhí)行步驟105;
[0044]步驟105:終端更新錯誤次數(shù),根據(jù)尋卡結(jié)果更新錯誤代碼;
[0045]具體地,終端將錯誤次數(shù)自加1,將錯誤代碼設置為尋卡結(jié)果中的返回碼;
[0046]步驟106:終端根據(jù)錯誤代碼調(diào)整增益值;
[0047]優(yōu)選地,錯誤代碼對應錯誤類型,錯誤類型包括校驗錯誤、幀錯誤和超時錯誤;除此之外,終端也可以根據(jù)其他錯誤代碼調(diào)整增益值;
[0048]步驟107:終端判斷調(diào)整后的增益值是否在第一預設范圍內(nèi),是則終端返回步驟102,否則向上位機返回尋卡失敗信息,結(jié)束;
[0049]優(yōu)選地,本實施例中,第一預設范圍為O至10 ;
[0050]本實施例中,步驟106具體為:終端根據(jù)錯誤代碼和智能卡信號強度調(diào)整增益值,如圖2所示,包括:
[0051]步驟201:終端獲取智能卡信號強度;
[0052]具體地,終端通過讀取信號強度指示寄存器,得到智能卡信號強度;
[0053]優(yōu)選地,終端獲取信號強度指示寄存器RSSI Display Register的高4位數(shù)據(jù)作為智能卡信號強度;
[0054]例如,終端獲取到的信號強度指示寄存器RSSI Display Register的高4位數(shù)據(jù)為二進制數(shù)0110,則終端獲取到的智能卡信號強度為6 ;
[0055]本實施例中,終端獲取到智能卡信號強度之后,還包括:終端判斷獲取到的智能卡信號強度是否在第二預設范圍內(nèi),是則執(zhí)行步驟202,否則向上位機返回尋卡失敗信息,結(jié)束;
[0056]具體地,終端判斷獲取到的智能卡信號強度是否在預設范圍內(nèi),是則確定智能卡信號強度正確,否則確定智能卡信號強度不正確;
[0057]優(yōu)選地,第二預設范圍為O至12 ;
[0058]步驟201之后,還可以包括:終端清除信號強度指示寄存器;
[0059]步驟202:終端判斷智能卡信號強度的大小,若智能卡信號強度小于第四預設值則執(zhí)行步驟203,若智能卡信號強度大于第五預設值則執(zhí)行步驟204,若是其他值則執(zhí)行步驟 205 ;
[0060]具體地,本實施例中,第四預設值小于第五預設值;
[0061]優(yōu)選地,本實施例中,第四預設值為4,第五預設值為8 ;
[0062]步驟203:終端將增益值減小第一預設步長,執(zhí)行步驟107 ;
[0063]步驟204:終端將增益值增大第一預設步長,執(zhí)行步驟107 ;
[0064]步驟205:終端根據(jù)錯誤代碼判斷錯誤類型,若是校驗錯誤則執(zhí)行步驟206,若是幀錯誤則執(zhí)行步驟207,若是超時錯誤則執(zhí)行步驟208 ;
[0065]具體地,終端判斷錯誤代碼的值,若為第六預設值則確定錯誤類型為校驗錯誤,若為第七預設值則確定錯誤類型為幀錯誤,若為第八預設值則確定錯誤類型為超時錯誤;
[0066]優(yōu)選地,第六預設值為OxCE,第七預設值為0xC6,第八預設值為0xF9 ;
[0067]步驟206:終端將增益值增大第一預設步長,執(zhí)行步驟107 ;
[0068]步驟207:終端將增益值增大第二預設步長,執(zhí)行步驟107 ;
[0069]步驟208:終端將增益值減小第一預設步長,執(zhí)行步驟107 ;
[0070]具體地,第一預設步長大于第二預設步長;
[0071]優(yōu)選地,本實施例中,第一預設步長為2,第二預設步長為I ;
[0072]除此之外,本實施例中,步驟106具體為:終端根據(jù)錯誤代碼和錯誤次數(shù)調(diào)整增益值,如圖3所示,還可以為:
[0073]步驟301:終端根據(jù)錯誤代碼判斷錯誤類型,若是校驗錯誤則執(zhí)行步驟302,若是幀錯誤則執(zhí)行步驟308,若是超時錯誤則執(zhí)行步驟314 ;
[0074]具體地,終端判斷錯誤代碼的值,若為第六預設值則確定錯誤類型為校驗錯誤,若為第七預設值則確定錯誤類型為幀錯誤,若為第八