公开/公告号CN101162450A
专利类型发明专利
公开/公告日2008-04-16
原文格式PDF
申请/专利权人 鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司;
申请/专利号CN200610063096.1
发明设计人 冯怀元;
申请日2006-10-13
分类号G06F13/38(20060101);G06F13/40(20060101);
代理机构
代理人
地址 518109 广东省深圳市宝安区龙华镇油松第十工业区东环二路2号
入库时间 2023-12-17 19:58:27
法律状态公告日
法律状态信息
法律状态
2018-04-20
专利权的转移 IPC(主分类):G06F13/38 登记生效日:20180402 变更前: 变更后: 变更前:
专利申请权、专利权的转移
2010-01-20
授权
授权
2008-06-11
实质审查的生效
实质审查的生效
2008-04-16
公开
公开
技术领域
本发明涉及一种控制器、地址控制方法及使用其的总线数据传输系统。
背景技术
内部集成电路总线(Inter-Integrated Circuit Bus,I2C bus)做为集成电路(Integrated Circuit,IC)之间沟通的桥梁,其通常需要两条传输线来传送信号:一条为数据线(Serial Data,SDA),一条为时钟线(Serial Clock,SCL)。由于其具有高可靠度和安全性,因此,被广泛应用在电子元件中,尤其是微处理器与周边的IC之间的相互通讯,或是IC与IC之间的互相通讯。
通常,具备内部集成电路总线功能的元件,其地址已经内建于其中。当地址不同的元件并行连接于内部集成电路总线上,微处理器等控制元件通过传送数据中包含的地址信息可以实现对IC等被控元件的控制。然,当两个或两个以上的被控元件的地址相同且无法变换时,控制元件不能很准确的识别被控元件,进而不能有效的对被控元件进行读/写。
现有的方法是通过不同对的串行总线分别连接至地址相同的元件,实现对地址相同的元件的有效控制,或在控制元件与被控元件之间连接多路转换器,通过多路转换器实现对地址相同的元件的有效控制。
在实际的应用中,上述现有的方法不仅占用控制元件的硬件资源,而且还会增加硬件的成本。
发明内容
有鉴于此,需提供一种控制器,具有交换模块,通过交换模块可以实现对地址相同的受控器的有效控制。
另外,还需提供一种地址控制方法,通过交换接脚的输出信号,实现对地址相同的受控器的读/写控制。
此外,仍需提供一种总线数据传输系统,系统可藉由控制器,通过交换接脚的输出信号的方式,实现对地址相同的受控器的读/写控制。
一种控制器,用以控制至少两个地址相同的受控器,所述控制器包括多个接脚、判断模块、控制模块以及交换模块。其中,所述接脚中的一个用于传送第一信号,所述接脚中的另外一个用于传送第二信号。判断模块用于根据接收到的控制指令确定控制所述地址相同受控器中的一个受控器。控制模块用于控制所述判断模块所确定的受控器的读/写。交换模块用于根据所述判断模块所确定的受制器适时交换所述一个接脚与所述另一个接脚所输出的信号。
一种地址控制方法,用以控制多组地址相同的受控器,每个受控器组均包括第一受控器以及第二受控器,所述地址控制方法包括以下步骤:接收控制指令;根据接收到的控制指令判定是否控制所述第一受控器;如果不需要控制所述第一受控器,则交换与所述第二受控器相连的两个接脚的输出;藉由交换后的接脚输出信号至所述第二受控器。
一种总线数据传输系统,包括至少一组地址相同的受控器以及控制器。控制器与所述受控器组相连,用于控制所述受控器组,其包括多个接脚、判断模块、控制模块以及交换模块。其中,所述接脚中的一个用于传送第一信号,所述接脚中的另外一个用于传送第二信号。判断模块用于根据接收到的控制指令确定控制所述地址相同受控器中的一个受控器。控制模块用于控制所述判断模块所确定的受控器的读/写。交换模块用于根据所述判断模块所确定的受控器适时交换所述一个接脚与所述另一个接脚所输出的信号。
与现有技术相比,本发明藉由交换接脚的输出信号的方式,实现对地址相同的受控器的有效控制,方法简单,节约成本。
附图说明
图1为本发明第一实施例中总线数据传输系统的模块图。
图2为本发明第二实施例中总线数据传输系统的模块图。
图3为本发明第三实施例中总线数据传输系统的模块图。
图4为本发明第四实施例中总线数据传输系统的模块图。
图5为本发明本发明映射表的示意图。
图6为本发明图1的地址控制方法的流程图。
图7为本发明图3的地址控制方法的流程图。
具体实施方式
图1所示为本发明第一实施例中总线数据传输系统100的模块图。在本实施方式中,总线数据传输系统100包括控制器10及一组受控器11。其中,控制器10具有第一接脚C11与第二接脚C12,且其包括判断模块103、控制模块104以及交换模块105。受控器11包括第一受控器111以及第二受控器112。第一受控器111具有第一数据接脚a11以及第一时钟接脚b11。同样,第二受控器112具有第二数据接脚a12以及第二时钟接脚b12。本实施方式中,控制器10的第一接脚C11用于传送第一信号,如:数据信号。第二接脚C12用于传送第二信号,如:时钟信号。
本实施方式中,控制器10分别与受控器11的第一受控器111以及第二受控器112相连,用于控制第一受控器111以及第二受控器112。详而言之,第一受控器111的第一数据接脚a11与控制器10的第一接脚C11相连,用于接收控制器10所传送的数据信号;第一受控器111的第一时钟接脚b11与控制器10的第二接脚C12相连,用于接收控制器10所传送的时钟信号。第二受控器112的第二数据接脚a12与控制器10的第二接脚C12相连,用于接收控制器10所传送的数据信号;第二受控器112的第二时钟信号b12与控制器10的第一接脚C11相连,用于接收控制器10所传送的时钟信号。本实施方式中,数据是以帧的方式传送,且,数据包含受控器111、112的地址。
于控制器10中,判断模块103用于根据接收到的控制指令确定控制受控器组11中的一个受控器111、112。本实施方式中,即确定控制器10是控制第一受控器111还是控制第二受控器112。控制模块104用于控制判断模块103所确定的受控器的读/写。交换模块105用于根据判断模块103所确定的受控器适时交换控制器10的第一接脚C11与第二接脚C12所传送的信号。本实施方式中,如果控制器10是控制第一受控器111,则交换模块105不起作用;如果控制器10是控制第二受控器112,则交换模块105交换第一接脚C11与第二接脚C12的所传送的信号,即控制器10的第一接脚C11传送时钟信号,其第二接脚C12传送数据信号。控制模块104藉由控制器10的第一接脚C11与第二接脚C12传送信号至受控器111、112。
内部集成电路总线是通过数据线以及时钟线来实现控制器对受控器的读/写。且,内部集成电路总线信号传送过程包含开始(Start)、地址(Address)、读/写(Read/Write)、数据(Data)、确认(Acknowledge)和停止(Stop)信号。通常,内部集成电路总线传送信号变化的原则为:只有在时钟线为低准位时,数据线才能变化,即由读取动作变为写录动作,或由写录动作变为读取动作;而时钟线在高准位时,其对应数据线的状态(高准位或低准位)就是其传送的位(1或0),且,数据线的状态必须稳定,传送的数据才有效。然而,开始、停止动作则例外,其不是传送位。
举例说明,当控制器10需要控制受控器11的第一受控器111时,其藉由控制器10的第一接脚C11输出数据信号至第一受控器111的第一数据接脚a11,以及第二接脚C12输出时钟信号至第一受控器111的第一时钟接脚b11,实现对第一受控器111的读/写。此时,与第一受控器111的第一数据接脚a11相连的线为数据线,而与第一受控器111的第一时钟接脚b11相连的线为时钟线。
详而言之,当时钟线为高准位时,数据线由高准位变化至低准位,控制器10告知所有被控器111、112其要开始进行读/写操作。接着,控制器10传送包含有受控器111、112的地址以及读/写信号给所有受控器111、112。由于本实施方式中,第一受控器111与第二受控器112具有相同的地址。且,第一数据接脚a11以及第二数据接脚a12仅用于接收控制器10输出的数据信号,第一时钟接脚b11以及第二时钟接脚b12仅用于接收控制器10输出的时钟信号。又,本实施方式中,受控器111、112与控制器10的连接方式相反,因此,只有第一受控器111能正确地收到地址和读/写信号,并向控制器10发出确认的信号。而第二受控器112未能正确地收到地址和读/写信号,故不动作。其中,读/写信号中,高准位为读取,低准位为写录。控制器10收到第一受控器111确认信号后,开始传送数据给第一受控器111。第一受控器111收到数据后,会发出确认信号给控制器10,通知控制器10已经收到数据。其中,控制器10每传送一个字节数据,即8比特(bit),都要求第一受控器111传送确认信号。如果控制器10停止传送数据,数据线由低准位变化至高准位,且时钟线仍为高准位,完成停止动作。
本实施方式中,地址及读/写信号仅由控制器10传送给第一受控器111,而数据则可能由控制器10传送给第一受控器111,或第一受控器111传送给控制器10。即,当控制器10根据接收到的控制指令执行写入动作时,控制器10为传送模式,而第一受控器111为接收模式。反之,当控制器10执行读取动作时,控制器10为接收模式,而第一受控器111为传送模式。又,数据由第一受控器111所决定,例如连续的可擦除只读储存器(Electrically-Erasable Programmable Read-OnlyMemory,EEPROM),数据为内存地址或内存的内容。
如果控制器10需要控制第二受控器112时,其藉由控制器10的第一接脚C11输出时钟信号至第二受控器112的第二时钟接脚b12,以及第二接脚C12输出数据信号至第二受控器112的第二数据接脚a12,实现对第二受控器112的读/写。此时,与第二受控器112的第二数据接脚a12相连的线为数据线,而与第二受控器112的第二时钟接脚b12相连的线为时钟线。而控制器10与第二受控器112的具体传送方式与控制器10控制第一受控器111的方式类似,区别只在于此时第二受控器112能正确地收到地址和读/写信号,并向控制器10发出确认的信号。而第一受控器111未能正确地收到地址和读/写信号,故不动作。
本实施方式中,控制器10与第一受控器111的连接方式定义为正向连接方式,而控制器10与第二受控器112的连接方式定义为反向连接方式。显然,第二受控器112与控制器10的连接方式与第一受控器111与控制器10的连接方式相反。即受控器11包含正向连接方式的第一受控器111及反向连接方式的第二受控器112。因此,当控制器10的第一接脚C11输出数据信号,第二接脚C12输出时钟信号,可以实现控制器10对第一受控器111的读/写。而当交换模块104交换控制器10的第一接脚C11与第二接脚C12输出的信号,即第一接脚C11输出时钟信号,第二接脚C12输出数据信号,则能够实现控制器10对相同地址的第二受控器112的读/写。
因此,通过改变控制器10与第二受控器112的连接方式,即可通过一对串行总线实现控制地址相同的第一受控器111以及第二受控器112的读/写。
本实施方式中,控制器10为微处理器,第一受控器111以及第二受控器112可以为小型可插拔(Small Form-factor Pluggable,SFP)光模块、温度传感器、可擦除只读储存器等。
图2所示为本发明第二实施例中总线数据传输系统200的模块图。本实施方式的总线数据传输系统200与图1所示总线数据传输系统100基本相同,区别在于总线控制系统200是控制器20控制三组受控器21、22、23。且,控制器20还具有第三接脚C23,同样用于传送第一信号或第二信号。控制器20更包括查询模块201及选择模块202。其中,每一组受控器内部架构均相同,均包括正向连接方式的第一受控器及反向连接方式的第二受控器。
查询模块201根据接收到的控制指令查询所需控制的受控器的组别。选择模块202根据查询模块201的查询结果确定第一接脚C21、第二接脚C22、第三接脚C23的其中两个接脚所传送的信号。本实施方式中,确定第一接脚C21、第二接脚C22传送信号方式控制第一组受控器21;确定第二接脚C22、第三接脚C23传送信号方式控制第二组受控器22;确定第一接脚C21、第三接脚C23传送信号方式控制第三组受控器23。
在本发明其它实施方式中,控制器20也可确定第二接脚C22、第三接脚C23传送信号方式控制第一组受控器21;确定第一接脚C21、第三接脚C23传送信号方式控制第二组受控器22;确定第一接脚C21、第二接脚C22传送信号方式控制第三组受控器23。诸如此类。
因此,三组受控器21、22、23与控制器20的三个接脚C21、C22、C23的连接方式不局限于图2所示的连接方式。即控制器20是以排列组合的方式确定其中两个接脚传送信号方式控制不同组的受控器。
本实施方式中,控制器20通过确定不同接脚传送信号的方式分别控制具有相同地址的六个受控器211、212、221、222、231及232。其中,第一组受控器21与控制器20的连接关系与图1相同,在此不再赘述。第二组受控器22的第一受控器221的第一数据接脚a21与控制器20的第二接脚C22相连,其第一时钟接脚b21与控制器20的第三接脚C23相连。第二组受控器22的第二受控器222的第二数据接脚a22与控制器20的第三接脚C23相连,其第二时钟接脚b22与控制器20的第二接脚C22相连。第三组受控器23的第一受控器231的第一数据接脚a21与控制器20的第一接脚C21相连,其第一时钟接脚b21与控制器20的第三接脚C23相连。第三组受控器23的第二受控器232的第二数据接脚a22与控制器20的第三接脚C23相连,其第二时钟接脚b22与控制器20的第一接脚C21相连。
显然,控制器20通过确定不同接脚来传送信号的方式,可以实现控制具有相同地址的不同组受控器21、22、23的读/写。其中,通过改变控制器20与同一组受控器的连接方式,使得信号在反向连接方式中进行交换,藉由交换后的信号,进而能够实现控制器20对地址相同的同一组受控器中的第二受控器212、222、232的读/写。而通过未交换的信号,可以实现对控制地址相同的同一组受控器的第一受控器211、221、231的读/写。
图3所示为本发明第三实施例中总线数据传输系统300的模块图。本实施方式的总线数据传输系统300与图2所示总线数据传输系统200基本相同,区别在于总线数据传输系统300是控制器30控制多组受控器3n(n=1,2,3...)。且,控制器30具有多个接脚C3k(k=1,2,3...)。
本实施方式中,查询模块301可以在映射表500(参阅图5)中查询受控器对应的组别信息。选择模块302根据查询模块301的查询结果确定其对应的接脚传送信号,即确定多个接脚C3k(k=1,2,3...)的其中两个接脚传送信号。本实施方式中,控制器30同样不局限于图5所示的受控器组别与控制器接脚的对应关系。
又,当控制器30与多组受控器3n(n=1,2,3...)以映射表500的对应关系建立连接,其也可实现控制具有相同地址的多组受控器3n(n=1,2,3...)的读/写。即,第一组受控器31与控制器30的连接关系与图2相同,在此不再赘述。第n组受控器3n的第一受控器3n1的第一数据接脚a31与控制器30的第一接脚C31相连,其第一时钟接脚b31与控制器30的第k接脚C3k相连。第n组受控器3n的第二受控器3n2的第二数据接脚a32与控制器30的第k接脚C3k相连,其第二时钟接脚b32与控制器30的第一接脚C31相连。
显然,控制器30同样通过确定不同接脚来传送信号的方式,实现控制具有相同地址的不同组受控器3n(n=1,2,3,...)的读/写。本实施方式中,控制器30最多可以控制k×(k-1)个受控器,其中,k为控制器30所具有的接脚数量。
图4所示为本发明第四实施例中总线数据传输系统400的模块图。本实施方式的总线数据传输系统400与图3所示总线数据传输系统300基本相同,区别在于第n组受控器4n只有第一受控器4n1。
在本发明其它实施方式中,第n组受控器4n也可只有第二受控器4n2。
图5所示为本发明映射表500的示意图。映射表500包括受控器组别字段及控制器接脚字段。本发明中,当控制器30接收到控制指令,控制器的查询模块301从映射表500中查询所需控制的受控器的组别。选择模块302则根据查询模块301的查询结果确定其对应的两个接脚。
本实施方式中,映射表500由用户在硬件资源确认后所建立。当控制器与受控器的连接方式固定以后,用户在映射表500中建立控制器接脚与受控器组别的关联信息。
图6所示为本发明图1的地址控制方法的流程图。在步骤S601,控制器10接收控制指令。在步骤S604,判断模块103根据接收到的控制指令确定是否控制第一受控器111。如果不需要控制第一受控器111,在步骤S606,交换模块105交换与第二受控器112相连的两个接脚的输出。即第一接脚C11输出时钟信号,第二接脚C12输出数据信号。在步骤S607,控制模块104藉由交换后的接脚输出信号至第二受控器112。在步骤S608,控制器10如果需要控制第一受控器111,控制模块104则藉由控制器10的两个接脚输出信号至第一受控器111。此时,第一接脚C11输出数据信号,第二接脚C12输出时钟信号。
图7所示为本发明图3的地址控制方法的流程图。在步骤S701,控制器30接收控制指令。在步骤S702,查询模块301根据接收到的控制指令在映射表500中查询所需控制的受控器的组别。在步骤S703,选择模块302根据查询模块301的查询结果,即根据受控器的组别,确定需控制的受控器对应的两个接脚。例如:根据第n组受控器对应的控制器接脚信息确定第一接脚C31以及第k接脚C3k。
在步骤S704,判断模块303判定是否控制第一受控器3n1(n=1,2,3...)。如果不需要控制第一受控器3n1(n=1,2,3...),在步骤S706,交换模块305交换与第二受控器3n2(n=1,2,3...)相连的两个接脚的输出。例如:第一接脚C31输出时钟信号,第k接脚C3k输出数据信号。在步骤S707,控制模块304藉由交换后的接脚输出信号至第二受控器3n2(n=1,2,3...)。在步骤S708,控制器30如果需要控制第一受控器2n1(n=1,2,3...),控制模块304则藉由两个接脚输出信号至第一受控器2n1(n=1,2,3...)。此时,第一接脚C31输出数据信号,第k接脚C3k输出时钟信号。
本发明的控制器40控制多组受控器4n(n=1,2,3...)的步骤与图7所示的地址控制方法相类似,通过所确定的串行总线以及同一对串行总线以交换输出的信号的方式,控制地址相同的多组受控器4n(n=1,2,3...)的读/写,故省略。
因此,本发明通过所确定的串行总线以及同一对串行总线藉由交换模块以交换接脚的输出信号的方式,实现控制器对地址相同的受控器的有效控制,方法简单,且节约成本。
机译: 控制器,地址控制方法以及使用该控制器的数据传输系统
机译: 可编程控制器的内部总线,支持TCP / IP协议,使用多通道总线,该总线具有用于TCP / IP的通道,并具有带有本地IP地址和TCP / IP堆栈的智能控制器模块
机译: 直接内存访问控制器基于超传输的通用串行总线主机控制器,生成与活动发起者生成的地址数据和内存范围不同的地址数据和内存范围,并使用生成的地址读取数据