自动售货机中MDBICP协议通讯的实现

巡线机器人Science &Technology Vision
科技视界0引言
自动售货机被称为“永不下班的超级营业员”。是20世纪70年代在日本和欧美发展起来的高新技术产品,这种零售方式已经在世界65个国家和地区出现。自动售货机在日本被亲切地称为“微型小店”。“微型小店”出售的商品,从咖啡、香烟、各种酒类已经发展到部分日常生活用品,就连报纸、大米、邮票、明信片、电池、录像带等也可以自动出售。在自动售货机的使用过程中,VMC (Vending Machine Controller)与外设(读卡器、硬币器、纸币器等)的通讯是很重要的,因此,采用一种可靠的内部通讯总线协议非常必要。MDB/ICP 协议是由国家自动机械销售协会(NAMA)和欧洲售货机协会(EVA)的有关成员制订,用于协调自动售卖机的主控制器(VMC)与多个外设之间通信的协议。
1MDB/ICP 协议
中国拟在建项目网1.1简介
MDB 为一个主从结构的串行总线接口标准,采用9600bps 的波特率通信。主从操作模式,MDB 规定总线有唯一1个主机和最多32个外设。每个外设有唯一的地址和命令。所有通信的外设都是主机完成初始化的。1.2通信格式
a.字节格式
一个字节被定义为11位的格式,1个起始位+8个数据位+1个模式位+1位停止位;其中,模式位根据传递方式的不同分别置0或置1:当控制器VMC 发送数据到外设时,模式位置1表示为地址字节,置0表示数据字节;当外设发送数据到控制器VMC 时,模式位置1表示所有字节发送完毕。
b.块格式主到从:
控制器VMC 传送给外设的数据由1个地址字节、若干数据字节和1个校验字节组成,总数不超过36个字节。
地址字节包含两部分命令,高5位是外设的地址,低3位是外设的命令。
主控器响应外设时发送应答(ACK)、非应答(NAK)、重发(RET)。5ms 超时(无响应)等价于非应答。
如果从机地址在5mS 内无响应,主控器重发相同的命令或不同的命令,直到收到从机的响应或达到最大无响应时间(硬币器为2S、纸币器为5S)。在这期间,主控器同时应该访问其他外设。
主控器可以通过拉低发送线(至少100mS)对总线进行复位。从到主:
一帧数据包含一个数据块、1字节校验和、1字节应答或非应答。校验和字节包含在最大数据块(36字节)之内。
外设响应主控器时,主控器必须响应一个应答,非应答或重发。外设在相应ACK 或NAK 时无需校验和。
当外设发送一个数据块之后,主控器在5ms 无响应时间之内必须响应一个ACK、NAK 或RET。
c.校验和
校验和字节在每个数据块的最后发送。校验和字节是地址字节和所有数据字节的累加,校验和字节并不包含在总和中。1.3MDB/ICP 通讯模式
每次通讯过程都由VMC 发起,外设响应,这种方式可以避免总线冲突,同时利用校验和(CHK)和重发机制实现错误检查和更正,提高了内部通讯的可靠性。
几种典型的通讯过程下图(图1)所示。其中:ADD 表示地址字节,DAT 表示数据字节,CHK 表示校验和(计算ADD 和所有DAT 之和的字节),“*”表示模式位置1。
图1MDB/ICP 典型通讯模式
2硬件结构
在MDB 总线协议基础上,采用51系列单片机通过MDB 总线与投币机、读钞机和读卡器交互,控制外设的运转,并从外设获得用户的支付情况。同时也负责处理与用户之间的交互,驱动液晶显示,处理键盘输入,控制电机运转出货。系统结构图(图2)如下:
图2系统结构图
3软件构架
自动售货机中MDB/ICP 协议通讯的实现
赵政
(苏州大学,江苏苏州215101)
【摘要】MDB 协议又名ICP 协议是由国家自动机械销售协会(NAMA )和欧洲售货机协会(EVA )的有关成员制订,是一套用于协调自动售卖机的主控制器(VMC )与多个外设之间通信的协议。本文提出以STC 单片机为例,实现VMC 与外设的MDB/ICP 协议通讯。
【关键词】自动售货机;单片机;MDB/ICP 协议
The Realization of MDB/ICP Protocol Communication in Vending Machine
ZHAO Zheng
(Soochow University,Suzhou Jiangsu 215101,China)
【Abstract 】MDB protocol,also known as the ICP protocol is formulated by the concerned members of the National Automated Machinery Sales Association (NAMA)and European vending machine Association (EVA),it is set for the communication between vending machine main controller (VMC)and multiple peripherals.This paper introduces and presents the MDB/ICP protocol communication between VMC and peripheral using STC Single chip microcomputer.
【Key words 】Vending machine;Single chip microcomputer;MDB/ICP
protocol
158. All Rights Reserved.
3.1程序流程图(图3)
图3
3.2软件代码
a.串口初始化
初始化串口时,主要工作是设置波特率为9600和传输方式为11位传输。为顺利获得9600波特率,本项目单片机采用11.0592Mhz晶振为。源代码如下(采用C语言编写,Keil编译):
#define RELOAD(BaudRate)(256-(FOSC*10/BaudRate/32+5)/10) void InitUart2()
{
IE2&=0xfe;//禁止串口2中断
S2CON=0x0d0;//串口二使用模式三,波特率可变,9位无奇偶校验
AUXR1|=0x10;//将串口二从P1切换到P4
AUXR|=0x04;//使用独立波特率发生器
BRT=RELOAD(9600);//设置波特率为9600
AUXR|=0x10;//启动独立波特率发生器BRT 计数
IE2|=0x01;//启动串口二中断
}
b.MDB协议通讯
这是通讯的核心部分。根据需要传送数据包,计算校验字节,控制方式位,在时序允许的响应时间内接受外设返回的数据,做出NAK或ACK等反应。并且按照MDB/ICP标准中推荐的方式处理异常情况,当接受数据超时或校验和错时,重复发送命令多次,以增强容错性能。将接收到的数据返回给调用者,并返回结果码。源代码如下(采用C 语言编写,Keil编译):
void UART2Com(void)interrupt8using3
{
IE2&=0xfe;//禁止串口2中断
if((S2CON&S2RI)==S2RI)
{
S2CON&=~S2RI;
if(bIsMDB)
{
chUart3RecData[chUart3RecNum]=S2BUF;
chUart3RecNum++;
if((S2CON&S2RB8)==S2RB8)
{
bRecStop=1;
}
}
else
{
大连理工大学bbsif((S2CON&S2TB8)==S2TB8)//
{
chUart2RecData[0]=S2BUF;
bRecAddrOK=1;
}
else
{
底部剪力法chUart2RecData[chU2RecNum]=S2BUF;
if(chU2RecNum==0)
{
if(chUart2RecData[chU2RecNum]==0x0fe)
{
chU2RecNum++;
}
}
else if(chU2RecNum<3)
{
chU2RecNum++;
}
else
{
if(chU2RecNum==(chUart2RecData[2]+3)) //len=rec[2]
{
chU2RecNum=0;
bU2RecOK=1;//
}
else
chU2RecNum++;
if(chU2RecNum>8)
{
chU2RecNum=0;
}
}
}
}
}
if(S2CON&S2TI)
{
S2CON&=~S2TI;//
busyu2=0;//
}
IE2|=0x01;//开启串口2中断}
[1]徐爱钧,彭秀华.Keil C51单片机高级语言应用编程与实践[M].电子工业出版社,2013.
[2]Stephen Prata.C Primer Plus[M]Addison-Wesley Educational Publishers Inc. 2004.
免疫组化评分
[3]NAMA.Multi-Drop Bus/Internal Communication Protocol MDB/ICP[EB/OL]. [2003].
[4]洪强宁,齐国生,叶丹.基于MDB/ICP协议的自动售卖系统的主控制器实现[J].电子技术应用,2002(9):28-30.
[5]陈安宝.基于MDB/ICP协议的纸币识别器与自动售货机通讯的研究[J].机械管理开发,2004(4):77-78.
[责任编辑:杨玉洁]
159
受话器. All Rights Reserved.
Science&Technology Vision科技视界

本文发布于:2024-09-22 03:58:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/24833.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字节   外设   数据   校验
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议