www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:基于小型TCP/IP協(xié)議棧LwIP開發(fā)了一個無線手持磁條卡信息終端。無線手持磁條卡信息終端由ARM單片機,GPRS無線MODEM MC39i,磁條卡接口芯片,鍵盤和LCD模塊等組成。無線手持磁條卡信息終端利用磁務(wù)卡接口讀取磁

摘要:基于小型TCP/IP協(xié)議棧LwIP開發(fā)了一個無線手持磁條卡信息終端。無線手持磁條卡信息終端由ARM單片機,GPRS無線MODEM MC39i,磁條卡接口芯片,鍵盤和LCD模塊等組成。無線手持磁條卡信息終端利用磁務(wù)卡接口讀取磁卡上的用戶ID信息,并通過GPRS無線網(wǎng)絡(luò)與中心服務(wù)器互聯(lián),進行后臺處理。開發(fā)的無線手持磁條卡信息終端具有成本低、體積小、功耗低等特點,可以用于會員消費積分查詢、醫(yī)療就診查詢等應(yīng)用系統(tǒng)中。
關(guān)鍵詞:LwIP GPRS;μC/OS-Ⅱ;MC39i;磁條卡接口

0 引言
    磁條卡是一種使用磁性物質(zhì)制成的標(biāo)識卡。由于磁條卡具有攜帶方便,價格低廉,便于普及等優(yōu)點,已經(jīng)廣泛應(yīng)用于銀行卡、會員卡、醫(yī)療就診卡等應(yīng)用領(lǐng)域。本文設(shè)計了一種基于GPRS的手持無線磁條卡信息終端。手持無線磁條卡信息終端通過磁條卡接口讀取磁條卡上的用戶標(biāo)識后,通過GPRS無線網(wǎng)絡(luò)把用戶標(biāo)識信息和操作信息發(fā)送到中心服務(wù)器,中心服務(wù)器進行相應(yīng)的處理后,把響應(yīng)信息返回手持信息終端處理顯示。手持無線磁條卡信息終端可以不依賴PC獨立工作,成本低廉,功耗低,可以用于會員消費積分查詢、醫(yī)療就診查詢等應(yīng)用系統(tǒng)中。

1 系統(tǒng)設(shè)計
    磁條卡信息終端基于ARM單片機和μC/OS-Ⅱ?qū)崟r操作系統(tǒng)。μC/OS-Ⅱ是由Jean J.Labrosse編寫的一種公開源代碼的實時操作系統(tǒng)。但是μC/OS-Ⅱ只提供了一個操作系統(tǒng)內(nèi)核,沒有提供網(wǎng)絡(luò)協(xié)議棧、文件系統(tǒng)等支持。在μC/OS-II操作系統(tǒng)上移植開源的嵌入式TCP/IP協(xié)議棧LwIP,利用西門子公司的GPRS模塊MC39i就可以實現(xiàn)無線Internet的接入。系統(tǒng)總體框圖如圖1所示。



2 硬件設(shè)計
    系統(tǒng)硬件組成框圖如圖2所示。系統(tǒng)以ARM單片機為核心構(gòu)成,主要包括NXP公司的單片機LPC2106/01,GPRS無線MODEM MC39i,磁條卡接口芯片BS100E,鍵盤和LCD模塊等。


    NXP的LPC2106/01微控制器是基于ARM7TDMI內(nèi)核的高性能32位RISC微處理器。LPC2106內(nèi)嵌了128 KB可在系統(tǒng)編程的FLASH和64 KB的SR-AM,同時集成了多個32位定時器、PWM輸出、2個UARTs接口和32個GPIO。LPC2106支持的最高CPU時鐘頻率為60 MHz。
    GPRS MODEM選用西門子公司的MC39i。MC39i是雙頻GSM/GPRS模塊,支持標(biāo)準(zhǔn)的ITU-TAT命令集,支持GPRS Class 10功能,具有功耗低,接口簡單等優(yōu)點。MC39i模塊需要外接SIM卡座和天線。LPC2106的UART1接口與MC39i模塊的數(shù)據(jù)串口連接,并通過IGT信號啟動觸發(fā)MC39i模塊。
    磁條卡上的數(shù)據(jù)記錄格式采用ISO7811國際標(biāo)準(zhǔn),最多包含3個磁道。大部分應(yīng)用中只使用二磁道信息。系統(tǒng)的磁條卡接口由磁頭和接口芯片組成。磁條卡接口芯片選用了臺灣Vikintek公司的單磁道F2F解碼芯片BS100E,該芯片可以實現(xiàn)磁頭信號的放大和F2F編碼數(shù)據(jù)的恢復(fù)。  BS100E的MSIA+和MSIA-管腳接磁頭輸出;CLS(Card Load Signal)管腳為磁條卡的刷卡有效信號,信號低電平有效,接LPC2106的外部中斷IO口;RDPA和RCPA分別為解碼輸出的數(shù)據(jù)信號和時鐘信號,RDPA接LPC2106的GPIO口,RC-PA接LPC2106的外部中斷IO口。RCPA設(shè)置為上升沿觸發(fā)中斷。

