女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]隨著國你經(jīng)濟(jì)和技術(shù)的發(fā)展,自動售賣系統(tǒng)由于其方便性、易管理性和低成本,正得到越來越廣泛的應(yīng)用。而自動售賣系統(tǒng)的外設(shè)也越來越復(fù)雜,從投幣機(jī)到讀鈔機(jī)到非現(xiàn)金交易(如IC記賬卡),導(dǎo)致對主控制器的要求越來越高

隨著國你經(jīng)濟(jì)和技術(shù)的發(fā)展,自動售賣系統(tǒng)由于其方便性、易管理性和低成本,正得到越來越廣泛的應(yīng)用。而自動售賣系統(tǒng)的外設(shè)也越來越復(fù)雜,從投幣機(jī)到讀鈔機(jī)到非現(xiàn)金交易(如IC記賬卡),導(dǎo)致對主控制器的要求越來越高。為了簡化設(shè)計,采用一個簡單、穩(wěn)定的內(nèi)部通訊總線協(xié)議非常必要。
本文介紹了歐洲售機(jī)制造者協(xié)會(EVMMA)制定的MDB/ICP總線協(xié)議。該協(xié)議簡潔明了,功能強(qiáng)大,可擴(kuò)展性強(qiáng),并且對外掛外設(shè)備數(shù)目沒有限制,是理想的自動售賣系統(tǒng)內(nèi)部總線協(xié)議。本文從主控制器的角度給出了對MDB/ICP總線進(jìn)行操作控制的硬件和軟件實(shí)現(xiàn)。
1 MDB/ICP協(xié)議簡介
MDB/ICP協(xié)議(Multi-Drop Bus / Internal Communication Protocol)是歐洲售貨機(jī)制造者協(xié)會制定的一套用于協(xié)調(diào)自動售賣機(jī)的主控制器(VMC)與多個外設(shè)之間通信的協(xié)議。硬幣機(jī)和讀鈔機(jī)的標(biāo)準(zhǔn)首先是由Coinco在美國可口可樂公司的指定下開發(fā)的。這個標(biāo)準(zhǔn)于1993年被NAMA協(xié)會采用,經(jīng)過一個專門的工作組修訂后,于1994年被EVMMA采用。第二階段的非現(xiàn)金交易標(biāo)準(zhǔn)由Debitek代表NAMA開發(fā),并于1994年被NAMA采用。EVMMA加入了一些兼容的指令后于1994年采用。
MDB接口實(shí)際上是工作于9600波特率的主從型串行總線接口,所外圍設(shè)備(例如硬幣機(jī)、讀鈔機(jī)、讀卡器等)均為主控制器(傳統(tǒng)上稱售貨機(jī)控制器——VMC)的從機(jī)。所有外圍設(shè)備與VMC之間的通信方式都一致。
MDB協(xié)議的串行位格式為:1個起始位,8個數(shù)據(jù)位,1個方式位與1個停止位,共11位。位傳遞的順序如圖1所示。其中方式位根據(jù)傳遞的方式不同置0或置1。在MDB總線上,VMC通過廣播方式向外發(fā)送命令。第一字節(jié)為地址字節(jié)(實(shí)際上只有高5位尋址信息,低3位為對外設(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ī)時,最后送出的字節(jié)方式位被置1,標(biāo)志著數(shù)據(jù)發(fā)送完畢。
VMC向外設(shè)傳送的指令由一個地址字節(jié)、一些可選的數(shù)據(jù)字節(jié)與一個校驗(yàn)和(CHK)字節(jié)構(gòu)成。發(fā)送指令后,外設(shè)應(yīng)答VMC的通信塊可以由一個數(shù)據(jù)塊和一個CHK字節(jié)組成,或者一個應(yīng)答字節(jié)(ACK),或者一個無應(yīng)答字節(jié)(NAK)。如果外設(shè)應(yīng)答數(shù)據(jù)塊的話,VMC將通過一個應(yīng)答字節(jié)(ACK)、無應(yīng)答字節(jié)(NAK)或得發(fā)字節(jié)(RET)應(yīng)答外設(shè)傳回的數(shù)據(jù)。

    (2)字節(jié)的傳送
圖2至圖5為幾個典型的會話例子,其中“*”表示傳送時方式位置1,“ADD”表示地址字節(jié),“CHK”表示傳送數(shù)據(jù)的校驗(yàn)和。


2 硬件系統(tǒng)結(jié)構(gòu)
在MDB/ICP總線協(xié)議基礎(chǔ)上,筆者構(gòu)建了一個實(shí)際的自動售賣系統(tǒng),系統(tǒng)原理圖如圖6所示。VMC通過MDB總線與投幣機(jī)、讀鈔機(jī)和讀卡器交互,控制外設(shè)的運(yùn)轉(zhuǎn),并從外設(shè)獲得用戶的支持情況。同時,VMC也負(fù)責(zé)處理與用戶之間的交互,驅(qū)動液晶顯示,處理鍵盤輸入,驅(qū)動符合用戶需要的電機(jī)運(yùn)轉(zhuǎn)出貨。在本項(xiàng)目中,VMC還需通過MODEM自動撥號連接公司總線的服務(wù)器,將銷售數(shù)據(jù)傳送回公司。


如圖6所示,所有MDB外設(shè)均掛在同一總線上,由總線提供24V和5V的電源,數(shù)據(jù)線與單片機(jī)的串口相連。
本項(xiàng)目中選用的單片機(jī)為DALLAS DS5002FP。該單片機(jī)代碼級兼容MCS-51系列單片機(jī),在使用外存的情況下仍然可以使用4個PO作為數(shù)據(jù)I/O,帶外設(shè)的能力較強(qiáng)。但它只有一個串口,控制MDB總線和控制MODEM都需要使用串口,因此必須將串口進(jìn)行復(fù)用。通過一個譯碼器實(shí)現(xiàn)選通功能。
3 MDB/ICP會話控制
將VMC與外設(shè)之間通過MDB總線的會話分為四個層次:
(1)串口初始化
初始化串口時,主要工作是設(shè)置波率(9600)和傳輸方式(11位)。為順利獲得9600波特率,單片機(jī)采用的晶振為11.0592MHz。源代碼如下(采用Franklin C51語言編寫):
// 一點(diǎn)常量定義
#define uchar unsigned char
#define T_RESPONSE 0xee //*5.0毫秒*/
#define MAX_BLOCK_SIZF 36 /*數(shù)據(jù)塊最大長度*/
#define ERR_TIME_OUT 0x81 /*超時*/
#define ERR_NO_MODE_BIT 0x82*/未收到最后字節(jié)*/
#define ERR_CHECKSUM 0x83 /*校驗(yàn)和錯*/
#define ACK 0x00
#define RET 0xaa
#define NAK 0xff
//初始化串口
void InitSerialPort()
{
SCON = 0xd0; //設(shè)置串口為方式3(9bit)
TMOD &=0x0f;
TMOD I=0x20; //設(shè)置定時器1為方式2
TR1 =1; //定時器1使能
TH1 = 0xfd; //設(shè)定波行率:9600 NRZ
PCON &=0x7f; //Set SMOD=0
RI=0;
TI=0;
}

    (2)字節(jié)的傳送
這里需要注意的是:發(fā)送數(shù)據(jù)時要根據(jù)需要設(shè)置方式位,而接收數(shù)據(jù)時要返回方式位的值,以判斷是否收完所有數(shù)據(jù)。
// 傳送字節(jié)
void TransmitByte(uchar byte,bit mode)
//形參:byte——準(zhǔn)備發(fā)送的字節(jié)
// mode——預(yù)備要設(shè)置的方式位
{
TB8=mode; //設(shè)置方式位
SBUF = byte; //發(fā)送字節(jié)
While(!TI); //等待發(fā)送完畢
TI=0;
}
//接收字節(jié)
#pragma disable
uchar ReceiveByte(uchar *byte,uchar *bMode)
//形參:*byte——返回接收到的字節(jié)值
// *bMode——返回接收到的字節(jié)的方式位
//返回值:0—超時,1—成功接收
{
TMOD &=0xf0;
TMOD |=0x01; //設(shè)置定時器0為方式1(16位)
TH0=T_RESPONSE;
TL0=0x00; //設(shè)置超時門限
TF0=0;
TR0=1; //定時器0使能
While (!RI && !TF0)
; //等待接收字節(jié)直至超時
TF0=0;
if(RI){ //已接收字節(jié)
RI=0;
*byte=SBUF; //返回字節(jié)值
*bMode=RB8; //返回方式位
return 1;
}else{ //超時
RI=0;
return 0;
}
}
(3)數(shù)據(jù)塊的傳送
這部分與下面的會話部分放在一個函數(shù)體內(nèi)實(shí)現(xiàn)。
(4)會話

   這是MDB會話控制的核心部分。根據(jù)需要傳送數(shù)據(jù)包,計算校驗(yàn)字節(jié),控制方式位,在時序允許的響應(yīng)時間內(nèi)接愛外設(shè)返回的數(shù)據(jù),做出ACK或NAK等反應(yīng)。并且按照MDB/ICP標(biāo)準(zhǔn)中堆薦的方式處理異常情況,當(dāng)接受數(shù)據(jù)超時或校驗(yàn)和錯時,重復(fù)發(fā)送命令多次,以增強(qiáng)容錯性能。將接收到的數(shù)據(jù)返回給調(diào)用乾,并返回結(jié)果碼。源程序如下:
//與外設(shè)會話,在調(diào)用之前確認(rèn)譯碼器選通MDB總線
uchar Session(uchar add,uchar dat[],uchar count)
//形參:add——VMC發(fā)送的地址指令字節(jié)
// dat[]——VMC發(fā)送的數(shù)據(jù)塊
// count——數(shù)據(jù)塊的大小
//返回值:0——外設(shè)應(yīng)答ACK
//非0且小于0x80——外設(shè)應(yīng)答的數(shù)據(jù)塊的大小
//大于等于0x80——會話中出錯
//外設(shè)應(yīng)答的數(shù)據(jù)塊存放在全局?jǐn)?shù)組uchar recBuff[]
{
uchar data check,i,j,err;
uchar data mode;
for(j=0;j<5;j++){ //最多重復(fù)發(fā)送命令5次
check=0;
err=0;
TransmitByte(add,1); //發(fā)送地址字節(jié)
Check +=add; //計算CHK
For(i=0;i<count,i++){ //發(fā)送數(shù)據(jù)字節(jié)
TransmitByte(dat[i],0);
check +=dat[i];
}
TransmitByte(check,0); //發(fā)送CHK
for (i=0,check=0,mode=0;
!mode && i<MAX_BLOCK_SIZE && !err;
i++)
{//反復(fù)接收字節(jié)直到方式位為1或出錯
//接收到的數(shù)據(jù)存在全局?jǐn)?shù)組recBuff[]里
if(!ReceiveByte(recBuff+i,&mode))
//超時。外設(shè)可用超時表示NAK
err=i?ERR_TIME_OUT:NAK;
else if (i= =0 && recBuff[i]= =NAK && mode)
//收到NAK
err = NAK;
else if (!mode)
//方式位為0表示還有數(shù)據(jù)
check +=recBuff[i];
} //for i
if(!err){ //未發(fā)生錯誤
if (!mode){
//收完36個字節(jié)還未結(jié)束
TransmitByte(NAK,0);
err=ERR_NO_MODE_BIT;
}else if (i>1) {
//收到數(shù)據(jù)塊
if(check !=recBuff[i-1]){ //校驗(yàn)和錯
TransmitByte(NAK,0);
err=ERR_CHECKSUM;
} else{
//一切正常,發(fā)送ACK后跳出循環(huán)
TransmitByte(ACK,0);
break;
}
} else
//收到外設(shè)傳來的ACK
break;
}//if(!err)
Wait(T_RESPONSE); //防止與外設(shè)數(shù)據(jù)沖突
}//for j
//返回接收到的數(shù)據(jù)塊大小或出錯代碼
return err?err:(i-1);
}
本文使用DS5002FP實(shí)現(xiàn)了對MDB總線的控制與訪問。通過將MDB/ICP協(xié)議進(jìn)行分解,很好地實(shí)現(xiàn)了總線驅(qū)動。實(shí)踐證明該驅(qū)動程序穩(wěn)定、可靠,大大降低了上層界面開發(fā)的難度,提高了系統(tǒng)的可維護(hù)性,節(jié)約了成本

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會、上海市發(fā)展和改革委員會、上海市商務(wù)委員會、上海市教育委員會、上海市科學(xué)技術(shù)委員會指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動駕駛

推進(jìn)卓越制造,擴(kuò)大產(chǎn)能并優(yōu)化布局 蘇州2025年9月5日 /美通社/ --?耐世特汽車系統(tǒng)與蘇州工業(yè)園區(qū)管委會正式簽署備忘錄,以設(shè)立耐世特亞太總部蘇州智能制造項(xiàng)目。...

關(guān)鍵字: 智能制造 BSP 汽車系統(tǒng) 線控

慕尼黑和北京2025年9月4日 /美通社/ -- 寶馬集團(tuán)宣布,新世代首款量產(chǎn)車型BMW iX3將于9月5日全球首發(fā),9月8日震撼亮相慕尼黑車展。中國專屬版車型也將在年內(nèi)與大家見面,2026年在國內(nèi)投產(chǎn)。 寶馬集團(tuán)董事...

關(guān)鍵字: 寶馬 慕尼黑 BSP 數(shù)字化

北京2025年9月4日 /美通社/ --?在全球新一輪科技革命與產(chǎn)業(yè)變革的澎湃浪潮中,人工智能作為引領(lǐng)創(chuàng)新的核心驅(qū)動力,正以前所未有的深度與廣度重塑各行業(yè)發(fā)展格局。體育領(lǐng)域深度融入科技變革浪潮,駛?cè)霐?shù)字化、智能化轉(zhuǎn)型快車...

