国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

地鐵閘機控制系統(tǒng)的設(shè)計

2018-11-07 11:37曹新莉徐楊喆熊俊俏鄒連英
電腦知識與技術(shù) 2018年21期
關(guān)鍵詞:串口通信圖形用戶界面射頻識別

曹新莉 徐楊喆 熊俊俏 鄒連英

摘要:該文提出了一套地鐵閘機控制系統(tǒng)的設(shè)計方案。下位機以單片機為主控元件,輔以非接觸式讀寫卡芯片、液晶屏、燈箱等模塊,能夠?qū)崿F(xiàn)讀卡,寫卡,以及與上位機的通信等功能,上位機信息管理系統(tǒng)提供能夠在顯示界面內(nèi)讀取、修改卡內(nèi)相關(guān)信息等功能。

關(guān)鍵詞:非接觸式IC卡;射頻識別;串口通信;圖形用戶界面;數(shù)據(jù)庫

中圖分類號:TP311.1 文獻標(biāo)識碼:A 文章編號:1009-3044(2018)21-0259-04

Abstract:This design proposes a design scheme for a subway gate control system. The lower computer adopts single-chip microcomputer as the main control element, and is supplemented by non-contact reading and writing card chip, LCD screen, light box and other modules, which can realize the functions of reading card, writing card, and communication with upper computer.The upper computer information management system provides the functions of reading and modifying the card's related information inside the display interface.

Key words:contactless IC card;radio frequency identification; serial communication; graphical user interface; database

隨著全球城市的迅速發(fā)展以及人口的大量涌入,交通狀況愈加緊張。地下鐵道作為一種能夠緩解地面交通壓力的公共交通方式,近年來被廣泛運用到城市建設(shè)中。地鐵閘機控制系統(tǒng)規(guī)范行人正確、有序地進出,是地鐵系統(tǒng)穩(wěn)定運行的重要一環(huán)。

1 閘機控制系統(tǒng)硬件總體結(jié)構(gòu)

1.1 IC卡結(jié)構(gòu)及協(xié)議——Mifare 1 S50

Mifare 1 S50是一種非接觸式IC卡,工作頻率為13.56MHZ,符合ISO14443A標(biāo)準(zhǔn)。其內(nèi)部擁有天線模塊,接口模塊,控制模塊和存儲模塊,均被封裝在一張PVC卡片內(nèi)。存儲模塊內(nèi)部擁有16個扇區(qū),每個扇區(qū)分為4個塊。每張卡片的序列號以及制造商信息等,存放于扇區(qū)0的塊0中,該塊信息已固化,不能被更改,其余各個扇區(qū)的塊0、塊1、塊2皆可用于存放數(shù)據(jù)。每個扇區(qū)的塊3為控制塊,共有16個,每一個塊3包含了該扇區(qū)的密碼字節(jié)(密鑰A、密鑰B)以及對該扇區(qū)中其余塊0,1,2進行數(shù)據(jù)處理的存取控制權(quán)限字節(jié)。

1.2 讀卡器硬件組成

本文所設(shè)計的非接觸式IC卡讀寫系統(tǒng)主要包括單片機,非接觸式讀寫卡芯片,高頻接口,液晶屏等;輔以蜂鳴器和紅綠LED燈實時反饋系統(tǒng)狀態(tài);擁有獨立的復(fù)位按鍵。單片機通過控制驅(qū)動器ST7920驅(qū)動液晶屏,該系統(tǒng)配置有USB接口以及DC接口,支持USB供電。整個系統(tǒng)通過DB9接口實現(xiàn)與計算機間的串口通信。其中非接觸式讀寫卡芯片是整個系統(tǒng)的核心。本設(shè)計選用MF RC522作為非接觸式讀寫卡芯片,其內(nèi)部主要包括模擬信號處理模塊,接口模塊,寄存器模塊,協(xié)議處理模塊,mifare密鑰模塊。

2 閘機控制系統(tǒng)軟件總體結(jié)構(gòu)