3 軟件設(shè)計
3.1 磁條卡接口驅(qū)動的實現(xiàn)
    (1)磁條卡數(shù)據(jù)幀格式。本應(yīng)用系統(tǒng)中只考慮磁條卡的二磁道信息。二磁道以5個比特組成一個字符數(shù)據(jù),最后一位表示奇偶校驗位,使用奇校驗,前面4位表示數(shù)據(jù)位,可以表示16種字符,包括10個阿拉伯?dāng)?shù)字和6個其他字符。
     磁道上的數(shù)據(jù)幀包括前導(dǎo)冗余數(shù)據(jù)、起始標(biāo)志、數(shù)據(jù)區(qū)、結(jié)束標(biāo)志、縱向冗余校驗位(LRC),后沿冗余數(shù)據(jù)6個部分(見圖3),冗余數(shù)據(jù)區(qū)不含有效數(shù)據(jù),只用作磁道數(shù)據(jù)的同步,由若干的0組成。起始標(biāo)志為11010;結(jié)束標(biāo)志為11111;LRC為磁道上有效字符的異或和。正向刷卡時,數(shù)據(jù)將按圖3的數(shù)據(jù)幀格式輸出;反向刷卡時,數(shù)據(jù)幀將會被前后反轉(zhuǎn)輸出,即先檢測到LRC,再檢測到結(jié)束標(biāo)志、數(shù)據(jù)區(qū)、起始標(biāo)志,同時每個字符的位順序也是前后反轉(zhuǎn)輸出的。此外,BS100E解碼芯片輸出的數(shù)據(jù)采用負(fù)邏輯表示,即輸出為1的數(shù)據(jù),實際上表示的是數(shù)據(jù)0,必須取反后才能使用。

    (2)讀卡程序的實現(xiàn)
    磁條卡解碼輸出接口的時序圖如圖4所示。


    當(dāng)CLS為低電平時,表示磁卡已經(jīng)進入讀卡器,開始刷卡;當(dāng)CLS由低變高時,表示磁卡已經(jīng)離開讀卡器,結(jié)束刷卡。在CLS為低的時候,每次RCPA下降沿出現(xiàn)時,RDPA送出一位數(shù)據(jù)。
    在譯碼數(shù)據(jù)時,為了提高實時性,所有的數(shù)據(jù)處理都在中斷中進行。在每次RCPA上升沿觸發(fā)中斷時讀取RDPA的數(shù)據(jù)并處理。在解碼時,首先要確定字符的邊界,即確定一個字符的起始位。字符的邊界識別采用圖5所示的狀態(tài)機實現(xiàn)。


    在搜索狀態(tài),每讀入一位數(shù)據(jù)就與之前讀入的4位數(shù)據(jù)一起進行奇校驗,當(dāng)奇校驗正確時,認(rèn)為識別出字符的邊界,轉(zhuǎn)移到預(yù)同步狀態(tài)。在預(yù)同步狀態(tài),連續(xù)讀入5位數(shù)據(jù)后,判斷這5位數(shù)據(jù)奇校驗是否正確。如果這五位數(shù)據(jù)奇校驗正確,認(rèn)為字符的邊界判別正確,進入同步狀態(tài);否則返回到搜索狀態(tài)。在同步狀態(tài)中,按照圖3的數(shù)據(jù)幀格式進行數(shù)據(jù)譯碼。在數(shù)據(jù)譯碼的同時進行奇校驗檢查,當(dāng)出現(xiàn)奇校驗錯誤時,認(rèn)為字符的邊界不正確,重新返回搜索狀態(tài)。
    譯碼成功后,中斷程序通過信號量通知應(yīng)用程序任務(wù)處理譯碼數(shù)據(jù)。
