一种I2C总线传输装置制造方法及图纸

技术编号:14973781 阅读:68 留言:0更新日期:2017-04-03 01:31
一种I2C总线传输装置,它涉及一种传输装置。本实用新型专利技术为了解决现有技术的I2C总线通讯系统存在占用主循环时间,造成通讯时间长,通讯效率低的问题。本实用新型专利技术的I2C控制器的输出端分别连接状态寄存器、模式寄存器、地址寄存器和数据发送寄存器,数据发送寄存器通过发送移位寄存器连接I2C总线,数据接收寄存器的输入端通过接收移位寄存器连接I2C总线,数据接收寄存器的输出端连接I2C控制器,计数器与I2C控制器建立双向数据传输连接,I2C控制器与I2C总线建立双向数据传输连接。本实用新型专利技术在保证大量传输数据的同时可以正常执行其他控制、通讯功能,提高了通讯效率和通讯质量。

【技术实现步骤摘要】

本技术涉及一种I2C总线装置,具体涉及一种I2C总线传输装置,属于一种I2C总线通讯

技术介绍
传统通讯电源系统中,I2C通讯功能应用十分广泛,业界已形成标准通信协议PMBus数字电源管理协议。该协议是通过传输接口及命令语言来促进电源本体与其他设备通讯。例如,通讯电源与监控管理主机之间的通信采用I2C通讯功能(PMBus电源管理协议)。而这种通讯电源与监控管理主机之间的I2C通讯协议,实际上通讯电源在PMBus环境中充当从器件,监控管理主机充当I2C通讯主机。通讯电源主控芯片在功能实现上是I2C接收中断服务程序处理者,意在执行协议中的传输链路层。但是无论单片机还是DSP,微处理器在作为电源主控芯片时,不可能单一的执行I2C这一个工作,而是全面控制系统的任何功能。PMBus总线协议只是规范化从设备配置数据方式,而主控设备不是基于自主设计的,也不作为一个转换器。多数时候主设备是计算机,只负责单一的处理I2C通讯总线数据。传统的DSP芯片作为I2C主机来实现信息通讯功能时,每次发送数据较少,执行主函数周期较长,不利于大数据量传输,并且直接影响其他功能的控制。
技术实现思路
本技术的目的是为了解决现有技术的I2C总线通讯系统存在占用主循环时间,造成通讯时间长,通讯效率低的问题。本技术的技术方案是:一种I2C总线传输装置,包括主设备、I2C总线和若干从设备,主设备和从设备之间通过I2C总线建立连接,所述主设备包括I2C控制器、状态寄存器、模式寄存器、地址寄存器、计数器、数据接收寄存器、接收移位寄存器、数据发送寄存器和发送移位寄存器,I2C控制器的输出端分别连接状态寄存器、模式寄存器、地址寄存器和数据发送寄存器,数据发送寄存器通过发送移位寄存器连接I2C总线,数据接收寄存器的输入端通过接收移位寄存器连接I2C总线,数据接收寄存器的输出端连接I2C控制器,所述计数器与I2C控制器建立双向数据传输连接,I2C控制器与I2C总线建立双向数据传输连接。所述I2C总线包括SDA线和SCL线,所述I2C控制器与SCL线建立双向数据传输连接,所述接收移位寄存器和发送移位寄存器均与SDA寄存器建立连接。所述从设备分别与SDA线和SCL线建立双向数据传输连接。本技术与现有技术相比具有以下效果:本技术有效的解决了传统I2C总线通讯装置的占用主循环时间,造成通讯时间长,通讯效率低的问题,本技术在保证大量传输数据的同时可以正常执行其他控制、通讯功能,提高了通讯效率和通讯质量。附图说明图1,本技术的结构框图;图2,本技术发送数据过程的原理图;图3,本技术接收数据过程的原理图。具体实施方式结合附图说明本技术的具体实施方式,本技术的一种I2C总线传输装置,包括DSP主设备、I2C总线、从设备a、从设备b和从设备c,DSP主设备和从设备之间通过I2C总线建立连接,所述DSP主设备包括I2C控制器、状态寄存器I2CSTR、模式寄存器I2CMDR、地址寄存器I2CSAR、计数器、数据接收寄存器I2CDRR、接收移位寄存器I2CRSR、数据接发送存器I2CDXR和发送移位寄存器I2CXSR,I2C控制器的输出端分别连接状态寄存器I2CSTR、模式寄存器I2CMDR、地址寄存器I2CSAR和数据接发送存器I2CDXR,数据接发送存器I2CDXR通过发送移位寄存器I2CXSR连接I2C总线,数据接收寄存器I2CDRR的输入端通过接收移位寄存器I2CRSR连接I2C总线,数据接收寄存器I2CDRR的输出端连接I2C控制器,所述计数器与I2C控制器建立双向数据传输连接,I2C控制器与I2C总线建立双向数据传输连接。所述I2C总线包括SDA线和SCL线,所述I2C控制器与SCL线建立双向数据传输连接,所述接收移位寄存器I2CRSR和发送移位寄存器I2CXSR均与SDA寄存器建立连接。所述从设备分别与SDA线和SCL线建立双向数据传输连接。如图2所示,步骤1:主设备DSP判断状态寄存器I2CSTR中总线忙位BB是否等于0。当BB不等于0,总线正忙,跳出函数。当BB等于0时,判断总线处于空闲状态,可以进行配置I2C通讯。步骤2:将地址字节赋值给地址寄存器I2CSAR,并将模式寄存器I2CMDR起始条件位STT置1并跳出函数体,待主循环下次进入I2C写命令函数。步骤3:当再次进入I2C写命令函数时,判断模式寄存器IwCMDR起始条件位STT是否等于0,只有模式寄存器I2CMDR起始条件位STT等于0时表示起始条件及写从器件地址发送完成。步骤4:将命令字节装载到I2C数据发送寄存器I2CDXR,并跳出I2C写命令函数。步骤5:待再次进入函数体,判断状态寄存器I2CSTR中发送完成位ARDY是否置位。当数据发送成功后状态寄存器I2CSTR中发送完成位ARDY会自动置位,对状态寄存器I2CSTR中发送完成位ARDY写1清除该标志位。重复步骤四、步骤五:继续向I2C数据发送寄存器I2CDXR装载发送数据,以此类推。步骤6:直到发送完所有数据后置模式寄存器I2CMDR停止条件位STP。步骤7:再次进入函数体判断,当STP等于0时,写命令函数执行完成。图3所示,主设备读取数据传输的I2C通讯方法包括以下步骤:步骤1:判断状态寄存器I2CSTR中总线忙位BB是否等于0。当BB不等于0,总线正忙,跳出函数。当BB等于0时,总线处于空闲状态,可以进行配置I2C通讯。步骤2:将地址字节赋值给地址寄存器I2CSAR,并将模式寄存器I2CMDR起始条件位STT置1并跳出函数体。步骤3:待主循环下次进入I2C写命令函数。判断模式寄存器I2CMDR起始条件位STT是否等于0,只有模式寄存器I2CMDR起始条件位STT等于0时表示起始条件及写从器件地址发送完成。步骤4:将命令字节装载到I2C数据发送寄存器I2CDXR,并跳出I2C写命令函数。步骤5:待再次进入函数体,判断状态寄存器I2CSTR中发送完成位ARDY是否置位。当数据发送成功后状态寄存器I2CSTR中发送完成位ARDY会自动置位,对状态寄存器I2CSTR中发送完成位ARDY写1清除该标志位。步骤6:再次向模式寄存器I2CMDR起始条件位STT写1。步骤7:循环进入读命令函数,当STT请0时,保存I2C数据接收寄存器I2CDRR,并重复进行该步骤,直到保存过指定个数数据后置模式寄存器I2CMDR停止条件位STP。本文档来自技高网...

