在S3C2410A上實(shí)現(xiàn)MDB/ICP協(xié)議
摘要:為了讓ARM處理器芯片S3C2410A支持MDB/ICP協(xié)議,使功能強(qiáng)大的嵌入式處理器成為VMC設(shè)備來(lái)提升自動(dòng)售貨機(jī)的軟件系統(tǒng)功能,采用逆推的思維方式,構(gòu)造不同MDB總線數(shù)據(jù),設(shè)置S3C2410A UART不同的接收模式。根據(jù)軟件試驗(yàn)結(jié)果,利用S3C2410A芯片設(shè)計(jì)的bug,得到了一種讓S3C2410A完美支持MDB協(xié)議的巧妙方法,具有較高的實(shí)際應(yīng)用價(jià)值。
關(guān)鍵詞:MDB/ICP協(xié)議;S3C2410A;智能多媒體零售終端;UART
引言
MDB/ICP廣泛應(yīng)用于自助售賣系統(tǒng),實(shí)際上已經(jīng)成為自助售賣系統(tǒng)的行業(yè)標(biāo)準(zhǔn)通信協(xié)議。國(guó)內(nèi)也有采用這個(gè)標(biāo)準(zhǔn)的產(chǎn)品,基本上都是采用51單片機(jī)作為硬件解決方案,讓功能更強(qiáng)大的處理器S3C2410A支持該協(xié)議,可以大大提升自助售賣系統(tǒng)的軟硬件功能。
基于ARM處理器提供了一種讓高端處理器支持MDB/ICP的靈活方法,在該方法的引導(dǎo)下,也可以廣泛應(yīng)用在MIPS、Power PC等非ARM處理器芯片上,有很強(qiáng)的行業(yè)實(shí)用性。
1 MDB/ICP協(xié)議概述
MDB/ICP協(xié)議(Multi-Drop Bus/Internal Communication Protocol)是歐洲售貨機(jī)制造者協(xié)會(huì)制定的一套用于協(xié)調(diào)自動(dòng)售貨機(jī)的主控制器(VMC)與多個(gè)外設(shè)(硬幣機(jī)、讀鈔機(jī)等)之間通信的協(xié)議。硬幣機(jī)和讀鈔機(jī)的標(biāo)準(zhǔn)首先是由Coinco在美國(guó)可口可樂公司的指定下開發(fā)的。這個(gè)標(biāo)準(zhǔn)于1993年被NAMA(National Automatic Merchandising Association)協(xié)會(huì)采用,經(jīng)過一個(gè)專門的工作組修訂后,于1994年被EVMMA(Euro-pean Vending Machine Manufacturers Association)采用。當(dāng)前的最新協(xié)議版本version 4.O在2009年4月由NAMA和EVA(European Vending Association)共同制定。
1.1 MDB協(xié)議串行位格式
MDB接口是工作在9 600 bps波特率的主從型串行總線接口,所有外圍設(shè)備(例如硬幣機(jī)、紙幣機(jī)、讀卡器等)均為主控制器VMC的從機(jī)。所有外圍設(shè)備與VMC之間的通信方式都一致。最多支持32個(gè)外設(shè)。
MDB協(xié)議的串行位格式為:9600 bps、1個(gè)起始位、8位數(shù)據(jù)、1個(gè)模式位(mode bit)和1個(gè)停止位。
1.2 MDB/ICP通信協(xié)議幀要求
在MDB總線上,VMC通過廣播方式向外發(fā)送命令。第一字節(jié)為地址字節(jié)(高5位為尋址信息,低3位為對(duì)外設(shè)的指令)。該字節(jié)被所有的外設(shè)讀取,但只有符合地址字節(jié)所指定的外設(shè)才處理其后的數(shù)據(jù)字節(jié),并做出反應(yīng)。在VMC到外設(shè)的數(shù)據(jù)中,地址字節(jié)的方式位被置1,數(shù)據(jù)字節(jié)的方式位被置0,外設(shè)通過檢驗(yàn)接收到的方式位確認(rèn)是地址命令還是數(shù)據(jù)。當(dāng)數(shù)據(jù)從外設(shè)發(fā)送到主機(jī)時(shí)(最長(zhǎng)36字節(jié)),最后送出的字節(jié)方式位被置1,標(biāo)志著數(shù)據(jù)發(fā)送完畢。
VMC向外設(shè)傳送的指令由一個(gè)地址字節(jié)、一些可選的數(shù)據(jù)字節(jié)與一個(gè)校驗(yàn)和(CHK)字節(jié)構(gòu)成。發(fā)送指令后,外設(shè)應(yīng)答VMC的通信塊可以由一個(gè)數(shù)據(jù)塊和一個(gè)CHK字節(jié)組成,或者一個(gè)應(yīng)答字節(jié)(ACK),或者一個(gè)無(wú)應(yīng)答字節(jié)(NAK)。如果外設(shè)應(yīng)答數(shù)據(jù)塊的話,VMC將通過一個(gè)應(yīng)答字節(jié)(A-CK)、無(wú)應(yīng)答字節(jié)(NAK)或發(fā)字節(jié)(RET)應(yīng)答外設(shè)傳回的數(shù)據(jù)。
2 MDB/ICP協(xié)議應(yīng)用
自動(dòng)售貨機(jī)(Vending Machine)是一種全新的商業(yè)零售形式,20世紀(jì)70年代自日本和歐美發(fā)展起來(lái)。它又被稱為24小時(shí)營(yíng)業(yè)的微型超市。在日本,70%的罐裝飲料是通過自動(dòng)售貨機(jī)售出的。全球著名飲料商可口可樂公司在全世界就布有50萬(wàn)臺(tái)飲料自動(dòng)售貨機(jī)現(xiàn)在,自動(dòng)售貨機(jī)產(chǎn)業(yè)正在走向信息化并進(jìn)一步實(shí)現(xiàn)合理化。例如實(shí)行聯(lián)機(jī)方式,通過第三方無(wú)線網(wǎng)絡(luò)將自動(dòng)售貨機(jī)內(nèi)的庫(kù)存信息和銷售記錄及時(shí)地傳送各營(yíng)業(yè)點(diǎn)的電腦中,從而確保了商品的發(fā)送、補(bǔ)充以及商品選定的順利進(jìn)行,實(shí)現(xiàn)自動(dòng)售貨設(shè)備的全球連鎖。并且可以通過第三方網(wǎng)絡(luò)對(duì)售貨終端進(jìn)行遠(yuǎn)程控制和監(jiān)測(cè),通過以太網(wǎng)控制可以實(shí)現(xiàn)設(shè)備的云操作,將來(lái)也可以接入物聯(lián)網(wǎng)實(shí)現(xiàn)web操作購(gòu)物。在市場(chǎng)對(duì)功能提出日益復(fù)雜化的要求下,傳統(tǒng)的51單片機(jī)+MDB設(shè)備的解決方案難以滿足市場(chǎng)的需求。在ARM處理器日漸流行的今日,采用S3C2410A來(lái)作為VMC是滿足客戶需求的解決方案。S3C2410A芯片功能模塊豐富,軟件支持良好,可以使Linux操作系統(tǒng)實(shí)現(xiàn)更為復(fù)雜的用戶功能需求。圖1是港灣教育售貨系統(tǒng)的框圖。
評(píng)論