基于I2C总线的通信电路及调试方法与流程

文档序号:15358575发布日期:2018-09-05 00:19阅读:344来源:国知局

本发明涉及通信控制领域,特别是涉及一种基于i2c总线的通信电路及调试方法。



背景技术:

现代大型通信设备和机电设备是由许多电子器件通过i2c总线(inter-integratedcircuit,内部集成电路总线)连接而成;i2c总线是由philips公司开发的一种简单、双向二线制同步串行总线,只需要两根线即可在连接于总线上的器件之间传送数据。

同一路i2c总线可连接主器件和多个外围器件,外围器件的地址由器件地址和引脚地址两部分组成,共七位编码;器件地址是i2c器件固有的地址编码,器件出厂时就已给定,不可更改;引脚地址由i2c总线外围器件的地址引脚决定,根据器件在电路中接电源正极、接地或悬空的不同,形成不同的地址代码,引脚地址数决定了同一种器件可接入i2c总线的最大数目。

而传统技术中器件之间仅由一路i2c总线构建通信通道,因每个器件在i2c总线上的地址唯一性,当在同一路i2c总线的两个器件地址发生冲突时,在开发过程中需要将冲突的器件转移到其他i2c总线,从而造成软件及硬件的错乱和变动,降低生产效率,从而增大生产成本。



技术实现要素:

基于此,针对上述问题,本发明提供了一种基于i2c总线的通信电路及调试方法,以解决i2c地址冲突的问题,降低生产成本。

一种基于i2c总线的通信电路,包括主器件和转换i2c装置;

所述主器件和所述转换i2c装置均设置有i2c接口和转换接口;

所述主器件的i2c接口用于连接第一外围器件;

所述主器件的转换接口与所述转换i2c装置的转换接口连接,所述转换i2c装置的i2c接口用于连接第二外围器件。

在一个实施例中,基于i2c总线的通信电路还包括第一电阻和第二电阻;

所述第一电阻的一端连接所述主器件的i2c接口,所述第一电阻的另一端用于连接所述第一外围器件;

所述第二电阻的一端连接所述转换i2c装置的i2c接口,所述第二电阻的另一端用于连接所述第二外围器件。

第一电阻和第二电阻在电路中起到通断路和匹配阻抗的作用,增加了通断路切换操作的选项,有效减小了振铃过冲的幅度和持续时间,利于信号的接收。

在一个实施例中,所述转换接口为usb接口,所述转换i2c装置为usb转换i2c芯片;设有usb接口的主器件和usb转换i2c芯片具有热拔插、携带方便、标准统一、可连接多个设备和通信速度快的优点。

在一个实施例中,所述转换接口为usb2.0接口。

在一个实施例中,所述转换i2c装置包括uart转换i2c芯片或spi转换i2c芯片。

在一个实施例中,基于i2c总线的通信电路还包括集线器,所述集线器的一端连接所述主器件的usb接口,所述集线器的另一端连接所述usb转换i2c芯片的usb接口;通过引入集线器可增加转换i2c装置的接入量,以使转换i2c装置连接对应数量的外围器件,实现主器件就可操作多个外围器件。

在一个实施例中,所述集线器包括无源集线器、有源集线器或智能集线器。

在一个实施例中,所述转换i2c装置设有多个i2c接口。

在一个实施例中,所述第二外围器件为显示屏控制芯片。

一种基于i2c总线的调试方法,包括以下步骤:

将第二外围器件连接至主器件的i2c接口,并对所述第二外围器件进行调试;

当检测到所述第二外围器件连接至主器件的i2c接口的第一外围器件的i2c地址冲突时,断开所述第二外围器件与所述主器件的连接;

将所述第二外围器件连接至转换i2c装置的i2c接口,且将所述转换i2c装置的转换接口连接至所述主器件的转换接口,以使所述第二外围器件与所述主器件进行通信,并对所述第二外围器件进行调试。

