CN117891772A - 嵌入式单片机实现mdb总线协议的方法和mdb设备 - Google Patents

嵌入式单片机实现mdb总线协议的方法和mdb设备 Download PDF

Info

Publication number
CN117891772A
CN117891772A CN202311778952.1A CN202311778952A CN117891772A CN 117891772 A CN117891772 A CN 117891772A CN 202311778952 A CN202311778952 A CN 202311778952A CN 117891772 A CN117891772 A CN 117891772A
Authority
CN
China
Prior art keywords
mdb
chip microcomputer
embedded single
mode
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311778952.1A
Other languages
English (en)
Inventor
韦献康
林喆
张道松
王飞翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sunmi Technology Group Co Ltd
Shenzhen Michelangelo Technology Co Ltd
Original Assignee
Shanghai Sunmi Technology Group Co Ltd
Shenzhen Michelangelo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Sunmi Technology Group Co Ltd, Shenzhen Michelangelo Technology Co Ltd filed Critical Shanghai Sunmi Technology Group Co Ltd
Priority to CN202311778952.1A priority Critical patent/CN117891772A/zh
Publication of CN117891772A publication Critical patent/CN117891772A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Communication Control (AREA)

Abstract

本申请提供了一种嵌入式单片机实现MDB总线协议的方法和MDB设备。该方法包括:应用平台向所述嵌入式单片机发送指令,所述指令包括模式指令,所述模式指令用于设置所述嵌入式单片机的工作模式,所述工作模式包括主模式和从模式;响应于所述指令,所述嵌入式单片机按照所述工作模式工作,其中,当所述工作模式为主模式时,所述嵌入式单片机主动管理MDB总线,并用轮询方式分配总线使用;当所述工作模式为从模式时,所述应用平台通过所述嵌入式单片机与其他MDB设备通讯。本申请使嵌入式单片机自身实现MDB总线协议,提高了设备性能和竞争力。

Description

