CN100341297C - 总线交换方法以及总线交换器 - Google Patents
总线交换方法以及总线交换器 Download PDFInfo
- Publication number
- CN100341297C CN100341297C CNB031527108A CN03152710A CN100341297C CN 100341297 C CN100341297 C CN 100341297C CN B031527108 A CNB031527108 A CN B031527108A CN 03152710 A CN03152710 A CN 03152710A CN 100341297 C CN100341297 C CN 100341297C
- Authority
- CN
- China
- Prior art keywords
- bus
- data
- bus switch
- instruction
- switch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
本发明涉及通信技术中路由器和以太网交换机等网络设备的电路设计,公开了一种总线交换方法以及总线交换器,使得可以通过MII管理接口总线读取I2C串行接口总线的数据。这种总线交换方法包含以下步骤:A连接在第一总线上的器件向总线交换器发送读取连接在第二总线上的器件中数据的指令;B所述总线交换器对所述指令进行解析,根据解析结果读取所述连接在第二总线上的器件中的数据,存储所述数据;C所述连接在第一总线上的器件判断所述总线交换器到所述连接在第二总线上的器件中读取数据的操作是否完成,如果是则将所述数据读出。
Description
技术领域
本发明涉及通信技术中路由器和以太网交换机等网络设备的电路设计。特别涉及单板设计中串行接口总线的兼容方法及其装置。
背景技术
随着科技的发展,通信技术给人们的生活和工作带来越来越大的影响。在通信技术领域,路由器和以太网交换机等网络设备是现今各大通信企业的主要研究课题。在针对路由器和以太网交换机等网络设备的电路设计,尤其是单板设计中,涉及到的2线总线主要有以下两种:
第一种是媒体无关接口(Media Independent Interface,简称“MII”)管理接口总线,它是由电子和电气工程师协会(Institute ofElectrical andElectronics Engineers,简称“IEEE”)802.3定义的一种串行接口总线,主要用于读取物理层芯片的寄存器信息。这种总线分为管理数据输入输出(Management Data InputOutput,简称“MDIO”)数据线和管理数据时钟(Management Data Clock,简称“MDC”)时钟线。具体的总线协议规定在IEEE 802.3标准中有非常详细的叙述。
第二种是内部集成电路总线(ICInter Integrated Circuit,简称“I2C”)串行接口总线,它是由Philips公司定义的同步串行数据传输总线,常用于读取光模块,电可擦除可编程只读存储器(Electrically Erasable ProgrammableROM,简称“EEPROM”)和实时时钟等器件中存储的信息。这种总线分为串行数据(Serial Data,简称“SDA”)数据线和串行时钟(Serial Clock,简称“SCL”)数据线。在Philips公司的I2C总线规范中对其有具体的描述。
然而,目前使用的芯片中,多数不能同时提供两种总线接口,导致无法保证读取所有需要的数据。
举例来说,某种交换芯片只能提供MII管理接口,但是单板上的光模块、EEPROM等芯片只能支持I2C总线协议,所以无法读取这些芯片中的信息。
由此可见,由于芯片的原因,上述两种2线串行接口总线不能兼容。这会带来许多的不便,例如由于需要同时提供支持两种总线接口的芯片,使得单板的设计很复杂,由此导致涉及成本较高;并且可能引起前期设计和制作的单板由于没有考虑到总线的兼容性,而在后期的涉及中无法继续实现需求。
发明内容
本发明要解决的技术问题是提供一种总线交换方法以及总线交换器,使得可以通过MII管理接口总线读取I2C串行接口总线的数据。
为了解决上述技术问题,本发明提供了一种总线交换方法,包含以下步骤:
A连接在第一总线上的器件向总线交换器发送读取连接在第二总线上的器件中数据的指令;
B所述总线交换器对所述指令进行解析,根据解析结果读取所述连接在第二总线上的器件中的数据,存储所述数据;
C所述连接在第一总线上的器件判断所述总线交换器到所述连接在第二总线上的器件中读取数据的操作是否完成,如果是则将所述数据读出。
另外,所述步骤B中,所述数据存储在缓存寄存器中;所述步骤C中,所述连接在第一总线上的器件从所述缓存寄存器中读出所述数据。
所述步骤B中,所述总线交换器存储完所述数据后,设置表示读取操作执行完毕的标志位;所述步骤C中,所述连接在第一总线上的器件根据所述标志位判断所述总线交换器到所述连接在第二总线上的器件中读取数据的操作是否完成。
所述步骤C中,所述连接在第一总线上的器件通过对所述标志位轮询的方式对所述操作的完成状况进行判断。
所述标志位设置在总线交换器中。
所述第一总线是媒体无关接口管理接口总线;所述第二总线是内部集成电路总线。
并且,连接在媒体无关接口管理接口总线上的所述器件是中央处理单元。
所述步骤B中,所述总线交换器对所述指令的解析包含以下子步骤:
B1判断所述指令中管理数据输入输出数据线中数据帧的开始;
B2提取所述指令中的操作码;
B3提取所述指令中的连接在内部集成电路总线上的器件的端口地址。
本发明还提供了一种总线交换器,包含:
指令解析器,用于解析来自连接在第一总线上的器件的指令,并根据解析结果,通知读取器读取连接在第二总线上的器件中的数据;
读取器,用于响应所述指令解析器的通知,到所述连接在第二总线上的器件中读取数据,并将所述数据发送给缓存寄存器;
缓存寄存器,用于缓存所述读取器从所述连接在第二总线上的器件中读取的数据;
完成标志位寄存器,用于标示所述总线交换器已经完成从所述连接在第二总线上的器件中读取并缓存数据的操作。
其中,所述第一总线是媒体无关接口管理接口总线;所述第二总线是内部集成电路总线。
通过比较可以发现,本发明的技术方案与现有技术的区别在于,利用总线交换器,解析媒体无关接口管理接口总线器件读取数据的指令,通过该总线交换机中的读取器,读取内部集成电路总线器件的数据,并存储在缓存寄存器中,待完成读取和存储操作后,由媒体无关接口管理接口总线器件读出。
这种技术方案上的区别,带来了较为明显的有益效果,即通过MII管理接口总线读取I2C串行接口总线的数据成为可能。而由于MII管理接口总线是符合IEEE 802.3标准的芯片都需要提供的接口总线,因此本发明可以解决MII管理接口总线和I2C串行接口总线不能兼容的问题。只要系统设计提供MII管理接口总线,就可以同时读取MII管理接口总线和I2C串行接口总线的数据。
附图说明
图1是根据本发明的一个实施例的总线交换方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
参见流程图1,本发明的具体步骤如下:
在步骤100,诸如中央处理器(Central Processing Unit,简称“CPU”)等提供MII管理接口的芯片,下文中统称为“MII总线器件”,向总线交换器发送读取I2C总线器件中数据的指令。
该指令中包含的主要信息是操作码(例如表示是读操作还是写操作的命令编码)、端口地址(表示应该从I2C总线的哪一个器件读取需要的数据)和需要写入的数据(如果是写操作的话)。
本方法对涉及到的I2C总线器件没有特殊的限制,例如可以是光收发模块的EEPROM芯片等。
接着进入步骤110,总线交换器通过MII管理接口总线的MDIO获得上述指令,并对其进行解析。具体的说,是解析MII管理接口的MDIO数据线的内容,由此获得需要的信息。具体的解析过程如下:
首先,总线交换器判断MDIO数据线中数据帧的开始,每个MDIO数据帧都有一个32比特的前导码,这个前导码是全“1”;
接着,提取出相应的操作码,“10”代表MDIO数据帧的读操作,“01”代表MDIO数据帧的写操作;
然后,提取端口地址,即I2C总线上的器件地址,MDIO数据帧中有5位的端口地址,最多可以支持32个设备;
此后,对于写操作,总线交换器提取相应的数据信息,16比特数据的后8比特代表将要读取的寄存器地址;对于读操作,将I2C总线的读取结果送出。
完成对上述指令的解析后,总线交换器根据解析结果,到I2C总线上的器件读取数据,将读取的数据存储在缓存寄存器中,随后其完成标志位设置为“已完成”;
此后进入步骤120,MII管理接口总线上的器件通过MII管理接口,以论询的方式,判断总线交换器到I2C总线上的器件读取数据的操作是否完成。如果是,则通过MII管理接口将缓存寄存器中的数据读出。在本步骤中,MII管理接口总线上的器件一旦通过MII管理接口总线向总线交换器发出了读取I2C总线上器件中数据的指令后,就马上进入对完成标志位的论询状态中,直至总线交换器完成任务或者超时,如果发生超时后完成标志位还没有被设置成“已完成”,则原先发指令的MII管理接口总线上的器件再次通过MII管理接口总线向总线交换器发出了读取I2C总线上器件中数据的指令,再次进入轮训状态等待总线交换器完成任务。如果重试次数超过门限,则本次操作失败,原先发指令的MII管理接口总线上的器件向上层反馈操作失败信息。
根据本发明的原理,还提供了一种总线交换器。下面对该总线交换器的结构和工作进行说明。
本发明提供的总线交换器包含以下四个部分。
指令解析器,它用于解析来自MII管理接口总线上的器件的指令,并根据解析结果,通知读取器做相应操作。
在本发明中,MII管理接口总线上的器件向总线交换器发送读取I2C总线器件中数据的指令,该指令解析器的任务就是对其进行解析,例如,判断MDIO数据线中数据帧的开始,每个MDIO数据帧都有一个32比特的前导码,这个前导码是全“1”;提取出相应的操作码,“10”代表MDIO数据帧的读操作,“01”代表MDIO数据帧的写操作;提取端口地址,即器件地址,MDIO数据帧中有5位的端口地址,共支持32个设备。对于读操作指令,命令读取器读出I2C总线上相应器件的数据。
另外,本发明提供的总线交换器还包含读取器,用于响应MII管理接口总线上的器件发出的命令,根据从MDIO数据线中的数据帧中读取的信息,到I2C总线上的器件读取数据,并将读取的数据发送给缓存寄存器。
另外,本发明提供的总线交换器还包含缓存寄存器,用于缓存读取器从I2C总线上的器件读取的数据。
还有完成标志位寄存器,它是用于标示总线交换器已经完成从I2C总线器件中读取并缓存数据的操作。根据上面对本发明提供的总线交换方法的米描述可以知道,MII总线器件就是通过该完成标志位判断是否应该将总线交换器的缓存寄存器中的数据读出的。熟悉本发明技术人员可以理解,该完成标志位在具体实施中可以放在寄存器里,也可以内部或外部存储器中,只要发起操作的MII管理接口总线上的器件可以读取,总线交换器可以设置即可。
总线交换器的具体实现形式有许多种,例如现场可编程门阵列(FieldProgrammable Gate Array,简称“FPGA”)、复杂可编程器件(ComplexProgrammable Logic Device,简称“CPLD”)等。
当本发明的总线交换器工作时,首先由指令解析器通过MII管理接口总线的MDIO数据线获得来自MII总线器件的读取I2C总线器件数据的指令,并对该指令进行解析,根据解析结果,命令读取器到I2C总线器件上读取数据。读取器响应此命令,到I2C总线器件读取数据,将读取的数据存储在缓存寄存器中,并将其完成标志位置为已完成。此后,MII管理接口总线上的器件通过MII管理接口,以论询的方式对完成标志位进行判断,发现总线交换器已经完成到I2C总线器件读取数据的操作,便通过MII管理接口将缓存寄存器中的数据读出。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
Claims (10)
1.一种总线交换方法,其特征在于,包含以下步骤:
A连接在第一总线上的器件向总线交换器发送读取连接在第二总线上的器件中数据的指令;
B所述总线交换器对所述指令进行解析,根据解析结果读取所述连接在第二总线上的器件中的数据,存储所述数据;
C所述连接在第一总线上的器件判断所述总线交换器到所述连接在第二总线上的器件中读取数据的操作是否完成,如果是则将所述数据读出。
2.根据权利要求1所述的总线交换方法,其特征在于,所述步骤B中,所述数据存储在缓存寄存器中;所述步骤C中,所述连接在第一总线上的器件从所述缓存寄存器中读出所述数据。
3.根据权利要求1所述的总线交换方法,其特征在于,所述步骤B中,所述总线交换器存储完所述数据后,设置表示读取操作执行完毕的标志位;所述步骤C中,所述连接在第一总线上的器件根据所述标志位判断所述总线交换器到所述连接在第二总线上的器件中读取数据的操作是否完成。
4.根据权利要求3所述的总线交换方法,其特征在于,所述步骤C中,所述连接在第一总线上的器件通过对所述标志位轮询的方式对所述操作的完成状况进行判断。
5.根据权利要求3所述的总线交换方法,其特征在于,所述标志位设置在总线交换器中。
6.根据权利要求1所述的总线交换方法,其特征在于,所述第一总线是媒体无关接口管理接口总线;所述第二总线是内部集成电路总线。
7.根据权利要求6所述的总线交换方法,其特征在于,连接在媒体无关接口管理接口总线上的所述器件是中央处理单元。
8.根据权利要求6所述的总线交换方法,其特征在于,所述步骤B中,所述总线交换器对所述指令的解析包含以下子步骤:
B1判断所述指令中管理数据输入输出数据线中数据帧的开始;
B2提取所述指令中的操作码;
B3提取所述指令中的连接在内部集成电路总线上的器件的端口地址。
9.一种总线交换器,其特征在于,包含:
指令解析器,用于解析来自连接在第一总线上的器件的指令,并根据解析结果,通知读取器读取连接在第二总线上的器件中的数据;
读取器,用于响应所述指令解析器的通知,到所述连接在第二总线上的器件中读取数据,并将所述数据发送给缓存寄存器;
缓存寄存器,用于缓存所述读取器从所述连接在第二总线上的器件中读取的数据;
完成标志位寄存器,用于标示所述总线交换器已经完成从所述连接在第二总线上的器件中读取并缓存数据的操作。
10.根据权利要求9所述的总线交换器,其特征在于,所述第一总线是媒体无关接口管理接口总线;所述第二总线是内部集成电路总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031527108A CN100341297C (zh) | 2003-08-08 | 2003-08-08 | 总线交换方法以及总线交换器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031527108A CN100341297C (zh) | 2003-08-08 | 2003-08-08 | 总线交换方法以及总线交换器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1581837A CN1581837A (zh) | 2005-02-16 |
CN100341297C true CN100341297C (zh) | 2007-10-03 |
Family
ID=34579874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031527108A Expired - Fee Related CN100341297C (zh) | 2003-08-08 | 2003-08-08 | 总线交换方法以及总线交换器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100341297C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309258B (zh) | 2007-05-18 | 2012-11-21 | 华为技术有限公司 | 高速以太网介质无关接口码块的分发和接收方法及装置 |
CN101247412B (zh) * | 2008-03-07 | 2010-12-08 | 中兴通讯股份有限公司 | 双通道检测物理层/介质访问控制层状态的装置及方法 |
CN102226943B (zh) * | 2011-04-29 | 2013-04-17 | 杭州海康威视数字技术股份有限公司 | 一种实现屏幕拼接的系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1074052A (zh) * | 1992-01-02 | 1993-07-07 | 国际商业机器公司 | 用于总线接口单元的双向数据存储装置 |
CN1100822A (zh) * | 1993-05-28 | 1995-03-29 | 国际商业机器公司 | 系统总线外围总线间最佳数据传送用多总线系统总线桥 |
CN1407467A (zh) * | 2001-09-13 | 2003-04-02 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种总线-总线快速传输装置 |
CN1426203A (zh) * | 2001-12-11 | 2003-06-25 | 深圳市中兴通讯股份有限公司上海第二研究所 | 数据包在不同总线间转发的装置及方法 |
CN1428981A (zh) * | 2001-12-25 | 2003-07-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 解决数据包在不同总线间转发的装置及其转发方法 |
-
2003
- 2003-08-08 CN CNB031527108A patent/CN100341297C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1074052A (zh) * | 1992-01-02 | 1993-07-07 | 国际商业机器公司 | 用于总线接口单元的双向数据存储装置 |
CN1100822A (zh) * | 1993-05-28 | 1995-03-29 | 国际商业机器公司 | 系统总线外围总线间最佳数据传送用多总线系统总线桥 |
CN1407467A (zh) * | 2001-09-13 | 2003-04-02 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种总线-总线快速传输装置 |
CN1426203A (zh) * | 2001-12-11 | 2003-06-25 | 深圳市中兴通讯股份有限公司上海第二研究所 | 数据包在不同总线间转发的装置及方法 |
CN1428981A (zh) * | 2001-12-25 | 2003-07-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 解决数据包在不同总线间转发的装置及其转发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1581837A (zh) | 2005-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1310475C (zh) | 用于根据使用类来控制对设施的访问的装置和方法 | |
US6408347B1 (en) | Integrated multi-function adapters using standard interfaces through single a access point | |
CN113868155B (zh) | 一种内存空间扩展方法、装置及电子设备和存储介质 | |
CN1518701A (zh) | 用于多层翻译和保护表的方法和装置 | |
CN1151449C (zh) | 允许服务器远程访问未通电的客户计算机系统资产信息的数据处理系统和方法 | |
CN1855026A (zh) | 用于选择命令发送到存储器的方法、存储器控制器和系统 | |
CN1432149A (zh) | 转换保护表和使用该表验证访问请求的方法 | |
CN101031897A (zh) | 在次序混乱的dma命令队列中建立命令次序 | |
CN1608256A (zh) | 使用多个消息组的计算机系统中的代理之间的通信消息请求事务类型 | |
CN1608255A (zh) | 使用包括扩展类型/扩展长度字段的分组头部的计算机系统中的代理之间的通信事务类型 | |
CN1740997A (zh) | 网络设备及其外围器件互连资源的分配方法 | |
CN1831803A (zh) | 具有主节点和从节点的电子装置系统 | |
CN1516014A (zh) | 外围部件互连总线的测试方法 | |
CN1819554A (zh) | 数据处理系统及其数据接口连接方法 | |
CN100341297C (zh) | 总线交换方法以及总线交换器 | |
CN1324499C (zh) | 处理不期望的完成分组和具有非成功完成状态的完成分组的方法 | |
CN1838568A (zh) | 用于检测光纤信道线缆错连事件的装置、系统与方法 | |
CN1178130C (zh) | 控制方法和电子装置 | |
CN1338682A (zh) | 电子装置、使用此电子装置的设备和读出数据的方法参照相关的申请文件 | |
CN1642167A (zh) | 主节点支持从节点上不同协议类型从单元设备的方法 | |
CN1142499C (zh) | 利用片上总线传输数据的装置和方法 | |
CN1991811A (zh) | 主模块、功能模块和电子器件以及标识数据设定方法 | |
CN101034373A (zh) | 一种外部存储器控制器及基于外部存储器控制器的地址变换的方法 | |
CN1967420A (zh) | 串联式plc主机与扩充机的并列快速通信接口 | |
CN1731370A (zh) | 光模块寻址装置及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071003 Termination date: 20150808 |
|
EXPY | Termination of patent right or utility model |