【技术保护点】
一种I2C总线传输装置,包括主设备、I2C总线和若干从设备,主设备和从设备之间通过I2C总线建立连接,其特征在于:所述主设备包括I2C控制器、状态寄存器、模式寄存器、地址寄存器、计数器、数据接收寄存器、接收移位寄存器、数据发送寄存器和发送移位寄存器,I2C控制器的输出端分别连接状态寄存器、模式寄存器、地址寄存器和数据发送寄存器,数据发送寄存器通过发送移位寄存器连接I2C总线,数据接收寄存器的输入端通过接收移位寄存器连接I2C总线,数据接收寄存器的输出端连接I2C控制器,所述计数器与I2C控制器建立双向数据传输连接,I2C控制器与I2C总线建立双向数据传输连接。

【技术特征摘要】
1.一种I2C总线传输装置,包括主设备、I2C总线和若干从设备,主设备和从设备之
间通过I2C总线建立连接,其特征在于:所述主设备包括I2C控制器、状态寄存器、模式
寄存器、地址寄存器、计数器、数据接收寄存器、接收移位寄存器、数据发送寄存器和发
送移位寄存器,I2C控制器的输出端分别连接状态寄存器、模式寄存器、地址寄存器和数
据发送寄存器,数据发送寄存器通过发送移位寄存器连接I2C总线,数据接收寄存器的输
入端通过接收移位寄存器连接I2C总线,数据接收寄存器的输...

【专利技术属性】
技术研发人员:刘宇博王旭东
申请(专利权)人:哈尔滨理工大学
类型:新型
国别省市:黑龙江;23

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

1