一种基于SMBus/I2C总线的通信系统的制作方法

文档序号:12865895阅读:491来源:国知局
一种基于SMBus/I2C总线的通信系统的制作方法与工艺

本发明涉及电路设计技术领域,尤其涉及一种基于smbus/i2c总线的通信系统。



背景技术:

smbus即系统管理总线是一个两线接口。通过它,各设备之间以及设备与系统的其他部分之间可以互相通信。它基于i2c操作原理。smbus为系统和电源管理相关的任务提供一条控制总线。一个系统利用smbus可以和多个设备互传信息,而不需使用独立的控制线路。smbus标准涉及三类设备。从设备,接收或响应命令的设备。主设备,用来发布命令,产生时钟和终止发送的设备。主机,是一种专用的主设备,它提供与系统cpu的主接口。主机必须具有主-从机功能,并且必须支持smbus通报协议。在一个系统里只允许有一个主机。

smbus/i2c通信是计算机、工控、通信、电子等领域中最为常用的通信方式,smbus/i2c应用于移动pc和桌面pc系统中的低速率通讯。它是通过一条廉价并且功能强大的总线(由两条线组成),来控制主板上的设备并收集相应的信息。

在实现本发明过程中发明人发现现有技术中,mbus/i2c总线下是相同的设备则从设备的设备地址相同会产生冲突,无法实现对多个相同设备地址设备进行控制。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于smbus/i2c总线的通信系统。

本发明实施例提供的基于smbus/i2c总线的通信系统,包括主控设备、i/o控制芯片、切换控制电路以及至少两台具有相同设备地址的通信设备,所述主控设备通过lpc接口与所述i/o控制芯片连接,所述主控设备通过smbus或i2c总线与所述切换控制电路的连接,所述切换控制电路通过smbus或i2c总线还连接有所述至少两台具有相同设备地址的通信设备;

所述i/o控制芯片与所述切换控制电路连接,所述i/o控制芯片根据所述主控设备下发的控制指令对所述切换控制电路的控制信号进行编码,以供所述切换控制电路根据编码后的控制信号切换所述主控设备和与所述切换控制电路连接的通信设备之间的通信连接。

其中,当系统中包括两台具有相同设备地址的通信设备时,所述切换控制电路由多路复用器实现。

其中,所述多路复用器包括控制接口、第一路数据接口、第二路数据接口和第三路数据接口;所述控制接口与所述i/o控制芯片的通用i/o接口gpio连接,所述第一路数据接口通过smbus或i2c总线与所述主控设备连接,所述第二路数据接口和第三路数据接口分别通过smbus或i2c总线与所述两台具有相同设备地址的通信设备连接;

当所述i/o控制芯片根据所述主控设备下发的控制指令控制所述切换控制电路的控制信号为高电平时,切换所述第一路数据接口与所述第二路数据接口连接,实现主控设备与所述第二路数据接口对应的通信设备之间的通信连接;

当所述i/o控制芯片根据所述主控设备下发的控制指令控制所述切换控制电路的控制信号为低电平时,切换所述第一路数据接口与所述第三路数据接口连接,实现主控设备与所述第三路数据接口对应的通信设备之间的通信连接。

其中,所述切换控制电路包括多个控制子电路,所述主控设备分别通过smbus或i2c总线与各个控制子电路连接,每一控制子电路通过smbus或i2c总线对应连接有一台通信设备,各个控制子电路的控制接口分别与所述i/o控制芯片的一个通用i/o接口gpio连接,所述切换控制电路所连接的通信设备具有相同设备地址;

所述i/o控制芯片根据所述主控设备下发的控制指令对所述切换控制电路中每一控制子电路的控制信号进行编码,实现所述主控设备与任一控制子电路连接的通信设备之间的通信连接。

其中,所述控制子电路包括开关控制模块和继电器模块,所述开关控制模块的控制信号输入端与所述i/o控制芯片的一个通用i/o接口gpio连接,所述开关控制模块的控制信号输出端与所述继电器模块的控制接口连接;所述主控设备分别通过smbus或i2c总线与所述继电器模块连接,所述继电器模块通过smbus或i2c总线对应连接有一台通信设备;

当所述i/o控制芯片根据所述主控设备下发的控制指令控制所述开关控制模块关闭时,所述继电器模块断开所述主控设备与对应的通信设备之间的通信连接;当所述i/o控制芯片根据所述主控设备下发的控制指令控制所述开关控制模块开启时,所述继电器模块建立所述主控设备与对应的通信设备之间的通信连接。