嵌入式单片机实现MDB总线协议的方法和MDB设备
技术领域
本申请主要涉及嵌入式单片机领域和自动售货领域,尤其涉及一种嵌入式单片机实现MDB总线协议的方法和MDB设备。
背景技术
MDB(Multi-Drop Bus)协议又名ICP协议,是由国家自动机械销售协会(NAMA)和欧洲售货机协会(EVA)的有关成员制订,是一套用于自动售卖机的主控制器(VendingMachine Controller,VMC)与多个从设备外设之间的通信协议规范。MDB协议规定了设备之间的物理连接和通信协议细节。MDB协议应用于各种自动售货设备间的通讯,支持多设备的连接和通信。这些从设备包括自动售货机、货币接收器、找零器、纸币器、硬币器等。
MDB接口为工作于9600波特率的主从型串行总线接口,是一种硬件接口,用于连接上述主控制器VMC的从设备等。MDB协议使用串行通信,通常使用RS-232或MDB-232标准的物理接口。主设备可以通过MDB接口向从设备发送指令,与从设备之间进行通信。例如,主设备通过发送预定义的命令和数据来控制与从设备通信,从设备则通过回应命令和发送数据来与主设备进行交互。MDB协议具有严格的时钟要求,例如:1毫秒的字符间隔时间、5毫秒的有效响应时间以及超过100毫秒的总线复位时间。MDB协议还具有模式位控制要求,例如:传输的第九位为模式控制位,主设备用以表示设备地址,从设备用来表示最后一个数据。
通常为满足时钟和模式位控制,主设备在硬件上使用串口模块、定时器和GPIO一起实现以下功能:
(1)发送数据状态下,选择8位数据,奇偶校验方式。至于是奇校验还是偶校验要根据发送的每一个字节来精确控制,包括:先计算字节的高电平个数,如果是奇数,则选择奇校验;如果是偶数,则选择偶校验,这样才能保证模式控制位(奇偶校验位)为0;
(2)接收数据时,同样每个字节接收都需要对高电平计数,以判断模式位是否正确;
(3)GPIO的目的是要实现一个总线复位时序(发送脚低电平超过100ms),其中,为了控制时序,定时器是每个通讯协议的必要配置。
基于上述要求,支持MDB协议的设备必须要要使用串口模块。然而,一些设备在使用的安全芯片上没有多余串口来使用。为了支持MDB协议,设备上通常需要配置MDB模块,例如购买现成的MDB模块,对设备造成了一定的限制,并且提高了设备成本。如果设备自身能够直接支持MDB协议,将大大提升产品竞争力。
发明内容
本申请要解决的技术问题如何提供一种设备自身能够直接支持MDB协议的方案。
为解决上述技术问题,本申请提供了一种嵌入式单片机实现MDB总线协议的方法,所述嵌入式单片机包括至少2个GPIO接口和一个硬件定时器,所述嵌入式单片机通过所述至少2个GPIO接口与MDB接口相连接,包括:应用平台向所述嵌入式单片机发送指令,所述指令包括模式指令,所述模式指令用于设置所述嵌入式单片机的工作模式,所述工作模式包括主模式和从模式;响应于所述指令,所述嵌入式单片机按照所述工作模式工作,其中,当所述工作模式为主模式时,所述嵌入式单片机主动管理MDB总线,并用轮询方式分配总线使用;当所述工作模式为从模式时,所述应用平台通过所述嵌入式单片机与其他MDB设备通讯。
在本申请的一实施例中,所述指令还包括预置应答数据指令,所述预置应答数据指令包括预置应答数据,所述预置应答数据指令用于将所述预置应答数据存储在所述嵌入式单片机的内存中。
在本申请的一实施例中,所述预置应答数据包括请求数据和应答数据。
在本申请的一实施例中,所述预置应答数据的格式是TLV格式,其中包括至少一组所述请求数据和应答数据。
在本申请的一实施例中,所述预置应答数据包括一个组合类型和多组基本类型,其中,所述组合类型包括第一标识域,每组所述基本类型包括命令标识域和响应标识域,其中,所述命令标识域对应于所述请求数据,所述响应标识域对应于所述应答数据。
在本申请的一实施例中,还包括:对应于所述命令标识域对应的请求数据,按照下面的原则响应:若在收到所述命令标识域对应的请求数据时同时存在应答数据,则直接响应发送所述应答数据。
在本申请的一实施例中,还包括:对应于所述命令标识域对应的请求数据,还按照下面的原则响应:当所述响应标识域对应的应答数据的长度不为0时,根据所述响应标识域对应的应答数据进行响应;当所述响应标识域对应的应答数据的长度为0时,直接响应ACK。
在本申请的一实施例中,所述其他MDB设备包括MDB主设备和MDB从设备。
本申请为解决上述技术问题还提出一种MDB设备,包括应用平台、嵌入式单片机和MDB接口,所述嵌入式单片机包括至少2个GPIO接口和一个硬件定时器,所述嵌入式单片机通过所述至少2个GPIO接口与MDB接口相连接,所述应用平台与所述嵌入式单片机相连接,其特征在于,被配置为执行如上所述的方法。
在本申请的一实施例中,所述应用平台是安卓平台。
根据本申请的方法,可以使嵌入式单片机实现MDB总线协议,当工作模式为主模式时,嵌入式单片机可以作为MDB主设备,当工作模式为从模式时,嵌入式单片机可以作为MDB从设备,使嵌入式单片机自身成为一种“MDB模块”。因此,包含该嵌入式单片机的设备中无需再额外设置MDB模块,即可实现MDB总线协议。此外,本申请的方法通过在嵌入式单片机中预置应答数据,可以满足MDB协议对实时性的要求。
附图说明
包括附图是为提供对本申请进一步的理解,它们被收录并构成本申请的一部分,附图示出了本申请的实施例,并与本说明书一起起到解释本申请原理的作用。附图中:
图1是本申请一实施例的MDB设备的示例性框图;
图2是本申请一实施例的嵌入式单片机实现MDB总线协议的方法的示例性流程图。
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
如本申请所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本申请的嵌入式单片机实现MDB总线协议的方法可以用于任意嵌入式单片机,以及包括嵌入式单片机的设备,本申请对嵌入式单片机、设备的类型、用途都不做限制。优选地,本申请的方法应用于售货机、自动售货机、纸币器、硬币器等。本申请的MDB设备包括售货机、自动售货机、纸币器、硬币器等。
图1是本申请一实施例的MDB设备的示例性框图。参考图1所示,该MDB设备100包括应用平台110、嵌入式单片机120和MDB接口130,其中,该嵌入式单片机120包括至少2个GPIO接口和一个硬件定时器,嵌入式单片机120通过该至少2个GPIO接口与MDB接口130相连接。其中一路GPIO1用于嵌入式单片机120向MDB接口130传递数据,另一路GPIO2用于嵌入式单片机120从MDB接口130接收数据。应用平台110与嵌入式单片机120相连接,具体的连接方式包括串口(UART)、SPI(Serial Peripheral Interface,串行外设接口)或I2C等各类标准接口。MDB设备100可以用于执行本申请的方法,从而可以由嵌入式单片机120在片上直接实现MDB总线协议,使得包括该嵌入式单片机120的MDB设备100无需额外设置MDB模块,节省成本的同时提升了MDB设备100的性能。
在一些实施例中,应用平台110是安卓平台。在其他的实施例中,应用平台110也可以是其他操作系统平台,本申请对此不做限制。
图2是本申请一实施例的嵌入式单片机实现MDB总线协议的方法的示例性流程图。结合图1和图2所示,该实施例的方法包括以下步骤:
步骤S21:应用平台110向嵌入式单片机120发送指令,指令包括模式指令,模式指令用于设置嵌入式单片机120的工作模式,工作模式包括主模式和从模式;
步骤S22:响应于指令,嵌入式单片机120按照工作模式工作,其中,当工作模式为主模式时,嵌入式单片机120主动管理MDB总线,并用轮询方式分配总线使用;当工作模式为从模式时,应用平台110通过嵌入式单片机120与其他MDB设备通讯。
本说明书以应用平台110为安卓平台为例进行说明。在步骤S21中,安卓平台作为控制方,在物理上例如是通过串口UART与嵌入式单片机120相连,通过发送设定的指令来实现应用层的数据传输。
根据步骤S21和步骤S22,可以使嵌入式单片机120实现MDB总线协议,当工作模式为主模式时,嵌入式单片机120可以作为MDB主设备,当工作模式为从模式时,嵌入式单片机120可以作为MDB从设备,使嵌入式单片机120自身成为一种“MDB模块”。因此,包含该嵌入式单片机120的设备中无需再额外设置MDB模块,即可实现MDB总线协议。
在一些实施例中,上述方法中的指令还包括:预置应答数据指令,该预置应答数据指令包括预置应答数据,预置应答数据指令用于将预置应答数据存储在嵌入式单片机120的内存中。根据这些实施例,当嵌入式单片机120在MDB协议下进行通讯时,可以根据该预置应答数据来进行响应。
具体地,在一些实施例中,该预置应答数据包括请求数据和应答数据,其中,请求数据指从MDB总线接收到的请求数据,也是命令数据,应答数据指应答该请求数据的响应数据。
可以理解,无论嵌入式单片机120的工作模式是主模式还是从模式,在进行MDB通信时,原则上是由主设备管理MDB总线,主设备一个个轮询从设备,例如纸币机、硬币机等,每个子设备一一给出应答,表明自己在线。被轮询到的子设备,若有数据要发送,就发送作为响应,若没有要发送的数据,就等下一次轮询。通常,子设备若有三次以上没有应答,主设备就删除这个子设备,后续不再轮询。
进一步地,在一些实施例中,预置应答数据的格式是TLV格式,其中包括至少一组请求数据和应答数据。TLV格式的数据是由三个域构成,包括:标识域(Tag或Type)+长度域(Length)+值域(Value)。例如,假设一个TLV格式的数据是80 01 33,其中,80是标识域;01是长度域,表示长度为1;33是值域。其中的数据为16进制数。
由于实现MDB协议的实时性要求很高,如前所述,包括1毫秒的字符超时和5毫秒的应答超时。安卓系统或安卓应用平台无法满足这样高的实时性要求。因此本申请设计了一种TLV格式数据,该数据包括至少一组请求数据和应答数据,使得嵌入式单片机120根据接收到的请求数据即刻发送应答数据,可以非常方便的实现心跳包应答、状态应答。此外,TLV格式具有良好的可扩展性,可以根据需要来添加,提高了设备的扩展性能。
进一步地,该预置应答数据包括一个组合类型(组合Tag)和多组基本类型,其中,组合类型包括第一标识域,每组基本类型包括命令标识域(命令Tag)和响应标识域(响应Tag),其中,命令标识域对应于请求数据,响应标识域对应于应答数据。
以下采用一个具体示例说明该TLV格式数据。
组合类型的Tag为70H,基本类型中的命令标识域为81H,响应标识域为82H。也即,当Tag为70H时,表示其后的数据为预置应答数据。当Tag为81H时,表示其对应值域中为该嵌入式单片机120收到的请求数据。当Tag为82H时,表示其对应值域中为该嵌入式单片机120所要响应或者发送出去的应答数据。
在一些实施例中,在收到Tag为81H时,其所对应的请求数据不会直接输出至安卓控制方,而是按照以下原则给出响应:
原则一:若在收到命令标识域对应的请求数据时同时存在应答数据,则直接响应发送应答数据。该实施例对应于上条安卓命令发送不等待的场景。
除上述原则之外,还可以包括以下两个原则:
原则二:当响应标识域对应的应答数据的长度不为0时,根据响应标识域对应的应答数据进行响应;
原则三:当响应标识域对应的应答数据的长度为0时,直接响应ACK。
通过设置TLV格式数据,结合上述原则,可以实现实时应答,满足MDB协议的实时性要求。
以下给出一个TLV格式的预置应答数据的示例:
70 15 81 01 33 82 00 81 02 35 36 82 03 61 62 63 81 02 32 36 82 01 07
说明:
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述申请披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,本申请中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
虽然本申请已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本申请,在没有脱离本申请精神的情况下还可作出各种等效的变化或替换,因此,只要在本申请的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。

