The present invention provides a method and system of the I2C bus, I2C bus and two are assigned to the current control of the main control device in the current I2C bus is idle, and based on the corresponding state register receives the feedback bit value in I2C bus at idle, to realize bus allocation the current master device control; and the two are real-time acquisition of I2C bus communication is the main control device the current state of each, and in every decision of I2C bus communication is the corresponding master device after the end of the I2C bus to take control of the corresponding current is the main control device, and control the status register the release of the BUSY flag; the right of the main control device for the current distribution control of the main control device with I2C bus. The invention can realize free switching of I2C bus control power under the condition of multi master devices, and improves the communication speed, communication stability and communication quality of I2C bus.
【技术实现步骤摘要】
一种I2C总线的仲裁方法及系统
本专利技术涉及总线通信领域,具体是一种I2C总线的仲裁方法及系统。
技术介绍
I2C(Inter-IntegratedCircuit)总线,是由PHILIPS公司开发的两线式(串行数据(SDA)线和串行时钟(SCL)线)串行总线,通过串行数据(SDA)线和串行时钟(SCL)线在连接到总线的器件间传递信息,是同步通信的一种特殊形式,具有接口线少、控制方式简单、器件封装形式小、通信速率较高等优点,已成为微电子通信控制领域广泛采用的一种总线标准。申请公布号为“CN106155971A”的中国专利申请公开了一种I2C总线的仲裁方法,该方法包括:接收到第一主控器件发送的内部集成电路I2C总线控制请求后,向第二主控器件发送I2C总线释放请求,所述第二主控器件拥有所述I2C总线的控制权;若接收到所述第二主控器件发送的I2C总线释放响应,则向所述第一主控器件发送I2C总线控制响应;接收到所述第一主控器件发送的I2C总线控制应答后,将所述I2C总线的控制权分配给所述第一主控器件。该方案对于各个主控器件的I2C总线控制请求可以相对准确高效地进行仲裁,减少冲突产生的概率,从而减少主控器件获取仲裁结果的延时,有利于处理实时业务。可见,基于上述公开的方案,在多主控器件的I2C总线链路中,让一个主控器件长期占用总线的控制权,即使在没有数据发送任务时,该主控器件也会一直独占总线的控制权,直至另一个主控器件需要发送数据包时,才会通过仲裁模块申请释放总线的控制权,从而进行控制权的切换。这使得总线资源一直处于“非A即B”的被占用状态,造成了总线资源的极大浪费。 ...
【技术保护点】
一种I2C总线的仲裁方法,应用在网络设备中,所述网络设备包括至少两个主控器件,所述的I2C总线配设有总线仲裁单元,其特征在于,所述的总线仲裁单元配置有一状态寄存器,所述的状态寄存器定义有BUSY标志位、WAIT标志位和ERROR标志位,其中BUSY标志位用于指示I2C总线占用状态、WAIT标志位用于指示I2C总线等待释放状态、ERROR标志位用于指示I2C总线故障状态;该I2C总线的仲裁方法包括步骤:总线仲裁单元接收当前主控器件发送的I2C总线控制请求;总线仲裁单元在接收到当前主控器件发送的I2C总线控制请求后,判定I2C总线当前是否空闲;总线仲裁单元在判定I2C总线当前空闲后,将I2C总线的控制权分配给上述当前主控器件,并拉高上述状态寄存器的BUSY标志位;否则总线仲裁单元访问所述的状态寄存器,并在接收到上述状态寄存器当前反馈的相应标志位的值后,实现对上述当前主控器件的总线控制权的统筹分配;总线仲裁单元实时采集各当前确权主控器件的I2C总线通信状态,并在每次判定相应当前确权主控器件的I2C总线通信结束后,收回该相应当前确权主控器件的I2C总线控制权,并控制上述状态寄存器释放其BUSY ...
【技术特征摘要】
1.一种I2C总线的仲裁方法,应用在网络设备中,所述网络设备包括至少两个主控器件,所述的I2C总线配设有总线仲裁单元,其特征在于,所述的总线仲裁单元配置有一状态寄存器,所述的状态寄存器定义有BUSY标志位、WAIT标志位和ERROR标志位,其中BUSY标志位用于指示I2C总线占用状态、WAIT标志位用于指示I2C总线等待释放状态、ERROR标志位用于指示I2C总线故障状态;该I2C总线的仲裁方法包括步骤:总线仲裁单元接收当前主控器件发送的I2C总线控制请求;总线仲裁单元在接收到当前主控器件发送的I2C总线控制请求后,判定I2C总线当前是否空闲;总线仲裁单元在判定I2C总线当前空闲后,将I2C总线的控制权分配给上述当前主控器件,并拉高上述状态寄存器的BUSY标志位;否则总线仲裁单元访问所述的状态寄存器,并在接收到上述状态寄存器当前反馈的相应标志位的值后,实现对上述当前主控器件的总线控制权的统筹分配;总线仲裁单元实时采集各当前确权主控器件的I2C总线通信状态,并在每次判定相应当前确权主控器件的I2C总线通信结束后,收回该相应当前确权主控器件的I2C总线控制权,并控制上述状态寄存器释放其BUSY标志位;所述的当前确权主控器件为当前分配有I2C总线的控制权的主控器件。2.根据权利要求1所述的I2C总线的仲裁方法,其特征在于,在接收到上述状态寄存器当前反馈的相应标志位的值后,实现对上述当前主控器件的总线控制权的统筹分配,具体包括:总线仲裁单元在接收到上述状态寄存器回应的BUSY标志位的值为该标志位被拉高后对应的值、回应的WAIT标志位和ERROR标志位的值均为初始值后,拉高所述状态寄存器的WAIT标志位,并向上述当前主控器件发送等待被分配I2C总线控制权的回应;总线仲裁单元在接收到上述状态寄存器回应的BUSY标志位和WAIT标志位的值对应为相应标志位被拉高后各自对应的相应值、ERROR标志位回应的值为初始值后,向上述当前主控器件发送拒绝分配I2C总线控制权的回应;总线仲裁单元在接收到上述状态寄存器回应的ERROR标志位的值为该标志位被拉高后对应的值后,向上述当前主控器件发送拒绝分配I2C总线控制权的回应。3.根据权利要求2所述的I2C总线的仲裁方法,其特征在于,进一步地,总线仲裁单元在向上述当前主控器件发送等待被分配I2C总线控制权的回应后,并在判定当前确权主控器件的I2C总线通信结束后,释放上述状态寄存器的BUSY标志位,并将I2C总线的控制权分配给该当前主控器件;且在上述将I2C总线的控制权分配给该当前主控器件后,释放上述状态寄存器的WAIT标志位并拉高上述状态寄存器的BUSY标志位。4.一种I2C总线的仲裁系统,应用在网络设备中,所述网络设备包括至少两个主控器件,所述的I2C总线配设有总线仲裁...
【专利技术属性】
技术研发人员:林宁亚,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。