本发明的上述技术方案具有如下有益效果:当连接在同一路i2c总线的第一外围器件和第二外围器件的地址冲突时,通过在主器件和第二外围器件间引入转换i2c装置,将非i2c协议数据与i2c协议数据进行转换,实现主器件和第二外围器件间的数据双向传输,解决了第一外围器件和第二外围器件的i2c地址冲突的问题,无需将冲突的外围器件调整到其他i2c总线上,提高软件及硬件的平稳性;同时电路结构简单,实际产品易于设计和生产,成本较低。

附图说明

图1为本发明实施例中基于i2c总线的通信电路的第一原理框图;

图2为传统技术的i2c总线通信电路的原理框图;

图3为本发明实施例中基于i2c总线的通信电路的第二原理框图;

图4为本发明实施例中基于i2c总线的调试方法的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下通过实施例,并结合附图,对本发明的基于i2c总线的通信电路进行进一步详细说明。

应当理解,除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同;术语″第一″、″第二″等仅用于描述目的,而不能理解为指示或暗示相对重要性获知隐含指明所指示的技术特征的数量;由此,限定有″第一″、″第二″等的特征可以明示或者隐含地包括一个或者更多个该特征;在本发明的描述中,除非另有说明,″多个″的含义是两个或两个以上。

需要说明的是,当一个元件被认为是″连接″另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。相反,当元件被称作″直接″与另一元件连接时,不存在中间元件。

本发明实施例中提供一种基于i2c总线的通信电路,如图1所示,包括主器件10和转换i2c装置20;主器件10和转换i2c装置20均设置有i2c接口和转换接口;主器件10的i2c接口120用于连接第一外围器件40;主器件10的转换接口110与转换i2c装置20的转换接口210连接,转换i2c装置20的i2c接口220用于连接第二外围器件30。

转换i2c装置20是一种将非i2c协议数据和i2c协议数据相互转换的通信装置。转换i2c装置20可为usb(universalserialbus,通用串行总线)转换i2c装置,usb转换i2c装置设有usb接口和i2c接口,可将usb协议数据转换为i2c协议数据,也可将i2c协议数据转换为usb协议数据。

非i2c协议数据是指通过主器件10的转换接口110与转换i2c装置20的转换接口210进行传输的数据,区别于i2c协议数据,非i2c协议数据可为usb数据,usb数据是主器件10与转换i2c装置20通过usb总线进行传输。

在本实施例中,第一外围器件40设有i2c接口420,主器件10的i2c接口120与第一外围器件40的i2c接口通过i2c总线连接,实现主器件10和第一外围器件40的i2c协议数据的双向传输。

在本实施例中,第二外围器件30设有i2c接口320,转换i2c装置20的i2c接口220与第二外围器件30的i2c接口320连接。

当主器件10需要与第二外围器件30进行通信时,主器件10通过其转换接口110发送非i2c协议数据至转换i2c装置20,转换i2c装置20将该非i2c协议数据转换为i2c协议数据,并将该i2c协议数据通过i2c接口220发送给第二外围器件30。同理,当第二外围器件30需要与主器件10进行通信时,第二外围器件30通过其i2c接口320将i2c协议数据发送给转换i2c装置20,转换i2c装置20将i2c协议数据转换为非i2c协议数据,并将该非i2c协议数据通过转换接口210发送给主器件10;通过转换i2c装置20实现了主器件10与第二外围器件30的双向数据传输。

现有技术中,如图2所示,器件之间的接口定义仅有一路i2c,主器件10通过同一路i2c总线与第一外围器件40、第二外围器件30连接,主器件10与第一外围器件40、第二外围器件30仅由一路i2c总线进行双向传输,当第一外围器件40和第二外围器件30的地址冲突(即地址相同)时,只能将冲突的外围器件调整到其他i2c总线上,而造成软件及硬件的错乱和变动,降低生产效率,从而增大生产成本。而在本实施例中,通过在主器件10和第二外围器件30间引入转换i2c装置20,将非i2c协议数据与i2c协议数据进行转换,实现主器件10和第二外围器件30间的数据双向传输,解决了第一外围器件40和第二外围器件30的i2c地址冲突的问题,无需将冲突的外围器件调整到其他i2c总线上,提高软件及硬件的平稳性;同时电路简单,实际产品易于设计和生产,成本较低。