其中,所述开关控制模块包括第一电阻、第二电阻、pmos管、nmos管和二极管,所述pmos管的源极连接电源,所述pmos管的漏极连接所述nmos管的漏极,所述pmos管的栅极连接所述nmos管的栅极,所述nmos管的源极接地,所述第一电阻的一端连接在所述pmos管的栅极,另一端与所述i/o控制芯片的一个通用i/o接口gpio连接,所述第二电阻的一端与所述i/o控制芯片的一个通用i/o接口gpio连接,另一端接地,所述pmos管的漏极连接在所述继电器模块的控制接口连接,所述二极管的正极与所述pmos管的漏极连接,所述二极管的负极连接电源,当所述通用i/o接口gpio输出为低电平时,所述nmos管截止,所述继电器模块断开所述主控设备与对应的通信设备之间的通信连接;当所述通用i/o接口gpio输出为高电平时,所述nmos管导通,所述继电器模块建立所述主控设备与对应的通信设备之间的通信连接。

本发明实施例提供的基于smbus/i2c总线的通信系统,通过切换电路实现了smbus/i2c信号线的切换,进而实现了对smbus/i2c总线下设备地址相同的设备的通信连接控制,解决从设备地址相同造成冲突的问题,而且通过lpc接口控制切换电路实现硬件上的隔离。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例的一种基于smbus/i2c总线的通信系统的结构框图;

图2为本发明实施例的另一种基于smbus/i2c总线的通信系统的结构框图;

图3为本发明实施例中的多路复用器的电路结构图;

图4为本发明实施例的又一种基于smbus/i2c总线的通信系统的结构框图;

图5为本发明实施例中的开关控制模块的电路结构图;

图6为本发明实施例中的继电器模块的电路结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

图1示意性示出了本发明一个实施例的基于smbus/i2c总线的通信系统的结构框图。参照图1,本发明实施例提供的基于smbus/i2c总线的通信系统,包括主控设备10、i/o控制芯片20、切换控制电路30以及至少两台具有相同设备地址的通信设备40(40-1到40-n),所述主控设备10通过lpc接口与所述i/o控制芯片20连接,所述主控设备10通过smbus或i2c总线与所述切换控制电路的连接,所述切换控制电路30通过smbus或i2c总线还连接有所述至少两台具有相同设备地址的通信设备,参见图1。

其中,i/o控制芯片20与所述切换控制电路30连接,所述i/o控制芯片30根据所述主控设备10下发的控制指令对所述切换控制电路30的控制信号进行编码,以供所述切换控制电路30根据编码后的控制信号切换所述主控设备10和与所述切换控制电路30连接的通信设备之间的通信连接。

在一个具体实施例中,当系统中包括两台具有相同设备地址的通信设备时,所述切换控制电路30由多路复用器实现,参见图2。

其中,所述多路复用器ts3usb221a包括控制接口s、第一路数据接口(d-与d-)、第二路数据接口(1d+与1d-)和第三路数据接口(2d+与2d-);所述控制接口s与所述i/o控制芯片即nct6776f的通用i/o接口gpio连接,所述第一路数据接口通过smbus或i2c总线与所述主控设备连接,所述第二路数据接口和第三路数据接口分别通过smbus或i2c总线与所述两台具有相同设备地址的通信设备连接;当所述i/o控制芯片根据所述主控设备下发的控制指令控制所述切换控制电路的控制信号为高电平时,切换所述第一路数据接口与所述第二路数据接口连接,实现主控设备与所述第二路数据接口对应的通信设备之间的通信连接;当所述i/o控制芯片根据所述主控设备下发的控制指令控制所述切换控制电路的控制信号为低电平时,切换所述第一路数据接口与所述第三路数据接口连接,实现主控设备与所述第三路数据接口对应的通信设备之间的通信连接。

在本实施例中,如图2所示,采用cpu作为主控设备,采用型号为nct6776f的i/o控制芯片,采用型号为ts3usb221a的多路复用器作为切换控制电路。其中,型号为ts3usb221a的多路复用器的电路结构如图3所示。

本实施例中,切换控制电路的具体工作原理如下:

1、当ts3usb221a的s引脚被拉低时,则ts3usb221a的1d+与d+、1d-与d-分别是短接的,2d+与d+、2d-与d-分别是断开的。

2、当ts3usb221a的s引脚被拉高时,则ts3usb221a的1d+与d+、1d-与d-分别是断开的,2d+与d+、2d-与d-分别是短接的。

实现对smbus/i2c下相同地址设备控制的方法:

3、cpu通过lpc接口对nct6776f进行控制。

4、nct6776f通过cpu的控制指令操作gpio接口。

5、当gpio接口输出低时,则ts3usb221a的1d+与d+、1d-与d-分别是短接的,2d+与d+、2d-与d-分别是断开的。

6、cpu对设备40-1进行控制。

7、当gpio接口输出高时,则ts3usb221a的1d+与d+、1d-与d-分别是断开的,2d+与d+、2d-与d-分别是短接的。

