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