数据总线系统及其数据传输的方法

文档序号:6410624阅读:288来源:国知局
专利名称:数据总线系统及其数据传输的方法
技术领域
本发明有关总线系统和其数据传输的方法,确切地说,涉及连接多个设备的总线系统,以及用于该总线系统的数据传输方法。
背景技术
随着电子产业的高速发展,各种电子信息终端产品已经在全球得到了迅速的发展和普及。电子信息终端产品的发展和普及在很大程度上改善了人们的生活质量。而随着电子信息终端产品不断朝着多媒体应用的方向发展,提供具有高速数据传输速率的通信总线系统已经成为需要解决的迫切问题。
与本发明相关的现有技术可参阅皇家菲利浦电子有限公司于2000年1月13日申请的第00800201.0号的中国专利申请,该现有技术揭示了一种通信总线系统,该通信总线系统包括第一站,第二站,和连接所述第一站和所述第二站之间的一对导线,所述第二站包括用来接收由所述第一站通过所述一对导线发送的各种信号的接收电路,所述系统至少可选择高速方式和低速方式之一进行操作,所述第二站包括连接在所述接收电路参考点和一个公共点之间的偏置电压源,第一电阻和第二电阻,第一开关和第二开关,所述公共接点分别通过第一和第二串连电路连接到所述导线中的第一导线和第二导线,所述第一串连电路顺序地包括所述公共点、所述第一开关、第一节点和所述第一电阻,所述第二串联电路顺序地包括所述公共点、所述第二开关和所述第二电阻。
然而,如前述第00800201.0号中国专利申请所示,该现有技术所揭示的通信总线系统只能选择高速方式和低速方式之一进行操作,而不能同时选择高速方式和低速方式两种。对于一个通信系统来说,经常会存在有些器件欲以高速方式运行而有些器件欲以低速方式的情况,这种情况下,第00800201.0号中国专利申请所揭示的现有技术难以满足整个系统的需要,难以达到提高通信总线系统整体运行速率的目的。