本发明实施例中的基于i2c总线的通信电路,如图2所示,还包括第一电阻70和第二电阻80;第一电阻70的一端连接主器件10的i2c接口120,第一电阻70的另一端用于连接第一外围器件40;第二电阻80的一端连接转换i2c装置20的i2c接口220,第二电阻80的另一端用于连接第二外围器件30。

在本实施例中,第一电阻70和第二电阻80作为信号链上串接的电阻,第一电阻70和第二电阻80未接入通信电路时会导致电路的断路,第一电阻70和第二电阻80在电路中起到通断路的作用。

在本实施例中,第一电阻70和第二电阻80作为信号链上串接的电阻,因电路板上的信号线是具备特征阻抗的,若该特征阻抗与源阻抗和负载阻抗之间不匹配会产生反射,反射波与入射波在线路上叠加形成驻波;当这样的情况发生时,线路上不同位置不同频率上的振幅都不同,会在线路中产生振铃、过冲等现象。通过串接第一电阻70和第二电阻80的方式减小了振铃过冲的幅度和持续时间,因此第一电阻70和第二电阻80在本实施例中起到匹配阻抗的作用。

综上所述,通过引入第一电阻70和第二电阻80,第一电阻70和第二电阻80在电路中起到通断路的作用,增加了通断路切换操作的选项,便于电路开发者;同时第一电阻70和第二电阻80起到匹配阻抗的作用,有效减小了振铃过冲的幅度和持续时间,利于信号的接收。

在一个实施例中,转换i2c装置20为转换i2c芯片,芯片一般是指集成电路的载体,也是集成电路经过设计、制造、封装、测试后的结果,通常是一个可以立即使用的独立的整体。

在本实施例中,转换i2c芯片设置有i2c接口和转换接口,通过i2c总线连接转换i2c芯片和第二外围器件30,转换i2c芯片的转换接口210和主器件10的转换接口110连接;通过转换i2c芯片将主器件10发出的非i2c协议数据转换为i2c协议数据,也可将i2c协议数据转换为非i2c协议数据,实现主器件10与第二外围器件30的双向数据传输。

可选的,转换i2c芯片可由转换i2c单片机来代替;转换i2c单片机设有转换接口210和i2c接口220,转换接口210与主器件10的转换接口110连接,i2c接口220与第二外围器件30的i2c接口320连接,实现主器件10与第二外围器件30的双向数据传输。

可选的,转换i2c芯片可由转换i2c适配器来代替,转换i2c适配器设有转换接口210和i2c接口220,属于简易信号转换装置,区别于单片机等具有完整计算机系统的装置,因此在外部计算机端的控制下,转换i2c适配器可以实现主器件10与第二外围器件30的双向数据进行转换。

需要说明的是,转换i2c芯片、转换i2c单片机和转换i2c适配器在本实施例中的设计思路、所起的作用和达到的效果是一样的,但三者的结构复杂程度和其他用途具有差异性,用户可根据自身需求进行选择。

在一个实施例中,如图3所示,转换i2c装置20可以为usb转换i2c芯片,usb相对于i2c是另一种外部总线标准,用于规范主部件与从部件的连接和通讯。此时,转换接口210为usb接口,主器件10和usb转换i2c芯片均设置有i2c接口和usb接口。

在一个实施例中,usb转换i2c芯片为usb2.0转换i2c芯片;转换接口210为usb2.0接口;usb2.0是以usb2.0协议为标准开发出的一种usb接口,相对于usb1.0接口和usb1.1接口,usb2.0接口传输速度更快,应用范围更广,usb2.0接口成为了硬件厂商的通用接口。

