一種射頻IC卡就餐機(jī)和后臺管理微機(jī)的通信設(shè)計(jì)(1)_第1頁
一種射頻IC卡就餐機(jī)和后臺管理微機(jī)的通信設(shè)計(jì)(1)_第2頁
一種射頻IC卡就餐機(jī)和后臺管理微機(jī)的通信設(shè)計(jì)(1)_第3頁
一種射頻IC卡就餐機(jī)和后臺管理微機(jī)的通信設(shè)計(jì)(1)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、一種射頻IC卡就餐機(jī)和后臺管理微機(jī)的通信設(shè)計(jì)(1)摘要主要介紹一種射頻I卡就餐機(jī)和后臺管理微機(jī)通信的硬件和軟件設(shè)計(jì)。硬件設(shè)計(jì)方面簡述各種串行通信方法的比擬,并詳細(xì)闡述了用RS-485實(shí)現(xiàn)遠(yuǎn)間隔 通信。軟件方面詳述了在VISUALFXPR5.0中應(yīng)用UNIATINS串行通信控件實(shí)現(xiàn)射頻I卡就餐機(jī)和后臺管理微機(jī)的通信,實(shí)現(xiàn)了兩者互相傳輸數(shù)據(jù)。關(guān)鍵詞射頻I卡,串行通信控件,串行通信,RS-485RS-2321系統(tǒng)總體方案我們采用美國ATEL公司的子公司TEI公司消費(fèi)的TK5550射頻識別I卡、IDI(IdentifiatinIntegratediruit)、讀寫基站集成電路U2270B和ATEL公司

2、的8位單片機(jī)研制開發(fā)學(xué)校食堂就餐管理系統(tǒng),系統(tǒng)具有預(yù)付收費(fèi)、目的識別、身份驗(yàn)證、數(shù)據(jù)采集、數(shù)據(jù)加密和數(shù)據(jù)庫管理的功能。系統(tǒng)由TK5550卡、就餐機(jī)、數(shù)據(jù)庫管理系統(tǒng)、就餐機(jī)和數(shù)據(jù)庫管理微機(jī)的通訊系統(tǒng)四局部組成。主機(jī)與就餐機(jī)之間的通信采用RS-485通信標(biāo)準(zhǔn),工作方式為半雙工,每次通信都是主機(jī)首先呼叫從機(jī)。2串行通信接口設(shè)計(jì)最常見的串行通行接口標(biāo)準(zhǔn)是RS-232-串行總線,傳輸?shù)氖菃味诵盘?,即信號線中一條是公共地線,另一條是信號線。它只適用于數(shù)據(jù)傳送速率要求不高,間隔 不長的場合小于15米,合適于長間隔 傳送的總線標(biāo)準(zhǔn)有:RS-422、RS-423、RS-485、RS-499以及20A電流環(huán)串行接

3、口。本系統(tǒng)中單片機(jī)與上位主機(jī)的通訊選用了RS-485總線標(biāo)準(zhǔn),并采用了AX465芯片來實(shí)現(xiàn),它具有RS-485通訊接口中要的全部功能,數(shù)據(jù)通訊的方向由RE,DE腳來控制,設(shè)計(jì)中二者連在一起,由單片機(jī)的P1.5來控制,當(dāng)它為高電平時(shí),數(shù)據(jù)由單片機(jī)經(jīng)AX485到外部串行總線,即處于發(fā)送狀態(tài);為低電平時(shí),數(shù)據(jù)由外部串行總線到單片機(jī)。一般微機(jī)的串行口采用RS-232接口,故在主機(jī)一端需要一個RS-232/RS-485轉(zhuǎn)換器。本設(shè)計(jì)中采用了臺灣ATEN公司消費(fèi)的I-485SN轉(zhuǎn)換器,它是一種雙向RS-232/RS-485或RS-422轉(zhuǎn)換器,可提供點(diǎn)對點(diǎn)、點(diǎn)對多點(diǎn)的全雙工和半雙工以及多點(diǎn)的單工串行通信。

4、詳細(xì)工作方式可通過兩個撥碼開關(guān)和外部界限靈敏配置。由于本系統(tǒng)中涉及到多點(diǎn)半雙工通訊,下面就以此方式介紹其使用方法。在此工作方式下系統(tǒng)的連線如左圖??梢娹D(zhuǎn)換器對外部的RS-485總線只需兩根信號線:DATA+和DATA-,即發(fā)送和接收數(shù)據(jù)公用一對差分傳輸線,而轉(zhuǎn)換器和微機(jī)的RS-232接口那么需通過3根線進(jìn)展連接:RX,DX和RTS/TS,其中RX為接收數(shù)據(jù)信號線,TX為發(fā)送數(shù)據(jù)信號線,RTS和TS端接在一起,控制數(shù)據(jù)發(fā)送是否允許。由于轉(zhuǎn)換器工作時(shí)RTS必須為高電平來為轉(zhuǎn)換器供電,即轉(zhuǎn)換器接收數(shù)據(jù)時(shí)也一直處于數(shù)據(jù)發(fā)送允許的狀態(tài),為防止發(fā)生沖突,應(yīng)在設(shè)計(jì)主機(jī)串行通訊程序時(shí),控制發(fā)送和接收數(shù)據(jù)分時(shí)進(jìn)

