English | 中 文 | | Deutsche | français | Español | italiano | Arbic | русский

MDB接口及协议基础知识问答:

MDB协议又名ICP协议是2003年3月26日发布的版本3。是由国家自动机械销售协会(NAMA)和欧洲售货机协会(EVA)的有关成员制订,是一套用于协调自动售卖机的主控制器(VMC)与多个外设之间通信的协议。

1、设计自动售货机系统为什么会需要用到 MDB-RS232 协议适配器?

在您需要设计一个售货机,首先需要选择适合您机器的主板,比如安卓主板、树莓派、工控机或者PLC等,这些主板都是没有MDB接口的,而支付设备,比如你选择的纸币器,硬币器,都是国际售货机行业通用的MDB接口。那您就需要这个MDB接口协议转串口协议的适配器,来把MDB接口的支付设备连接到这些串口的主板上,进行通信和控制。

MDB 是由 NAMA 成员开发的协议。“Multi-Drop Bus” (MDB) 协议与标准 PC的RS232 协议不兼容,因此需要硬件和软件转换器。 MDB-RS232旨在将MDB 协议转换为 RS232 协议,并执行必要的电压转换以及数据路由工作。

MDB-RS232 还承担了时序要求极强的轮询工作,经过多年的运行和测试,兼容了市面上所有的MDB支付设备,能够让主板轻松执行其他任务,不需要考虑协议的具体软硬件的兼容和稳定性问题。

MDB-RS232 是将自动售货机的标准 MDB 协议连接到标准 PC 所必需的,因为:

  • MDB使用 11 位和九 (9) 位字节。
  • 各种MDB设备的轮询要求过大(20-200ms),但普通PC无法满足轮询要求。
  • MDB-RS232 负责轮询支付设备,获得有效数据后在 PC 的串行端口上生成中断。
  • PC执行正常操作并响应由 UART 缓冲区中的中断驱动的通信事件即可。
  • 来自MDB支付设备的所有数据都会被及时转发给PC。
  • 此外,所有MDB控制指令,查询指令都可以通过MDB-RS232从PC发送到 MDB设备。
  • MDB-RS232通过串口(DB9)将MDB支付设备连接到 PC,实现售货机的设计。

2、为什么设计售货机的时候最好选用MDB接口的支付设备,比如硬币器,纸币器,刷卡器?

我们已经看到太多的自动售货机制造商或支付设备公司倒闭了。由于支付系统不是通用的,因此将来无法升级他们的机器。带有串口或其他接口的支付设备只能限于您选择的品牌,不能直接更换为其他品牌的支付设备。因此,我们建议所有客户选择MDB支付接口,这可能会增加20USD或30USD的成本,但由于设备的通用性,支付设备的选择将大大增加,这将节省大量的管理成本。例如,如果我们选择一个品牌的串行无现金支付设备,即使后期管理成本越来越高,我们也无法用另一个品牌的设备替换它。纸币接收器和硬币器也是如此,如果不是MDB通用接口,我们以后将无法选择更好的支付设备。

3、自动售货机MDB协议V4.3比之前V4.2版本的新增加和特点

MDB协议4.3 版是国际多点总线/内部通信协议 (MDB/ICP) 的第七版。该规范是各自动售货机协会组织包括NAMA和EVA技术成员不断努力提出的。该规范是在2011年2月发布的4.2版国际多点总线/内部通信协议 (MDB/ICP) 基础上进行修订。如下所述,非现金设备部分有八项变化 。

  • 1. 允许向非现金设备报告出货的货品编号。
  • 2. 新的"Remote Vend"功能提供了一种允许MDB无现金设备直接上传指令让VMC出货的协议。例如,手机应用程序就可以在手机屏幕上选择产品让售货机直接出货,而无需触摸自动售货机屏幕上的选货按钮。
  • 3. 新的“购物篮/部分退款”功能允许在 MDB 无现金交易中在单次交易中进行多次选货出货(即单次刷卡)。它通知非现金设备每个出货的产品(提供每个产品的项目编号)。
  • 4. 新的“购物篮/部分退款”功能还允许在部分产品未出货的情况下进行部分退款(即:多次出货,但是产品未出货、带停止按钮的液体比如饮料销售机等)。
  • 5、新增“优惠券”功能,提供MDB非现金协议中的优惠券的接收。例如,可以扫描预付优惠券以允许无现金设备除使用标准的付费卡,还可以使用其它预付费金额。另外也可以是用于免费销售指定产品的二维码。
  • 6. 允许 VMC 在选货时候读取更多的付费卡信息(可用资金、支付卡ID、支付类型)。
  • 7.增加了更多的货号信息。在 7.4.7 Vend Success 和 7.4.10 Cash Sale 命令中添加 Item Number Dispensed 和 item Selected and Dispensed 的 EVA-DTS PA101 字段。
  • 8. 向 CASH SALE(现金销售信息) 命令添加一个新的“Mixed Vend Flags”字节。