3.2 LwIP在μC/OS-Ⅱ上的移植
    LwIP是瑞士計算機科學(xué)院的Adam Dunkels等開發(fā)的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。它占用較少的RAM和ROM,這使LwIP協(xié)議棧適合在低端嵌入式系統(tǒng)中使用。LwIP還支持點對點協(xié)議(PPP),可以通過PPP連接GPRS網(wǎng)絡(luò),實現(xiàn)無線上網(wǎng)。
    LwIP在設(shè)計時就考慮到移植問題,把所有與硬件、編譯器和操作系統(tǒng)相關(guān)的部分獨立出來,放在LwIP-1.3.0\include\arch和LwIP-1.3.0\arch目錄下。因此LwIP在μC/OS-Ⅱ上的移植,主要工作就是編寫這兩個目錄下的相關(guān)文件。要編寫的文件主要包括cc.h、sys_ arch.h和sys_arch.c三個文件。移植LwIP協(xié)議棧,主要是針對具體硬件、編譯器和μC/OS-Ⅱ系統(tǒng)重新設(shè)計以上3個文件。除此之外,還有一個配置文件lwipopt.h,主要對LwIP進行功能配置。cc.h,sys_arch.h和sys_arch.c三個文件和lwipopt.h文件的修改內(nèi)容如下:
3.2.1 cc.h
    主要定義與編譯器有關(guān)的宏,主要包括LwIP數(shù)據(jù)類型、調(diào)試輸出宏、臨界保護的宏、錯誤編碼、字的高低位順序等等。
3.2.2 sys_arch.h
    主要定義與操作系統(tǒng)相關(guān)的一些結(jié)構(gòu)體與宏,包括郵箱、信號量、線程ID等。
3.2.3 sys_arch.c
    主要實現(xiàn)與操作系統(tǒng)封裝層相關(guān)的一些函數(shù),包括郵箱操作函數(shù)、信號量操作函數(shù)等等,主要實現(xiàn)以下幾個函數(shù):
    (1)LwIP系統(tǒng)的初始化函數(shù)。LwIP提供了系統(tǒng)初始化函數(shù)void sys_init(void),用來給用戶初始化一些必要的數(shù)據(jù)結(jié)構(gòu)。在本系統(tǒng)當(dāng)中,sys_init()函數(shù)主要使用μC/OS-Ⅱ的內(nèi)存管理函數(shù),分配LwIP郵箱所需的內(nèi)存和初始化LwIP的定時事件表。
    (2)LwIP信號量操作函數(shù)。由于μC/OS-Ⅱ中已經(jīng)實現(xiàn)了信號量的各種操作,只需使用μC/OS-Ⅱ中的信號量處理函數(shù)對LwIP的信號量操作函數(shù)重新進行封裝就可以了。
    (3)LwIP郵箱操作函數(shù)。LwIP中的郵箱對應(yīng)μC/OS-Ⅱ中的消息隊列。根據(jù)sys_arch.h文件里面定義的郵箱數(shù)據(jù)結(jié)構(gòu),使用μC/OS-Ⅱ的消息隊列函數(shù)封裝成以下幾個函數(shù)就可以實現(xiàn)LwIP的郵箱操作:

    (4)LwIP的sys_arch_timeouts函數(shù)。在LwIP當(dāng)中,每一個線程都有一個定時器鏈表來保存相關(guān)的定時信息,移植時要做的事情是為每一個定時器鏈表提供一個用來保存鏈表表頭指針的結(jié)構(gòu)變量sys_timeouts,并通過sys_arch_timeouts函數(shù)返回每個線程對應(yīng)的sys_timeouts變量,并且保證在出錯時也能返回一個可用的sys_timeouts變量。相關(guān)的數(shù)據(jù)結(jié)構(gòu)和函數(shù)定義如下:

    (5)LwIP線程的創(chuàng)建函數(shù)。LwIP需要實現(xiàn)線程的創(chuàng)建函數(shù),但是由于μC/OS-Ⅱ中沒有線程的概念,只有任務(wù),所以LwIP中線程創(chuàng)建可以通過調(diào)用μC/OS-Ⅱ中的任務(wù)創(chuàng)建函數(shù)實現(xiàn)。
    (6)LwIP獲取系統(tǒng)時間函數(shù)。當(dāng)LwIP使用PPP作為數(shù)據(jù)鏈路層協(xié)議時,必須通過sys_jifties()函數(shù)獲得以ms為單位的系統(tǒng)時間。因此要使用LwIP的PPP協(xié)議時,一定要實現(xiàn)這個函數(shù);沒有使用PPP協(xié)議時,無需理會。由于在μC/OS-Ⅱ,無論時鐘節(jié)拍何時發(fā)生,μC/OS-Ⅱ都會對一個32位的計數(shù)器加1。可以通過調(diào)用μC/OS-Ⅱ的系統(tǒng)函數(shù)OSTimeGet()來獲得該計數(shù)器的當(dāng)前值,再根據(jù)系統(tǒng)的時鐘節(jié)拍頻率就可以實現(xiàn)sys_jifties()函數(shù)。