5、展,即系統(tǒng)始終工作在半雙工的工作方式。3串行通信程序設(shè)計(jì)本系統(tǒng)上位主機(jī)數(shù)據(jù)庫管理系統(tǒng)采用VF5.0編寫,這里介紹的串行通信程序主要是在VF中實(shí)現(xiàn)與單片機(jī)的通信程序設(shè)計(jì)。31就餐系統(tǒng)通信程序的設(shè)計(jì)INDS應(yīng)用程序串行通信方式有調(diào)用INDSAPI函數(shù)和標(biāo)準(zhǔn)的通信控件UNIATINS兩種方式。本系統(tǒng)采用標(biāo)準(zhǔn)的通信控件uniatins進(jìn)展通信程序的設(shè)計(jì),實(shí)現(xiàn)掛失數(shù)據(jù)的發(fā)送、用戶卡號的發(fā)送、發(fā)卡和就餐數(shù)據(jù)的接收。在這里主要以接收用戶就餐數(shù)據(jù)為例討論應(yīng)用通信控件uniatins通信程序的設(shè)計(jì)。就餐機(jī)向主機(jī)傳送的數(shù)據(jù)為學(xué)生卡號和消費(fèi)金額,主機(jī)把承受后的數(shù)據(jù)臨時(shí)存貯在表j中,然后通過相關(guān)運(yùn)算后修改表stu中的

6、存款數(shù)據(jù)。主機(jī)與多臺就餐機(jī)的通訊方式為,先與一號機(jī)通訊,待到一號機(jī)數(shù)據(jù)傳輸完畢后,再與二號機(jī)通信直到最大編號就餐機(jī)。使用主機(jī)的串口與就餐機(jī)相連。32主機(jī)與就餐機(jī)雙方通信的約定:微機(jī)向就餐機(jī)發(fā)送字符串時(shí),該塊字符串前附加A,末尾附加B,串口兩端的校驗(yàn)和一致,那么向微機(jī)發(fā)送,假如不一致,那么向微機(jī)發(fā)送D;微機(jī)搜集來自就餐機(jī)的數(shù)據(jù)時(shí),先由微機(jī)向特定的就餐機(jī)發(fā)送E,該就餐機(jī)收到E以后,向微機(jī)發(fā)送數(shù)據(jù)塊以及校驗(yàn)和,并且在數(shù)據(jù)塊的末尾附加F,假如串口兩端的校驗(yàn)和一致,那么微機(jī)發(fā)送G,假如不一致,那么微機(jī)發(fā)送H。(注:A,B,D,E,F,G,H都以ASII碼格式發(fā)送,而且在lentrl1中收到的都是字符,而

7、不是數(shù)字)。33通信程序?qū)崿F(xiàn)每次通信時(shí),首先在主機(jī)的init事件中初始化通信控件lentrl1,初始化設(shè)置為:thisfr.lentrl1.Prt=1/選擇串行口1thisfr.lentrl1.Prtpen=1/翻開串行口1thisfr.lentrl1.Inputde=0/接收的數(shù)據(jù)按文本方式thisfr.lentrl1.RTSEnable=1/允許使用rts線,用于rs-232/485轉(zhuǎn)換器的發(fā)送控制和供電thisfr.lentrl1.InputLen=1/每次讀取接收緩沖區(qū)的一個字符thisfr.lentrl1.utbufferunt=0/去除發(fā)送緩沖區(qū)thisfr.lentrl1.Inb

8、ufferunt=0/去除接收緩沖區(qū)定時(shí)控件tier1作為超時(shí)定時(shí)器,在Tier1的nTier事件中,假定共有兩臺就餐機(jī)假如微機(jī)向就餐機(jī)#1發(fā)送的數(shù)據(jù)正確,那么,延時(shí)后,向下一個就餐機(jī)發(fā)送數(shù)據(jù),直到最后一個就餐機(jī),然后提示發(fā)送完畢;假如微機(jī)向就餐機(jī)發(fā)送的數(shù)據(jù)錯誤,那么,延時(shí)后,再發(fā)一次。假如連續(xù)三次發(fā)送都發(fā)生了錯誤,那么,給出錯誤的就餐機(jī)號,并且向下一個就餐機(jī)發(fā)送數(shù)據(jù)。定時(shí)器的初始化為:tier1.Interval=50*定時(shí)時(shí)間間隔為50stier1.ensbled=.f.先關(guān)超時(shí)定時(shí)器1在and1的lik事件中通過調(diào)用外部過程prgra2向就餐機(jī)發(fā)送地址(即機(jī)號),和要求就餐機(jī)向主機(jī)傳送就