8、cpu对设备40-2进行控制。

在一个具体实施例中,如图4所示,当系统包括多台具有相同设备地址的通信设备时,所述切换控制电路30包括多个控制子电路,所述主控设备分别通过smbus或i2c总线与各个控制子电路连接,每一控制子电路通过smbus或i2c总线对应连接有一台通信设备,各个控制子电路的控制接口分别与所述i/o控制芯片的一个通用i/o接口gpio连接,所述切换控制电路所连接的通信设备具有相同设备地址;所述i/o控制芯片根据所述主控设备下发的控制指令对所述切换控制电路中每一控制子电路的控制信号进行编码,实现所述主控设备与任一控制子电路连接的通信设备之间的通信连接。

具体的,每一控制子电路包括开关控制模块(参见图5)和继电器模块(参见图6),所述开关控制模块的控制信号输入端与所述i/o控制芯片的一个通用i/o接口gpio连接,所述开关控制模块的控制信号输出端与所述继电器模块的控制接口连接;所述主控设备分别通过smbus或i2c总线与所述继电器模块连接,所述继电器模块通过smbus或i2c总线对应连接有一台通信设备;当所述i/o控制芯片根据所述主控设备下发的控制指令控制所述开关控制模块关闭时,所述继电器模块断开所述主控设备与对应的通信设备之间的通信连接;当所述i/o控制芯片根据所述主控设备下发的控制指令控制所述开关控制模块开启时,所述继电器模块建立所述主控设备与对应的通信设备之间的通信连接。

参见图5,所述开关控制模块包括第一电阻r295、第二电阻r294、pmos管q9、nmos管q11和二极管d32,所述pmos管q9的源极连接电源,所述pmos管q9的漏极连接所述nmos管q11的漏极,所述pmos管q9的栅极连接所述nmos管q11的栅极,所述nmos管q11的源极接地,所述第一电阻r295的一端连接在所述pmos管q9的栅极,另一端与所述i/o控制芯片20的一个通用i/o接口gpio连接,所述第二电阻r294的一端与所述i/o控制芯片的一个通用i/o接口gpio连接,另一端接地,所述pmos管q9的漏极连接在所述继电器模块的控制接口连接,所述二极管d32的正极与所述pmos管q9的漏极连接,所述二极管d32的负极连接电源,当所述通用i/o接口gpio输出为低电平时,所述nmos管q11截止,所述继电器模块断开所述主控设备10与对应的通信设备之间的通信连接;当所述通用i/o接口gpio输出为高电平时,所述nmos管q11导通,所述继电器模块建立所述主控设备10与对应的通信设备之间的通信连接。

在本实施例中,如图4所示,采用cpu作为主控设备,采用型号为nct6776f的i/o控制芯片,采用型号为n-nds351an_nl_sot23-lf的nmos管,采用型号为p-ap2303gn_sot23-3-rh/n的pmos管,采用型号为nsvr0320m002t1g的二极管,采用型号为g6k-2p-y的继电器。其中,采用型号为g6k-2p-y的继电器的电路结构如图6所示。

本实施例中,切换控制电路的具体工作原理如下:

1、cpu通过lpc接口对nct6776f进行控制。

2、nct6776f通过cpu的控制指令操作多组gpio接口。

3、nct6776f初始化将各组gpio1、gpio2、gpion接口,让各gpio1、gpio2、gpion接口输出低电平。

4、nct6776f的gpio1与多路切换电路1中的gpio_crtl1相连,当gpio1输出为低时,mos管n-nds351an_nl_sot23-lf则截止,继电器g6k-2p-y的第8管脚被拉高。则继电器g6k-2p-y的管脚3和管脚2导通、管脚6和管脚7导通,则设备40-1与smbus总线隔离。

5、同理可得,nct6776f的gpio1、gpio2、gpion接口都为低,设备40-1、设备40-2到设备40-n都smbus总线隔离。

6、nct6776f的gpio1与多路切换电路1中的gpio_crtl1相连,当gpio1输出为高时,mos管n-nds351an_nl_sot23-lf则导通,继电器g6k-2p-y的第8管脚被拉低。则继电器g6k-2p-y的管脚3和管脚4导通、管脚6和管脚5导通,则设备40-1挂到smbus总线上。

7、cpu对设备40-1进行控制。

8、当传输完毕后,将nct6776f的gpio1拉低,则设备40-1与smbus总线隔离。

9、按照同样的方法,对smbus上的其他设备进行控制。

本发明实施例提供的基于smbus/i2c总线的通信系统,通过切换电路实现了smbus/i2c信号线的切换,进而实现了对smbus/i2c总线下设备地址相同的设备的通信连接控制,解决从设备地址相同造成冲突的问题,而且通过lpc接口控制切换电路实现硬件上的隔离。

本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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