发明内容
鉴于以上内容,有必要提供一种运作成本较低,且实用性较强的I2C总线传输系统。
另外,还有必要提供一种I2C总线传输方法。
一种内部整合电路总线传输系统,包括主控器件及多个从器件;所述内部整合电路总线传输系统还包括逻辑控制单元,所述逻辑控制单元包括多个内部整合电路(I2C)总线接口、侦测模块、内容更改模块及控制模块,所述主控器件及所述多个从器件分别通过所述I2C总线接口与所述逻辑控制单元相连,所述侦测模块用以接收来自主控器件或从器件的命令信号并解析该命令信号,以根据所述命令信号判断下一命令信号的传输方向,并选择相应的从器件及切换相应的数据传输方向,该内容更改模块与所述侦测模块电性连接,用以在所述侦测模块的控制下更改所述命令信号的内容,该控制模块与所述侦测模块及内容更改模块电性连接,用以接收来自所述侦测模块的未更改的命令信号或来自所述内容更改模块更改后的命令信号,并建立该主控器件与选择的从器件之间的传输通道,以通过所述传输通道且按照所述侦测模块切换后的数据传输方向传输所述未更改的命令信号或更改后的命令信号。
一种内部整合电路总线传输方法,适用于上述内部整合电路总线传输系统;所述方法包括以下步骤:a.该侦测模块接收一命令信号;b.所述侦测模块解析该命令信号,以根据所述命令信号判断下一命令信号的传输方向,并选择相应的从器件及切换相应的数据传输方向;c.所述侦测模块分析该命令信号,以判断是否需要对所述命令信号进行修改;若是,则执行步骤d-f;d.所述侦测模块产生及输出一相应的控制信号至所述内容更改模块;e.该内容更改模块接收所述控制信号,并根据所述控制信号更改所述命令信号的内容;f.该控制模块接收所述更改后的命令信号,并建立该主控器件与选择的从器件之间的传输通道,以通过所述传输通道且按照所述侦测模块切换后的数据传输方向传输所述更改后的命令信号。
上述内部整合电路总线传输系统通过设置该逻辑控制单元,不需要再额外设置其他的元器件,例如双向缓冲器、切换单元、多路复用器等,便可有效建立该主控器件及多个从器件之间的双向数据传输,进而简化硬件结构,提高该逻辑控制单元的利用率,降低该内部整合电路总线传输系统的整体运作成本。另外,该逻辑控制单元还通过设置该内容更改模块,可以根据需要对所述命令信号的内容随时进行更改,使得所述内部整合电路总线传输系统更具实用性。
具体实施方式
请参阅图1,本发明较佳实施方式提供一种内部整合电路(Inter-IntegratedCircuit,I2C)总线传输系统100,包括主控器件11、多个从器件13及逻辑控制单元15。
该主控器件11可以为中央处理单元(CenterProcessingUnit,CPU)。该从器件13可以为集成电路(IntegratedCircuit,IC)。该逻辑控制单元15用以作为中转站连接该主控器件11及多个从器件13,使得所述主控器件11与所述多个从器件13之间实现信号的双向传输。在本实施例中,所述逻辑控制单元15是通过可编程逻辑器件实现的,例如复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)、现场可编程门阵列(FieldProgrammableGateArray,FPGA)等。相应地,其逻辑功能可以通过硬件描述语言实现,例如高速硬件描述语言(Very-High-SpeedHardwareDescriptionLanguage,VHDL)、Verlog硬件描述语言等。具体地,该逻辑控制单元15包括多个I2C总线接口151、侦测模块153、内容更改模块155及控制模块157。其中,所述主控器件11及所述多个从器件13分别通过I2C总线接口151与所述逻辑控制单元15相连。
该侦测模块153通过该等I2C总线接口151与该主控器件11及多个从器件13电性连接,用以接收来自主控器件11或从器件13的命令信号并解析该命令信号,以根据所述命令信号判断下一命令信号的传输方向,并选择相应的从器件13及切换相应的数据传输方向。例如,请一并参阅图2,当所述侦测模块153接收到一开始信号(即“start”信号)时,判断下一命令信号的传输方向为:主控器件11→从器件13,即由所述主控器件11发出一地址信号(即“slaveaddress”信号),以选择所述从器件13的地址。如此,所述侦测模块153根据该“slaveaddress”信号及事先设定的从器件地址对应关系选择相应的从器件13。例如当所述侦测模块153分析该“slaveaddress”信号为“001”时,表示选择编号为“001”的从器件13,该“slaveaddress”信号为“010”时,表示选择编号为“010”的从器件13,以此类推。接下来,当所述侦测模块153接收到一读/写信号(即“R/W”信号)时,判断下一命令信号的传输方向为:从器件13→主控器件11,即由选择的从器件13(例如编号为“010”的从器件13)发出一反馈信号(即“ACK”信号)至所述主控器件11,以响应该主控器件11。接着,所述侦测模块153继续接收一数据信号(即“Data”信号)。如此,所述侦测模块153根据该“R/W”信号的值切换相应的数据传输方向。例如,当所述“R/W”信号为1时,则将数据传输方向切换为:从器件13→主控器件11,即由所述主控器件11对所述选择的从器件13进行读操作。反之,当所述“R/W”信号为0时,则将数据传输方向切换为:主控器件11→从器件13,即由所述主控器件11对所述选择的从器件13进行写操作。
所述侦测模块153还用以分析该命令信号,以判断是否直接传送该命令信号或者先对所述命令信号进行修改后再对修改后的命令信号进行传送。当所述侦测模块153通过分析该命令信号判断需要先对所述命令信号进行修改后再对修改后的命令信号进行传送时,产生及输出一相应的控制信号至所述内容更改模块155。而当所述侦测模块153通过分析该命令信号判断需要直接传送该未更改的命令信号时,则直接将所述未更改的命令信号发送至所述控制模块157。
该内容更改模块155与所述侦测模块153电性连接,用于接收所述控制信号,并根据所述控制信号更改所述命令信号的内容。
该控制模块157与所述侦测模块153及内容更改模块155均电性连接,用于接收来自所述侦测模块153的未更改的命令信号或来自所述内容更改模块155更改后的命令信号,并建立该主控器件11与选择的从器件13之间的传输通道,以通过所述传输通道且按照所述侦测模块153切换后的数据传输方向传输所述未更改的命令信号或更改后的命令信号。
可以理解,由于所述多个I2C总线接口151分别具有不同的操作电压,例如3.3V、1.8V、2.5V、5V等。如此,该逻辑控制单元15可连接至多个具有不同操作电压的从器件13,使得该等从器件13与所述主控器件11通过该逻辑控制单元15建立双向通信。
可以理解,由于数据传输结束时,必须产生相应的结束信号(即“stop”信号)。因此,所述侦测模块153还用以分析该等命令信号,以将接收到的“stop”信号或自行产生相应的“stop”信号传送至所述选择的从器件13,进而结束数据的传输。
请一并参阅图3,本发明的I2C总线传输方法具体包括以下步骤:
步骤S31:该侦测模块153通过相应的I2C总线接口151接收到一命令信号。
步骤S32:所述侦测模块153解析该命令信号,以根据所述命令信号判断下一命令信号的传输方向,并选择相应的从器件13及切换相应的数据传输方向。
步骤S33:所述侦测模块153分析该命令信号,以判断是否需要对所述命令信号进行更改。若是,则执行步骤S34-S36。若不是,则直接执行步骤S37。
步骤S34:所述侦测模块153产生及输出一相应的控制信号至所述内容更改模块155。
步骤S35:该内容更改模块155接收所述控制信号,并根据所述控制信号更改所述命令信号的内容。
步骤S36:该控制模块157接收来自内容更改模块155更改后的命令信号,并建立该主控器件11与选择的从器件13之间的传输通道,以通过所述传输通道且按照所述侦测模块153切换后的数据传输方向传输所述更改后的命令信号。
步骤S37:该控制模块157接收来自该侦测模块153的未更改的命令信号,并建立该主控器件11与选择的从器件13之间的传输通道,以通过所述传输通道且按照所述侦测模块153切换后的数据传输方向传输所述未更改的命令信号。
显然,上述I2C总线传输系统100通过设置该逻辑控制单元15,不需要再额外设置其他的元器件,例如双向缓冲器、切换单元、多路复用器等,便可有效建立该主控器件11及多个从器件13之间的双向数据传输,进而简化硬件结构,提高该逻辑控制单元15的利用率,降低该I2C总线传输系统100的整体运作成本。另外,该逻辑控制单元15还通过设置该内容更改模块155,可以根据需要对所述命令信号的内容随时进行更改,使得所述I2C总线传输系统100更具实用性。