9、餐數(shù)據(jù)的命令。Prgra2的程序?yàn)椋簆redureprgrae2*發(fā)送機(jī)號表單js.lentrl1.RThreshld=0表單js.lentrl1.Settings=2400,8,1jh2=hr(jh2)表單js.lentrl1.utPut=jh2*發(fā)送命令表單js.lentrl1.Settings=2400,s,8,1表單js.lentrl1.utPut=E表單js.lentrl1.Inbufferunt=0表單js.lentrl1.utbufferunt=0表單js.lentrl1.RThreshld=1表單js.tier1.enabled=.t.return詳細(xì)為:首先在發(fā)送數(shù)據(jù)之前設(shè)置

10、LENTRLL的Rthreshld為0,制止對發(fā)送事件產(chǎn)生N事件,防止主機(jī)接收自己的數(shù)據(jù)。在發(fā)送一個字節(jié)的機(jī)號時(shí),設(shè)settings表單js.lentrl1.Settings=2400,8,1即校驗(yàn)位為ark:1,代表地址字節(jié),以校驗(yàn)位作為識別地址的標(biāo)志。在發(fā)送完機(jī)號后,設(shè)置settings為:表單js.lentrl1.Settings=2400,s,8,1即校驗(yàn)位為spae:0,表示發(fā)送的一個字節(jié)E是要求就餐機(jī)開場向主機(jī)傳送就餐數(shù)據(jù)的命令。主機(jī)向就餐機(jī)發(fā)送數(shù)據(jù)的方法是應(yīng)用通信控件的UTPUT函數(shù),即為表單js.lentrl1.utPut=E。在發(fā)送完命令后,要清控主機(jī)的發(fā)送和接收緩沖區(qū),即令

11、:表單js.lentrl1.Inbufferunt=0表單js.lentrl1.utbufferunt=0同時(shí),使控件的Rthreshld有效,等待接收就餐機(jī)發(fā)來的數(shù)據(jù),另外要翻開超時(shí)定時(shí)器即令表單js.tier1.enabled=.t.,以判斷就餐機(jī)是否正常。在lentrl1的n事件中,首先判斷控件的屬性Event=2,表示收到Rthreshld個字符。該事件將持續(xù)產(chǎn)生直到用Input屬性從接收緩沖區(qū)中刪除數(shù)據(jù)。然后接收從串口來的就餐數(shù)據(jù)和校驗(yàn)和,就餐機(jī)發(fā)送完數(shù)據(jù)后緊接著發(fā)送一個F,表示數(shù)據(jù)發(fā)送完畢。假如主機(jī)接收正確向就餐機(jī)發(fā)送一個G。延時(shí)后與下一臺就餐機(jī)通信。接收后的數(shù)據(jù)臨時(shí)存貯在表JJ中

12、,等待處理。假如主機(jī)接收不正確向就餐機(jī)發(fā)送一個H。主機(jī)與就餐機(jī)的通信成功與否,在超時(shí)定時(shí)器的NTIER事件進(jìn)展判斷,其工作方法在前面已說明。4完畢語前面比擬詳細(xì)的介紹了主機(jī)接收就餐機(jī)數(shù)據(jù)的程序設(shè)計(jì)過程和方法,至于主機(jī)向就餐機(jī)發(fā)送掛失卡號和發(fā)卡初始化新卡的通信程序的設(shè)計(jì)原理是一樣的。只是發(fā)卡時(shí),因?yàn)橐淮瓮ㄐ乓獋鬏數(shù)臄?shù)據(jù)量很小,卡號金額均為10個字符,對通信結(jié)果成功與否的判斷,沒有使用求校驗(yàn)和的方法,采取了連續(xù)傳輸3次,在3中取2的措施,這樣更可靠。參考文獻(xiàn)1ATELRPRATIN,U2270BANTENNADESIGNHINTS,19992ATELRPRATIN,TK5550DATASHEET,

13、19993ATENInternatinal.,LTD,TheI-485SNnverterUseranual,Taian,19994SallD.,“TheptentialfRFIDisfinallyareality,IndustrialEngineering,Vl24Iss:10p.46-7,Data:t.19925美國愛特梅爾(ATEL)公司,I智能卡技術(shù)手冊,1999年4月6劉立康,用vb5.0實(shí)現(xiàn)與單片機(jī)串行通信的程序設(shè)計(jì),微計(jì)算機(jī)信息,1999年第15卷第3期7范逸之,VisualBasi與RS-232串行通信控制,中國青年出版社,2000年8月8夏海燕、羅家融、王玲,運(yùn)行VB的S控件實(shí)現(xiàn)一機(jī)對多機(jī)數(shù)據(jù)通信的實(shí)例,微計(jì)算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論