CN117171072B - 微控制单元单向通讯方法及系统 - Google Patents
微控制单元单向通讯方法及系统 Download PDFInfo
- Publication number
- CN117171072B CN117171072B CN202311456032.8A CN202311456032A CN117171072B CN 117171072 B CN117171072 B CN 117171072B CN 202311456032 A CN202311456032 A CN 202311456032A CN 117171072 B CN117171072 B CN 117171072B
- Authority
- CN
- China
- Prior art keywords
- control unit
- level
- micro control
- low
- level signal
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 title claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000013500 data storage Methods 0.000 claims 2
- 238000012795 verification Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Information Transfer Systems (AREA)
- Dc Digital Transmission (AREA)
Abstract
本发明涉及电子通讯技术领域中的一种微控制单元单向通讯方法及系统,应用于主微控制单元向从微控制单元发送数据,主微控制单元与从微控制单元之间通过I/O接口物理连接,主微控制单元通过I/O接口向从微控制单元输出低电平起始信号,在延时第一预设时长后停止输出低电平起始信号;从微控制单元在接收到低电平起始信号后关闭中断,持续处于接收数据状态;主微控制单元在停止输出低电平起始信号后,依次向从微控制单元发送高低电平相间的高电平信号和低电平信号;从微控制单元每次接收到高电平信号,根据高电平信号的接收时长确定高电平信号的数据类型;主微控制单元在高电平信号和低电平信号发送完成后恢复默认的初始空闲高电平,释放总线。
Description
技术领域
本公开涉及电子通讯技术领域,尤其涉及一种微控制单元单向通讯方法及系统。
背景技术
通常,微控制单元(Microcontroller Unit,MCU)与微控制单元MCU之间进行单向通讯时采用通用异步收发器(Universal Asynchronous Receiver/Transmitter,UART)实现。然而,微控制单元通过通过UART实现单向通讯的基础是MCU均在硬件上支持UART,这无疑提高了微控制单元单向通讯的实现难度,导致灵活性和便捷性较低。并且,微控制单元在硬件上满足UART配置的成本较高。
发明内容
本发明的目的是提供一种微控制单元单向通讯方法及系统,旨在解决相关场景中通过UART进行单向通讯时,微控制单元单向通讯的实现难度较高,导致灵活性和便捷性较低。并且,微控制单元在硬件上满足UART配置的成本较高的技术问题。
为了实现上述目的,本公开实施例的第一方面,提供一种微控制单元单向通讯方法,应用于主微控制单元向从微控制单元发送数据,所述主微控制单元与所述从微控制单元之间通过I/O接口进行物理连接,所述方法包括:
所述主微控制单元通过所述I/O接口向所述从微控制单元输出低电平起始信号,并在延时第一预设时长后,停止输出所述低电平起始信号;
所述从微控制单元在接收到所述低电平起始信号后,关闭中断,并持续处于接收数据状态;
所述主微控制单元在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高电平信号和低电平信号,其中,所述高电平信号用于携带数据,所述低电平信号用于时间修正,并且,所述低电平信号的低电平延时时长相同,所述高电平信号的高电平延时时长不同对应的数据类型不同;
所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型;
所述主微控制单元在所述高低电平相间的高电平信号和低电平信号发送完成后,恢复默认的初始空闲高电平,释放总线。
在一种可能实现的方式中,所述主微控制单元在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高电平信号和低电平信号,包括:
所述主微控制单元在停止输出所述低电平起始信号后,依次从低位bit0至高位bit7向所述从微控制单元发送高低电平相间的8个所述高电平信号和8个所述低电平信号。
在一种可能实现的方式中,所述主微控制单元在停止输出所述低电平起始信号后,依次从低位bit0至高位bit7向所述从微控制单元发送高低电平相间的8个高电平信号和8个低电平信号,包括:
所述主微控制单元在停止输出所述低电平起始信号后,在bit0向所述从微控制单元发送第一高电平信号,并在所述第一高电平信号发送完成后,将电位拉低;
在所述电位拉低持续所述低电平延时时长后,在bit1向所述从微控制单元发送第二高电平信号,并在所述第二高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit2向所述从微控制单元发送第三高电平信号,并在所述第三高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit3向所述从微控制单元发送第四高电平信号,并在所述第四高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit4向所述从微控制单元发送第五高电平信号,并在所述第五高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit5向所述从微控制单元发送第六高电平信号,并在所述第五高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit6向所述从微控制单元发送第七高电平信号,并在所述第七高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit7向所述从微控制单元发送第八高电平信号,并在所述第八高电平信号发送完成后,再次将所述电位拉低。
在一种可能实现的方式中,在所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型之前,包括:
所述从微控制单元将在关闭中断后接收到的第一个高电平信号与Header进行匹配;
若关闭中断后接收到的第一个高电平信号与Header匹配,则确定关闭中断后接收到的所述第一个高电平信号为头数据;
将关闭中断后接收到的所述第一个高电平信号作为头数据,以及将随后接收到的高电平信号作为有效数据保存到数据存储器中。
在一种可能实现的方式中,所述方法还包括:
所述主微控制单元在所述高电平信号和低电平信号发送完成后,计算CRC,并向所述从微控制单元发送CRC校验值;
所述从微控制单元在一次接收完所述主微控制单元发送的数据的情况下,以FSR0中的值作为地址,访问所述数据存储器中的数据,其中,所述一次接收为所述低电平起始信号至所述初始空闲高电平之间的接收过程;
根据所述CRC校验值,采用CRC8_MAXIM算法对从所述数据存储器中访问的所述数据进行校验。
在一种可能实现的方式中,所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型,包括:
所述从微控制单元在每一次接收到所述高电平信号的情况下,若所述高电平信号的接收时长超过预设时长阈值的情况下,则确定所述高电平信号的数据类型为第一数据类型,若所述高电平信号的接收时长不超过所述预设时长阈值,则确定所述高电平信号的数据类型为第二数据类型。
在一种可能实现的方式中,所述预设时长阈值为8us,所述第一数据类型对应的延时时长为12us,所述第二数据类型对应的延时时长为4us。
在一种可能实现的方式中,所述方法还包括:
所述从微控制单元在接收到任意高电平信号的情况下,启动计时;
在所述计时达到第二时长的情况下,若仍为接收到下一个低电平信号,则重新获取所述I/O接口的状态,以及重新扫描,以查询是否扫描到所述低电平起始信号。
在一种可能实现的方式中,所述低电平信号的低电平延时时长为4us。
本公开实施例的第二方面,提供一种微控制单元单向通讯系统,所述系统包括:通过I/O接口进行物理连接的主微控制单元和从微控制单元;
其中,所述主微控制单元具备通过所述I/O接口向所述从微控制单元发送数据的能力;
所述主微控制单元用于,通过所述I/O接口向所述从微控制单元输出低电平起始信号,并在延时第一预设时长后,停止输出所述低电平起始信号;
所述从微控制单元用于,在接收到所述低电平起始信号后,关闭中断,并持续处于接收数据状态;
所述主微控制单元用于,在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高电平信号和低电平信号,其中,所述高电平信号用于携带数据,所述低电平信号用于时间修正,并且,所述低电平信号的低电平延时时长相同,所述高电平信号的高电平延时时长不同对应的数据类型不同;
所述从微控制单元用于,在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型;
所述主微控制单元用于,在所述高低电平相间的高电平信号和低电平信号发送完成后,恢复默认的初始空闲高电平,释放总线。
本发明提供了一种微控制单元单向通讯方法及系统。与现有技术相比具备以下有益效果:
通过I/O接口物理连接主微控制单元和从微控制单元,解决了Uart串口通讯对时序的严格要求。并且,主微控制单元和从微控制单元之间通信协议简单,灵活性和便捷性提高,使得实现对MCU要求非常低,任意配置I/O接口的低成本的MCU即可采用,有效降低成本。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据说明书实施例示出的一种微控制单元单向通讯方法的流程图。
图2是根据说明书实施例示出的一种主微控制单元与从微控制单元物理连接的示意图。
图3是根据说明书实施例示出的一种主微控制单元发送数据的代码的示意图。
图4是根据说明书实施例示出的一种从微控制单元接收数据的代码的示意图。
图5是根据说明书实施例示出的一种主微控制单元发送数据的时序示意图。
图6是根据说明书实施例示出的一种发送3个字节数据的流程图。
图7是根据说明书实施例示出的一种发送3个字节数据的波形的示意图。
图8是根据说明书实施例示出的一种主微控制单元进行CRC计算的代码的示意图。
图9是根据说明书实施例示出的一种从微控制单元对数据进行校验的代码的示意图。
图10是根据说明书实施例示出的一种微控制单元单向通讯的效果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
为了实现上述目的,本公开提供一种微控制单元单向通讯方法,图1是根据一实施例示出的一种微控制单元单向通讯方法的流程图。应用于主微控制单元向从微控制单元发送数据,参见图2所示,所述主微控制单元与所述从微控制单元之间通过I/O接口进行物理连接,所述方法包括:
在步骤S11中,所述主微控制单元通过所述I/O接口向所述从微控制单元输出低电平起始信号,并在延时第一预设时长后,停止输出所述低电平起始信号;
本公开实施例中,第一预设时长为20us。
在步骤S12中,所述从微控制单元在接收到所述低电平起始信号后,关闭中断,并持续处于接收数据状态;
在步骤S13中,所述主微控制单元在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高电平信号和低电平信号。
其中,所述高电平信号用于携带数据,所述低电平信号用于时间修正,并且,所述低电平信号的低电平延时时长相同,所述高电平信号的高电平延时时长不同对应的数据类型不同。
参见图3所示出的,为主微控制单元发送数据的代码。
本公开实施例中,低电平信号用于时间修正是指在低电平信号之前发送的一个高电平信号发送的时长长于或者短于数据类型对应的高电平延时时长的情况下,可以对整个发送时间长度进行修正,以及对发送的时长长于或者短于数据类型对应的高电平延时时长的高电平信号的接收时长进行修正。
在步骤S14中,所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型。
参见图4所示出的,为从微控制单元接收数据的代码。
在步骤S15中,所述主微控制单元在所述高低电平相间的高电平信号和低电平信号发送完成后,恢复默认的初始空闲高电平,释放总线。
该步骤的实现代码请继续参见图3。
上述技术方案通过I/O接口物理连接主微控制单元和从微控制单元,解决了Uart串口通讯对时序的严格要求。并且,主微控制单元和从微控制单元之间通信协议简单,灵活性和便捷性提高,使得实现对MCU要求非常低,任意配置I/O接口的低成本的MCU即可采用,有效降低成本。
在一种可能实现的方式中,在步骤S13中,所述主微控制单元在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高电平信号和低电平信号,包括:
所述主微控制单元在停止输出所述低电平起始信号后,依次从低位bit0至高位bit7向所述从微控制单元发送高低电平相间的8个所述高电平信号和8个所述低电平信号。
在一种可能实现的方式中,参见图5所示,所述主微控制单元在停止输出所述低电平起始信号后,依次从低位bit0至高位bit7向所述从微控制单元发送高低电平相间的8个高电平信号和8个低电平信号,包括:
所述主微控制单元在停止输出所述低电平起始信号后,在bit0向所述从微控制单元发送第一高电平信号,并在所述第一高电平信号发送完成后,将电位拉低;
在所述电位拉低持续所述低电平延时时长后,在bit1向所述从微控制单元发送第二高电平信号,并在所述第二高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit2向所述从微控制单元发送第三高电平信号,并在所述第三高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit3向所述从微控制单元发送第四高电平信号,并在所述第四高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit4向所述从微控制单元发送第五高电平信号,并在所述第五高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit5向所述从微控制单元发送第六高电平信号,并在所述第五高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit6向所述从微控制单元发送第七高电平信号,并在所述第七高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit7向所述从微控制单元发送第八高电平信号,并在所述第八高电平信号发送完成后,再次将所述电位拉低。
在一种可能实现的方式中,在所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型之前,包括:
所述从微控制单元将在关闭中断后接收到的第一个高电平信号与Header进行匹配;
若关闭中断后接收到的第一个高电平信号与Header匹配,则确定关闭中断后接收到的所述第一个高电平信号为头数据;
将关闭中断后接收到的所述第一个高电平信号作为头数据,以及将随后接收到的高电平信号作为有效数据保存到数据存储器中。
参见图6所示,以发送3个字节的完整数据为例进行流程说明。以固定自定义数据的形式发送数据头,可以发送有效数据1、有效数据2、有效数据3,并在发送完成以后,计算CRC,并向从微控制单元发送CRC校验值。参见图7所示出的是发送该3个字节的完整数据的波形。
在一种可能实现的方式中,所述方法还包括:
所述主微控制单元在所述高电平信号和低电平信号发送完成后,计算CRC,并向所述从微控制单元发送CRC校验值;
参见图8所示,为主微控制单元进行CRC计算的代码。
所述从微控制单元在一次接收完所述主微控制单元发送的数据的情况下,以FSR0中的值作为地址,访问所述数据存储器中的数据,其中,所述一次接收为所述低电平起始信号至所述初始空闲高电平之间的接收过程;
根据所述CRC校验值,采用CRC8_MAXIM算法对从所述数据存储器中访问的所述数据进行校验。
参见图9所示,对数据进行校验的代码。
在一种可能实现的方式中,所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型,包括:
所述从微控制单元在每一次接收到所述高电平信号的情况下,若所述高电平信号的接收时长超过预设时长阈值的情况下,则确定所述高电平信号的数据类型为第一数据类型,若所述高电平信号的接收时长不超过所述预设时长阈值,则确定所述高电平信号的数据类型为第二数据类型。
在一种可能实现的方式中,所述预设时长阈值为8us,所述第一数据类型对应的延时时长为12us,所述第二数据类型对应的延时时长为4us。
在一种可能实现的方式中,所述方法还包括:
所述从微控制单元在接收到任意高电平信号的情况下,启动计时;
在所述计时达到第二时长的情况下,若仍为接收到下一个低电平信号,则重新获取所述I/O接口的状态,以及重新扫描,以查询是否扫描到所述低电平起始信号。
本公开实施例中,第二时长为40us。
在一种可能实现的方式中,所述低电平信号的低电平延时时长为4us。
上述实施例中,单线通讯协议,解决串口Uart通讯对时序的严格要求。改进型协议及软件的实现对MCU要求非常低,不需要MCU支持Uart,基本的只支持I/O口的MCU均可实现双MCU通讯,对MCU要求极低,有效降低成本。
本公开实施例中,主微控制单元MCU采用CSU3AF10,从微控制单元MCU采用MC30P6230,参见图10所示出的效果图,数据传输成功率与传统Uart效果相当。相较于传统Uart单线通讯电路,对MCU的要求大大降低,在同样的数据传输质量系统中,对MCU要求低,MCU的选择范围更大,同时大大降低成本。
本公开实施例还提供一种微控制单元单向通讯系统,继续参见图2所示,所述系统包括:通过I/O接口进行物理连接的主微控制单元和从微控制单元;
其中,所述主微控制单元具备通过所述I/O接口向所述从微控制单元发送数据的能力;
所述主微控制单元用于,通过所述I/O接口向所述从微控制单元输出低电平起始信号,并在延时第一预设时长后,停止输出所述低电平起始信号;
所述从微控制单元用于,在接收到所述低电平起始信号后,关闭中断,并持续处于接收数据状态;
所述主微控制单元用于,在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高电平信号和低电平信号,其中,所述高电平信号用于携带数据,所述低电平信号用于时间修正,并且,所述低电平信号的低电平延时时长相同,所述高电平信号的高电平延时时长不同对应的数据类型不同;
所述从微控制单元用于,在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型;
所述主微控制单元用于,在所述高低电平相间的高电平信号和低电平信号发送完成后,恢复默认的初始空闲高电平,释放总线。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对这些实施例进行多种变化、修改、替换和变型,这些变化、修改、替换和变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,其同样应当视为本公开所公开的内容,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。本项申请的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (8)
1.一种微控制单元单向通讯方法,其特征在于,应用于主微控制单元向从微控制单元发送数据,所述主微控制单元与所述从微控制单元之间通过I/O接口进行物理连接,所述方法包括:
所述主微控制单元通过所述I/O接口向所述从微控制单元输出低电平起始信号,并在延时第一预设时长后,停止输出所述低电平起始信号;
所述从微控制单元在接收到所述低电平起始信号后,关闭中断,并持续处于接收数据状态;
所述主微控制单元在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高、低电平信号,其中,所述高电平信号用于携带数据,所述低电平信号用于时间修正,并且,所述低电平信号的低电平延时时长相同,所述高电平信号的高电平延时时长不同对应的数据类型不同,其中,所述低电平信号用于时间修正是指在低电平信号之前发送的一个高电平信号发送的时长长于或者短于数据类型对应的高电平延时时长的情况下,对整个发送时间长度进行修正,以及对发送的时长长于或者短于数据类型对应的高电平延时时长的高电平信号的接收时长进行修正;
所述从微控制单元将在关闭中断后接收到的第一个高电平信号与Header进行匹配;若关闭中断后接收到的第一个高电平信号与Header匹配,则确定关闭中断后接收到的所述第一个高电平信号为头数据;将关闭中断后接收到的所述第一个高电平信号作为头数据,以及将随后接收到的高电平信号作为有效数据保存到数据存储中;
所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型;
所述主微控制单元在所述高低电平相间的高、低电平信号发送完成后,计算CRC,并向所述从微控制单元发送CRC校验值;
所述从微控制单元在一次接收完所述主微控制单元发送的数据的情况下,以FSR0中的值作为地址,访问所述数据存储器中的数据,其中,所述一次接收为所述低电平起始信号至初始空闲高电平之间的接收过程;根据所述CRC校验值,采用CRC8_MAXIM算法对从所述数据存储器中访问的所述数据进行校验;
所述主微控制单元在校验成功的情况下,恢复默认的初始空闲高电平,释放总线。
2.根据权利要求1所述的方法,其特征在于,所述主微控制单元在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高、低电平信号,包括:
所述主微控制单元在停止输出所述低电平起始信号后,依次从低位bit0至高位bit7向所述从微控制单元发送高低电平相间的8个所述高电平信号和8个所述低电平信号。
3.根据权利要求2所述的方法,其特征在于,所述主微控制单元在停止输出所述低电平起始信号后,依次从低位bit0至高位bit7向所述从微控制单元发送高低电平相间的8个高电平信号和8个低电平信号,包括:
所述主微控制单元在停止输出所述低电平起始信号后,在bit0向所述从微控制单元发送第一高电平信号,并在所述第一高电平信号发送完成后,将电位拉低;
在所述电位拉低持续所述低电平延时时长后,在bit1向所述从微控制单元发送第二高电平信号,并在所述第二高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit2向所述从微控制单元发送第三高电平信号,并在所述第三高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit3向所述从微控制单元发送第四高电平信号,并在所述第四高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit4向所述从微控制单元发送第五高电平信号,并在所述第五高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit5向所述从微控制单元发送第六高电平信号,并在所述第五高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit6向所述从微控制单元发送第七高电平信号,并在所述第七高电平信号发送完成后,再次将所述电位拉低;
在所述电位拉低再次持续所述低电平延时时长后,在bit7向所述从微控制单元发送第八高电平信号,并在所述第八高电平信号发送完成后,再次将所述电位拉低。
4.根据权利要求1所述的方法,其特征在于,所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型,包括:
所述从微控制单元在每一次接收到所述高电平信号的情况下,若所述高电平信号的接收时长超过预设时长阈值的情况下,则确定所述高电平信号的数据类型为第一数据类型,若所述高电平信号的接收时长不超过所述预设时长阈值,则确定所述高电平信号的数据类型为第二数据类型。
5.根据权利要求4所述的方法,其特征在于,所述预设时长阈值为8us,所述第一数据类型对应的延时时长为12us,所述第二数据类型对应的延时时长为4us。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述从微控制单元在接收到任意高电平信号的情况下,启动计时;
在所述计时达到第二时长的情况下,若仍为接收到下一个低电平信号,则重新获取所述I/O接口的状态,以及重新扫描,以查询是否扫描到所述低电平起始信号。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述低电平信号的低电平延时时长为4us。
8.一种微控制单元单向通讯系统,其特征在于,所述系统包括:通过I/O接口进行物理连接的主微控制单元和从微控制单元;
其中,所述主微控制单元具备通过所述I/O接口向所述从微控制单元发送数据的能力;
所述主微控制单元用于,通过所述I/O接口向所述从微控制单元输出低电平起始信号,并在延时第一预设时长后,停止输出所述低电平起始信号;
所述从微控制单元用于,在接收到所述低电平起始信号后,关闭中断,并持续处于接收数据状态;
所述主微控制单元用于,在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高、低电平信号,其中,所述高电平信号用于携带数据,所述低电平信号用于时间修正,并且,所述低电平信号的低电平延时时长相同,所述高电平信号的高电平延时时长不同对应的数据类型不同,其中,所述低电平信号用于时间修正是指在低电平信号之前发送的一个高电平信号发送的时长长于或者短于数据类型对应的高电平延时时长的情况下,对整个发送时间长度进行修正,以及对发送的时长长于或者短于数据类型对应的高电平延时时长的高电平信号的接收时长进行修正;
所述从微控制单元用于,将在关闭中断后接收到的第一个高电平信号与Header进行匹配;若关闭中断后接收到的第一个高电平信号与Header匹配,则确定关闭中断后接收到的所述第一个高电平信号为头数据;将关闭中断后接收到的所述第一个高电平信号作为头数据,以及将随后接收到的高电平信号作为有效数据保存到数据存储中;
所述从微控制单元用于,在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型;
所述主微控制单元用于,在所述高低电平相间的高、低电平信号发送完成后,计算CRC,并向所述从微控制单元发送CRC校验值;
所述从微控制单元在一次接收完所述主微控制单元发送的数据的情况下,以FSR0中的值作为地址,访问所述数据存储器中的数据,其中,所述一次接收为所述低电平起始信号至初始空闲高电平之间的接收过程;根据所述CRC校验值,采用CRC8_MAXIM算法对从所述数据存储器中访问的所述数据进行校验;
所述主微控制单元在校验成功的情况下,恢复默认的初始空闲高电平,释放总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311456032.8A CN117171072B (zh) | 2023-11-03 | 2023-11-03 | 微控制单元单向通讯方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311456032.8A CN117171072B (zh) | 2023-11-03 | 2023-11-03 | 微控制单元单向通讯方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117171072A CN117171072A (zh) | 2023-12-05 |
CN117171072B true CN117171072B (zh) | 2024-02-23 |
Family
ID=88947329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311456032.8A Active CN117171072B (zh) | 2023-11-03 | 2023-11-03 | 微控制单元单向通讯方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117171072B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727422A (zh) * | 2008-10-29 | 2010-06-09 | 大唐移动通信设备有限公司 | 一种控制单总线设备的方法及系统 |
CN105224492A (zh) * | 2015-09-01 | 2016-01-06 | 浙江省通信产业服务有限公司 | 一种单片机i/o口模拟串行通信方法 |
CN105468554A (zh) * | 2015-11-27 | 2016-04-06 | 宁波三星医疗电气股份有限公司 | 一种实现极性自适应的模拟uart的方法 |
CN207410054U (zh) * | 2017-09-06 | 2018-05-25 | 深圳市格维科技有限公司 | 一种多功能充电装置 |
CN109062850A (zh) * | 2018-08-09 | 2018-12-21 | 广州麦芮声电子有限公司 | 一种单片机的数据发送和接收方法 |
KR20190091929A (ko) * | 2018-01-30 | 2019-08-07 | 엘에스산전 주식회사 | Uart 통신속도 자동 전환 방법 |
CN110996461A (zh) * | 2019-12-30 | 2020-04-10 | 南京浣轩半导体有限公司 | 一种单线led数据传输显示方法及驱动芯片 |
CN113242168A (zh) * | 2021-04-20 | 2021-08-10 | 河北稳控科技有限公司 | 一种单总线通讯方法 |
CN216361783U (zh) * | 2021-11-27 | 2022-04-22 | 深圳联芯微电子科技有限公司 | 一种用于pcb电路板生产加工的检测装置 |
CN115412818A (zh) * | 2021-05-27 | 2022-11-29 | 瑶芯微电子科技(上海)有限公司 | Mems麦克风系统、mems麦克风测试修调电路和方法 |
CN116955242A (zh) * | 2023-07-25 | 2023-10-27 | 深圳市拓普瑞电子有限公司 | 一种单总线通信方法、存储介质及智能终端 |
-
2023
- 2023-11-03 CN CN202311456032.8A patent/CN117171072B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727422A (zh) * | 2008-10-29 | 2010-06-09 | 大唐移动通信设备有限公司 | 一种控制单总线设备的方法及系统 |
CN105224492A (zh) * | 2015-09-01 | 2016-01-06 | 浙江省通信产业服务有限公司 | 一种单片机i/o口模拟串行通信方法 |
CN105468554A (zh) * | 2015-11-27 | 2016-04-06 | 宁波三星医疗电气股份有限公司 | 一种实现极性自适应的模拟uart的方法 |
CN207410054U (zh) * | 2017-09-06 | 2018-05-25 | 深圳市格维科技有限公司 | 一种多功能充电装置 |
KR20190091929A (ko) * | 2018-01-30 | 2019-08-07 | 엘에스산전 주식회사 | Uart 통신속도 자동 전환 방법 |
CN109062850A (zh) * | 2018-08-09 | 2018-12-21 | 广州麦芮声电子有限公司 | 一种单片机的数据发送和接收方法 |
CN110996461A (zh) * | 2019-12-30 | 2020-04-10 | 南京浣轩半导体有限公司 | 一种单线led数据传输显示方法及驱动芯片 |
CN113242168A (zh) * | 2021-04-20 | 2021-08-10 | 河北稳控科技有限公司 | 一种单总线通讯方法 |
CN115412818A (zh) * | 2021-05-27 | 2022-11-29 | 瑶芯微电子科技(上海)有限公司 | Mems麦克风系统、mems麦克风测试修调电路和方法 |
CN216361783U (zh) * | 2021-11-27 | 2022-04-22 | 深圳联芯微电子科技有限公司 | 一种用于pcb电路板生产加工的检测装置 |
CN116955242A (zh) * | 2023-07-25 | 2023-10-27 | 深圳市拓普瑞电子有限公司 | 一种单总线通信方法、存储介质及智能终端 |
Also Published As
Publication number | Publication date |
---|---|
CN117171072A (zh) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170255588A1 (en) | Multiprotocol i3c common command codes | |
CN103218331B (zh) | 采用同步模式切换及帧优先级自动调整的总线装置及方法 | |
US7639765B2 (en) | Single-line bidirectional communication apparatus and system | |
US8082373B2 (en) | Specialized universal serial bus controller | |
KR20160140847A (ko) | 집적회로간 (i2c) 버스상에서 인-밴드로 여분의 정보를 전송하는 방법들 | |
WO2018095181A1 (zh) | 数据传输方法及装置 | |
CN107637023B (zh) | 用于在数据总线系统中传输消息的方法、收发器和用于机动车的电子控制单元 | |
US20160224501A1 (en) | Adaptation device for a bus system, and method for operating a can subscriber station and a can fd subscriber station in a bus system | |
US11431531B2 (en) | Termination for high-frequency transmission lines | |
CN117171072B (zh) | 微控制单元单向通讯方法及系统 | |
JP2016532967A (ja) | 周辺装置からのirq線の数を1線に最小化する方法 | |
US20140289547A1 (en) | Microcontroller and method of controlling the same | |
US20180357121A1 (en) | Error correction calculation upon serial bus abort | |
CN114500159B (zh) | 中央吸油烟机系统的有线通讯方法、装置和电子设备 | |
US20190171611A1 (en) | Protocol-framed clock line driving for device communication over master-originated clock line | |
US9490964B2 (en) | Symbol transition clocking clock and data recovery to suppress excess clock caused by symbol glitch during stable symbol period | |
US8004988B2 (en) | Ethernet controller | |
CN103458116A (zh) | 一种音频通讯装置及其实现通讯的方法 | |
US20230199306A1 (en) | Communication device and communication system | |
TWI437821B (zh) | 用以調校傳輸介面之驅動電流的方法以及相關裝置 | |
US10305672B2 (en) | Communication device and communication system | |
CN115657567B (zh) | 一种单引脚传输控制信号的方法及控制系统 | |
US20090138786A1 (en) | Communication control apparatus, communication control method, and communication control program | |
CN102791021B (zh) | 一种确定探针的传输功率的方法及装置 | |
CN112486887B (zh) | 一种利用spi总线传输异步信号的方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |