浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 其它綜合

接觸式CPU卡中T=0異步半雙工字符傳輸協(xié)議的硬件實(shí)現(xiàn)

發(fā)布時(shí)間:2008/6/3 0:00:00 訪問(wèn)次數(shù):2062

摘 要:t=0異步半雙工字符傳輸協(xié)議是接觸式ic卡國(guó)際標(biāo)準(zhǔn)iso/iec 7816中規(guī)定的一種通信協(xié)議。本文首先分析了iso/iec 7816-3中對(duì)于電信號(hào)和傳輸協(xié)議的規(guī)定,在此基礎(chǔ)上介紹了t=0異步半雙工字符傳輸協(xié)議的硬件實(shí)現(xiàn)方法。
關(guān)鍵詞:iso/iec 7816;異步半雙工字符傳輸協(xié)議;cpu卡

引言
cpu卡作為ic卡家族中功能最強(qiáng)、安全性最高的成員,已經(jīng)逐漸在各種應(yīng)用中占據(jù)主導(dǎo)地位。在iso/iec 7816-3中介紹了兩種通信協(xié)議:t=0和t=1通信協(xié)議。t=0是異步半雙工字符傳輸協(xié)議,t=1是異步半雙工塊傳輸協(xié)議。目前大多數(shù)接口設(shè)備都支持t=0通信協(xié)議,因此該協(xié)議應(yīng)用較為廣泛。
t=0通信協(xié)議可以通過(guò)軟件編程來(lái)實(shí)現(xiàn)。但在軟件實(shí)現(xiàn)過(guò)程中,需要通過(guò)軟件編程來(lái)控制數(shù)據(jù)收發(fā),對(duì)于實(shí)時(shí)性很強(qiáng)的通信處理,cpu的處理能力常常滿足不了要求,而且通信的可靠性和穩(wěn)定性也不是很理想,而硬件電路實(shí)現(xiàn)不存在上述問(wèn)題。

傳輸協(xié)議描述
iso/iec 7816-3規(guī)定了ic卡的電氣特性和傳輸協(xié)議。包括該類(lèi)卡和接口設(shè)備間的電源、電氣信號(hào)協(xié)議和信息交換協(xié)議。通信過(guò)程中,由接口設(shè)備給ic卡提供電源(vcc),復(fù)位信號(hào)(rst)和時(shí)鐘(clk),卡和接口設(shè)備間通過(guò)i/o端口進(jìn)行串行通信。
定義i/o端口有兩種可能狀態(tài):
傳號(hào)或高電平(狀態(tài)z):當(dāng)卡和接口設(shè)備均處于接收狀態(tài)時(shí),i/o端口處于狀態(tài)z。也可由發(fā)送方強(qiáng)制定義為狀態(tài)z。
空號(hào)或低電平(狀態(tài)a):可由發(fā)送方強(qiáng)制定義為狀態(tài)a。
根據(jù)t=0異步半雙工字符傳輸協(xié)議,ic卡和接口設(shè)備之間以字符為單位(簡(jiǎn)稱字符幀)進(jìn)行傳輸,采用偶校驗(yàn),每個(gè)字符由10bit組成,如圖1所示。傳輸字符幀之前,i/o線處于狀態(tài)z,第1bit為起始位(狀態(tài)a);后面8bit為數(shù)據(jù)位d1~d8;第10bit為偶校驗(yàn)位,即8位數(shù)據(jù)和奇偶校驗(yàn)位中1的個(gè)數(shù)為偶數(shù)。
串行通信是按位傳送的,每位信息寬度(持續(xù)時(shí)間)定義為基本時(shí)間單位etu(elementary time unit)。在復(fù)位應(yīng)答期間的信息寬度稱為“初始etu”,它等于372個(gè)時(shí)鐘周期,即1etu = 372/f 。復(fù)位應(yīng)答后的信息寬度稱為“當(dāng)前etu”,其計(jì)算公式為:
當(dāng)前etu
其中:f是時(shí)鐘頻率變換因數(shù);d是比特率調(diào)整因數(shù);f是時(shí)鐘頻率。

