7816接口與uart接口的通訊速率匹配方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)通訊技術(shù)領(lǐng)域,具體涉及一種接觸式智能卡的7816接口與UART接口的通訊速率匹配方法及系統(tǒng)。
【背景技術(shù)】
[0002]接觸式智能卡,其外形和尺寸都遵循國際標(biāo)準(zhǔn)IS0/IEC7816協(xié)議,接觸式智能卡的7816接口與外部讀卡設(shè)備(如接觸式讀卡器)進(jìn)行通訊時,一般是使用讀卡設(shè)備的微控制單元M⑶的UART接口,或者是GP1接口實(shí)現(xiàn)。接觸式智能卡的7816接口的通訊速率和外部時鐘CLK有關(guān),其默認(rèn)速率9600bps WART接口一般不依賴外部時鐘,有些芯片可以實(shí)現(xiàn)較大范圍的速率配置,有的只能在較小范圍內(nèi)配置,UART接口的常用速率一般為38400bps、115200bps 等。
[0003 ] 現(xiàn)有的7816接口同UART 口通訊時,一般是先匹配到一個較低的速率(例如默認(rèn)的9600bps),視應(yīng)用需要,如果必須要使用較高速率,再協(xié)商到一個較高的速率(例如38400bps、115200bps等)。7816接口的初始通訊速率為1/(372*(1/CLK)),通常使用CLK時鐘在I?6MHz范圍,對應(yīng)的通訊速率為2688?16129bps WART接口的芯片在支持較大范圍內(nèi)較小步長的調(diào)整時,那么速率匹配較容易,但是有的芯片的UART接口速率可調(diào)整范圍較小、或者調(diào)整步長較大、甚至僅支持一個或幾個固定的速率,這樣速率匹配就會比較困難。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種7816接口與UART接口的通訊速率匹配方法及系統(tǒng),通過該方法及系統(tǒng),能夠?qū)崿F(xiàn)7816接口與UART接口通訊速率的快速匹配,并有效提升通訊速率。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例中采用的技術(shù)方案如下:
[0006]—種7816接口與UART接口的通訊速率匹配方法,包括以下步驟:
[0007](I)根據(jù)接觸式智能卡的芯片所支持的外部時鐘頻率初步選定智能卡的外部時鐘的第一時鐘頻率范圍;
[0008](2)根據(jù)初步選定的外部時鐘的第一時鐘頻率范圍計算出接觸式智能卡的7816接口所支持的通訊速率范圍;
[0009](3)根據(jù)7816接口所支持的通訊速率范圍和接觸式讀卡終端的UART接口所支持的通訊速率確定出7816接口與UART接口之間的第一通訊速率,接觸式智能卡與接觸式讀卡終端之間按照所述第一通訊速率進(jìn)行數(shù)據(jù)交互。
[0010]進(jìn)一步,如上所述的一種7816接口與UART接口的通訊速率匹配方法,步驟(3)中,確定出7816接口與UART接口之間的第一通訊速率后,該方法還包括:
[0011](4)根據(jù)所述第一通訊速率計算出接觸式智能卡的7816接口所需要的外部時鐘頻率;
[0012](5)根據(jù)所述7816接口所需要的外部時鐘頻率和預(yù)設(shè)的7816接口與UART接口之間的采樣位置偏差確定出接觸式智能卡的外部時鐘的第二時鐘頻率范圍,根據(jù)第二時鐘頻率范圍選定接觸式智能卡的外部時鐘。
[0013]進(jìn)一步,如上所述的一種7816接口與UART接口的通訊速率匹配方法,所述第一通訊速率為UART接口支持且在7816接口所支持的通訊速率范圍內(nèi)的通訊速率。
[0014]再進(jìn)一步,如上所述的一種7816接口與UART接口的通訊速率匹配方法,步驟(I)中,所述第一時鐘頻率范圍為6MHz?20MHz ;
[0015]步驟(2)中,接觸式智能卡的7816接口所支持的通訊速率范圍為16129bps?53763bps;
[0016]步驟(3)中,接觸式讀卡終端的UART接口所支持的通訊速率為38400bps和115200bps。
[0017]更進(jìn)一步,如上所述的一種7816接口與UART接口的通訊速率匹配方法,步驟(3)中,7816接口與UART接口之間的第一通訊速率為38400bps,所述第二時鐘頻率范圍為14MHz?14.5ΜΗζ0
[0018]本發(fā)明實(shí)施例中還提供了一種7816接口與UART接口的通訊速率匹配系統(tǒng),包括:
[0019]第一外部時鐘選定模塊,用于根據(jù)接觸式智能卡的芯片所支持的外部時鐘頻率初步選定智能卡的外部時鐘的第一時鐘頻率范圍;
[0020]智能卡通訊速率計算模塊,用于根據(jù)初步選定的外部時鐘的第一時鐘頻率范圍計算出接觸式智能卡的7816接口所支持的通訊速率范圍;
[0021]通訊速率確定模塊,用于根據(jù)7816接口所支持的通訊速率范圍和接觸式讀卡終端的UART接口所支持的通訊速率確定出7816接口與UART接口之間的第一通訊速率,接觸式智能卡與接觸式讀卡終端之間按照所述第一通訊速率進(jìn)行數(shù)據(jù)交互。
[0022]進(jìn)一步,如上所述的一種7816接口與UART接口的通訊速率匹配系統(tǒng),該系統(tǒng)還包括:
[0023]外部時鐘頻率計算模塊,用于在確定出7816接口與UART接口之間的第一通訊速率后,根據(jù)所述第一通訊速率計算出接觸式智能卡的7816接口所需要的外部時鐘頻率;
[0024]第二外部時鐘選定模塊,用于根據(jù)所述7816接口所需要的外部時鐘頻率和預(yù)設(shè)的7816接口與UART接口之間的采樣位置偏差確定出接觸式智能卡的外部時鐘的第二時鐘頻率范圍,根據(jù)第二時鐘頻率范圍選定接觸式智能卡的外部時鐘。
[0025]進(jìn)一步,如上所述的一種7816接口與UART接口的通訊速率匹配系統(tǒng),所述第一通訊速率為UART接口支持且在7816接口所支持的通訊速率范圍內(nèi)的通訊速率。
[0026]進(jìn)一步,如上所述的一種7816接口與UART接口的通訊速率匹配系統(tǒng),所述第一時鐘頻率范圍為6MHz?20MHz;接觸式智能卡的7816接口所支持的通訊速率范圍為16129bps?53763bps ;接觸式讀卡終端的UART接口所支持的通訊速率為38400bps和115200bps。
[0027]進(jìn)一步,如上所述的一種7816接口與UART接口的通訊速率匹配系統(tǒng),7816接口與UART接口之間的第一通訊速率為38400bps,所述第二時鐘頻率范圍為14MHz?14.5MHz。
[0028]本發(fā)明的有益效果在于:本發(fā)明所提供的7816接口與UART接口的通訊速率匹配及系統(tǒng),降低了 7816接口與UART接口之間的通訊速率匹配難度,降低了對UART接口功能的要求,且在匹配初始速率的同時將通訊速率就可以將初始速率匹配在一個較高的速率,可避免后續(xù)再額外進(jìn)行PPS(Protocol and Parameter Select1n協(xié)議和參數(shù)選擇)協(xié)商。此外, 通過該方法及系統(tǒng)還能夠準(zhǔn)確的選定出7816接口所需要的外部時鐘。
【附圖說明】
[0029]圖1為實(shí)施例一種提供的一種7816接口與UART接口的通訊速率匹配方法的流程圖;
[0030 ]圖2為實(shí)施例二中提供的一種7 816接口與UART接口的通訊速率匹配方法的流程圖;
[0031]圖3為實(shí)施例三中提供的一種7816接口與UART接口的通訊速率匹配系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0032]下面結(jié)合說明書附圖與【具體實(shí)施方式】對本發(fā)明做進(jìn)一步的詳細(xì)說明。
[0033]實(shí)施例一
[0034]圖1示出了本實(shí)施例中提供的一種7816接口與UART接口的通訊速率匹配方法的流程圖,該方法主要包括以下步驟:
[0035]步驟Sll:根據(jù)接觸式智能卡的芯片所支持的外部時鐘頻率初步選定智能卡的外部時鐘的第一時鐘頻率范圍;
[0036]步驟S12:根據(jù)初步選定的外部時鐘的第一時鐘頻率范圍計算出接觸式智能卡的7816接口所支持的通訊速率范圍;
[0037]步驟SI3:根據(jù)7816接口所支持的通訊速率范圍和接觸式讀卡終端的UART接口所支持的通訊速率確定出7816接口與UART接口之間的第一通訊速率。
[0038]首先,根據(jù)接觸式智能卡的芯片所能夠支持的外部時鐘頻率初步選定其外部時鐘的第一時鐘頻率范圍,現(xiàn)有大部分接觸式智能卡的芯片都支持超過1MHz的外部時鐘頻率,因此,在初步選定時,可以選定一個具有較高時鐘頻率的外部時鐘,本實(shí)施例中,初步選定的所述第一時鐘頻率范圍為6MHz?20MHz,根據(jù)該時鐘頻率范圍計算出的7816接口所能支持的通訊速率的范圍為16129bps?53763bps,計算公式為:通訊速率= 1/(( 372*( I/CLK))),其中,CLK表示時鐘頻率。
[0039]完成接觸式智能卡的7816接口所支持的通訊速率范圍的計算后,根據(jù)該通訊速率范圍和接觸式讀卡終端的UART接口所支持的通訊速率便可以確定出兩個接口之間的第一通訊速率,接觸式智能卡與接觸式讀卡終端之間按照所述第一通訊速率進(jìn)行數(shù)據(jù)交互即可。
[0040]本實(shí)施例中,所述第一通訊速率為UART接口支持且在7816接口所支持的通訊速率范圍內(nèi)的通訊速率。目前,UART接口通用支持的通訊速率為38400bps和115200bps等,考慮到UART接口通訊速率的通用性以及7816接口太高的通訊速率可能有較多的智能卡芯片不支持,本實(shí)施例中,接觸式智能卡與接觸式讀卡終端之間的第一通訊速率可以選定為38400bps,即7816接口與UART接口的初始匹配速率直接確定為38400bps。
[0041 ] 現(xiàn)有技術(shù)中,一般的7816接口和UART接口通訊都是采用先用標(biāo)準(zhǔn)9600bps速率,然后協(xié)商到38400bps或115200bps的方式,本實(shí)施例中所提供的兩接口間的通訊速率匹配方法在在匹配初始速率的同時就將速率提升到38400bps,而該速率對大部分的應(yīng)用場景來說已經(jīng)足夠,不需要再額外進(jìn)行PPS協(xié)商,有效提供了通訊速率,且避免了后續(xù)的PPS協(xié)商,降低了通訊速率匹配難度。
[0042]實(shí)施例二
[0043]圖2示出了本實(shí)施例中提供的一種7816接口與UART接口的通訊速率匹配方法的流程圖,該方法主要包括以下步驟:
[0044]步驟S21:根據(jù)接觸式智能卡的芯片所支持的外部時鐘頻率初步選定智能卡的外部時鐘的第一時鐘頻率范圍;
[0045]步驟S22:根據(jù)初步選定的外部時鐘