在另一个实施例中,usb转换i2c芯片为usb3.0转换i2c芯片,转换接口210为usb3.0;相比于usb2.0,usb3.0接口最大传输速度更快,目前未广泛使用。

如上所述,设置有usb接口的主器件10具有热拔插、携带方便、标准统一、可连接多个设备和通信速度快的优点,因此与主器件10配套的usb转换i2c芯片提高了信号转换速度、简化了操作;同时芯片内含集成电路的硅片,体积很小,使得usb转换i2c芯片的体积较小,相应地可缩小电路板的体积。

主器件10通过usb转换i2c芯片实现与第二外围器件30的数据传输,使得主器件10可以像操作usb设备一样操作设有i2c接口的第二外围器件30。

在一个实施例中,转换i2c装置20可以是uart(universalasynchronousreceiver/transmitter,通用异步收发传输器)转换i2c芯片,uart是一种异步收发传输器,它将要传输的资料在串行通信与并行通信之间加以转换。主器件10和uart转换i2c芯片均设置有uart接口和i2c接口,通过uart转换i2c芯片作为居中元件连接主器件10和第二外围器件30,将uart协议数据和i2c协议数据进行相互转换,使得主器件10可以像操作uart设备一样操作第二外围器件30。

在一个实施例中,转换i2c装置20可以是spi(serialperipheralinterface,串行外设接口)转换i2c芯片,spi一种高速的、全双工、同步的通信总线。主器件10和spi转换i2c芯片均设置有i2c接口和spi接口,通过spi转换i2c芯片为居中元件构建通信通道,spi转换i2c芯片将主器件10发出的spi协议数据转换为i2c协议数据,spi转换i2c芯片也可将i2c协议数据转换为spi协议数据,主器件10通过spi转换i2c芯片实现与第二外围器件30的数据传输。

如上所述,用户可根据实际需求和主器件10的接口选择相应的转换i2c装置20,以实现主器件10和第二外围器件30间的数据传输。

本发明实施例的基于i2c总线的通信电路,如图3所示,还包括集线器90,集线器90的一端连接主器件10的usb接口,集线器90的另一端连接usb转换i2c芯片的usb接口。

集线器90(hub)主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。

在本实施例中,集线器90数量可以为一个或多个,且每个集线器90的usb接口可以有一个或多个,集线器90可以为无源集线器、有源集线器或智能集线器。

举例说明,本实施例中的基于i2c总线的通信电路包含一个集线器90,且该集线器90的usb接口有5个,集线器90可以与5个usb转换i2c芯片通过usb总线连接,每个usb转换i2c芯片通过i2c总线与对应的外围器件连接,因此设有一个usb接口的主器件10可同时操作5个外围器件。

如上所述,通过引入集线器90,增加了usb转换i2c芯片的接入量,以使usb转换i2c装置连接对应数量的外围器件,实现设有一个usb接口的主器件10就可操作多个外围器件。

在一个实施例中,转换i2c装置20设有多个i2c接口,使得转换i2c装置20可与多个外围器件通过i2c总线连接,此时,主器件10通过转换i2c装置20的多个i2c接口可操作多个外围器件。

举例说明,转换i2c装置20设有两个i2c接口,转换i2c装置20通过i2c总线与两个外围器件连接,故主器件10通过设有两个i2c接口的转换i2c装置20操作两个外围器件。

如上所述,通过转换i2c装置20设有多个i2c接口,可增加与转换i2c装置20连接的外围器件,实现主器件10通过一个转换接口就可操作多个外围器件,同时缩小了实际应用中印刷电路板的体积。

在一个实施例中,第二外围器件30为显示屏控制芯片,主器件10与第一外围器件40通过i2c总线连接,显示屏控制芯片与转换i2c装置20通过i2c总线连接,转换i2c装置20的转换接口210与芯片的转换接口连接,主器件10通过转换i2c装置20操作显示屏控制芯片。