包括IC卡讀寫程序(入站讀卡,出站讀寫卡),閘機終端控制程序,通信程序,后臺公交計費信息管理程序??傮w框架如圖3所示。

2.1 程序綜述

本設(shè)計所含程序大致組成有:

(1)讀寫卡系列芯片驅(qū)動程序,包含對射頻卡進行操作的所有函數(shù),例如尋卡、防碰撞、讀寫卡等函數(shù)。

(2)液晶屏程序,將存儲在卡內(nèi)的某些信息處理后使其顯示于液晶屏上,可顯示出當(dāng)前站臺、卡號、消費金額、余額等相關(guān)信息。

(3)串口通信程序,用于提供信息在下位機和上位機之間的發(fā)送和接收。

(4)圖形用戶界面程序,選擇使用Python內(nèi)置的Tkinter搭建上位機管理界面的窗口框架和內(nèi)部組建組件。

(5)數(shù)據(jù)庫程序,存儲卡號、余額等信息。選擇使用python內(nèi)置的Pymysql庫,連接Mysql數(shù)據(jù)庫。

3 出入站閘機公交卡識讀系統(tǒng)程序設(shè)計

與乘坐普通公交汽車只需單次刷卡不同的是,乘客乘坐地鐵時需要經(jīng)過出、入兩道閘機,這兩道閘機所具有的功能并不相同,因而需要對進、出站閘機的設(shè)計不同的程序。進、出站閘機控制系統(tǒng)流程圖如圖4所示。

3.1初始化程序

系統(tǒng)初始化:設(shè)置特殊功能寄存器;設(shè)置定時器/計數(shù)器模式控制寄存器;設(shè)置定時器的初始值;設(shè)置允許接收位;啟動定時器;允許定時器中斷;設(shè)置發(fā)送標(biāo)志位;開啟總中斷開關(guān);開啟串口中斷;設(shè)置接收標(biāo)志位。

3.2讀寫卡芯片控制程序

3.2.1尋卡

當(dāng)卡片進入到讀卡器的工作范圍內(nèi)時,讀卡器通過使用MF522命令字來發(fā)送和接收數(shù)據(jù)。讀卡器向卡片發(fā)送REQALL命令以尋找天線區(qū)域內(nèi)全部卡,將接收到的卡片返回的類型碼存放在TagType中。

3.2.2防碰撞

當(dāng)有一張及一張以上的IC卡進入讀卡器工作范圍內(nèi)時,讀卡器發(fā)送ANTICOLL1命令,執(zhí)行防碰撞算法,依據(jù)命令的匹配條件確認(rèn)卡片,將接收到的卡片返回的序列號存放在Snr中。

3.2.3選定卡片

讀卡器執(zhí)行SELECT命令,選擇卡片的序列號。卡片被選中后,將塊0中的容量信息返回給讀卡器。

3.2.4三輪相互認(rèn)證

(1) 上述步驟成功后,讀卡器指定要訪問塊地址所屬的扇區(qū)位置,向卡片發(fā)送一個包含密碼相關(guān)信息的命令。

(2) 卡片接收到信息后,使用所要求的加密方式,加密一組隨機數(shù)B,發(fā)送給讀卡器。

(3) 讀卡器接收信息后,對其進行處理,連同附加上的隨機數(shù)A,發(fā)送給卡片。

(4) 卡片接收信息后,驗證隨機數(shù)B,若驗證結(jié)果為正確,將隨機數(shù)A加密后發(fā)送給讀卡器,若驗證結(jié)果為錯誤,則停止認(rèn)證過程。

(5) 讀卡器接收信息,驗證隨機數(shù)A,若驗證結(jié)果為正確,則認(rèn)證成功,若驗證結(jié)果為錯誤,則終止認(rèn)證過程。

3.2.5讀余額,寫進站站臺代號/讀進站站臺代號

本設(shè)計默認(rèn)余額存放在塊1的第四個字節(jié)處。讀卡器利用Pcdread命令將塊1信息讀取并存放在數(shù)組中,再讀取第四個元素,得到余額數(shù)據(jù)。與此方式類似,對于進站閘機,讀卡器利用Pcdwrite命令將進站站臺代碼寫入卡片塊2的第一個字節(jié)處,用于出站時的扣費計算。對于出站閘機,讀卡器使用Pcdread命令將進站站臺代碼讀出,存放在數(shù)組中。

