利用低成本的MCU的UART驅(qū)動(dòng)智能卡
在銀行、身份識(shí)別和電信市場(chǎng)中,對(duì)安全和增強(qiáng)的功能性不斷增長(zhǎng)的需要,增加了全球范圍智能卡的使用。另一方面,這也使得對(duì)安全性較低的磁條卡的使用量下降。
本文引用地址:http://www.ex-cimer.com/article/257952.htm然而,所需的基于智能卡系統(tǒng)中,適當(dāng)?shù)耐ㄐ畔到y(tǒng)的硬件和固件開發(fā),給設(shè)計(jì)師帶來(lái)了新的挑戰(zhàn)。不幸的是,只有一些高檔微控制器具有可以直接驅(qū)動(dòng)智能卡的專用UART。里所述的設(shè)計(jì),可以讓你采用低端8位微控制器上標(biāo)準(zhǔn)的UART來(lái)驅(qū)動(dòng)智能卡,本文采用的MCU為Atmel公司的AVRATmega168。
智能卡只有一條與外界通信的路徑,即標(biāo)記的(labeled)I/O,所以它被用作一種數(shù)據(jù)輸入輸出信號(hào)的雙向信號(hào)。該信號(hào)必須與UART的傳輸和接收信號(hào)的接收信號(hào)RxD和TxD分別組成列隊(duì)。因?yàn)镽xD是輸入信號(hào)而TxD是輸出信號(hào), 必須用1Ω電阻將它們連接到智能卡I/O線以避免線連接(見圖).
在固件方面,設(shè)計(jì)一定要實(shí)現(xiàn)從智能卡接收和向智能卡傳送數(shù)據(jù)的特定程序。一方面,接收來(lái)自智能卡一個(gè)字節(jié),系統(tǒng)必須中止(disable)UART的發(fā)射機(jī)單元,這也還是為了以避免線連接。
另一方面,向智能卡傳送一個(gè)字,固件必須中止(disable)UART的接收單元以避免接收回聲特性。然而,它必須等直到字節(jié)傳輸結(jié)束,以避免錯(cuò)誤字節(jié)的接收。這樣,你可以采用電子信號(hào)和傳輸協(xié)議ISO 7816-3中智能卡標(biāo)準(zhǔn)第3部分所描述的T=0的協(xié)議,與智能卡往復(fù)交流信息。
為了完全符合描述智能卡通信協(xié)議的標(biāo)準(zhǔn),設(shè)計(jì)必須實(shí)現(xiàn)ISO7816-3標(biāo)準(zhǔn)中所定義的奇偶校驗(yàn)誤差探測(cè)和重傳機(jī)制。
評(píng)論