需要说明的是,第一外围器件40和第二外围器件30是指具有i2c接口的器件,在本实施例中第二外围器件30为显示屏控制芯片,并不能将第二外围器件30限制为显示屏控制芯片,第二外围器件30还包括其他具有i2c接口的器件,在此不再赘述。

本发明实施例中提供了一种基于i2c总线的调试方法,如图4所示,且一并参照图1至图3,该方法包括以下步骤:

s1:将第二外围器件30连接至主器件10的i2c接口120,并对第二外围器件30进行调试。

主器件10仅设有一个i2c接口,主器件10的i2c接口120已连接第一外围器件40的i2c接口420,在调试过程中,将第二外围器件30的i2c接口320与主器件10的i2c接口120进行连接,并对第二外围器件30进行调试。此时,主器件仅通过同一路i2c总线与第一外围器件40、第二外围器件30连接,由于第一外围器件40和第二外围器件30在同一路i2c总线上的地址具有唯一性,主器件10可根据i2c地址寻找第二外围器件30,实现主器件10与第二外围数据30的双向数据传输。

s2:当检测到第二外围器件30和第一外围器件40的i2c地址冲突时,断开第二外围器件30与主器件10的连接,第一外围器件40连接主器件10的i2c接口120。

第一外围器件40、第二外围器件30通过同一路i2c总线与主器件10连接,当检测到第一外围器件40和第二外围器件30的i2c地址冲突时,主器件10未能根据i2c地址寻找到第二外围器件30以建立通信通道,导致无法传输数据。此时,断开主器件10的i2c接口120与第二外围器件30的连接,以使第二外围器件30的i2c接口320处于空置状态。

s3:将第二外围器件30连接至转换i2c装置20的i2c接口220,且将转换i2c装置20的转换接口210连接至主器件10的转换接口110,以使第二外围器件30与主器件10进行通信,并对第二外围器件30进行调试。

将第二外围器件30的i2c接口320与转换i2c装置20的i2c接口120进行连接,第二外围器件30与转换i2c装置20通过i2c总线可双向传输i2c协议数据;同时将转换i2c装置20的转换接口210连接主器件10的转换接口110,在主器件10与转换i2c装置20之间传输非i2c协议数据;并对第二外围器件30进行调试。转换i2c装置20将非i2c协议数据和i2c协议数据进行转换,建立主器件10与第二外围器件30的数据传输通道,以实现主器件10和第二外围器件30的双向数据传输,解决了第一外围器件40和第二外围器件30的i2c地址冲突的问题,而无需将冲突的外围器件调整到其他i2c总线上,提高软件及硬件的平稳性。

可选的,该调试方法应用在电路板的开发过程中,电路板上设置有主器件10、转换i2c装置20、第一外围器件40、第二外围器件30、第一电阻70和第二电阻80。第一电阻70的一端连接主器件10的i2c接口120,第一电阻70的另一端连接第一外围器件40,第二外围器件30通过第二电阻80连接至主器件10的i2c接口120,并对第二外围器件30进行调试。

当检测到第二外围器件30和第一外围器件40的i2c地址冲突时,主器件10无法根据i2c地址与第二外围器件30进行数据传输;此时,删除第二外围器件30与主器件10之间连接的第二电阻80,以使主器件10与第二外围器件30的数据传输通道断路,此时第二外围器件30的i2c接口320处于空置状态。

然后,再将第二电阻80焊接在第二外围器件30与转换i2c装置20之间,即:第二电阻80的一端连接第二外围器件30的i2c接口320,另一端连接转换i2c装置20的i2c接口220。此时主器件10、转换i2c装置20、第二电阻80以及第二外围器件30形成通信回路,主器件10和第二外围器件30相互之间可以传输数据,实现对第二外围器件30的调试。其中,第二电阻80在电路中起到通断路和匹配阻抗的作用。

本实施例中方法的有益效果:实现主器件10与第二外围器件30通过转换i2c装置20的双向数据传输,而无需将i2c地址冲突的外围器件从电路板拆除,也无需重新设计电路板;同时电路简单,实际产品易于设计和生产,成本较低。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1