3.2.4 修改配置文件lwipopt.h
    LwIP提供了配置文件lwipopt.h,可以通過定義一系列宏來剪裁LwIP功能,適應(yīng)不同的應(yīng)用需要。例如可以設(shè)置是否支持PPP協(xié)議,是否支持ICMP協(xié)議,是否支持自動獲取IP等等。由于本應(yīng)用系統(tǒng)使用GPRS上網(wǎng),所以設(shè)置支持PPP協(xié)議。
3.3 GPRS無線Modem驅(qū)動
    無線Modem驅(qū)動完成MC39i的初始化、發(fā)送和接收PPP協(xié)議幀數(shù)據(jù)。
3.3.1 AT命令
    驅(qū)動Modem是基于A T命令集實現(xiàn)的,微控斜器通過串行接口將AT命令發(fā)送給MC39i,從而完成對MC39i的控制。主要AT命令如下:
    (1)設(shè)置錯誤返回信息。使用at+cmee=1命令,執(zhí)行錯誤時,錯誤報告的格式均為ERROR。
    (2)設(shè)置接入網(wǎng)關(guān)。使用at+cgdcont=1,“IP”,“CMNET”命令設(shè)置GPRS接入網(wǎng)關(guān)為移動夢網(wǎng)。
    (3)激活GPRS功能。使用AT+CGACT=1,使GPRS模塊附著到網(wǎng)絡(luò)。如果命令返回O K,則GPRS連接成功;如果返回ERROR,則意味著GPRS連接
失敗。
    (4)撥號。ATD * 99 * * * 1#。撥號成功后,微控制器通過串口傳送PPP協(xié)議幀,與Modem進行數(shù)據(jù)通信。
3.3.2 LwIP與Modem接口函數(shù)
    無線Modem使用串行接口與微控制器進行通信。而LwIP提供了幾個標(biāo)準(zhǔn)的串行設(shè)備接口函數(shù),在LwIP中的創(chuàng)建sio.c文件實現(xiàn)GPRS無線Modem驅(qū)動。該文件中主要實現(xiàn)下面幾個函數(shù):
   

4 結(jié)語
    本文設(shè)計的無線手持磁條卡信息終端系統(tǒng)實現(xiàn)了輕量級TCP/IP協(xié)議棧LwIP在μC/OS-Ⅱ上的移植,并利用運營商的GPRS網(wǎng)絡(luò)實現(xiàn)了與后臺服務(wù)器的無線互聯(lián),其終端具有成本低,體積小和功耗低等優(yōu)點,可應(yīng)用于多種應(yīng)用場合。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