硬件實(shí)現(xiàn)方案
按照上述標(biāo)準(zhǔn)實(shí)現(xiàn)的可編程串行接口系統(tǒng)如圖2所示。
可編程串行接口內(nèi)部的特殊功能寄存器有:
1. 串行接口控制/狀態(tài)寄存器scon(復(fù)位后為00h)。
寄存器各位定義如下:
scon[0]:接收中斷標(biāo)志位;
scon[1]:發(fā)送中斷標(biāo)志位;
scon[2]:發(fā)送出錯(cuò)標(biāo)志位;
scon[3]:接收出錯(cuò)標(biāo)志位;
scon[4]:允許發(fā)送標(biāo)志位;
scon[5]:允許接收標(biāo)志位;
scon[6]:保留;
scon[7]:可編程串行接口允許標(biāo)志位。
scon[4]、scon[5]不能同時(shí)為1,否則i/o接口將處于邏輯混亂狀態(tài)。
2.串行接口數(shù)據(jù)緩沖器sbuf(復(fù)位后為00h) 。發(fā)送時(shí),sbuf作為發(fā)送數(shù)據(jù)緩沖器,用于緩存待發(fā)的數(shù)據(jù)。接收時(shí),sbuf作為接收數(shù)據(jù)緩沖器,用于緩存收到的數(shù)據(jù)。
3. 波特率寄存器mr、br (復(fù)位后mr=0bh,br=13h,串行接口工作于基本速率)。為了簡(jiǎn)化硬件電路設(shè)計(jì),將復(fù)位應(yīng)答信號(hào)中ta1包含的f1和d1對(duì)應(yīng)的波特率譯碼工作交由軟件完成,由軟件設(shè)置通信波特率。內(nèi)部13bit定時(shí)器根據(jù)波特率寄存器mr、br 值( &)對(duì)clk信號(hào) 進(jìn)行分頻,以確定信息寬度。因?yàn)?etu,所以mr,br寄存器設(shè)定為mr[7?]&br[4?]= -1,例如,基本速率時(shí),f=372,d=1,可得,設(shè)置mr=0bh,br=13h,即“00001011,10011”=371;對(duì)于手機(jī)中常用的增強(qiáng)速率,f=512,d=8,可得,設(shè)置mr=01h,br=1fh,即“00000001,11111”=63。
下面介紹可編程串行接口的工作過(guò)程。在發(fā)送和接收數(shù)據(jù)前,按以下步驟初始化串行接口:
1. 根據(jù)應(yīng)用,通過(guò)設(shè)置mr、br寄存器來(lái)設(shè)定通信速率。
2. 清除scon[0]和scon[1]中斷標(biāo)志。
3. 置位串行接口允許標(biāo)志位scon[7],使能串行接口。
初始化工作完成后,可選擇發(fā)送模式或接收模式。
發(fā)送模式
首先將發(fā)送數(shù)據(jù)寫(xiě)入sbuf,數(shù)據(jù)移位寄存器data_shift_reg [10~0]將自動(dòng)寫(xiě)入 “ ”,其中p為奇偶校驗(yàn)位,為欲發(fā)送數(shù)據(jù),0為起始位,1代表狀態(tài)z,最低兩位“01”用于產(chǎn)生起始位下降沿。
置位scon[4],數(shù)據(jù)開(kāi)始發(fā)送。根據(jù)波特率寄存器中設(shè)置的值,接收/發(fā)送控制模塊中,13位定時(shí)器在每位數(shù)據(jù)將結(jié)束時(shí)產(chǎn)生計(jì)數(shù)脈沖。當(dāng)計(jì)數(shù)脈沖有效時(shí),數(shù)據(jù)移位寄存器右移1位,最低位輸出到i/o線,最高位補(bǔ)入i/o線采樣數(shù)據(jù)。
當(dāng)校驗(yàn)位發(fā)送完畢后,i/o線變?yōu)楦咦钁B(tài),發(fā)方在11etu處對(duì)i/o線進(jìn)行采樣,如果為狀態(tài)z,則認(rèn)為接收正確;如果為狀態(tài)a,則認(rèn)為傳輸出錯(cuò),根據(jù)結(jié)果刷新串行接口控制/狀態(tài)寄存器中相應(yīng)位。
當(dāng)一幀數(shù)據(jù)發(fā)送完畢后,無(wú)論發(fā)送是否正確,scon[1] 都將硬件置位,產(chǎn)生發(fā)送中斷申請(qǐng)。如果發(fā)送正確,scon[4]將被硬件自動(dòng)清0;如果發(fā)送出錯(cuò),發(fā)送出錯(cuò)標(biāo)志位scon[2]將被硬件置位,sbuf中的數(shù)據(jù)將從檢測(cè)到錯(cuò)誤那一刻起2etu后自動(dòng)重發(fā),如圖3所示。在重發(fā)完畢前,必須軟件清除scon[1]及發(fā)送出錯(cuò)標(biāo)