4、MDB总线可以支持的周边设备由哪些?

MDB协议制定的地址是由一个地址字节的高五位进行分配 :(必须严格遵守)

  • 地址定义如下
    00000xxxB (00H)         VMC保留
    00001xxxB (08H)         硬币器
    00010xxxB (10H)         非现金设备#1
    00011xxxB (18H)         通信网关地址
    00100xxxB (20H)         显示地址
    00101xxxB (28H)         电能管理系统
    00110xxxB (30H)         纸币器
    00111xxxB (38H)         保留为以后的标准周边设备用
    01000xxxB (40H)         USD设备(通用从机设备)#1
    01001xxxB (48H)         USD设备(通用从机设备)#2
    01010xxxB (50H)         USD设备(通用从机设备)#3
    01011xxxB (58H)         硬币找零退币器或者硬币管1
    01100xxxB (60H)         非现金设备#2
    01101xxxB (68H)         年龄验证设备
    01101xxxB (70H)         硬币找零退币器或者硬币管1
    01111xxxB (78H)         保留为以后的标准周边设备用
    . . .
    . . .
    . . .
    11011xxxB (D8H)        保留为以后的标准周边设备用
    11100xxxB (E0H)        实验性设备#1
    11101xxxB (E8H)        实验性设备#2
    11110xxxB (F0H)         售货机专用外围设备#1
  • 11111xxxB (F8H)         售货机专用外围设备#2

5. MDB always idle 协议简解

Always Idle 和 Authorization First

Always Idle AuthorizationMDB非现金支付设备的两种工作模式
这些是指无现金支付设备在选货和刷卡时间方面的工作流程。请在下表中找到不同的流程差异。


Always Idle

Auth First

1-用户在自动售货机上选择商品
2-无现金支付终端要求产品价格
3-用户刷卡即可付款。
4-机器分配产品并向终端确认交易
而无需用户进行任何必要的操作。

1–无现金支付终端正在请求预定义的授权金额。
2-用户刷卡预授权(预留)授权金额。
3-用户在自动售货机上选择产品。
4-自动售货机将商品价格发送到终端。
5-终端调整价值以向客户收费,并向自动售货机确认,而无需用户采取任何必要行动。**
6-自动售货机在用户无需采取任何必要行动的情况下配送产品并确认交易**。

6. 威佛MDB-RS232于RS232-MDB通信适配器,两种转换器的区别

MDB-RS232是客户在开发自动售货机,需要把MDB纸币器,硬币器,刷卡器等支付设备连接到主板的串口时候用到
RS232-MDB是客户在开发非现金设备的时候用到。能够把用户的串口设备连接到自动售货机的MDB接口上,作为非现金支付设备。
也就是说MDB-RS232是作为主设备(Master)去连接从设备(Slave)使用,而RS232-MDB是作为从设备使用。


MDB-RS232

RS232-MDB

7、MDB外围设备的级别和选项(Levels and Options)

下表简要介绍了当前建立的每个各种MDB外围设备的级别和选项。具体请参考MDB协议中每个设备的部分,以获取更多详细信息

硬币器: Level1没有发布过
目前存在Level2和Level3
纸币器: Level1支持标准指令和不带可选项的扩展指令
Level2支持带可选项的扩展指令
非现金设备: Level1支持标准指令和扩展ID指令,不支持Revaluation
Level2支持Revalue
Level3支持带可选项的扩展指令以及更多特点

