新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 無線手持磁條卡信息終端設計

        無線手持磁條卡信息終端設計

        作者: 時間:2011-04-21 來源:網絡 收藏

        GPRS MODEM選用西門子公司的MC39i。MC39i是雙頻GSM/GPRS模塊,支持標準的ITU-TAT命令集,支持GPRS Class 10功能,具有功耗低,接口簡單等優點。MC39i模塊需要外接SIM卡座和天線。LPC2106的UART1接口與MC39i模塊的數據串口連接,并通過IGT信號啟動觸發MC39i模塊。
        卡上的數據記錄格式采用ISO7811國際標準,最多包含3個磁道。大部分應用中只使用二磁道。系統的卡接口由磁頭和接口芯片組成。卡接口芯片選用了臺灣Vikintek公司的單磁道F2F解碼芯片BS100E,該芯片可以實現磁頭信號的放大和F2F編碼數據的恢復。 BS100E的MSIA+和MSIA-管腳接磁頭輸出;CLS(Card Load Signal)管腳為磁條卡的刷卡有效信號,信號低電平有效,接LPC2106的外部中斷IO口;RDPA和RCPA分別為解碼輸出的數據信號和時鐘信號,RDPA接LPC2106的GPIO口,RC-PA接LPC2106的外部中斷IO口。RCPA設置為上升沿觸發中斷。

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

        本文引用地址:http://www.104case.com/article/156375.htm

        c1.jpg

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

        c.JPG


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

        d.JPG


        在搜索狀態,每讀入一位數據就與之前讀入的4位數據一起進行奇校驗,當奇校驗正確時,認為識別出字符的邊界,轉移到預同步狀態。在預同步狀態,連續讀入5位數據后,判斷這5位數據奇校驗是否正確。如果這五位數據奇校驗正確,認為字符的邊界判別正確,進入同步狀態;否則返回到搜索狀態。在同步狀態中,按照圖3的數據幀格式進行數據譯碼。在數據譯碼的同時進行奇校驗檢查,當出現奇校驗錯誤時,認為字符的邊界不正確,重新返回搜索狀態。
        譯碼成功后,中斷程序通過信號量通知應用程序任務處理譯碼數據。
        3.2 LwIP在μC/OS-Ⅱ上的移植
        LwIP是瑞士計算機科學院的Adam Dunkels等開發的一套用于嵌入式系統的開放源代碼TCP/IP協議棧。它占用較少的RAM和ROM,這使LwIP協議棧適合在低端嵌入式系統中使用。LwIP還支持點對點協議(PPP),可以通過PPP連接GPRS網絡,實現上網。
        LwIP在時就考慮到移植問題,把所有與硬件、編譯器和操作系統相關的部分獨立出來,放在LwIP-1.3.0\include\arch和LwIP-1.3.0\arch目錄下。因此LwIP在μC/OS-Ⅱ上的移植,主要工作就是編寫這兩個目錄下的相關文件。要編寫的文件主要包括cc.h、sys_ arch.h和sys_arch.c三個文件。移植LwIP協議棧,主要是針對具體硬件、編譯器和μC/OS-Ⅱ系統重新以上3個文件。除此之外,還有一個配置文件lwipopt.h,主要對LwIP進行功能配置。cc.h,sys_arch.h和sys_arch.c三個文件和lwipopt.h文件的修改內容如下:
        3.2.1 cc.h
        主要定義與編譯器有關的宏,主要包括LwIP數據類型、調試輸出宏、臨界保護的宏、錯誤編碼、字的高低位順序等等。
        3.2.2 sys_arch.h
        主要定義與操作系統相關的一些結構體與宏,包括郵箱、信號量、線程ID等。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 麟游县| 玛沁县| 开江县| 梓潼县| 山丹县| 萨迦县| 阜新市| 龙井市| 炎陵县| 玉环县| 阿尔山市| 唐山市| 嘉鱼县| 龙井市| 白玉县| 泰顺县| 城口县| 龙江县| 桂平市| 大埔区| 图们市| 诸城市| 剑川县| 芜湖县| 莱芜市| 潼南县| 黑水县| 兴和县| 宁阳县| 巨野县| 郓城县| 汝阳县| 来安县| 张家港市| 梁河县| 赣州市| 开化县| 桃园市| 綦江县| 集贤县| 大英县|