關(guān)鍵字: 人工智能 智能體 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企業(yè)在上海聯(lián)合發(fā)起并成功舉辦"2025 Ethernet-APL 技術(shù)應(yīng)用發(fā)展大會"。會議以"破界?融合...

關(guān)鍵字: ETHERNET 智能未來 BSP 工業(yè)通信

11萬+人次!5000+海外買家! 展會落幕,感恩同行!明年8月深圳再見! 深圳2025年9月1日 /美通社/ -- 據(jù)物聯(lián)網(wǎng)世界報道。 在AIoT(人工智能+物聯(lián)網(wǎng))技術(shù)加速滲透、全球數(shù)字化轉(zhuǎn)型深化,以...

關(guān)鍵字: IoT 物聯(lián)網(wǎng) TE IC

傳感器模塊能實(shí)現(xiàn)便捷無接觸的后備箱或側(cè)滑門開啟,適配各種車輛架構(gòu) 該24 GHz雷達(dá)傳感器可集成于保險杠或底盤上,并通過特定的手勢或腳部動作觸發(fā)響應(yīng) 已為多家歐洲主流車企啟動量產(chǎn)交付 德國布爾2025...

關(guān)鍵字: 傳感器 BSP 觸發(fā) 保險杠

以高效節(jié)能方案繪制AI算力綠色未來 上海2025年8月29日 /美通社/ -- 8月28日,臺達(dá)受邀出席"2025中國智算產(chǎn)業(yè)綠色科技大會",全方位分享臺達(dá)在智算領(lǐng)域的前沿洞見與綠色解決方...

關(guān)鍵字: AI 可持續(xù)發(fā)展 數(shù)據(jù)中心 BSP

淄博2025年8月29日 /美通社/ -- 8月26日至27日,TÜV南德意志集團(tuán)(以下簡稱"TÜV南德")受邀參加由淄博市...

關(guān)鍵字: BSP 人工智能 信息安全 新加坡

北京2025年8月28日 /美通社/ -- 近日,北京亦莊創(chuàng)新發(fā)布消息,北京經(jīng)濟(jì)技術(shù)開發(fā)區(qū)(簡稱北京經(jīng)開區(qū),又稱北京亦莊)以"高效辦成一件事"為抓手,圍繞企業(yè)信用修復(fù)的全流程全環(huán)節(jié),打造經(jīng)開區(qū)特色的&...

關(guān)鍵字: 數(shù)字化 集成 BSP 數(shù)據(jù)共享
關(guān)閉