基于I2C的设备通信方法技术

技术编号:38127145 阅读:10 留言:0更新日期:2023-07-08 09:32
基于I2C的设备通信方法,涉及通信技术,本发明专利技术包括下述步骤:(1)主设备向各从设备的固定地址发起呼叫,所述从设备具有两类地址,分别为固定地址和事务地址;(2)处于准备状态下的从设备通过修改事务地址的大小表征事务的优先级,并向主设备发出响应,并将事务地址通过固定地址呼叫反馈给主设备,所述准备状态是指有事务需要与主设备通信处理的状态;(3)主设备获取到事务优先级最高的从设备的事务地址,然后通过访问事务地址和该从设备进行通信;(4)优先级最高的从设备处理完成后,依据当前实时状态调整自己的事务地址;(5)返回步骤(1)。本发明专利技术能在从设备有需求与主机进行通信时,使主机可以访问到该从机,且当有多个从机想与主机通信时,可通过从机事务的重要性进行仲裁选择。仲裁选择。仲裁选择。

【技术实现步骤摘要】
基于I2C的设备通信方法


[0001]本专利技术涉及通信技术。

技术介绍

[0002]参见图1,I2C(Inter

Integrated Circuit)总线是一种由PHLIPS公司开发的两线式总线,用于连接微控制器及其外围设备。I2C总线产生于80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信,其主要优点是简单性和有效性。由于接口直接设置在组件之上,因此I2C总线占用的空间非常小,能够有效减少电路板空间和芯片管脚数量,降低了设备之间的互联成本。其另一个优点是支持多主控,其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。如今,I2C通讯方式在嵌入式系统
应用越来越多,越来越广。
[0003]I2C总线支持任何IC生产过程(NMOS、CMOS、双极性),两线(即串行数据SDA和串行时钟SCL线)在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器。器件在执行数据传输时也可以被看作是主机(Master,即主I2C设备)或从机(Slave,即从I2C设备),主机是初始化总线的数据传输并产生允许传输的时钟信号的器件,此时,任何被寻址的器件都被认为是从机。
[0004]I2C总线数据传输时,SCL线为高电平时,SDA线若保持稳定,那么SDA上是在传输数据bit;若SDA发生跳变,则用来表示一个会话的开始(SDA由高电平向低电平跳变)或结束(SDA由低电平向高电平跳变);SCL线为低电平时,SDA线才能改变传输的数据bit。主机每发送完8bit数据后等待从机的应答(ACK),即在第9个时钟clock,若从机发送应答(ACK),SDA线会被拉低,若从机没有响应应答(ACK),则SDA线会被置高,将引起主机发生RESTART或STOP流程。
[0005]I2C总线的数据传输过程基本过程为:主机发出开始信号;主机接着送出1字节的从机地址信息,其中最低位为读写控制码(1为读、0为写),高7位为从机器件地址代码;从机发出认可信号(ACK);主机开始发送信息,每发完一字节后,从机发出认可信号给主机;主机发出停止信号,结束输出传输过程。
[0006]I2C总线上主机写从机的标准流程为:
[0007]1.主机发起START
[0008]2.主机发送I2C addr(7bit)和W操作0(1bit),等待从机ACK
[0009]3.从机发送ACK
[0010]4.主机发送数据(8bit),等待从机ACK
[0011]5.从机发送ACK
[0012]6.第4步和第5步可以重复多次,即写多帧数据
[0013]7.待主机发送完成最后一帧数据后,主机发起STOP,结束通信
[0014]I2C总线上主机读从机的标准流程为:
[0015]1.主机发起START
[0016]2.主机发送I2C addr(7bit)和R操作1(1bit),等待从机ACK
[0017]3.从机发送ACK
[0018]4.从机发送数据(8bit),等待主机ACK
[0019]5.从机发送ACK
[0020]6.第4步和第5步可以重复多次,即读多帧数据
[0021]7.带主机接收到最后一帧数据后,主机回复NACK(1bit高),然后主机发起STOP,结束通信。
[0022]基于I2C通信协议进行通信的设备都包括主机和从机,通信都是由主机发起START信号开始的。若从机有事务想主动与主机进行通信,则需要采取其他方法。
[0023]现在大多为在I2C总线上额外的增加一根报警线,当从设备想与主设备进行通信时,则拉低报警线,当主设备检测到报警信号拉低后,则通过选址特殊地址去和拉低报警信号的从设备进行通信。这样增加了设计复杂度,对于已经布置好的系统也不利于实施。
[0024]或者采用主机轮询去询问从机,是否有事务请求,采用轮询的方式软件开销大,实时性差,且无法优先处理事务紧急的从机的请求。
[0025]因此设计一种在保持I2C总线的架构不变的情况下,能在从设备想与主机进行通信时,主机可以访问到该从机,且当有多个从机想与主机通信时,可通过从机事务的重要性进行仲裁选择(优先选择)的系统是非常必要的。