Claims (10)

1.一种嵌入式单片机实现MDB总线协议的方法,所述嵌入式单片机包括至少2个GPIO接口和一个硬件定时器,所述嵌入式单片机通过所述至少2个GPIO接口与MDB接口相连接,其特征在于,包括:
应用平台向所述嵌入式单片机发送指令,所述指令包括模式指令,所述模式指令用于设置所述嵌入式单片机的工作模式,所述工作模式包括主模式和从模式;
响应于所述指令,所述嵌入式单片机按照所述工作模式工作,其中,当所述工作模式为主模式时,所述嵌入式单片机主动管理MDB总线,并用轮询方式分配总线使用;当所述工作模式为从模式时,所述应用平台通过所述嵌入式单片机与其他MDB设备通讯。
2.如权利要求1所述的方法,其特征在于,所述指令还包括预置应答数据指令,所述预置应答数据指令包括预置应答数据,所述预置应答数据指令用于将所述预置应答数据存储在所述嵌入式单片机的内存中。
3.如权利要求2所述的方法,其特征在于,所述预置应答数据包括请求数据和应答数据。
4.如权利要求3所述的方法,其特征在于,所述预置应答数据的格式是TLV格式,其中包括至少一组所述请求数据和应答数据。
5.如权利要求4所述的方法,其特征在于,所述预置应答数据包括一个组合类型和多组基本类型,其中,所述组合类型包括第一标识域,每组所述基本类型包括命令标识域和响应标识域,其中,所述命令标识域对应于所述请求数据,所述响应标识域对应于所述应答数据。
6.如权利要求5所述的方法,其特征在于,还包括:对应于所述命令标识域对应的请求数据,按照下面的原则响应:
若在收到所述命令标识域对应的请求数据时同时存在应答数据,则直接响应发送所述应答数据。
7.如权利要求6所述的方法,其特征在于,还包括:对应于所述命令标识域对应的请求数据,还按照下面的原则响应:
当所述响应标识域对应的应答数据的长度不为0时,根据所述响应标识域对应的应答数据进行响应;
当所述响应标识域对应的应答数据的长度为0时,直接响应ACK。
8.如权利要求1所述的方法,其特征在于,所述其他MDB设备包括MDB主设备和MDB从设备。
9.一种MDB设备,包括应用平台、嵌入式单片机和MDB接口,所述嵌入式单片机包括至少2个GPIO接口和一个硬件定时器,所述嵌入式单片机通过所述至少2个GPIO接口与MDB接口相连接,所述应用平台与所述嵌入式单片机相连接,其特征在于,被配置为执行如权利要求1-8任意一项所述的方法。
10.如权利要求9所述的MDB设备,其特征在于,所述应用平台是安卓平台。
CN202311778952.1A 2023-12-21 2023-12-21 嵌入式单片机实现mdb总线协议的方法和mdb设备 Pending CN117891772A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311778952.1A CN117891772A (zh) 2023-12-21 2023-12-21 嵌入式单片机实现mdb总线协议的方法和mdb设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311778952.1A CN117891772A (zh) 2023-12-21 2023-12-21 嵌入式单片机实现mdb总线协议的方法和mdb设备