发明内容本发明的目的在于克服上述缺陷,提供一种提高整体传输速率的通信总线系统及其数据传输方法。
本发明的目的是通过以下技术方案实现的一种数据总线系统,该数据总线系统包含至少一个第一总线线路和一个第二总线线路;与第一总线线路及第二总线线路连接的若干个站,连接于第一总线线路上的各站与连接于第二总线线路上的各站可以以不同的传输速率进行通信;至少一个互连第一总线线路与第二总线线路的桥站,用以实现传输速率不同之各站之间的通信。
所述桥站包括连接于所述第一总线线路,并对所述第一总线线路进行读写的第一输入输出模块;连接于所述第二总线线路,并对所述第二总线线路进行读写的第二输入输出模块;存放连接于所述第一总线线路及第二总线线路的所有站的地址信息的路由模块;数据处理模块,该数据处理模块分别与所述第一输入输出模块、第二输入输出模块以及路由表相连,用以对第一输入输出模块、第一输入输出模块以及路由表发送/接收的数据或命令进行分析以及产生相应的控制信号。
所述桥站还包括至少一数据缓冲模块,用以存放需要所述桥站转发的数据信息。
所述路由模块为一个分为第一区和第二区的存储单元,该第一区存放连接于所述第一总线线路的所有站的地址信息,该第二区存放连接于所述第二总线线路的所有站的地址信息。
所述数据处理模块采用中断或者扫描的方式获得来自所述第一输入输出模块及第二输入输出模块数据请求。
所述数据处理模块与所述第一输入输出模块及所述第二输入输出模块之间的数据交换可以采用时间共享的方式。
所述若干个站中至少存在一个与第一总线线路以及第二总线线路均相连的站,该与第一总线线路以及第二总线线路均相连的站至少包含一个第三输入输出模块、一个第四输入输出模块以及另一个数据处理模块,该第三输入输出模块与第四输入输出模块分别可以存取符合不同通信协议的数据。
所述第三输入输出模块与所述第一总线线路相连,所述第四输入输出模块与第二总线线路相连,所述另一个数据处理模块分别与所述第三输入输出模块及所述第四输入输出模块相连。
所述另一个数据处理模块采用中断或者扫描的方式获得来自所述第三输入输出模块及第四输入输出模块数据请求。
所述另一个数据处理模块与所述第三输入输出模块及所述第四输入输出模块之间的数据交换可以采用时间共享的方式。
所述第一总线线路与所述第二总线线路符合不同的通信协议。
一种数据传输方法,包括如下步骤(1)发送方向与其连接的总线线路发送令牌地址信息;(2)所述桥站根据该令牌地址信息判断发送方与接收方是否连接于同一总线线路;(3)发送方发送数据信息;(4)若发送方与接收方不属于同一总线线路,则所述桥站接收该数据信息;(5)所述桥站向接收方连接的总线线路发送数据信息;(6)接收方接收数据信息。
在步骤(1)之前还包括所述数据总线系统确定一个主站。
所述主站必须为连接于所述第一总线线路所有站中的任意一个。
当所述数据总线系统确定了一个主站之后,若发送方或者接收方属于所述第一总线线路并且所述主站本身不为该发送方或者接收方,则主站向发送方或者接收方发送许可命令,将所述第一总线线路的控制权交给该发送方或者接收方。
所述令牌地址信息中至少包含接收方的地址信息。
步骤(4)还包括若发送方与接收方属于同一总线线路,则所述桥站总线线路上的数据信息不响应。
步骤(4)之后还包括所述桥站将所述数据信息转换为非协议的原始数据,并将其存储于所述数据缓冲模块中;所述桥站将该非协议的原始数据转换为符合接收方通信协议的数据。
步骤(6)之后还包括接收方对接收到的数据信息进行验证;若验证结果正确,则接收方向发送方发送确认信息;该次数据传输完毕。
数据传输完毕之后,取得第一总线线路控制权的发送方或者接收方向所述主站交还控制权。
若验证结果错误,则接收方向发送方发送否认信息。
若发送方接收到接收方的否认信息,则重发上次的数据信息。
相较于现有技术,本发明通过采用两组符合不同传输速率协议的总线线路,将欲以不同速率通信的各个器件分别接入到该总线线路,并通过桥站对该两组总线线路进行连接使他们之间能够互相通信,使得本发明的通信总线系统中的器件可以采用不同传输速率进行通信,达到了提高通信系统整体传输速率的目的。