摘 要:t=0異步半雙工字符傳輸協(xié)議是接觸式ic卡國(guó)際標(biāo)準(zhǔn)iso/iec 7816中規(guī)定的一種通信協(xié)議。本文首先分析了iso/iec 7816-3中對(duì)于電信號(hào)和傳輸協(xié)議的規(guī)定,在此基礎(chǔ)上介紹了t=0異步半雙工字符傳輸協(xié)議的硬件實(shí)現(xiàn)方法。
關(guān)鍵詞:iso/iec 7816;異步半雙工字符傳輸協(xié)議;cpu卡

引言
cpu卡作為ic卡家族中功能最強(qiáng)、安全性最高的成員,已經(jīng)逐漸在各種應(yīng)用中占據(jù)主導(dǎo)地位。在iso/iec 7816-3中介紹了兩種通信協(xié)議:t=0和t=1通信協(xié)議。t=0是異步半雙工字符傳輸協(xié)議,t=1是異步半雙工塊傳輸協(xié)議。目前大多數(shù)接口設(shè)備都支持t=0通信協(xié)議,因此該協(xié)議應(yīng)用較為廣泛。
t=0通信協(xié)議可以通過(guò)軟件編程來(lái)實(shí)現(xiàn)。但在軟件實(shí)現(xiàn)過(guò)程中,需要通過(guò)軟件編程來(lái)控制數(shù)據(jù)收發(fā),對(duì)于實(shí)時(shí)性很強(qiáng)的通信處理,cpu的處理能力常常滿足不了要求,而且通信的可靠性和穩(wěn)定性也不是很理想,而硬件電路實(shí)現(xiàn)不存在上述問(wèn)題。

傳輸協(xié)議描述
iso/iec 7816-3規(guī)定了ic卡的電氣特性和傳輸協(xié)議。包括該類(lèi)卡和接口設(shè)備間的電源、電氣信號(hào)協(xié)議和信息交換協(xié)議。通信過(guò)程中,由接口設(shè)備給ic卡提供電源(vcc),復(fù)位信號(hào)(rst)和時(shí)鐘(clk),卡和接口設(shè)備間通過(guò)i/o端口進(jìn)行串行通信。
定義i/o端口有兩種可能狀態(tài):
傳號(hào)或高電平(狀態(tài)z):當(dāng)卡和接口設(shè)備均處于接收狀態(tài)時(shí),i/o端口處于狀態(tài)z。也可由發(fā)送方強(qiáng)制定義為狀態(tài)z。
空號(hào)或低電平(狀態(tài)a):可由發(fā)送方強(qiáng)制定義為狀態(tài)a。
根據(jù)t=0異步半雙工字符傳輸協(xié)議,ic卡和接口設(shè)備之間以字符為單位(簡(jiǎn)稱字符幀)進(jìn)行傳輸,采用偶校驗(yàn),每個(gè)字符由10bit組成,如圖1所示。傳輸字符幀之前,i/o線處于狀態(tài)z,第1bit為起始位(狀態(tài)a);后面8bit為數(shù)據(jù)位d1~d8;第10bit為偶校驗(yàn)位,即8位數(shù)據(jù)和奇偶校驗(yàn)位中1的個(gè)數(shù)為偶數(shù)。
串行通信是按位傳送的,每位信息寬度(持續(xù)時(shí)間)定義為基本時(shí)間單位etu(elementary time unit)。在復(fù)位應(yīng)答期間的信息寬度稱為“初始etu”,它等于372個(gè)時(shí)鐘周期,即1etu = 372/f 。復(fù)位應(yīng)答后的信息寬度稱為“當(dāng)前etu”,其計(jì)算公式為:
當(dāng)前etu
其中:f是時(shí)鐘頻率變換因數(shù);d是比特率調(diào)整因數(shù);f是時(shí)鐘頻率。

