欢迎来到天天文库
浏览记录
ID:46010611
大小:70.50 KB
页数:6页
时间:2019-11-20
《自动售货机中MDBICP协议通讯的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、自动售货机中MDBICP协议通讯的实现【摘要】MDB协议又名ICP协议是由国家自动机械销售协会(NAMA)和欧洲售货机协会(EVA)的有关成员制订,是一套用于协调自动售卖机的主控制器(VMC)与多个外设之间通信的协议。本文提出以STC单片机为例,实现VMC与外设的MDB/ICP协议通讯。【关键词】自动售货机;单片机;MDB/ICP协议【Abstract】MDBprotocol,alsoknownastheICPprotocolisformulatedbytheconcernedmembersoftheNationalAutomatedMachinerySales
2、Association(NAMA)andEuropeanvendingmachineAssociation(EVA),itissetforthecommunicationbetweenvendingmachinemaincontroller(VMC)andmultipleperipherals.ThispaperintroducesandpresentstheMDB/ICPprotocolcommunicationbetweenVMCandperipheralusingSTCSinglechipmicrocomputer.[Keywords】Vendingmac
3、hine;Singlechipmicrocomputer;MDB/ICPprotocol0引言自动售货机被称为“永不下班的超级营业员”。是20世纪70年代在日本和欧美发展起来的高新技术产品,这种零售方式已经在世界65个国家和地区出现。自动售货机在日本被亲切地称为“微型小店”。“微型小店”出售的商品,从咖啡、香烟、各种酒类已经发展到部分日常生活用品,就连报纸、大米、邮票、明信片、电池、录像带等也可以自动出售。在自动售货机的使用过程中,VMC(VendingMachineController)与外设(读卡器、硬币器、纸币器等)的通讯是很重要的,因此,采用一种可靠的内
4、部通讯总线协议非常必要。MDB/ICP协议是由国家自动机械销售协会(NAMA)和欧洲售货机协会(EVA)的有关成员制订,用于协调自动售卖机的主控制器(VMC)与多个外设之间通信的协议。1MDB/ICP协议1.1简介MDB为一个主从结构的串行总线接口标准,采用9600bps的波特率通信。主从操作模式,MDB规定总线有唯一1个主机和最多32个外设。每个外设有唯一的地址和命令。所有通信的外设都是主机完成初始化的。1.2通信格式a.字节格式一个字节被定义为11位的格式,1个起始位+8个数据位+1个模式位+1位停止位;其中,模式位根据传递方式的不同分别置0或置1:当控制器
5、VMC发送数据到外设时,模式位置1表示为地址字节,置0表示数据字节;当外设发送数据到控制器VMC时,模式位置1表示所有字节发送完毕。b.块格式主到从:控制器VMC传送给外设的数据由1个地址字节、若干数据字节和1个校验字节组成,总数不超过36个字节。地址字节包含两部分命令,高5位是外设的地址,低3位是外设的命令。主控器响应外设时发送应答(ACK)、非应答(NAK)、重发(RET)。5ms超时(无响应)等价于非应答。如果从机地址在5mS内无响应,主控器重发相同的命令或不同的命令,直到收到从机的响应或达到最大无响应时间(硬币器为2S、纸币器为5S)。在这期间,主控器同
6、时应该访问其他外设。主控器可以通过拉低发送线(至少lOOmS)对总线进行复位。从到主:一帧数据包含一个数据块、1字节校验和、1字节应答或非应答。校验和字节包含在最大数据块(36字节)之内。外设响应主控器时,主控器必须响应一个应答,非应答或重发。外设在相应ACK或NAK时无需校验和。当外设发送一个数据块之后,主控器在5ms无响应时间之内必须响应一个ACK、NAK或RET。a.校验和校验和字节在每个数据块的最后发送。校验和字节是地址字节和所有数据字节的累加,校验和字节并不包含在总和中。1.3MDB/ICP通讯模式每次通讯过程都由VMC发起,外设响应,这种方式可以避免
7、总线冲突,同时利用校验和(CHK)和重发机制实现错误检查和更正,提高了内部通讯的可靠性。几种典型的通讯过程下图(图1)所示。其中:ADD表示地址字节,DAT表示数据字节,CHK表示校验和(计算ADD和所有DAT之和的字节),“*”表示模式位置lo2硬件结构在MDB总线协议基础上,采用51系列单片机通过MDB总线与投币机、读钞机和读卡器交互,控制外设的运转,并从外设获得用户的支付情况。同时也负责处理与用户之间的交互,驱动液晶显示,处理键盘输入,控制电机运转出货。系统结构图(图2)如下:3软件构架3.1程序流程图(图3)3.2软件代码a.串口初始化初始化串口时,主要
8、工作是设置波特率为960
此文档下载收益归作者所有