[发明专利]一种I2C通信控制方法、设备及存储介质有效
申请号: | 202110372926.3 | 申请日: | 2021-04-07 |
公开(公告)号: | CN113114550B | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 周哲;潘力;董月芳;张洋;刘敏;付威威;朱海龙 | 申请(专利权)人: | 中国科学院苏州生物医学工程技术研究所 |
主分类号: | H04L12/40 | 分类号: | H04L12/40 |
代理公司: | 北京三聚阳光知识产权代理有限公司 11250 | 代理人: | 项凯 |
地址: | 215163 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 i2c 通信 控制 方法 设备 存储 介质 | ||
一种I2C通信控制方法、设备及存储介质,应用于通过I/O接口实现I2C通信的设备中,其中,基于定时器与双状态机实现,所述方法,包括:针对I2C通信的各通信状态,通过第一状态机的状态轮转,基于定时器产生各通信状态中基于数据bit位的总线时钟信号和总线数据信号;对于其中一个通信状态到其他通信状态之间的转化,根据I2C通信协议或接收到的I2C通信命令,第二状态机基于字节转化成目标通信状态;其中,I2C通信的通信状态包括开始状态、寻址状态、数据发送状态、数据接收状态及停止状态。本方案,I2C通信的实时性、可控性都得到了很好的保障,同时,既做到了通信的可控、稳定,又节约了系统开销,提高了系统的实时性。
技术领域
本发明涉及仪器设备间之的通信控制方案技术领域,具体涉及一种 I2C通信控制方法、设备及存储介质。
背景技术
目前I2C通信控制技术与协议已经非常成熟,几乎所有的微控制器都具有一个甚至多个I2C通信控制器,然而在实际实现主设备与从设备I2C之间通信过程中,实现的方式无外乎两种:一种,使用微控制器内部的I2C控制模块,如果模块本身设计没有缺陷,对于各种通信过程的异常、中断能够有效处理,这是一种效率最高,最为稳定可靠的采用方式。然而,随着实际微处理器工作情况的复杂性以及外部I2C通信设备的多样性,实际设备工作的时候,往往会有各种中断与异常情况的产生,I2C通信过程会被中断、甚至出现异常,而许多微控制器由于内部I2C通信控制自身的设计缺陷,可能出现无法完整发送数据、时钟缺失、总线占用错误等情况。而且,由于系统复杂性,这样的异常与错误的发生没有固定规律,有时甚至是偶发的,这对采用I2C通信的系统而言,严重破坏了系统可靠性与稳定性,导致I2C 通信系统的可靠性及稳定性比较差。第二种,采用I/O端口,对I2C总线进行模拟通信,这种方式可以避免模块本身的设计缺陷,完全采用I/O模拟,由于总线高低电平的变化,对于时序有着非常严格的要求,期间需要采用大量的等待延时方式,这样的设计加大的系统设计的开销,虽然稳定性变得可控,但是却消耗了处理器的运算速度资源,在实际通信过程中大大降低了系统的实时性。
因此,现有技术中的方案,要么I2C通信系统的可靠性及稳定性比较差,要么就是I2C通信系统的可靠性及稳定性得到较好的控制,而消耗了处理器的运算速度资源,导致I2C通信系统的实时性较差。
发明内容
本发明实施例提供一种I2C通信控制方法、设备及存储介质,以克服现有技术方案中的I2C通信系统无法做到可靠性或稳定性与实时性均得到较好控制的技术问题。
第一方面,根据本发明实施例提供一种I2C通信控制方法,应用于通过 I/O接口实现I2C通信的通信设备中,基于定时器与双状态机实现,所述方法,包括:
针对I2C通信的各通信状态,通过第一状态机的状态轮转,基于定时器产生各通信状态中基于数据bit位的总线时钟信号和总线数据信号;
对于其中一个通信状态到其他通信状态之间的转化,根据I2C通信协议或接收到的I2C通信命令,第二状态机基于字节转化成目标通信状态;
其中,I2C通信的通信状态包括开始状态、寻址状态、数据发送状态、数据接收状态及停止状态。
优选地,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院苏州生物医学工程技术研究所,未经中国科学院苏州生物医学工程技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110372926.3/2.html,转载请声明来源钻瓜专利网。