3.2.6扣費

讀卡器將進站代碼信息讀出,用出站閘機所存儲的代表當(dāng)前站臺的代碼與之比較并處理,得到乘客的乘坐站臺數(shù)D,將D代入到計算扣費金額的函數(shù)中,得到相應(yīng)的消費金額,將金額存放在數(shù)組中,使用PcdValue命令對錢包地址所在塊進行扣款。計算扣費金額流程圖如圖5所示。

3.2.7串口通信

建立一個數(shù)組,用于存放卡片序列號以及余額等需要發(fā)送的信息,關(guān)閉串口中斷ES,發(fā)送標(biāo)志位TI清零,將數(shù)組內(nèi)的元素逐字節(jié)發(fā)送給SBUF寄存器,每發(fā)送一個字節(jié)后,發(fā)送標(biāo)志TI位自動置1,需要繼續(xù)清零,待所有信息發(fā)送完成,開啟串口中斷ES。

3.3 液晶屏程序

3.3.1液晶屏初始化

設(shè)置通信方式;功能設(shè)置;顯示狀態(tài)設(shè)置;液晶屏清屏;

3.3.2設(shè)置待機界面

設(shè)置顯示位置為1、2、4行,待機狀態(tài)下顯示簡要的說明文字,界面如圖6所示。

3.3.3設(shè)置進站閘機顯示界面

設(shè)置顯示位置為1、2、4行,在進行進站刷卡操作后,顯示當(dāng)前站臺名稱、卡號和余額,余額要進行十六進制轉(zhuǎn)十進制顯示,界面如圖7所示。

3.3.4設(shè)置出站閘機顯示界面

設(shè)置顯示位置為1、2、3、4行,在進行出站刷卡操作后,顯示當(dāng)前站臺名稱、卡號、消費金額、余額,余額要進行十六進制轉(zhuǎn)十進制顯示,,界面如圖8所示。

4 燈箱

燈箱電路的發(fā)光二極管部分由159個紅色高亮度LED和101個綠色高亮度LED組成。LED燈珠驅(qū)動電路主要由六反相器和四個MOS管組成。電源電路主要由隔離電源模塊和三端穩(wěn)壓集成電路組成。通信電路主要由低功耗RS-485收發(fā)器和兩個光耦組成。電路板上具有撥碼開關(guān),能夠切換自動與手動模式。兩種LED點亮后如圖9、圖10所示。

5 進出站信息管理系統(tǒng)

該系統(tǒng)主要包括圖形用戶界面的設(shè)計以及數(shù)據(jù)庫的連接

5.1 Tkinter

Tkinter模塊是內(nèi)置在python中的Tk圖形用戶界面的標(biāo)準(zhǔn)接口,能穩(wěn)定運行在Window,Unix等大多數(shù)平臺中。

5.1.1 Tkinter組件

本設(shè)計所運用到的Tkinter控件主要有:

(1)Label:標(biāo)簽,用于顯示界面內(nèi)的文字,如“卡號”,“余額”等。

(2)Button:按鈕,點擊后觸發(fā)所設(shè)定的command,執(zhí)行讀卡、充值等命令。

(3)Entry:文本輸入框,其內(nèi)部get()函數(shù)可以接收用戶輸入充值金額。

(4)Text:文本域,用于顯示刷卡后得到的卡號,余額等信息。

(5)Combobox:下拉列表框,用于選擇設(shè)備的串口號以及波特率。

5.2 pyserial

Pyserial模塊是Python內(nèi)用于開發(fā)串口的模塊,支持在Windows、Linux等多平臺上穩(wěn)定運行,主要操作代碼如下:

5.2.1 配置串口并打開

ser = serial.Serial('com_number', baud rate, timeout=n)

5.2.2 讀取數(shù)據(jù)

line = ser.readline()

5.3 pymysql