技术实现思路

[0026]本专利技术所要解决的技术问题是,提供一种无需改动I2C架构,即能实现高效通信的方法。
[0027]本专利技术解决所述技术问题采用的技术方案是,基于I2C的设备通信方法,其特征在于,包括下述步骤:
[0028](1)主设备向各从设备的固定地址发起呼叫,所述从设备具有两类地址,分别为固定地址和事务地址;
[0029](2)处于准备状态下的从设备通过修改事务地址的大小表征事务的优先级,并向主设备发出响应,并将事务地址通过固定地址呼叫反馈给主设备,所述准备状态是指有事务需要与主设备通信处理的状态;
[0030](3)主设备获取到事务优先级最高的从设备的事务地址,然后通过访问事务地址和该从设备进行通信;
[0031](4)优先级最高的从设备处理完成后,依据当前实时状态调整自己的事务地址;
[0032](5)返回步骤(1)。
[0033]进一步的,所述步骤(2)中,从设备按照“紧急程度越高则事务地址越小”的方式,按照事务紧急程度配置事务地址。
[0034]进一步的,所述步骤(3)中,如果有两个或更多个从设备的事务地址相同,主设备按照固定地址的大小顺序,安排各事务地址相同的从设备的优先级。
[0035]进一步的,所述从设备在准备状态下,开启固定地址,以备接收总线上的信息;从设备在非准备状态下关闭固定地址。
[0036]在保持I2C总线的架构不变的情况下,本专利技术能在从设备有需求与主机进行通信
时,使主机可以访问到该从机,且当有多个从机想与主机通信时,可通过从机事务的重要性进行仲裁选择。本专利技术可利用从机的双地址实现该功能,不增加额外的报警线,不续修现有的I2C总线系统,实现简单,成本低。
附图说明
[0037]图1是现有技术的基于I2C通信的主从设备结构示意图。
[0038]图2是本专利技术的基于I2C通信的主从设备结构示意图。
[0039]图3是本专利技术的主设备通信流程图。
[0040]图4是本专利技术的从设备通信流程图。
具体实施方式
[0041]参见图2,本专利技术的从设备具有两类地址:固定地址,以及可由从设备依据需求配置的事务地址。从设备在准备状态下(有通信需求时),开启固定地址,以备接收总线上的信息;从设备在非准备状态下关闭固定地址。
[0042]本专利技术包括下述步骤:
[0043](1)主设备呼叫各从设备的固定地址,所述从设备具有两类地址,分别为固定地址和事务地址;
[0044](2)处于准备状态下的从设备通过修改事务地址的大小表征事务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于I2C的设备通信方法,其特征在于,包括下述步骤:(1)主设备向各从设备的固定地址发起呼叫,所述从设备具有两类地址,分别为固定地址和事务地址;(2)处于准备状态下的从设备通过修改事务地址的大小表征事务的优先级,并向主设备发出响应,并将事务地址通过固定地址呼叫反馈给主设备,所述准备状态是指有事务需要与主设备通信处理的状态;(3)主设备获取到事务优先级最高的从设备的事务地址,然后通过访问事务地址和该从设备进行通信;(4)优先级最高的从设备处理完成后,依据当前实时状态调整自己的事务地址;(5)返回步骤(1)。2.如权利要求1所述的基于I2C的设备...

【专利技术属性】
技术研发人员:王玲李国夏浩波丛伟林余葛伟
申请(专利权)人:成都华微电子科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1