微控制单元单向通讯方法及系统与流程

文档序号:36317122发布日期:2023-12-08 05:52阅读:51来源:国知局
微控制单元单向通讯方法及系统与流程

本公开涉及电子通讯,尤其涉及一种微控制单元单向通讯方法及系统。


背景技术:

1、通常,微控制单元(microcontroller unit,mcu)与微控制单元mcu之间进行单向通讯时采用通用异步收发器(universal asynchronous receiver/transmitter,uart)实现。然而,微控制单元通过通过uart实现单向通讯的基础是mcu均在硬件上支持uart,这无疑提高了微控制单元单向通讯的实现难度,导致灵活性和便捷性较低。并且,微控制单元在硬件上满足uart配置的成本较高。


技术实现思路

1、本发明的目的是提供一种微控制单元单向通讯方法及系统,旨在解决相关场景中通过uart进行单向通讯时,微控制单元单向通讯的实现难度较高,导致灵活性和便捷性较低。并且,微控制单元在硬件上满足uart配置的成本较高的技术问题。

2、为了实现上述目的,本公开实施例的第一方面,提供一种微控制单元单向通讯方法,应用于主微控制单元向从微控制单元发送数据,所述主微控制单元与所述从微控制单元之间通过i/o接口进行物理连接,所述方法包括:

3、所述主微控制单元通过所述i/o接口向所述从微控制单元输出低电平起始信号,并在延时第一预设时长后,停止输出所述低电平起始信号;

4、所述从微控制单元在接收到所述低电平起始信号后,关闭中断,并持续处于接收数据状态;

5、所述主微控制单元在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高电平信号和低电平信号,其中,所述高电平信号用于携带数据,所述低电平信号用于时间修正,并且,所述低电平信号的低电平延时时长相同,所述高电平信号的高电平延时时长不同对应的数据类型不同;

6、所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型;

7、所述主微控制单元在所述高低电平相间的高电平信号和低电平信号发送完成后,恢复默认的初始空闲高电平,释放总线。

8、在一种可能实现的方式中,所述主微控制单元在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高电平信号和低电平信号,包括:

9、所述主微控制单元在停止输出所述低电平起始信号后,依次从低位bit0至高位bit7向所述从微控制单元发送高低电平相间的8个所述高电平信号和8个所述低电平信号。

10、在一种可能实现的方式中,所述主微控制单元在停止输出所述低电平起始信号后,依次从低位bit0至高位bit7向所述从微控制单元发送高低电平相间的8个高电平信号和8个低电平信号,包括:

11、所述主微控制单元在停止输出所述低电平起始信号后,在bit0向所述从微控制单元发送第一高电平信号,并在所述第一高电平信号发送完成后,将电位拉低;

12、在所述电位拉低持续所述低电平延时时长后,在bit1向所述从微控制单元发送第二高电平信号,并在所述第二高电平信号发送完成后,再次将所述电位拉低;

13、在所述电位拉低再次持续所述低电平延时时长后,在bit2向所述从微控制单元发送第三高电平信号,并在所述第三高电平信号发送完成后,再次将所述电位拉低;

14、在所述电位拉低再次持续所述低电平延时时长后,在bit3向所述从微控制单元发送第四高电平信号,并在所述第四高电平信号发送完成后,再次将所述电位拉低;

15、在所述电位拉低再次持续所述低电平延时时长后,在bit4向所述从微控制单元发送第五高电平信号,并在所述第五高电平信号发送完成后,再次将所述电位拉低;

16、在所述电位拉低再次持续所述低电平延时时长后,在bit5向所述从微控制单元发送第六高电平信号,并在所述第五高电平信号发送完成后,再次将所述电位拉低;

17、在所述电位拉低再次持续所述低电平延时时长后,在bit6向所述从微控制单元发送第七高电平信号,并在所述第七高电平信号发送完成后,再次将所述电位拉低;

