摘 要: 在掌上電腦中集成ITM100雙頻GPRS模塊和MF-500 RFIC讀寫模塊的設(shè)計(jì)方案。介紹了系統(tǒng)的硬件電路實(shí)現(xiàn),掌上電腦與二個(gè)模塊之間的接口方式,以及二個(gè)模塊的數(shù)據(jù)格式和軟件操作方法。
關(guān)鍵詞: 掌上電腦 通用無線分組業(yè)務(wù) 射頻IC TCP/IP協(xié)議 數(shù)據(jù)傳輸
隨著通信技術(shù)和微電子技術(shù)的快速發(fā)展以及人們對信息交流的迫切需求,手持終端式應(yīng)用的發(fā)展進(jìn)入了一個(gè)全新的時(shí)期。掌上電腦憑借其強(qiáng)大的功能和特有的優(yōu)勢,已經(jīng)被廣大商務(wù)工作者所青睞。掌上電腦的功能和應(yīng)用領(lǐng)域也可以通過增加無線接入網(wǎng)絡(luò)的功能得到極大的擴(kuò)展。目前無線技術(shù)經(jīng)歷兩代的發(fā)展,正向3G寬帶移動(dòng)通信系統(tǒng)網(wǎng)絡(luò)演進(jìn)。寬帶接入方式的提出為掌上電腦在不久的將來通過無線方式進(jìn)行移動(dòng)寬帶多媒體應(yīng)用提供了誘人的前景。當(dāng)前作為GSM網(wǎng)絡(luò)向3G演進(jìn)過渡的GPRS(通用無線分組業(yè)務(wù))已經(jīng)能為用戶提供高達(dá)164Kbps的傳輸速率。
非接觸IC卡又稱射頻卡(RFIC卡),是射頻識(shí)別技術(shù)和IC技術(shù)有機(jī)結(jié)合的產(chǎn)物,目前已經(jīng)廣泛用于金融、醫(yī)療衛(wèi)生、電信、交通、智能建筑等許多領(lǐng)域。它的出現(xiàn)和發(fā)展,推動(dòng)了人類生活中支付體系的革命性變革,也給掌上電腦帶來了新的應(yīng)用領(lǐng)域和新的市場。
因此,在掌上設(shè)備中加入無線接入設(shè)備和RFIC讀寫模塊是大勢所趨,也是掌上設(shè)備發(fā)展的新階段和里程碑,它將會(huì)給人們的生活帶來很大的便利。
1 GPRS業(yè)務(wù)的優(yōu)勢
GPRS是GSM Phase 2+階段引入的一種基于分組的數(shù)據(jù)業(yè)務(wù),是歐洲電信協(xié)會(huì)GSM系統(tǒng)中有關(guān)分組數(shù)據(jù)所規(guī)定的標(biāo)準(zhǔn)。GPRS采用與GSM相同的頻段、頻帶寬度、突發(fā)結(jié)構(gòu)、無線調(diào)制標(biāo)準(zhǔn)、跳頻規(guī)則以及相同的TDMA幀結(jié)構(gòu),因此它的優(yōu)勢是可以充分利用現(xiàn)有的GSM網(wǎng)絡(luò)。GPRS是基于GSM系統(tǒng)的無線分組交換技術(shù),提供端到端的、廣域的無線IP連接。GPRS充分利用共享無線信道,采用IP over PPP 實(shí)現(xiàn)數(shù)據(jù)終端的高速、遠(yuǎn)程接入。GPRS業(yè)務(wù)具有接入迅速、永遠(yuǎn)在線等特點(diǎn),因此在遠(yuǎn)程突發(fā)性數(shù)據(jù)實(shí)時(shí)傳輸中有不可比擬的優(yōu)勢,特別適合于頻發(fā)小數(shù)據(jù)量的實(shí)時(shí)無線傳輸。
2 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)選用的掌上電腦是handspring公司的visor系列,它內(nèi)置摩托羅拉“龍珠”處理器,支持USB接口、紅外接口、PCMCIA接口,帶有液晶顯示觸摸屏,并有128MB程序/數(shù)據(jù)存儲(chǔ)器,便于擴(kuò)展網(wǎng)絡(luò)應(yīng)用程序。使用的操作系統(tǒng)為PALM OS。當(dāng)配以相應(yīng)的底層驅(qū)動(dòng)時(shí),便可實(shí)現(xiàn)GPRS模塊和RFIC模塊的正常工作。硬件上,掌上電腦要求小型化、省電、高可靠性,因此將GPRS模塊和RFIC模塊盡可能小地集成在一塊四層PCB板上,做成即插即用模塊,通過PCMCIA接口與掌上電腦相連。在設(shè)計(jì)過程中,要同時(shí)考慮電磁干擾的抑制和電磁兼容性的設(shè)計(jì)。圖1為系統(tǒng)的整體框圖。
當(dāng)讀RFIC卡時(shí),要在掌上電腦的操作系統(tǒng)中選擇此功能,由微處理器通過PCMCIA接口給RFIC卡讀寫模塊一個(gè)控制信號(hào),通知讀寫模塊準(zhǔn)備讀卡(平時(shí)處于待機(jī)模式,可以省電)。同時(shí)GPRS模塊也會(huì)通過串行口發(fā)現(xiàn)這個(gè)信號(hào),但是由于命令的數(shù)據(jù)格式不同,因此它不會(huì)接收,不會(huì)發(fā)生誤操作。讀卡時(shí)完成的工作主要包括:卡進(jìn)入和退出讀寫范圍的識(shí)別與控制,通過天線向非接觸IC卡提供穩(wěn)定的電源和時(shí)鐘,實(shí)現(xiàn)與卡的數(shù)據(jù)交換并提供相應(yīng)的控制信號(hào)等??ǖ男畔⒆x出后存入程序/數(shù)據(jù)存儲(chǔ)器中,并使RFIC卡讀寫模塊繼續(xù)處于待機(jī)狀態(tài)。當(dāng)需要通過GPRS網(wǎng)絡(luò)發(fā)送時(shí),應(yīng)發(fā)送一個(gè)控制信號(hào)激活GPRS模塊。由于GPRS支持“永遠(yuǎn)在線”功能,因此不需要每次首發(fā)時(shí)重新登錄建立網(wǎng)絡(luò)連接,只需重新激活場景即可。這樣就可以通過串行口運(yùn)用AT命令把接收的IC卡信息通過GPRS發(fā)送出去。
2.1 GPRS模塊設(shè)計(jì)
目前GSM手機(jī)廠商除了生產(chǎn)手機(jī)之外,還提供GSM/GPRS通信模塊供其他產(chǎn)品配套使用。本系統(tǒng)選用SIMCOM公司的ITM100 GSM/GPRS三頻模塊,為語音傳輸、短消息和數(shù)據(jù)業(yè)務(wù)提供無線接口。ITM100 集成了完整的射頻電路和GSM 的基帶處理器,支持GSM900/DCS1800/PCS1900三頻。其默認(rèn)設(shè)置為GSM900/DCS1800模式,可以通過AT命令切換到GSM900/PCS1900模式。ITM100有60針外部系統(tǒng)連接器,方便與應(yīng)用系統(tǒng)對接,適合于開發(fā)一些GSM/GPRS的無線應(yīng)用產(chǎn)品。
本系統(tǒng)中,GPRS模塊的鍵盤接口和音頻接口都可以不用,而其他的接口包括電源接口、SIM卡接口、RF天線電路接口和UART接口為集成GPRS模塊和掌上電腦系統(tǒng)提供了豐富的控制接口資源。這些接口都是由60針外部系統(tǒng)連接器提供的。本系統(tǒng)不需要用到音頻,所以GPRS模塊的UART接口中只需要用TXD和RXD,而不需要用DCD、DTR、RTS、CTS和RI。由于PCMCIA接口是8位并行輸出,因此用ST16C550串并轉(zhuǎn)換芯片負(fù)責(zé)與GPRS模塊實(shí)現(xiàn)數(shù)據(jù)交流,圖2為系統(tǒng)接口電路。
掌上電腦的地址線通過PCMCIA接口連接到ST16C550串并轉(zhuǎn)換芯片的片選信號(hào)引腳CS0、CS1、/CS2和地址線上,這樣ST16C550就獲得了一段端口地址,在底層驅(qū)動(dòng)程序中翻譯成映射地址。掌上電腦讀寫這個(gè)地址,并通過ST16C550串并轉(zhuǎn)換芯片傳遞給GPRS模塊或RFIC讀寫模塊。這樣就完成了掌上電腦與GPRS模塊和RFIC讀寫模塊的通信(GPRS模塊和RFIC讀寫模塊共用一個(gè)PCMCIA接口)。GPRS模塊和RFIC讀寫模塊的數(shù)據(jù)格式不同,因此不會(huì)產(chǎn)生數(shù)據(jù)干擾和接收錯(cuò)誤。未用的輸入腳要接高電平,不能懸空。SIM卡直接選擇符合GSM規(guī)范的3V SIM卡或1.8V SIM卡,模塊自動(dòng)監(jiān)測和適應(yīng)卡的類型。為了確保模塊與外部的接口,模塊專門設(shè)置了3V接口電平。因此要使模塊工作,除了提供3.6V的主電源外,還需要提供3V接口電壓。為此,使3.6V鋰電池通過MAX8885EU30降壓變壓器提供接口電壓。同時(shí),采用高速防靜電管和去偶電容保護(hù)SIM卡和串口輸出等敏感部分免受射頻、尖峰脈沖和電源波動(dòng)干擾。
本系統(tǒng)需要利用TCP/IP協(xié)議完成GPRS業(yè)務(wù)數(shù)據(jù)的裝幀和拆幀。數(shù)據(jù)的完整流程為:掌上電腦將信息數(shù)據(jù)按照TCP數(shù)據(jù)報(bào)的格式封裝為TCP數(shù)據(jù)報(bào),加上IP報(bào)頭和報(bào)尾封裝為IP數(shù)據(jù)報(bào),之后將IP數(shù)據(jù)報(bào)按照PPP幀的幀格式封裝為PPP幀,然后通過串口傳給GPRS模塊。GPRS模塊將接收的數(shù)據(jù)幀通過無線鏈路傳送到SGSN(Service GPRS Support Node)。SGSN進(jìn)行相應(yīng)的協(xié)議轉(zhuǎn)換,按照GPRS特有的GTP(GPRS Tunnel Protocol)將其封裝成GTP包,然后通過GPRS骨干網(wǎng)傳送到相應(yīng)的GGSN(Gateway GPRS Support Node)。GGSN也進(jìn)行相應(yīng)的協(xié)議轉(zhuǎn)換,再根據(jù)外部數(shù)據(jù)網(wǎng)的協(xié)議格式進(jìn)行新的封裝,并且根據(jù)其目的IP地址選擇路由進(jìn)行傳送,從而最終傳送到監(jiān)控中心。監(jiān)控中心收到上傳的信息數(shù)據(jù)后,根據(jù)移動(dòng)終端的IP地址和端口號(hào)下發(fā)確認(rèn)信息給掌上電腦,完成數(shù)據(jù)的傳輸。建立GPRS鏈接的數(shù)據(jù)鏈路如圖3所示。
ITM100無線模塊的軟件部分對外提供了一個(gè)控制系統(tǒng)操作的AT命令集,通過接收來自串行口的AT命令,解釋并執(zhí)行相應(yīng)的操作,從而實(shí)現(xiàn)無線Modem的對應(yīng)功能。模塊的設(shè)置和上網(wǎng)傳輸數(shù)據(jù)用到的AT命令主要有:
(1)運(yùn)用命令A(yù)T+IPR=115200(默認(rèn))設(shè)置波特率,用此命令可自由切換通信速率。由于支持掉電保存,因此只需要設(shè)一次,不需要每次開機(jī)重設(shè)。
(2)運(yùn)用命令A(yù)T+CGDCONT=1、“IP”、“CMNET”設(shè)置GPRS接入網(wǎng)關(guān)。其中CMNET為移動(dòng)夢網(wǎng)的接入網(wǎng)關(guān)。
(3)運(yùn)用命令A(yù)T+CGCLASS=“B”設(shè)置移動(dòng)終端的類別為B類,即同時(shí)監(jiān)控多種業(yè)務(wù),但只能運(yùn)行一種業(yè)務(wù)。
(4)運(yùn)用命令A(yù)T+CGACT=1,1激活GPRS功能,如果返回OK,則GPRS連接成功;如果返回ERROR,則意味GPRS連接失敗。
(5)運(yùn)用命令A(yù)T+CIPSTART=“TCP”、“客戶端IP”、“端口號(hào)”來連接客戶端服務(wù)器。
(6)運(yùn)用命令A(yù)T+CIPSEND發(fā)送數(shù)據(jù)。
(7)發(fā)送完之后,運(yùn)用AT+CIPCLOSE關(guān)閉連接。
(8)運(yùn)用命令A(yù)T+CIPSHUT關(guān)閉移動(dòng)場景。
掌上電腦通過向GPRS模塊發(fā)送這些AT指令,就可以驅(qū)動(dòng)模塊無線上網(wǎng)收發(fā)數(shù)據(jù)了。
2.2 RFIC讀寫模塊的設(shè)計(jì)
非接觸IC卡的讀寫原理如下:讀寫器向非接觸IC卡發(fā)一組固定頻率的電磁波,卡片內(nèi)有一個(gè)LC串聯(lián)諧振電路,其頻率與訊寫器發(fā)射的頻率相同;在電磁波的激勵(lì)下,LC諧振電路產(chǎn)生共振,從而使電容內(nèi)有了電荷;在這個(gè)電容的另一端,接有一個(gè)單向?qū)ǖ碾娮颖茫瑢㈦娙輧?nèi)的電荷送到另一個(gè)電容內(nèi)儲(chǔ)存;當(dāng)所積累的電荷達(dá)到2V時(shí),此電容可做為電源為其他電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接取讀寫器的數(shù)據(jù)。本系統(tǒng)采用的是MF500射頻讀寫器,內(nèi)嵌ISO14443 Type A協(xié)議解釋器,并具有射頻驅(qū)動(dòng)及接收功能,可以簡單實(shí)現(xiàn)對Mifare Light和Mifare One S50、S70等卡片的讀寫操作,讀寫距離最大可達(dá)100mm(與卡片及天線設(shè)計(jì)有關(guān))。
本系統(tǒng)屬于電感耦合識(shí)別系統(tǒng),天線的設(shè)計(jì)直接關(guān)系到能否正常通信。由于MF500讀寫芯片是低功耗設(shè)計(jì),因此卡與天線的耦合系數(shù)必須滿足一定的值,不能低于0.3。天線的直徑要求介于0.5~1.5mm之間。天線的電感可以通過以下公式計(jì)算得出:
L=2×S×ln(1/D)×N1.8
式中:L為讀卡器天線電感(nH);S為1圈天線導(dǎo)體的長度(cm);D為天線導(dǎo)體寬度;N為天線導(dǎo)體圈數(shù)。
讀卡器與卡通信時(shí),需要經(jīng)過三次握手驗(yàn)證。傳輸數(shù)據(jù)加密時(shí),只有知道加解密規(guī)則的讀卡器才能讀出該卡,并且卡中的每個(gè)扇區(qū)都有不同的密碼,具有良好的保密性。三次確認(rèn)的過程如下:
(1)射頻卡向讀寫器發(fā)送一個(gè)隨機(jī)數(shù)Rc;
(2)讀寫器返回一個(gè)數(shù)據(jù)Token R后,射頻卡譯碼并校驗(yàn)R中所含的隨機(jī)數(shù)Rc是否與(1)中所發(fā)的一致;
(3)射頻卡發(fā)給讀卡器一個(gè)數(shù)據(jù)Token C;
(4)讀寫器收到Token C之后,譯碼并校驗(yàn)Rc的正確性,同時(shí)還驗(yàn)證C中所含的隨機(jī)數(shù)是否與(2)中發(fā)出的一致。
GPRS模塊和RFIC模塊的程序都是在PALM OS的開發(fā)工具CODE WARRIOR下用C語言編寫的。GPRS模塊是通過串行口用AT命令控制,RFIC模塊也可以調(diào)用動(dòng)態(tài)鏈接庫RC500_Mifare.dll,通過串行口發(fā)送相關(guān)指令,即可實(shí)現(xiàn)對卡片的所有操作。指令結(jié)構(gòu)定義如下(發(fā)送、接收均遵循此協(xié)議):
ACK+LEN+DATAS+CHK+ETX
其中:
ACK=0x60通信頭部,指令啟始字節(jié),1B
LEN=Length(DATAS) 通信數(shù)據(jù)體長度字節(jié)數(shù),1B
DATAS 通信數(shù)據(jù)體
CHK 異或校驗(yàn)和=ACK^LEN^DATAS,1B
ETX=0x03 結(jié)束符,1B
DATAS中包含對卡操作所需要的參數(shù),如認(rèn)證所需的密鑰、地址、寫入卡片的數(shù)據(jù)等。掌上電腦通過向串行口發(fā)送符合此命令格式的指令,控制RFIC讀寫模塊對卡進(jìn)行操作。
整個(gè)系統(tǒng)的流程如圖4所示。
3 結(jié)束語
本系統(tǒng)在掌上電腦上實(shí)現(xiàn)了GPRS業(yè)務(wù)的數(shù)據(jù)傳輸功能和讀寫非接觸IC卡的功能。系統(tǒng)具有成本低、電路簡單的優(yōu)點(diǎn),實(shí)現(xiàn)了掌上電腦功能的擴(kuò)展和向高端的升級(jí),在交通管理、第二代身份證管理等領(lǐng)域有很好的應(yīng)用前景。
參考文獻(xiàn)
1 SIMCOM公司.ITM100 GPRS模塊USER′S GUIDER.上海:SIMCOM有限公司,2003
2 SIMCOM公司.Application Note for ITM100TCP.上海:SIMCOM有限公司,2004
3 北京遠(yuǎn)興時(shí)代公司.MF-500M 射頻讀寫模塊通信協(xié)議.北京:北京遠(yuǎn)興時(shí)代科技有限公司,2004
4 位元文化.精通Palm OS程序設(shè)計(jì):CodeWarrior入門教程. 北京:清華大學(xué)出版社,2001
5 白同云,呂曉德.電磁兼容設(shè)計(jì).北京:北京郵電大學(xué)出版社,2001
6 莫德舉,劉麗麗.RFIC卡讀寫器研發(fā).儀器儀表學(xué)報(bào),2003;24(4)
7 胡科,蔡方凱,胡蓉.基于GPRS的數(shù)據(jù)傳輸智能終端的實(shí)現(xiàn).電訊技術(shù),2003;(4)