图1为本发明一种数据总线系统的结构图。
图2为本发明数据总线系统中数据处理模块与H-IO模块以及L-IO模块采用时间共享进行数据交换的示意图。
图3本发明数据总线系统的数据传输方法的流程图。
图4-a及图4-b为本发明数据总线系统中同属于第一通信子系统的从站之间进行数据传输的数据流向图。
图5-a及图5-b为本发明数据总线系统中第一通信子系统的从站与第二通信子系统的从站进行数据传输的数据流向图。
图6为本发明一种第一通信子系统采用USB协议、第二通信子系统采用I2C协议的数据总线系统的结构图。
以下将参考附图对根据本发明的用于传输数据的装置和方法进行说明。
具体实施方式请参阅图1所示,本发明数据总线系统包括第一总线线路10a和第二总线线路10b,以及连接在两条总线线路10a、10b上的若干个站11、12、14、15、16、17和一个桥站13。
其中,站11、12、桥站13与第一总线线路10a和第二总线线路10b相连接,站14、15与第二总线线路10b相连接,站16、17与第一总线线路10a相连接。由第一总线线路10a,以及连接在10a上的站11、12、16、17、桥站13构成了第一通信子系统,它被安排以一种高速通信协议进行通信;由第二总线线路10b,以及连接在10b上的站11、12、14、15、桥站13构成了第二通信子系统,它被安排以一种相对低速的通信协议进行通信。这样,在该数据总线系统中就可以同时运行两种不同速率的通信协议。按照各站接入总线系统的方式,站11、12、桥站13属于可以同时运行高速通信协议和低速通信协议的站;站14、15属于只能运行低速通信协议的站;站16、17则属于只能运行高速通信协议的站。
站11、12、桥站13与两条总线线路10a、10b都有连接,它们均具有第一输入输出模块110和120以及第三输入输出模块130,本发明实施例中将其统称为H-IO模块(110、120、130),第二输入输出模块111和121以及第四输入131,本发明实施例中将其统称为L-IO模块(111、121、131),以及数据处理模块(112、122、132)这三个模块。此外,桥站还具有缓冲模块134、路由表133这两个特有的模块。
H-IO模块(110、120、130)是一个IO模块,它连接在数据处理模块与第一总线线路10a之间。H-IO模块的作用是在数据处理模块的控制下,将数据处理模块提供的数据发送到第一总线线路10a上去;或是从第一总线线路10a上接收数据、并将经过初步处理的数据提供给数据处理模块做进一步处理。H-IO模块可以运行完整的高速通信协议,这就使得数据处理模块可以不必知道在第一总线线路10a上运行的通信协议的细节,数据处理模块只需要及时的处理H-IO模块数据交换的请求即可。
L-IO模块(111、121、131)是另一个IO模块,它连接在数据处理模块与第二总线线路10b之间。L-IO模块的作用是在数据处理模块的控制下,将数据处理模块提供的数据发送到第二总线线路10b上去;或是从第二总线线路10b上接收数据、并将经过初步处理的数据提供给数据处理模块做进一步处理。L-IO模块可以运行完整的低速通信协议,这同样使得数据处理模块可以不必知道在第二总线线路10b上运行的协议的细节。数据处理模块的主要任务在于及时响应L-IO模块收发数据的请求。
数据处理模块(112、122、132)是一个站中负责提供H-IO模块、L-IO模块数据源,或处理来自于H-IO模块、L-IO模块的数据的核心。数据处理模块本身并不带高速或低速的通信协议,因此任意两个站的数据处理模块之间不能直接进行通信。数据处理模块只能把原始数据与H-IO模块、L-IO模块进行交换,由H-IO模块或L-IO模块将这些原始数据转变成满足相应通信协议的协议数据,进而通过第一总线线路10a或第二总线线路10b来进行通信。
数据处理模块响应来自于H-IO模块或L-IO模块数据交换的请求,可以采用,例如扫描或是中断的方式实现。采用扫描的方式,数据处理模块不断的查询H-IO模块、L-IO模块的状态当数据处理模块发现H-IO模块、L-IO模块上有数据收发的请求时,数据处理模块就与相应的H-IO模块、L-IO模块交换数据。数据交换完毕之后,数据处理模块将继续查询下一个模块的状态。采用中断的方式,数据处理模块等待来自于H-IO模块、L-IO模块的中断当H-IO模块、L-IO模块需要数据处理模块与之交换数据的时候,它就向数据处理模块发送中断,数据处理模块响应中断就会与相应的模块交换数据。数据处理模块与H-IO模块、L-IO模块之间一般采用并行的方式交换数据,这样可以提高数据处理的效率,尤其是当第一总线线路10a或第二总线线路10b属于串行方式的总线的时候。
当第一总线线路10a和第二总线线路10b上同时存在不间断的数据流的时候,为了使数据处理模块能及时响应H-IO模块、L-IO模块数据交换的请求,以及使数据处理模块的处理能力得到合理的分配,数据处理模块与H-IO模块、L-IO模块之间的数据交换还可以采用时间共享的方式。图2描绘了时间共享的一种方案。在图中,画出了一条时间轴,它包括一组循环往复的周期cycle n、cycle n+1……。每个周期都被划分为20a、20b两个时间段。其中20a代表数据处理模块响应H-IO模块数据交换请求的一段时间,20b代表数据处理模块响应L-IO模块数据交换请求的一段时间。这样,在每个周期cyclen中,H-IO模块、L-IO模块通过第一总线线路10a或第二总线线路10b收发的数据都可以得到数据处理模块及时的处理,每次在相应周期的一个自己的时间段20a、20b内。
时间段20a、20b在一个cycle中所占据的比例,可以按照,例如第一总线线路10a和第二总线线路10b的额定传输速率之比来确定。假设第一总线线路10a上运行的高速通信协议的传输速率为10M bit/s,第二总线线路10b上运行的低速通信协议的传输速率为1M bit/s,则20a与20b在一个周期中的持续时间之比就可以定为10∶1。但进一步,在第一总线线路10a和第二总线线路10b上传送的数据流并不总是连续的,它们可能是间断的进行传输的,因此20a与20b的持续时间之比还可以按照第一总线线路10a和第二总线线路10b实际的平均传输速率之比来确定。
路由表133和缓冲模块134是桥站13所特有的两个模块,它们用于实现从第一总线线路10a到第二总线线路10b的数据的交换。
路由表133是一小块存储区,多由可读写的ROM构成,存放着连接在第一总线线路10a和第二总线线路10b上的所有站的地址信息。路由表分为第一区和第二区的两个区,本发明实施例称之为H区和L区,其中H区存放着连接在第一总线线路10a上的所有站的地址信息,L区存放着连接在第二总线线路10b上的所有站的地址信息。对于连接在两条总线线路10a、10b上的站11、12、桥站13来说,它们的地址信息将同时存放在路由表133的H区和L区。
缓冲模块134是另一个存储单元,它通常是一小块随机存储器,用于临时存放需要桥站转发的数据。缓冲模块容量的大小可视需要转发的数据的长度而定,但当频繁的存在需要转发的数据的时候,缓冲模块的容量也需要做得大些,这样它就能够同时存放更多的数据段。
通常情况下,桥站13不断的对在第一总线线路10a和第二总线线路10b上传送的数据的目的地址进行扫描。如果这些数据只是由一个第一通信子系统的站发往另一个第一通信子系统的站,或者只是由一个第二通信子系统的站发往另一个第二通信子系统的站,桥站13的功能就如同站11、12那样,只是作为一个普通的站分别参与第一通信子系统和第二通信子系统的数据通信。这时候,两个通信子系统相互独立,彼此间的数据通信过程没有任何联系。桥站13内部的路由表133和缓冲模块134也将处于空闲状态。
如果桥站13发现一个通信子系统的站(如站16),它所发送的数据的目的地址是另一个通信子系统的站(如站14),则桥站将担负起从一个通信子系统转发数据到另一个通信子系统的任务。具体过程为桥站接收由发送站(站16)发送的数据,并把这些数据转换为非协议形式的原始数据,暂存在桥站的缓冲模块134中。必要的时候,桥站还要负责对发送站发送的数据产生应答。接下来,桥站13将缓冲模块134中暂存的数据按照另外一个通信子系统的通信协议进行转换,继而通过相应的总线线路(10b)发送到目的站(站14)。桥站判定一段数据是否需要转发的依据是该段数据的目的地址(站14)不存在于路由表中发送站(站16)所属的区(H区)中,同时,该段数据的目的地址(站14)存在于路由表中与发送站(站16)所属区(H区)不同的另一个区(L区)中。根据这个判定条件,任何发往与两条总线线路10a、10b同时连接的站(站11、12、桥站13)的数据,都不需要转发,因为这些站的地址同时存在于路由表133的H区和L区中。
站14、15、16、17从功能上来说,相当于由一个数据处理模块(图中未示出)和一个IO模块(图中未示出)构成。数据处理模块负责生成数据和处理数据,IO模块则用以实现相应通信子系统的通信协议(高速或低速)。站14~17只支持一种特定的通信协议,它们通常是在市场上可以购买的某种协议的器件。例如,当第二总线线路10b采用I2C协议的时候,站14、15就是普通的I2C器件。
请参阅图3所示,本发明一种数据总线系统的数据传输方法,包括如下步骤(1)发送方向与其连接的总线线路发送令牌地址信息;(2)所述桥站根据该令牌地址信息判断发送方与接收方是否连接于同一总线线路;(3)发送方发送数据信息;(4)若发送方与接收方不属于同一总线线路,则所述桥站接收该数据信息;(5)所述桥站向接收方连接的总线线路发送数据信息;(6)接收方接收数据信息;7)接收方对接收到的数据信息进行正确性验证;8)若接收到正确的数据信息,则接收方向发送方发送确认信息;否则接收方向发送方发送否认信息,要求发送方重新发送数据。以下将针对两站之间的数据传输对该数据传输方法作更为详细的叙述。
第一通信子系统、第二通信子系统所采用的通信协议可以有多种形式。例如,可以采用轮询的方式。以第一通信子系统为例,当采用轮询的方式时,存在一个在第一通信子系统中起支配作用的站,称为主站。主站可以是第一通信子系统中的任意一个站,包括桥站。除了主站之外,其它的站都被称为从站。
主站拥有最高的优先级,因此主站发送数据到从站,或是从从站读取数据,可以直接进行。下面将重点说明两个从站之间的数据收发过程。
主站的数据收发完毕之后,就会按照一定的顺序对各个从站进行轮询,查询各个从站有无数据需要收发。轮询的过程为主站发出轮询命令到一个从站,这个从站如果有数据需要收发,就会向主站返回一个确认信息,否则就向主站返回一个否认信息。主站收到确认信息,就会按照图4所示的流程控制这个从站使用总线收发数据;主站收到否认信息,就会跳过这个从站而去查询下一个从站的请求。
请参阅图4-a及图4-b所示,假设主站为站12,被主站轮询到的需要收发数据的从站为第一通信子系统的站16,与从站16通信的另一个从站是第一通信子系统中的另一个站17。图4-a为一个从站(站16)从另一个从站(站17)读取数据的过程;图4-b为一个从站(站16)发送数据到另一个从站(站17)的过程。图中箭头所指的方向代表数据发送的方向。
从站16从从站17读取数据的过程为(图4-a)(1)主站12发送许可命令给从站16,表示允许从站16使用第一总线线路10a来接收数据。在这之后,第一总线线路10a的控制权就暂时由主站12转到了从站16上,从站16成为事实上的主站;(2)从站16发送一个IN令牌给从站17,通知从站17从站16希望从它那儿读取数据;(3)从站17准备好数据之后,就将数据发往从站16。这些数据的末尾通常跟随有一个校验字段,用以对数据的正确性进行验证;(4)从站16收到来自于从站17的数据,会对这些数据的正确性加以验证。验证的依据就是数据尾部的校验字段。如果数据接收正确无误,从站16就将这段数据交给数据处理模块做进一步处理并向从站17发送一个确认应答;否则从站16就丢弃这段数据,并向从站17发送一个否认应答,通知从站17稍后重发这段数据;(5)从站16可以重复执行第(2)-(4)步来接收一段新的数据(确认应答),或者重复执行第(2)-(4)步来重复读取前一段数据(否认应答);(6)从站16不再需要从从站17读取数据的时候,就向主站12发送许可返回命令。将第一总线线路10a的控制权重新交还给主站12。
从站16发送数据到从站17的过程为(图3-b)(1)主站12发送许可命令给从站16,表示允许从站16使用第一总线线路10a来发送数据。在这之后,第一总线线路10a的控制权就暂时由主站12转到了从站16上;(2)从站16发送一个OUT令牌给从站17,通知从站17准备好接收来自于从站16的数据;(3)从站16发送数据到从站17,数据的尾部通常跟随有一个校验字段,用以对数据的正确性进行验证;(4)从站17收到从站16发来的数据之后,会对这些数据加以验证,验证的依据就是数据尾部的校验字段。如果数据接收正确无误,从站17就将这段数据交给数据处理模块做进一步的处理,同时向从站16发送一个确认应答;否则,从站17丢弃该段数据,并向从站16发送一个否认应答,通知从站16稍后重发;(5)从站16可以重复执行第(2)-(4)步来发送一段新的数据(收到确认应答),或者重复第(2)-(4)步来重发前一段数据(收到否认应答);(6)从站16不再有发往从站17的数据的时候,就向主站12发送许可返回命令,将第一总线线路10a的控制权重新交还给主站12。
在许可返回命令之后,主站12收回第一总线线路10a的控制权,就可以继续轮询下一个从站,并在必要时选择执行第(1)-(6)步以满足下一个从站收发数据的请求。如此不断循环下去。
桥站17负责在第一通信子系统与第二通信子系统两个站之间的数据交换,其负责第一通信子系统与第二通信子系统两个站之间数据交换的过程如图5-a及图5-b所示。假设主站仍为站12,图5-a为一个第一通信子系统的从站(如站16)向一个第二通信子系统的从站(站14)发送数据的过程;图5-b则为一个第一通信子系统的从站(站16)从第二通信子系统的另一个从站(站14)接收数据的过程,箭头方向代表着数据传送的方向。
从站16发送数据到从站14的过程为(1)主站12发送许可命令给从站16,表示允许从站16使用第一总线线路10a来发送数据。在这之后,第一总线线路10a的控制权就暂时由主站12转到了从站16上;(2)从站16发送一个目的地址为从站14的OUT类型的令牌包。桥站13的H-IO模块130收到一个OUT令牌包,就将它的目的地址交给数据处理模块132来查找路由表133。如果数据处理模块132发现该OUT令牌的目的地址位于路由表133的L区,表示有数据需要通过桥站13转发,就会通知H-IO模块130准备接收第(3)步发送的数据包;否则,如果OUT令牌的目的地址位于路由表133的H区,表示数据不需要转发,H-IO模块130不会对第(3)步的数据包产生任何响应。由于OUT令牌的目的地址不是桥站13本身,所以图中的箭头用虚线表示,后同。
(3)从站16发送数据包。因为从站17的地址位于路由表133的L区,根据第(2)步的判断,H-IO模块130接收该数据包;(4)接收数据包的同时,H-IO模块130会对这个数据包的正确性进行验证,并由数据处理模块132检查缓冲模块134的状态。如果数据包传送错误或缓冲模块处于饱和状态,则数据处理模块132会通知H-IO模块130发送一个否认应答包,以使从站16稍后重传该数据包。只有当数据包正确无误且缓冲模块134有剩余空间容纳该数据包时,数据处理模块132才会通知H-IO模块130发回一个确认应答包,将数据包连同其目的地址信息转换为非协议形式的原始数据后暂时存放入缓冲模块134中进行缓冲;(5)从站16收到否认应答包,就会延时一段时间之后再重发前一个数据包,以避免在缓冲模块134上产生严重的拥塞;从站16收到确认包之后,可以重复第(2)-(4)步来继续发送数据包。如果从站不再有待发送的数据,就执行第(6)步;(6)从站16发送许可返回命令给主站12,将第一总线线路10a的控制权重新交还给主站12;(7)L-IO模块131检测到缓冲模块134有待发送的数据包,将暂时存放在缓冲模块134中的非协议形式的原始数据转换为符合第二通信子系统通信协议的数据,并由L-IO模块131发往目的站从站17。数据发送完毕之后,缓冲模块134中相应的存储区就被清空。在第(7)步,双向箭头表示应答是在I2C数据发送的过程中,每8位响应一次的。
从站16从从站14接收数据的流程为(1)从站16等待主站12发给它的许可包,从而得到第一总线线路10a的控制权;(2)从站16发送一个目的站地址为从站14的IN类型的令牌包。桥站13的H-IO模块130收到一个IN令牌包,就将它的目的地址交给数据处理模块132来查找路由表133。如果数据处理模块132发现IN令牌的目的地址位于路由表133的L区,表示有数据需要通过桥站13转发,就会通知H-IO模块130执行第(3)步;否则,如果IN令牌的目的地址位于路由表174的H区,第(3)步桥站不做任何响应;(3)数据处理模块132检查缓冲模块134的状态,如果缓冲模块134还有足够的空余来容纳下一个数据包,H-IO模块130就会发送一个等待包给从站16,通知从站16等待一段时间;如果缓冲模块134处于饱和状态,H-IO模块130会直接发送一个否认应答包告诉从站16当前桥站13处于忙状态。发送等待包是为了避免从站16迟迟等不到数据包而重发令牌包;(4)在发送等待包的同时,数据处理模块132会通知L-IO模块131从从站14读取数据。这些数据连同其来源站的地址信息被转换为非协议形式的原始数据后暂存在缓冲模块134中;(5)H-IO模块130检测到缓冲模块134中有在第(4)步收集到的待发送的数据,就会将这些数据转换为符合第一通信总线通信协议的数据包,并发往从站16;(6)从站16对接收的数据进行验证,如果正确就向桥站13发送确认应答包;否则就发送否认应答包;(7)从站16根据数据包接收的正确与否,可以循环执行第(2)、(5)、(6)步从桥站读取新的数据包或要求桥站重传前一个数据包。只要第(4)步收集的数据没有读完之前,且IN令牌的目的站地址不变,再次循环就可以跳过(3)、(4)步;否则,从站16就必须执行第(2)-(6)步才能读取新的数据包。只有当从站16发出一个确认应答包之后,桥站13才可以将被确认的数据从缓冲模块134中清除;(8)从站16发送许可结束命令给主站12,表示数据读取过程的结束,将第一总线线路10a的控制权交还给主站12。
由于第二通信子系统的从站主动与第一通信子系统的从站通信的过程与上述过程大致相同,在此不在赘述。
另外,第一通信子系统、第二通信子系统还可以采用其它形式的通信协议。例如,图6所示即为第一通信子系统采用USB协议、第二通信子系统采用I2C协议时的线路连接图。此处,图1的第一总线线路10a被图6第一总线线路40a的一对差动信号导线D+、D-代替;图1的第二总线线路10b被图6第二总线线路40b的两条线路SDA和SCL代替。差动信号导线对D+、D-是USB协议中传送差动数据的信号线,而USB电缆中的电源线和地线在图中被省略了。通常,在USB的差动信号导线对D+、D-和USB的电源、地之间,还接有一定的上拉、下拉电阻,这在图中没有画出,其详情可以参考USB协议相关的电气连接规范。SDA、SCL是I2C总线中的一对信号线,其中SDA是I2C总线的数据信号导线,SCL是I2C总线的时钟信号导线。在SDA、SCL与I2C总线的电源之间也接有上拉电阻,图中也省略了,请参考I2C协议相关的电气规范。
在图6中,站41、42、桥站43的H-IO模块通过相应的输出端与差动信号导线对D+、D-相连,它相当于一个USB接口。L-IO模块则通过相应的输出端与SDA、SCL导线相连,它相当于一个I2C接口。在实际应用的时候,站44、45相当于普通的I2C器件,站46、47则相当于普通的USB器件,它们都是可以大量直接获取的器件。这样,通过图6所示的总线系统,可以实现USB协议和I2C协议这两种不同速率的协议的同时运行而支持这两种协议的器件也可以方便的接入该系统参与通信。进一步,通过桥站43,还可以实现一个USB器件与一个I2C器件之间数据的交换。关于USB协议和I2C协议运行的细节信息,请参考它们各自的协议手册。
权利要求
1.一种数据总线系统,其特征在于,该数据总线系统包含至少一个第一总线线路和一个第二总线线路;与第一总线线路及第二总线线路连接的若干个站,连接于第一总线线路上的各站与连接于第二总线线路上的各站可以以不同的传输速率进行通信;至少一个互连第一总线线路与第二总线线路的桥站,用以实现传输速率不同之各站之间的通信。
2.如权利要求1所述的数据总线系统,其特征在于,所述桥站包括连接于所述第一总线线路,并对所述第一总线线路进行读写的第一输入输出模块;连接于所述第二总线线路,并对所述第二总线线路进行读写的第二输入输出模块;存放连接于所述第一总线线路及第二总线线路的所有站的地址信息的路由模块;数据处理模块,该数据处理模块分别与所述第一输入输出模块、第二输入输出模块以及路由模块相连,用以对第一输入输出模块、第一输入输出模块以及路由表发送/接收的数据或命令进行分析以及产生相应的控制信号。
3.如权利要求2所述的数据总线系统,其特征在于所述桥站还包括至少一数据缓冲模块,用以存放需要所述桥站转发的数据信息。
4.如权利要求3所述的数据总线系统,其特征在于所述路由模块为一个分为第一区和第二区的存储单元,该第一区存放连接于所述第一总线线路的所有站的地址信息,该第二区存放连接于所述第二总线线路的所有站的地址信息。
5.如权利要求2或3或4所述的数据总线系统,其特征在于所述数据处理模块采用中断或者扫描的方式获得来自所述第一输入输出模块及第二输入输出模块数据请求。
6.如权利要求5所述的数据总线系统,其特征在于所述数据处理模块与所述第一输入输出模块及所述第二输入输出模块之间的数据交换可以采用时间共享的方式。
7.如权利要求6所述的数据总线系统,其特征在于所述若干个站中至少存在一个与第一总线线路以及第二总线线路均相连的站,该与第一总线线路以及第二总线线路均相连的站至少包含一个第三输入输出模块、一个第四输入输出模块以及另一个数据处理模块,该第三输入输出模块与第四输入输出模块分别可以存取符合不同通信协议的数据。
8.如权利要求7所述的数据总线系统,其特征在于所述第三输入输出模块与所述第一总线线路相连,所述第四输入输出模块与第二总线线路相连,所述另一个数据处理模块分别与所述第三输入输出模块及所述第四输入输出模块相连。
9.如权利要求8所述的数据总线系统,其特征在于所述另一个数据处理模块采用中断或者扫描的方式获得来自所述第三输入输出模块及第四输入输出模块数据请求。
10.如权利要求9所述的数据总线系统,其特征在于所述另一个数据处理模块与所述第三输入输出模块及所述第四输入输出模块之间的数据交换可以采用时间共享的方式。
11.如权利要求1所述的数据总线系统,其特征在于所述第一总线线路与所述第二总线线路符合不同的通信协议。
12.如权利要求1所述的数据总线系统的一种数据传输方法,包括如下步骤(1)发送方向与其连接的总线线路发送令牌地址信息;(2)所述桥站根据该令牌地址信息判断发送方与接收方是否连接于同一总线线路;(3)发送方发送数据信息;(4)若发送方与接收方不属于同一总线线路,则所述桥站接收该数据信息;(5)所述桥站向接收方连接的总线线路发送数据信息;(6)接收方接收数据信息。
13.如权利要求12所述的数据传输方法,其特征在于,在步骤(1)之前还包括所述数据总线系统确定一个主站。
14.如权利要求13所述的数据传输方法,其特征在于所述主站必须为连接于所述第一总线线路所有站中的任意一个。
15.如权利要求14所述的数据传输方法,其特征在于当所述数据总线系统确定了一个主站之后,若发送方或者接收方属于所述第一总线线路并且所述主站本身不为该发送方或者接收方,则主站向发送方或者接收方发送许可命令,将所述第一总线线路的控制权交给该发送方或者接收方。
16.如权利要求12或15所述的数据传输方法,其特征在于所述令牌地址信息中至少包含接收方的地址信息。
17.如权利要求16所述的数据传输方法,其特征在于,步骤(4)还包括若发送方与接收方属于同一总线线路,则所述桥站总线线路上的数据信息不响应。
18.如权利要求12或17所述的数据传输方法,其特征在于,步骤(4)之后还包括所述桥站将所述数据信息转换为非协议的原始数据,并将其存储于所述数据缓冲模块中;所述桥站将该非协议的原始数据转换为符合接收方通信协议的数据。
19.如权利要求18所述的数据传输方法,其特征在于,步骤(6)之后还包括接收方对接收到的数据信息进行验证;若验证结果正确,则接收方向发送方发送确认信息;该次数据传输完毕。
20.如权利要求19所述的数据传输方法,其特征在于数据传输完毕之后,取得第一总线线路控制权的发送方或者接收方向所述主站交还控制权。
21.如权利要求19所述的数据传输方法,其特征在于若验证结果错误,则接收方向发送方发送否认信息。
22.如权利要求21所述的数据传输方法,其特征在于若发送方接收到接收方的否认信息,则重发上次的数据信息。
全文摘要
一种数据总线系统,包含一个第一总线线路和一个第二总线线路,多个站以及连接第一总线线路和第二总线线路用以实现不同传输速率的各站之间相互通信的桥站。当不同传输速率的各站欲相互通信时,发送方向与其连接的总线线路发送令牌地址信息;所述桥站根据该令牌地址信息判断发送方与接收方是否连接于同一总线线路;发送方发送数据信息;若发送方与接收方不属于同一总线线路,则所述桥站接收该数据信息;所述桥站向接收方连接的总线线路发送数据信息;接收方接收数据信息。
文档编号G06F13/40GK1731382SQ200410053460
公开日2006年2月8日 申请日期2004年8月5日 优先权日2004年8月5日
发明者莫皓然, 黄铭峰, 楼毅越, 马长伍 申请人:上海迪比特实业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1