• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

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

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

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

      中圖分類號:TP311.1 文獻(xiàn)標(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è)中。地鐵閘機(jī)控制系統(tǒng)規(guī)范行人正確、有序地進(jìn)出,是地鐵系統(tǒng)穩(wěn)定運行的重要一環(huán)。

      1 閘機(jī)控制系統(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進(jìn)行數(shù)據(jù)處理的存取控制權(quán)限字節(jié)。

      1.2 讀卡器硬件組成

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

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

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

      2.1 程序綜述

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

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

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

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

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

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

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

      與乘坐普通公交汽車只需單次刷卡不同的是,乘客乘坐地鐵時需要經(jīng)過出、入兩道閘機(jī),這兩道閘機(jī)所具有的功能并不相同,因而需要對進(jìn)、出站閘機(jī)的設(shè)計不同的程序。進(jìn)、出站閘機(jī)控制系統(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)卡片進(jìn)入到讀卡器的工作范圍內(nèi)時,讀卡器通過使用MF522命令字來發(fā)送和接收數(shù)據(jù)。讀卡器向卡片發(fā)送REQALL命令以尋找天線區(qū)域內(nèi)全部卡,將接收到的卡片返回的類型碼存放在TagType中。

      3.2.2防碰撞

      當(dāng)有一張及一張以上的IC卡進(jìn)入讀卡器工作范圍內(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) 卡片接收到信息后,使用所要求的加密方式,加密一組隨機(jī)數(shù)B,發(fā)送給讀卡器。

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

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

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

      3.2.5讀余額,寫進(jìn)站站臺代號/讀進(jìn)站站臺代號

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

      3.2.6扣費

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

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

      3.3.3設(shè)置進(jìn)站閘機(jī)顯示界面

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

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

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

      4 燈箱

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

      5 進(jìn)出站信息管理系統(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ā)展需要,提出了一套地鐵閘機(jī)控制系統(tǒng)的設(shè)計。該系統(tǒng)設(shè)計完備,具有良好的穩(wěn)定性。其設(shè)計思想在地鐵閘機(jī)建設(shè)中具有較強(qiáng)的實用性。

      參考文獻(xiàn):

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

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

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

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

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

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

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

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

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

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

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

      猜你喜歡
      串口通信圖形用戶界面射頻識別
      圖形用戶界面外觀設(shè)計專利保護(hù)問題探析——以“奇虎訴江民案”為例
      淺談圖形用戶界面(GUI)技術(shù)專利現(xiàn)狀
      圖形用戶界面法律保護(hù)問題與對策
      基于Qt和Flash的嵌入式Linux軟件架構(gòu)設(shè)計
      卷煙包裝用UHF RFID抗金屬標(biāo)簽天線的設(shè)計
      基于網(wǎng)絡(luò)與數(shù)據(jù)智能化的數(shù)碼印花產(chǎn)品設(shè)計定制模式研究
      MiniGUI在基于OMAP5912開發(fā)板上的移植
      通许县| 阿克苏市| 常宁市| 通州区| 南涧| 手游| 高安市| 惠安县| 额尔古纳市| 湖南省| 确山县| 昔阳县| 清丰县| 南漳县| 建瓯市| 芒康县| 大冶市| 汤阴县| 涟水县| 光山县| 苍梧县| 蓬莱市| 邹平县| 涞水县| 井冈山市| 张家口市| 新乡市| 大足县| 斗六市| 云林县| 来安县| 晋江市| 荥经县| 临漳县| 卢龙县| 全南县| 永善县| 杨浦区| 洪洞县| 巴彦淖尔市| 乐昌市|