8、MDB通信数据格式 (Data Byte Format)

Baud Rate: 9600 NRZ
Serial Bit Format: 1 Start Bit
8 Data Bits
1 Mode Bit
1 Stop Bit
11 Bits Total
LSB MSB
Start 0 1 2 3 4 5 6 7 Mode Stop

9、MDB设备电源供电要求

9.1 总线电源定义
以下信息定义了最小VMC电压输出。实际每个外设的电流额定值将在其各自的部分中定义。
电源滤波是可选的,因此,如果外设需要更大功率,或者在更严格的电源供电,他们可能会选择自行供电,或者机器中的其它供电接口中取电。
VMC电压输出:
最小值 = 20 VDC rms.(整流和可选过滤)
标称值 = 34 VDC (经过整流和过滤)
24 VDC rms.(仅整流)
最大值 = 42.5* VDC(纹波电压上限)
* 高压线路输入可能允许 45 VDC峰值(最大值)。

9.2 总线数据发送/接收规格
以下部分介绍主机和从机之间的 5V光隔离电流环路系统
VMC主机:
发送信号:
最小源电流(驱动): 100 mA @ 4V
最大漏电流(未驱动):100 uA
注意: 1) 传输线必须能够承受短时间在活动模式下。
2) 每个外设应增加 15 mA 超过 6 个。
接收信号:
最小输入电流(有源):15 mA @ 1V
最大输入电流(非活动):1 mA
周边外设从机:
接收信号:
最大输入电流(有源):15 mA @ 4V
最大输入电流(非活动):100 uA
发送信号:
最小灌电流(有源):15 mA @ 1V
最大漏电流(非活动):30 uA

总结:设计售货机系统的电源部分,如果支付设备只有硬币器,或者纸币器,或者刷卡器,一般采用DC24V/2A 就可以了。如果三个或者多个支付设备同时连接的情况下,建议采用DC24V/4A的电源模块。

10、自动售货机行业的MDB协议和工控机领域的MODBUS协议

MDB协议又名ICP协议是2003年3月26日发布的版本3。是由国家自动机械销售协会(NAMA)和欧洲售货机协会(EVA)的有关成员制订,是一套用于协调自动售卖机的主控制器(VMC)与多个外设之间通信的协议。MDB接口实际上是工作于9600波特率的主从型串行总线接口,所外围设备(例如硬币机、读钞机、读卡器等)均为主控制器(传统上称售货机控制器——VMC)的从机。所有外围设备与VMC之间的通信方式都一致。

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。Modbus允许多个 (大约240个) 设备连接在同一个网络上进行通信,举个例子,一个测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)。

因此MDB和MODBUS在应用上是完全不一样的协议。MDB协议是自动售货机的专用协议。MODBUS是一个工业通信协议。他们也有共同的特征就是一个总线上可以搭载多个从设备。也都是一个master/slave架构的协议。有一个节点是master节点,其他使用协议参与通信的节点是slave节点。每一个slave设备都有一个唯一的地址。

 

同时专业的技术工作程可以提供非常专业的设计指导和协助协议分析,丰富的开发文档。

如果购买了MDB-RS232适配器,可以在我们网站上获得丰富的资料和技术支持。

 

 

MDB各种资料下载:

MDB always idle 协议简解

威佛售货机MDB转换器的发展历史

自动售货机MDB协议V4.3比之前V4.2版本的新增加和特点

自动售货机MDB协议中文解析(一)MDB总线周边设备地址

自动售货机MDB协议中文解析(二)MDB设备的级别和选项

自动售货机MDB协议中文解析(四)通信格式

自动售货机MDB协议中文解析(五)MDB电源供电系统要求

自动售货机MDB协议中文解析(六)MDB-RS232控制硬币器详解

自动售货机MDB协议中文解析(七)MDB-RS232控制纸币器及找零器详解

自动售货机MDB协议中文解析(八)mdb-rs232控制MDB年龄验证设备

自动售货机MDB协议中文解析(九)mdb-rs232控制NAYAX的MDB协议的VPOS刷卡器