C总线传输装置的制造方法

文档序号:10406700阅读:146来源:国知局
C总线传输装置的制造方法
【技术领域】
[0001]本实用新型涉及一种I2C总线装置,具体涉及一种I2C总线传输装置,属于一种I2C总线通讯技术领域。
【背景技术】
[0002]传统通讯电源系统中,I2C通讯功能应用十分广泛,业界已形成标准通信协议PMBus数字电源管理协议。该协议是通过传输接口及命令语言来促进电源本体与其他设备通讯。例如,通讯电源与监控管理主机之间的通信采用I2C通讯功能(PMBus电源管理协议)。
[0003]而这种通讯电源与监控管理主机之间的I2C通讯协议,实际上通讯电源在PMBus环境中充当从器件,监控管理主机充当I2C通讯主机。通讯电源主控芯片在功能实现上是I2C接收中断服务程序处理者,意在执行协议中的传输链路层。
[0004]但是无论单片机还是DSP,微处理器在作为电源主控芯片时,不可能单一的执行I2C这一个工作,而是全面控制系统的任何功能。PMBus总线协议只是规范化从设备配置数据方式,而主控设备不是基于自主设计的,也不作为一个转换器。多数时候主设备是计算机,只负责单一的处理I2C通讯总线数据。
[0005]传统的DSP芯片作为I2C主机来实现信息通讯功能时,每次发送数据较少,执行主函数周期较长,不利于大数据量传输,并且直接影响其他功能的控制。
【实用新型内容】
[0006]本实用新型的目的是为了解决现有技术的I2C总线通讯系统存在占用主循环时间,造成通讯时间长,通讯效率低的问题。
[0007]本实用新型的技术方案是:一种I2C总线传输装置,包括主设备、I2C总线和若干从设备,主设备和从设备之间通过I2C总线建立连接,所述主设备包括I2C控制器、状态寄存器、模式寄存器、地址寄存器、计数器、数据接收寄存器、接收移位寄存器、数据发送寄存器和发送移位寄存器,I2C控制器的输出端分别连接状态寄存器、模式寄存器、地址寄存器和数据发送寄存器,数据发送寄存器通过发送移位寄存器连接I2C总线,数据接收寄存器的输入端通过接收移位寄存器连接I2C总线,数据接收寄存器的输出端连接I2C控制器,所述计数器与I2C控制器建立双向数据传输连接,I2C控制器与I2C总线建立双向数据传输连接。
[0008]所述I2C总线包括SDA线和SCL线,所述I2C控制器与SCL线建立双向数据传输连接,所述接收移位寄存器和发送移位寄存器均与SDA寄存器建立连接。
[0009]所述从设备分别与SDA线和SCL线建立双向数据传输连接。
[0010]本实用新型与现有技术相比具有以下效果:本实用新型有效的解决了传统I2C总线通讯装置的占用主循环时间,造成通讯时间长,通讯效率低的问题,本实用新型在保证大量传输数据的同时可以正常执行其他控制、通讯功能,提高了通讯效率和通讯质量。
【附图说明】
[0011]图1,本实用新型的结构框图;
[0012]图2,本实用新型发送数据过程的原理图;
[0013]图3,本实用新型接收数据过程的原理图。
【具体实施方式】
[0014]结合【附图说明】本实用新型的【具体实施方式】,本实用新型的一种I2C总线传输装置,包括DSP主设备、I2C总线、从设备a、从设备b和从设备c,DSP主设备和从设备之间通过I2C总线建立连接,所述DSP主设备包括I2C控制器、状态寄存器I2CSTR、模式寄存器I2CMDR、地址寄存器I2CSAR、计数器、数据接收寄存器I2⑶RR、接收移位寄存器I2CRSR、数据接发送存器I2CDXR和发送移位寄存器I2CXSR, I2C控制器的输出端分别连接状态寄存器I2CSTR、模式寄存器I2CMDR、地址寄存器I2CSAR和数据接发送存器ltDXR,数据接发送存器ItDXR通过发送移位寄存器I2CXSR连接I2C总线,数据接收寄存器I2CDRR的输入端通过接收移位寄存器I2CRSR连接I2C总线,数据接收寄存器I2CDRR的输出端连接I2C控制器,所述计数器与I2C控制器建立双向数据传输连接,I2C控制器与I2C总线建立双向数据传输连接。
[0015]所述I2C总线包括SDA线和SCL线,所述I2C控制器与SCL线建立双向数据传输连接,所述接收移位寄存器I2CRSR和发送移位寄存器I2CXSR均与SDA寄存器建立连接。
[0016]所述从设备分别与SDA线和SCL线建立双向数据传输连接。
[0017]如图2所示,步骤I:主设备DSP判断状态寄存器I2CSTR中总线忙位BB是否等于O。当BB不等于0,总线正忙,跳出函数。当BB等于O时,判断总线处于空闲状态,可以进行配置I2C通讯。
[0018]步骤2:将地址字节赋值给地址寄存器I2CSAR,并将模式寄存器I2CMDR起始条件位^下置丨并跳出函数体,待主循环下次进入I2C写命令函数。
[0019]步骤3:当再次进入I2C写命令函数时,判断模式寄存器IwCMDR起始条件位STT是否等于O,只有模式寄存器I2CMDR起始条件位STT等于O时表示起始条件及写从器件地址发送完成。
[0020]步骤4:将命令字节装载到I2C数据发送寄存器ItDXR,并跳出I2C写命令函数。
[0021]步骤5:待再次进入函数体,判断状态寄存器I2CSTR中发送完成位ARDY是否置位。当数据发送成功后状态寄存器I2CSTR中发送完成位ARDY会自动置位,对状态寄存器I2CSTR中发送完成位ARDY写I清除该标志位。
[0022]重复步骤四、步骤五:继续向I2C数据发送寄存器ItDXR装载发送数据,以此类推。
[0023]步骤6:直到发送完所有数据后置模式寄存器I2CMDR停止条件位STP。
[0024]步骤7:再次进入函数体判断,当STP等于O时,写命令函数执行完成。
[0025]图3所示,主设备读取数据传输的I2C通讯方法包括以下步骤:
[0026]步骤1:判断状态寄存器I2CSTR中总线忙位BB是否等于O。当BB不等于O,总线正忙,跳出函数。当BB等于O时,总线处于空闲状态,可以进行配置I2C通讯。
[0027]步骤2:将地址字节赋值给地址寄存器I2CSAR,并将模式寄存器I2CMDR起始条件位STT置I并跳出函数体。
[0028]步骤3:待主循环下次进入I2C写命令函数。判断模式寄存器I2CMDR起始条件位STT是否等于O,只有模式寄存器I2CMDR起始条件位STT等于O时表示起始条件及写从器件地址发送完成。
[0029]步骤4:将命令字节装载到I2C数据发送寄存器ItDXR,并跳出I2C写命令函数。
[0030]步骤5:待再次进入函数体,判断状态寄存器I2CSTR中发送完成位ARDY是否置位。当数据发送成功后状态寄存器I2CSTR中发送完成位ARDY会自动置位,对状态寄存器I2CSTR中发送完成位ARDY写I清除该标志位。
[0031 ]步骤6:再次向模式寄存器I2CMDR起始条件位STT写I。
[0032]步骤7:循环进入读命令函数,当STT请O时,保存I2C数据接收寄存器ltDRR,并重复进行该步骤,直到保存过指定个数数据后置模式寄存器I2CMDR停止条件位STP。
【主权项】
1.一种I2C总线传输装置,包括主设备、I2C总线和若干从设备,主设备和从设备之间通过I2C总线建立连接,其特征在于:所述主设备包括I2C控制器、状态寄存器、模式寄存器、地址寄存器、计数器、数据接收寄存器、接收移位寄存器、数据发送寄存器和发送移位寄存器,I2C控制器的输出端分别连接状态寄存器、模式寄存器、地址寄存器和数据发送寄存器,数据发送寄存器通过发送移位寄存器连接I2C总线,数据接收寄存器的输入端通过接收移位寄存器连接I2C总线,数据接收寄存器的输出端连接I2C控制器,所述计数器与I2C控制器建立双向数据传输连接,I2C控制器与I2C总线建立双向数据传输连接。2.根据权利要求1所述一种I2C总线传输装置,其特征在于:所述I2C总线包括SDA线和SCL线,所述I2C控制器与SCL线建立双向数据传输连接,所述接收移位寄存器和发送移位寄存器均与SDA寄存器建立连接。3.根据权利要求2所述一种I2C总线传输装置,其特征在于:所述从设备分别与SDA线和SCL线建立双向数据传输连接。
【专利摘要】一种I2C总线传输装置,它涉及一种传输装置。本实用新型为了解决现有技术的I2C总线通讯系统存在占用主循环时间,造成通讯时间长,通讯效率低的问题。本实用新型的I2C控制器的输出端分别连接状态寄存器、模式寄存器、地址寄存器和数据发送寄存器,数据发送寄存器通过发送移位寄存器连接I2C总线,数据接收寄存器的输入端通过接收移位寄存器连接I2C总线,数据接收寄存器的输出端连接I2C控制器,计数器与I2C控制器建立双向数据传输连接,I2C控制器与I2C总线建立双向数据传输连接。本实用新型在保证大量传输数据的同时可以正常执行其他控制、通讯功能,提高了通讯效率和通讯质量。
【IPC分类】G06F13/38
【公开号】CN205318375
【申请号】CN201620058844
【发明人】刘宇博, 王旭东
【申请人】哈尔滨理工大学
【公开日】2016年6月15日
【申请日】2016年1月21日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1