硬件實(shí)現(xiàn)方案
按照上述標(biāo)準(zhǔn)實(shí)現(xiàn)的可編程串行接口系統(tǒng)如圖2所示。
可編程串行接口內(nèi)部的特殊功能寄存器有:
1. 串行接口控制/狀態(tài)寄存器scon(復(fù)位后為00h)。
寄存器各位定義如下:
scon[0]:接收中斷標(biāo)志位;
scon[1]:發(fā)送中斷標(biāo)志位;
scon[2]:發(fā)送出錯(cuò)標(biāo)志位;
scon[3]:接收出錯(cuò)標(biāo)志位;
scon[4]:允許發(fā)送標(biāo)志位;
scon[5]:允許接收標(biāo)志位;
scon[6]:保留;
scon[7]:可編程串行接口允許標(biāo)志位。
scon[4]、scon[5]不能同時(shí)為1,否則i/o接口將處于邏輯混亂狀態(tài)。
2.串行接口數(shù)據(jù)緩沖器sbuf(復(fù)位后為00h) 。發(fā)送時(shí),sbuf作為發(fā)送數(shù)據(jù)緩沖器,用于緩存待發(fā)的數(shù)據(jù)。接收時(shí),sbuf作為接收數(shù)據(jù)緩沖器,用于緩存收到的數(shù)據(jù)。
3. 波特率寄存器mr、br (復(fù)位后mr=0bh,br=13h,串行接口工作于基本速率)。為了簡(jiǎn)化硬件電路設(shè)計(jì),將復(fù)位應(yīng)答信號(hào)中ta1包含的f1和d1對(duì)應(yīng)的波特率譯碼工作交由軟件完成,由軟件設(shè)置通信波特率。內(nèi)部13bit定時(shí)器根據(jù)波特率寄存器mr、br 值( &)對(duì)clk信號(hào) 進(jìn)行分頻,以確定信息寬度。因?yàn)?etu,所以mr,br寄存器設(shè)定為mr[7?]&br[4?]= -1,例如,基本速率時(shí),f=372,d=1,可得,設(shè)置mr=0bh,br=13h,即“00001011,10011”=371;對(duì)于手機(jī)中常用的增強(qiáng)速率,f=512,d=8,可得,設(shè)置mr=01h,br=1fh,即“00000001,11111”=63。
下面介紹可編程串行接口的工作過(guò)程。在發(fā)送和接收數(shù)據(jù)前,按以下步驟初始化串行接口:
1. 根據(jù)應(yīng)用,通過(guò)設(shè)置mr、br寄存器來(lái)設(shè)定通信速率。
2. 清除scon[0]和scon[1]中斷標(biāo)志。
3. 置位串行接口允許標(biāo)志位scon[7],使能串行接口。
初始化工作完成后,可選擇發(fā)送模式或接收模式。
發(fā)送模式
首先將發(fā)送數(shù)據(jù)寫(xiě)入sbuf,數(shù)據(jù)移位寄存器data_shift_reg [10~0]將自動(dòng)寫(xiě)入 “ ”,其中p為奇偶校驗(yàn)位,為欲發(fā)送數(shù)據(jù),0為起始位,1代表狀態(tài)z,最低兩位“01”用于產(chǎn)生起始位下降沿。
置位scon[4],數(shù)據(jù)開(kāi)始發(fā)送。根據(jù)波特率寄存器中設(shè)置的值,接收/發(fā)送控制模塊中,13位定時(shí)器在每位數(shù)據(jù)將結(jié)束時(shí)產(chǎn)生計(jì)數(shù)脈沖。當(dāng)計(jì)數(shù)脈沖有效時(shí),數(shù)據(jù)移位寄存器右移1位,最低位輸出到i/o線,最高位補(bǔ)入i/o線采樣數(shù)據(jù)。
當(dāng)校驗(yàn)位發(fā)送完畢后,i/o線變?yōu)楦咦钁B(tài),發(fā)方在11etu處對(duì)i/o線進(jìn)行采樣,如果為狀態(tài)z,則認(rèn)為接收正確;如果為狀態(tài)a,則認(rèn)為傳輸出錯(cuò),根據(jù)結(jié)果刷新串行接口控制/狀態(tài)寄存器中相應(yīng)位。
當(dāng)一幀數(shù)據(jù)發(fā)送完畢后,無(wú)論發(fā)送是否正確,scon[1] 都將硬件置位,產(chǎn)生發(fā)送中斷申請(qǐng)。如果發(fā)送正確,scon[4]將被硬件自動(dòng)清0;如果發(fā)送出錯(cuò),發(fā)送出錯(cuò)標(biāo)志位scon[2]將被硬件置位,sbuf中的數(shù)據(jù)將從檢測(cè)到錯(cuò)誤那一刻起2etu后自動(dòng)重發(fā),如圖3所示。在重發(fā)完畢前,必須軟件清除scon[1]及發(fā)送出錯(cuò)標(biāo)

相關(guān)IC型號(hào)

熱門(mén)點(diǎn)擊

 

推薦技術(shù)資料

羅盤(pán)誤差及補(bǔ)償
    造成羅盤(pán)誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!