18、在所述电位拉低再次持续所述低电平延时时长后,在bit7向所述从微控制单元发送第八高电平信号,并在所述第八高电平信号发送完成后,再次将所述电位拉低。

19、在一种可能实现的方式中,在所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型之前,包括:

20、所述从微控制单元将在关闭中断后接收到的第一个高电平信号与header进行匹配;

21、若关闭中断后接收到的第一个高电平信号与header匹配,则确定关闭中断后接收到的所述第一个高电平信号为头数据;

22、将关闭中断后接收到的所述第一个高电平信号作为头数据,以及将随后接收到的高电平信号作为有效数据保存到数据存储器中。

23、在一种可能实现的方式中,所述方法还包括:

24、所述主微控制单元在所述高电平信号和低电平信号发送完成后,计算crc,并向所述从微控制单元发送crc校验值;

25、所述从微控制单元在一次接收完所述主微控制单元发送的数据的情况下,以fsr0中的值作为地址,访问所述数据存储器中的数据,其中,所述一次接收为所述低电平起始信号至所述初始空闲高电平之间的接收过程;

26、根据所述crc校验值,采用crc8_maxim算法对从所述数据存储器中访问的所述数据进行校验。

27、在一种可能实现的方式中,所述从微控制单元在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型,包括:

28、所述从微控制单元在每一次接收到所述高电平信号的情况下,若所述高电平信号的接收时长超过预设时长阈值的情况下,则确定所述高电平信号的数据类型为第一数据类型,若所述高电平信号的接收时长不超过所述预设时长阈值,则确定所述高电平信号的数据类型为第二数据类型。

29、在一种可能实现的方式中,所述预设时长阈值为8us,所述第一数据类型对应的延时时长为12us,所述第二数据类型对应的延时时长为4us。

30、在一种可能实现的方式中,所述方法还包括:

31、所述从微控制单元在接收到任意高电平信号的情况下,启动计时;

32、在所述计时达到第二时长的情况下,若仍为接收到下一个低电平信号,则重新获取所述i/o接口的状态,以及重新扫描,以查询是否扫描到所述低电平起始信号。

33、在一种可能实现的方式中,所述低电平信号的低电平延时时长为4us。

34、本公开实施例的第二方面,提供一种微控制单元单向通讯系统,所述系统包括:通过i/o接口进行物理连接的主微控制单元和从微控制单元;

35、其中,所述主微控制单元具备通过所述i/o接口向所述从微控制单元发送数据的能力;

36、所述主微控制单元用于,通过所述i/o接口向所述从微控制单元输出低电平起始信号,并在延时第一预设时长后,停止输出所述低电平起始信号;

37、所述从微控制单元用于,在接收到所述低电平起始信号后,关闭中断,并持续处于接收数据状态;

38、所述主微控制单元用于,在停止输出所述低电平起始信号后,依次向所述从微控制单元发送高低电平相间的高电平信号和低电平信号,其中,所述高电平信号用于携带数据,所述低电平信号用于时间修正,并且,所述低电平信号的低电平延时时长相同,所述高电平信号的高电平延时时长不同对应的数据类型不同;

39、所述从微控制单元用于,在每一次接收到所述高电平信号的情况下,根据所述高电平信号的接收时长,确定所述高电平信号的数据类型;

40、所述主微控制单元用于,在所述高低电平相间的高电平信号和低电平信号发送完成后,恢复默认的初始空闲高电平,释放总线。

41、本发明提供了一种微控制单元单向通讯方法及系统。与现有技术相比具备以下有益效果:

42、通过i/o接口物理连接主微控制单元和从微控制单元,解决了uart串口通讯对时序的严格要求。并且,主微控制单元和从微控制单元之间通信协议简单,灵活性和便捷性提高,使得实现对mcu要求非常低,任意配置i/o接口的低成本的mcu即可采用,有效降低成本。

43、本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1