色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關 閉

          新聞中心

          EEPW首頁 > 安全與國防 > 設計應用 > 基于非接觸IC卡自動計時停車收費系統(tǒng)設計

          基于非接觸IC卡自動計時停車收費系統(tǒng)設計

          作者: 時間:2008-03-11 來源:網絡 收藏

            摘 要:根據場智能化管理的需要提出了系統(tǒng)設計思想。系統(tǒng)硬件設備由入口設備、出口設備和發(fā)卡設備組成,論述了它們的硬件電路設計和軟件設計,并重點討論了IC卡讀寫的硬、軟件設計。

            隨著國民經濟飛速發(fā)展.城市汽車數(shù)量劇增,難問題愈來愈凸現(xiàn),在增加場數(shù)量的同時,提高停車場的智能化管理是解決這個問題的關鍵。本設計開發(fā)的自動計時停車收費系統(tǒng),以技術為基礎.實現(xiàn)了停車場收費管理現(xiàn)代化,它具有效率高、管理科學、安全可靠等特點。

            1 系統(tǒng)整體設計

            整個系統(tǒng)硬件設備由停車場人口設備、停車場出口設備和發(fā)卡設備三部分組成。人口設備和出口設備位于停車場人口和出口單機工作,而發(fā)卡設備位于管理中心,由控制。三部分設備的硬件設計和主要功能如表1所示。

            表1 設備硬件組成與功能

            

            硬件組成上,發(fā)卡設備直接由控制,所以無需鍵盤、LCD模塊等硬件,出口設備包含人口設備和發(fā)卡設備所有的硬件,它們的設計只需在出口設備硬件基礎上去掉相應模塊,所以在后面的硬件設計介紹中以出口設備為代表 三種設備的不同功能由軟件編程實現(xiàn),出口程序經過精簡和簡單的修改可得到人口設備程序,所以在軟件設計中主要討論了出口設備和發(fā)卡設備的程序流程。在整個系統(tǒng)中,是三部分硬件設備相互聯(lián)系的橋梁,的讀寫程序設計是系統(tǒng)實現(xiàn)的關鍵,本文將重點討論。

            2 IC卡卡內存儲空間的分配

            本設計使用PHILIPS公司的MF1 IC卡,卡內集成1KB的E2PROM,并劃分為16個可獨立使用的扇區(qū),每個扇區(qū)又分為4個16字節(jié)的,每個扇區(qū)的第4個保存該扇區(qū)的密碼和訪問控制,IC卡中的16個扇區(qū)可用于16個不同系統(tǒng)中。本設計使用扇區(qū)2,具體存儲空間劃分:塊0的低4個字節(jié)存儲用戶序列號,塊1存放存儲用戶余額,塊2低7個字節(jié)存放停車起始時間 塊3存放兩套6字節(jié)密碼和4寧節(jié)訪問控制。

            3 硬件設計

            3.1出口設備硬件結構

            出口設備硬件結構如圖1所示.AT89C55單片機作為控制器,它片內集成20KB的程序存儲器,滿足本設計對程序存儲器容量的要求:ZLG7289芯片外接4x4的鍵盤;DS1302為停車計時提供準確時鐘;LCD液晶顯示各種信息,如按鍵信息、時間和停車費用等:AT24C256存儲用戶結算信息:通過RS-232 I亍通信:通過ZLG500對IC卡進行讀寫操作:通過P1.7端口向擋車閘電機控制器發(fā)送開關車閘信號。為充分利用單片機有限的端口,外圍設備多采用了具有I2C接口f如AT2,4C256、DS1302)和SPI接1:3(如ZLG7289、ZLG500)的器件。

            

            

            

            圖1 出口設備硬件示意圖

            3.2非接觸IC卡讀寫模塊ZLG500

            ZLG500負責對非接觸IC卡的讀寫操作。需外接PCB天線。ZLG500模塊連接電路如圖2所示.傳輸啟動端SS接O,和ZLG500之問發(fā)送數(shù)據,首先由發(fā)送方將SS拉低并且在發(fā)送結束后將SS拉高,本設計中MCU以下降沿中斷觸發(fā)的方式接收ZLG500發(fā)送的數(shù)據.并將O設置為最高優(yōu)先級,保證第一時間接收到IC卡數(shù)據。SCLK為SPI接口的時鐘線,總是由MCU產生。SDATA為雙向數(shù)據線,在數(shù)據傳輸開始前,由數(shù)據發(fā)送方將SDATA拉低,數(shù)據接收方同意接收數(shù)據則將SDATA拉高,作為接收響應信號,之后SDATA作為數(shù)據傳送線。模塊自帶看門狗,復位端RST可懸空或接低電平。CTRL和BZ接發(fā)光二極管和蜂嗚。

            

            

            圖2 ZLG500模塊電路

            3.3 AT24C256存儲器存儲空間劃分

            采用具有32KB存儲容量AT24C256存儲收費結算信息。存儲空間劃分:第1、2字節(jié)為出口,第3、4個字節(jié)為已打卡數(shù)量,第5到第8個字節(jié)為收費總金額,后面為用戶數(shù)據區(qū),每位用戶數(shù)據由13字節(jié)組成.包括4字節(jié)用戶序列號和2字節(jié)消費金額(BCD碼1.最多記錄5460個用戶數(shù)據。

            3.4 LCD顯示

            采用SMG12864液晶顯示模塊,可顯示4行8列共32個16x16的漢字。它自帶2個KS0108B和1個KS0107B顯示驅動控制器.2個KS0108B分別控制左右兩個半屏64x64)像素點的顯示.KS0107B作為64行的行驅動控制。液晶模塊采用直接控制方式.P2.2和P2.3分別接CS1和CS2用于左右半屏控制器的片選,RS(接P2.O)為內部功能寄存器選擇,R/W(接P2.1)為讀寫控制信號.P2.7接LCD驅動器的使能端E。

            3.5鍵盤設計

            鍵盤接口電路采用ZLG7289芯片.其按鍵有效輸出端,KEY)接MCU的INT1./KEY在有效按鍵時為低電平,平時為高電平。 EY的下降沿觸發(fā)按鍵中斷之后,MCU根據ZLG7289發(fā)送的鍵值進行相應處理。設計按鍵有:數(shù)字鍵0-9、"."、"功能"、"退出"、"退格"、"確定"。

            4 軟件設計

            軟件設計采用了模塊化設計方法.首先設計出設備外圍各硬件的驅動程序,將各硬件的驅動函數(shù)聲明在相應頭文件(.h文件)中,然后在主程序中包含這些頭文件,按系統(tǒng)功能需要調用各個模塊的驅動函數(shù)。限于篇幅,本文只詳細討論了主程序流程和讀寫卡程序。

            4.1主程序

            4.1.1出口設備主程序流程

            (1)啟動后對LCD、E2pROM、ZLG500和時鐘等初始化;

            (2)讀取當前時間、LCD顯示待機界面;

            (3)等待射頻IC卡的請求、按鍵請求或串13通信請求。有任一種請求則進入相應處理程序,并且處理程序返回之前。屏蔽其它兩種請求。① IC卡請求,驗證用戶IC 合法性,若為非法卡.則放棄IC卡請求,若為合法卡,從DS1302和IC卡中獲取當前時間和停車起始時間,計算出停車費用,從IC卡獲取用戶余額。若判斷消費金額超過用戶余額則蜂嗚報警并在LCD 中提示。否則將扣除消費金額并將余額寫入IC卡中,最后將用戶序列號和消費金額存儲到AT24C256中,上位機根據存儲器中用戶消費金額更新用戶余額。② 按鍵請求."功能"鍵被按下會中斷觸發(fā)按鍵處理程序,液晶顯示"請輸入密碼",正確輸入密碼后,在液晶中顯示各種功能,如"設置時間"、"查詢總金額"、"記錄個數(shù)"等,按數(shù)字鍵選擇相應功能,按"退出"鍵可以退到上一層操作界面,按"確定"鍵可確認輸入,"退格"鍵取消前一步輸入。③ 請求,出口設備與上位機連接時.根據上位機命令.可進行存儲器數(shù)據上傳、設置設備時間等操作。

            (4)向擋車閘電機控制器發(fā)出開關信號。

            4.1.2 發(fā)卡設備主程序流程

            開機后對讀寫卡模塊和串口進行初始化. 然后等待上位機命令:

            (1)若為"發(fā)新卡命令".接著接收上位機發(fā)來的新用戶數(shù)據,當在有效范圍內檢測到合法卡時將數(shù)據寫入IC卡內扇區(qū)2

            中相應位置中:

            (2)若為"充值命令",將有效范圍內IC卡的用戶信息傳給上位機,然后等待上位機發(fā)來"寫卡命令":

            (3)收到"寫卡命令",緊接著接收上位機發(fā)送的數(shù)據,然后將接收到的數(shù)據寫入IC卡中。

            4.2讀寫IC卡模塊通信協(xié)議與程序設計

            4.2 1 MCU與ZLG500之間的通信協(xié)議

            MCU與ZLG500之間的通信接圖3所示的數(shù)據格式進行。

            

            圖3 MCU與ZLG500之間通信的數(shù)據格式

            數(shù)據塊各字段描述如下:

           ?、?SeqNr:數(shù)據交換包的序號;

           ?、?Command:MCU向ZLG500發(fā)送命令的代碼,例如Read命令為0x46。Write命令為0x47:

           ?、?Status:ZLG500對MCU發(fā)出命令的響應;

           ?、?Len:要發(fā)送數(shù)據的個數(shù),以字節(jié)為單位;

           ?、?Data[0?N1:要發(fā)送的Len個字節(jié)的數(shù)據;

           ?、?BCC:BCC校驗碼,計算公式為:Byte[n]=NOT(Byte XOR Byte XOR....XOR Byte[n一11)。

            MCU與ZLG500之間通信必須先由MCU發(fā)起,MCU按照數(shù)據格式向ZLG500發(fā)送命令和數(shù)據,ZLG500執(zhí)行完命令后,將命令執(zhí)行的狀態(tài)和響應數(shù)據按照數(shù)據格式發(fā)回給MCU。

            4.2.2讀寫IC卡過程的代碼實現(xiàn)

            讀寫IC卡程序分為底層驅動函數(shù)和高層應用接口。底層驅動函數(shù)使用匯編語言設計, 主要包括SPI總線數(shù)據發(fā)送函數(shù)(_SPI_SEND)和


          關鍵詞: 上位機 存儲塊 外部中斷 非接觸IC卡 MCU 接收函數(shù) 連接圖 串口通信 設備號 停車

          評論


          相關推薦

          技術專區(qū)

          關閉