Pymysql模塊是Python中用于連接Mysql服務(wù)器的模塊,實現(xiàn)對數(shù)據(jù)庫的操作。本設(shè)計需要建立數(shù)據(jù)表”xinxi”,包含3列信息:cardnumber,balance,balancechange,主要操作代碼如下。

5.3.1連接數(shù)據(jù)庫

5.3.3 向數(shù)據(jù)表內(nèi)插入記錄

INSERT INTO xinxi (column1,column2,column3)

VALUES (value1,value2,value3);

5.3.4 更新數(shù)據(jù)表現(xiàn)有記錄

UPDATE xinxi SET column1=value1 WHERE column2=value2;

5.3.5 刪除數(shù)據(jù)表記錄

DELECT FROM xinxi WHERE column1=value1;

5.3.6 操作實例

6 結(jié)論

本文結(jié)合城市發(fā)展需要,提出了一套地鐵閘機控制系統(tǒng)的設(shè)計。該系統(tǒng)設(shè)計完備,具有良好的穩(wěn)定性。其設(shè)計思想在地鐵閘機建設(shè)中具有較強的實用性。

參考文獻:

[1] 周曉光.射頻識別(RFID)技術(shù)原理與應(yīng)用實例[M].北京:人民郵電出版社,2006.

[2] 陳亮.地鐵非接觸式IC卡技術(shù)應(yīng)用[J]. 濟南:科技信息,2013(22).

[3] 王愛英.智能卡技術(shù)[M].北京:清華大學(xué)出版社,2000.

[4] 朱嘉斌.地鐵IC卡讀寫器的設(shè)計研究[J].北京:現(xiàn)代城市軌道交通,2007(5).

[5] 李淑琴,陳林,范蟠果.射頻識別非接觸式IC卡讀卡器的設(shè)計[J].北京:計算機測量與控制,2007(3).

[6] 陳秋彤,梁昭峰,何培重.實用型非接觸式IC卡讀寫器的研制[J].哈爾濱:電測與儀表,2004(8).

[7] 張鳳濤.基于單片機技術(shù)的非接觸式IC卡考勤機設(shè)計研究[J].鄭州:河南科技,2013(1).

[8] 林君.基于STC12C5A60S2單片機的射頻讀卡器設(shè)計[J].濟南:科技信息,2012(35).

[9] 黃春耀,王清輝.非接觸式IC卡開放實驗室管理系統(tǒng)下位機設(shè)計[J].龍巖:龍巖學(xué)院學(xué)報,2012(2).

[10] 李樹良, 施華莎.射頻(RF)卡原理與結(jié)構(gòu)[J]. 沈陽:微處理機,2013,16(9):17-19.

【通聯(lián)編輯:王力】

猜你喜歡
串口通信圖形用戶界面射頻識別
圖形用戶界面外觀設(shè)計專利保護問題探析——以“奇虎訴江民案”為例
淺談圖形用戶界面(GUI)技術(shù)專利現(xiàn)狀
圖形用戶界面法律保護問題與對策
基于Qt和Flash的嵌入式Linux軟件架構(gòu)設(shè)計
卷煙包裝用UHF RFID抗金屬標(biāo)簽天線的設(shè)計
基于網(wǎng)絡(luò)與數(shù)據(jù)智能化的數(shù)碼印花產(chǎn)品設(shè)計定制模式研究
MiniGUI在基于OMAP5912開發(fā)板上的移植
拜城县| 当阳市| 旺苍县| 沙田区| 云龙县| 繁昌县| 本溪市| 永平县| 兴国县| 吉隆县| 锡林郭勒盟| 湾仔区| 休宁县| 德保县| 临汾市| 华阴市| 韩城市| 彰化县| 宁夏| 海淀区| 临湘市| 太湖县| 富锦市| 磴口县| 偏关县| 九寨沟县| 张家界市| 铁岭市| 古蔺县| 城口县| 青田县| 宝鸡市| 东至县| 忻州市| 上饶县| 迁安市| 奉新县| 元阳县| 自贡市| 祥云县| 南部县|