Publications (1)

Publication Number Publication Date
CN117891772A true CN117891772A (zh) 2024-04-16

Family

ID=90648109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311778952.1A Pending CN117891772A (zh) 2023-12-21 2023-12-21 嵌入式单片机实现mdb总线协议的方法和mdb设备

Country Status (1)

Country Link
CN (1) CN117891772A (zh)

Similar Documents

Publication Publication Date Title
EP0777948B1 (en) Duplicate message detection method and apparatus
US6850992B2 (en) Address assignment method for at least one bus device that has recently been connected to a bus system
CN108616610A (zh) 地址分配方法、主机、从机及总线系统
EP3698533A1 (en) Single sign-in for iot devices
CN101938409A (zh) 数据处理装置和数据处理方法
EP3400531A1 (en) Secondary bus communication between devices in an automated transaction machine
CN103326749A (zh) 一种nfc射频通信的控制方法、装置及系统
CN114553601A (zh) 信息校验方法、装置、设备和介质
US7206882B2 (en) Triggered communication network for CANOpen networks
CN101616086A (zh) 用于通信介质访问的接入点设备、通信设备和方法
CN115868184A (zh) 加速面向ble连接的服务上的控制过程
CN117891772A (zh) 嵌入式单片机实现mdb总线协议的方法和mdb设备
US6907485B2 (en) Hybrid change of state protocol for CANOpen networks
US8634325B2 (en) Tuning of industrial automation system performance based on device operating characteristics
CN102301655B (zh) 网络系统
CN113250944B (zh) 一种基于主从控制系统的控制方法及水泵控制系统
US11803494B2 (en) Data communication method, master device and system
CN111431668B (zh) 基于多节点uart通讯的波特率切换方法、空调系统及处理器
CN210518417U (zh) 地址分配系统
KR100784944B1 (ko) 상하수도 처리장의 통합감시 제어시스템
US7916633B2 (en) Variable response message length for master-slave communications
CN103004170B (zh) 响应装置及其集成电路、响应方法及响应系统
KR101651317B1 (ko) 집적 회로 카드에 의해 복수의 무선 주파수 통신 스트림들을 처리하기 위한 방법 및 시스템
TW453071B (en) Wireless data transmission method and apparatus
US8732331B2 (en) Managing latencies in a multiprocessor interconnect

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination