版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn) 基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn)預覽: 摘要:介紹一種以DALLASDS5002FP單片機為主控制器的MDB/ICP協(xié)議實現(xiàn)。從硬件和軟件描述了如何控制MDB總線,并給出一個較成熟的控制外設會話的總線驅(qū)動程序。該協(xié)議實現(xiàn)清晰、簡單,采用MCS-51兼容單片機降低成本,充分體現(xiàn)了MDB/ICP的優(yōu)越性。關(guān)鍵詞:單片機自動售賣系統(tǒng)主控制器隨著 基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn)正文:摘要:介紹一種以DALLAS DS5002FP單片機為主控制器的MDB/ICP協(xié)議實現(xiàn)
2、。從硬件和軟件描述了如何控制MDB總線,并給出一個較成熟的控制外設會話的總線驅(qū)動程序。該協(xié)議實現(xiàn)清晰、簡單,采用MCS-51兼容單片機降低成本,充分體現(xiàn)了MDB/ICP的優(yōu)越性。 關(guān)鍵詞:單片機 自動售賣系統(tǒng) 主控制器隨著國你經(jīng)濟和技術(shù)的發(fā)展,自動售賣系統(tǒng)由于其方便性、易管理性和低成本,正得到越來越廣泛的應用。而自動售賣系統(tǒng)的外設也越來越復雜,從投幣機到讀鈔機到非現(xiàn)金交易(如IC記賬卡),導致對主控制器的要求越來越高。為了簡化設計,采用一個簡單、穩(wěn)定的內(nèi)部通訊總線協(xié)議非常必要。本文介紹了歐洲售機制造者協(xié)會(EVMMA)制定的MDB/ICP總線協(xié)議。該協(xié)議簡潔
3、明了,功能強大,可擴展性強,并且對外掛外設備數(shù)目沒有限制,是理想的自動售賣系統(tǒng)內(nèi)部總線協(xié)議。本文從主控制器的角度給出了對MDB/ICP總線進行操作控制的硬件和軟件實現(xiàn)。1 MDB/ICP協(xié)議簡介MDB/ICP協(xié)議(Multi-Drop Bus / Internal Communication Protocol)是歐洲售貨機制造者協(xié)會制定的一套用于協(xié)調(diào)自動售賣機的主控制器(VMC)與多個外設之間通信的協(xié)議。硬幣機和讀鈔機的標準首先是由Coinco在美國可口可樂公司的指定下開發(fā)的。這個標準于1993年被NAMA協(xié)會采用,經(jīng)過一個專門的工作組修訂后,于1994年被EVMMA采用。第二階段的非現(xiàn)金交易
4、標準由Debitek代表NAMA開發(fā),并于1994年被NAMA采用。EVMMA加入了一些兼容的指令后于1994年采用。MDB接口實際上是工作于9600波特率的主從型串行總線接口,所外圍設備(例如硬幣機、讀鈔機、讀卡器等)均為主控制器(傳統(tǒng)上稱售貨機控制器VMC)的從機。所有外圍設備與VMC之間的通信方式都一致。MDB協(xié)議的串行位格式為:1個起始位,8個數(shù)據(jù)位,1個方式位與1個停止位,共11位。位傳遞的順序如圖1所示。其中方式位根據(jù)傳遞的方式不同置0或置1。在MDB總線上,VMC通過廣播方式向外發(fā)送命令。第一字節(jié)為地址字節(jié)(實際上只有高5位尋址信息,低3位為對外設的指令),該字節(jié)被所有的外設讀取
5、,但只有符合地址字節(jié)所指定的外設才處理其后的數(shù)據(jù)字節(jié),并做出反應。在VMC到外設的數(shù)據(jù)中,地址字節(jié)的方式位被置1,數(shù)據(jù)字節(jié)的方式位被置0,外設通過檢驗接收到的方式位確認是地址命令還是數(shù)據(jù)。當數(shù)據(jù)從外設發(fā)送到主機時,最后送出的字節(jié)方式位被置1,標志著數(shù)據(jù)發(fā)送完畢。VMC向外設傳送的指令由一個地址字節(jié)、一些可選的數(shù)據(jù)字節(jié)與一個校驗和(CHK)字節(jié)構(gòu)成。發(fā)送指令后,外設應答VMC的通信塊可以由一個數(shù)據(jù)塊和一個CHK字節(jié)組成,或者一個應答字節(jié)(ACK),或者一個無應答字節(jié)(NAK)。如果外設應答數(shù)據(jù)塊的話,VMC將通過一個應答字節(jié)(ACK)、無應答字節(jié)(NAK)或得發(fā)字節(jié)(RET)應答外設傳回的數(shù)據(jù)。
6、圖2至圖5為幾個典型的會話例子,其中“*”表示傳送時方式位置1,“ADD”表示地址字節(jié),“CHK”表示傳送數(shù)據(jù)的校驗和。2 硬件系統(tǒng)結(jié)構(gòu)在MDB/ICP總線協(xié)議基礎(chǔ)上,筆者構(gòu)建了一個實際的自動售賣系統(tǒng),系統(tǒng)原理圖如圖6所示。VMC通過MDB總線與投幣機、讀鈔機和讀卡器交互,控制外設的運轉(zhuǎn),并從外設獲得用戶的支持情況。同時,VMC也負責處理與用戶之間的交互,驅(qū)動液晶顯示,處理鍵盤輸入,驅(qū)動符合用戶需要的電機運轉(zhuǎn)出貨。在本項目中,VMC還需通過MODEM自動撥號連接公司總線的服務器,將銷售數(shù)據(jù)傳送回公司。如圖6所示,所有MDB外設均掛在同一總線上,由總線提供24V和5V的電源,數(shù)據(jù)線與單片機的串口
7、相連。本項目中選用的單片機為DALLAS DS5002FP。該單片機代碼級兼容MCS-51系列單片機,在使用外存的情況下仍然可以使用4個PO作為數(shù)據(jù)I/O,帶外設的能力較強。但它只有一個串口,控制MDB總線和控制MODEM都需要使用串口,因此必須將串口進行復用。通過一個譯碼器實現(xiàn)選通功能。3 MD1 2 3 4 5 下一頁 基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn)預覽: 摘要:介紹一種以DALLASDS5002FP單片機為主控制器的MDB/ICP協(xié)議實現(xiàn)。從硬件和軟件描述了如何控制MDB總線,并給出一個較成熟的控制外設會話的總線驅(qū)動程
8、序。該協(xié)議實現(xiàn)清晰、簡單,采用MCS-51兼容單片機降低成本,充分體現(xiàn)了MDB/ICP的優(yōu)越性。關(guān)鍵詞:單片機自動售賣系統(tǒng)主控制器隨著 基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn)正文:B/ICP會話控制將VMC與外設之間通過MDB總線的會話分為四個層次:(1)串口初始化初始化串口時,主要工作是設置波率(9600)和傳輸方式(11位)。為順利獲得9600波特率,單片機采用的晶振為11.0592MHz。源代碼如下(采用Franklin C51語言編寫):/ 一點常量定義#define uchar unsigned char#define T_RESPONSE 0xee /*5.0毫秒*/&
9、#160; #define MAX_BLOCK_SIZF 36 /*數(shù)據(jù)塊最大長度*/#define ERR_TIME_OUT 0x81 /*超時*/#define ERR_NO_MODE_BIT 0x82*/未收到最后字節(jié)*/#define ERR_CHECKSUM 0x83 /*校驗和錯*/#define ACK 0x00#define RET 0xaa#define NAK 0xff/初始化串口void InitSerialPort()SCON = 0xd0; /設置串口為方式3(9bit)TMOD &=0x0f;TMOD I=0x20; /設置
10、定時器1為方式2TR1 =1; /定時器1使能TH1 = 0xfd; /設定波行率:9600 NRZPCON &=0x7f; /Set SMOD=0RI=0;TI=0; (2)字節(jié)的傳送這里需要注意的是:發(fā)送數(shù)據(jù)時要根據(jù)需要設置方式位,而接收數(shù)據(jù)時要返回方式位的值,以判斷是否收完所有數(shù)據(jù)。/ 傳送字節(jié)void TransmitByte(uchar byte,bit mode)/形參:byte準備發(fā)送的字節(jié)/ mode預備要設置的方式位TB8=mode; /設置方式位SBUF = byte; /發(fā)送字節(jié)While(!TI); /等待發(fā)送完畢TI=0;上
11、一頁 1 2 3 4 5 下一頁 基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn)預覽: 摘要:介紹一種以DALLASDS5002FP單片機為主控制器的MDB/ICP協(xié)議實現(xiàn)。從硬件和軟件描述了如何控制MDB總線,并給出一個較成熟的控制外設會話的總線驅(qū)動程序。該協(xié)議實現(xiàn)清晰、簡單,采用MCS-51兼容單片機降低成本,充分體現(xiàn)了MDB/ICP的優(yōu)越性。關(guān)鍵詞:單片機自動售賣系統(tǒng)主控制器隨著 基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn)正文:/接收字節(jié)#pragma disableuchar ReceiveByte(u
12、char *byte,uchar *bMode)/形參:*byte返回接收到的字節(jié)值/ *bMode返回接收到的字節(jié)的方式位/返回值:0超時,1成功接收TMOD &=0xf0;TMOD |=0x01; /設置定時器0為方式1(16位)TH0=T_RESPONSE;TL0=0x00; /設置超時門限TF0=0;TR0=1; /定時器0使能While (!RI && !TF0); /等待接收字節(jié)直至超時TF0=0;if(RI) /已接收字節(jié)RI=0;*byte=SBUF; /返回字節(jié)值*bMode=RB8; /返回方式位 ret
13、urn 1;else /超時RI=0;return 0;(3)數(shù)據(jù)塊的傳送這部分與下面的會話部分放在一個函數(shù)體內(nèi)實現(xiàn)。(4)會話 這是MDB會話控制的核心部分。根據(jù)需要傳送數(shù)據(jù)包,計算校驗字節(jié),控制方式位,在時序允許的響應時間內(nèi)接愛外設返回的數(shù)據(jù),做出ACK或NAK等反應。并且按照MDB/ICP標準中堆薦的方式處理異常情況,當接受數(shù)據(jù)超時或校驗和錯時,重復發(fā)送命令多次,以增強容錯性能。將接收到的數(shù)據(jù)返回給調(diào)用乾,并返回結(jié)果碼。源程序如下:/與外設會話,在調(diào)用之前確認譯碼器選通MDB總線uchar Session(uchar add,uchar dat,uch
14、ar count)/形參:addVMC發(fā)送的地址指令字節(jié)/ datVMC發(fā)送的數(shù)據(jù)塊/ count數(shù)據(jù)塊的大小/返回值:0外設應答ACK/非0且小于0x80外設應答的數(shù)據(jù)塊的大小/大于上一頁 1 2 3 4 5 下一頁 基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn)預覽: 摘要:介紹一種以DALLASDS5002FP單片機為主控制器的MDB/ICP協(xié)議實現(xiàn)。從硬件和軟件描述了如何控制MDB總線,并給出一個較成熟的控制外設會話的總線驅(qū)動程序。該協(xié)議實現(xiàn)清晰、簡單,采用MCS-51兼容單片機降低成本,充分體現(xiàn)了MDB/IC
15、P的優(yōu)越性。關(guān)鍵詞:單片機自動售賣系統(tǒng)主控制器隨著 基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn)正文:等于0x80會話中出錯/外設應答的數(shù)據(jù)塊存放在全局數(shù)組uchar recBuffuchar data check,i,j,err;uchar data mode;for(j=0;j<5;j+) /最多重復發(fā)送命令5次check=0;err=0;TransmitByte(add,1); /發(fā)送地址字節(jié)Check +=add; /計算CHKFor(i=0;i<count,i+) /發(fā)送數(shù)據(jù)字節(jié)TransmitByte(dati,0);check +=dati;TransmitBy
16、te(check,0); /發(fā)送CHKfor (i=0,check=0,mode=0;!mode && i<MAX_BLOCK_SIZE && !err;i+)/反復接收字節(jié)直到方式位為1或出錯/接收到的數(shù)據(jù)存在全局數(shù)組recBuff里if(!ReceiveByte(recBuff+i,&mode)/超時。外設可用超時表示NAKerr=i?ERR_TIME_OUT:NAK;else if (i= =0 && recBuffi= =NAK && mode)/收到NAKerr = NAK;else if (!mode)/
17、方式位為0表示還有數(shù)據(jù)check +=recBuffi; /for iif(!err) /未發(fā)生錯誤 if (!mode)/收完36個字節(jié)還未結(jié)束TransmitByte(NAK,0);err=ERR_NO_MODE_BIT;else if (i>1) /收到數(shù)據(jù)塊if(check !=recBuffi-1) /校驗和錯TransmitByte(NAK,0);err=ERR_CHECKSUM; else上一頁 1 2 3 4 5 下一頁 基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn)預覽: 摘要:介紹一種以DALLASDS5002FP單片機為主控制器的MDB/ICP協(xié)議實現(xiàn)。從硬件和軟件描述了如何控制MDB總線,并給出一個較成熟的控制外設會話的總線驅(qū)動程序。該協(xié)議實現(xiàn)清晰、簡單,采用MCS-51兼容單片機降低成本,充分體現(xiàn)了MDB/ICP的優(yōu)越性。關(guān)鍵詞:單片機自動售賣系統(tǒng)主控制器隨著 基于MDB/ICP協(xié)議的自動售賣系統(tǒng)的主控制器實現(xiàn)正文:/一切正常,發(fā)送ACK后跳出循環(huán)TransmitByte(ACK,0);break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024預應力管樁勞務分包合同
- 2025年度智能辦公空間場地租賃合作協(xié)議書4篇
- 專項水電維修分包合同書2024版范例版
- 二零二五年度文化產(chǎn)業(yè)代理注銷合作協(xié)議3篇
- 2024年04月廣州銀行白云支行2024年社會招考筆試歷年參考題庫附帶答案詳解
- 2025年度產(chǎn)學研合作項目資金支持及財務管理合同4篇
- 專業(yè)短駁貨物運輸協(xié)議示范文本版B版
- 2025年度廠房裝修項目環(huán)保評估與治理合同3篇
- 二零二五年度財務共享服務中心建設合同3篇
- 二零二五年度跨境電商供應鏈金融連帶責任擔保協(xié)議3篇
- ICU常見藥物課件
- CNAS實驗室評審不符合項整改報告
- 農(nóng)民工考勤表(模板)
- 承臺混凝土施工技術(shù)交底
- 臥床患者更換床單-軸線翻身
- 計量基礎(chǔ)知識培訓教材201309
- 中考英語 短文填詞、選詞填空練習
- 一汽集團及各合資公司組織架構(gòu)
- 阿特拉斯基本擰緊技術(shù)ppt課件
- 初一至初三數(shù)學全部知識點
- 新課程理念下的班主任工作藝術(shù)
評論
0/150
提交評論