接口电路的制作方法

文档序号:3168544阅读:157来源:国知局
专利名称:接口电路的制作方法
技术领域
本发明涉及一种将设备与通信总线相连接的接口,该设备具有第一通信总线和第二通信总线之间网桥的网桥端口功能。
背景技术
在本地系统中,IEEE 1394总线已经成为一种重要的具有异步和同步传输能力的通信系统。IEEE 1394串行总线已经可以向由终端到消费电子领域及计算机工业之间的数据交换提供被广为接受的国际性标准化总线。所述标准的准确名称为用于高性能串行总线的IEEE标准,(IEEE)STD 1394-1995,IEEE New York,1996年8月。2000年定稿的改进版本参照1394-2000。
IEEE 1394总线是一种有线总线,规定在一条总线线路上最多可以有63台设备参与通信,这63台设备可以分布在一个平面内或是一座房屋内。两台设备之间的最大距离是4.5米。不过,也有解决方案来延长距离。
所有的有线总线系统都存在的问题是需要在每个安装了总线设备的房间内安装总线电缆。这个问题促使希望完成IEEE 1394标准的无线扩展,凭借无线链接,独立的设备或一个网段(cluster)的设备能够与第一网段进行通信。
同时,已有可用于无线链接的无线协议。文件“宽带无线接入网(BRAN);Hiperlan类型2;基于包的会聚层;部分3IEEE 1394特定业务会聚子层(SSCS)”在ETSI BRAN Hiperlan/2无线网络上定义了一个模拟IEEE 1394链路层的子层。这样,它就有可能出现在有线1394总线之间的网桥设备中或是独立的无线设备中。当两个总线通过网桥连接时,从IEEE 1394的角度看,仍然认为这两个总线是有区别的。而且,由于子层必须出现在独立的设备中,为了通过无线链接将标准的1394设备与网络连接,首先必须将标准1394设备进行调整。
不同总线(bus_IDs不同)之间的内部连接包括目前由IEEE 1394.1工作组定义的IEEE 1394网桥。由于使用了不同的bus_IDs,在网桥上操作的应用就应当考虑网桥。
将一个网段的1394总线电缆和无线网桥相连接的组件需要有一个符合标准的接口,但另一方面,需要它有一些能考虑到网络自配置阶段的附加功能。1394总线具有热插拔功能,在任何需要从总线上添加或删除设备的时刻,都可以执行总线复位。在总线复位之后,每个总线节点向总线发送一个self_id包,这样总线上其他所有设备就得知目前在总线上有多少设备。ID_码是一个6比特码,因此可以区分64台设备。在1394标准中定义的将ID_码分配给设备的操作是一个特定的过程,将在下文中进行详细叙述。
如果将网络中所有的设备设置为属于一个1394总线,则必须按照与其中带有网桥电路的两个网段一致的方式进行自配置阶段。
第二网段中的设备并不清楚自己是经无线链接与网络相连。为了完成透明操作,有必要由无线转换器生成反映了两个总线之间拓扑的self_ID包。

发明内容
根据IEEE 1394标准,总线复位之后,在1394接口电路的物理层部分生成self_ID包。根据本发明,连接用于无线链接组件的接口应该在任何情况下都是增强的1394接口。它们应包括缓冲存储器,该存储器存储了不属于同一网段设备的self_ID包。这种缓冲存储器是接口物理层电路部分的一部分,这是因为总线复位之后,应尽早开始通信。缓冲器的操作在物理层部分进行保证了在总线许可和self_ID包传输之间有最轻微的延迟,所以用于缓冲应用数据的缓冲存储器就可以小一些。
根据从属权利要求说明的措施,可以进一步改进根据本发明的接口电路。在self_ID包的收集期间,为了存储自鉴定包的数据字,缓冲存储器依靠节点计数器和数据字计数器进行寻址。由于是按照上升顺序接收self_ID包,可以依照同样的顺序将它们写到存储器中而无需执行复杂的寻址管理逻辑。
有多个特定的控制寄存器用于控制节点计数器和数据字计数器的操作,如计数器的递加、预置和复位。
其他的寄存器可以作为指针设置缓冲存储器中特定范围的起始和终止值,例如组件应接听收到的self_ID包的范围或是组件需要向总线发送的self_ID包的范围,这便于自配置阶段的地址生成。
本发明的另一个优势在于接口电路包括了计算偏移量值的装置,用于每次总线复位之后缓冲存储器的寻址,这里的偏移量值由从网桥另一侧的通信总线接收到的self_ID包的数量加1与所述其他寄存器中某个寄存器的起始或终止地址之差计算得到。这便于第一总线复位之后直接生成self_ID包,此时网络的自配置阶段已经完成,而由于处于第二总线复位阶段,还需要进行一些调整。这样,可以很快地维持在第二总线复位之前已经出现的设备之间的数据通信。


如图所示为本发明的具体实施方案,并将在下面的叙述中详细解释。在图中图1所示为通过无线网桥彼此相连的两个1394网段;图2所示为根据本发明接口电路的框图;图3所示为self_ID包的格式;图4所示为接口电路中寄存器写请求的格式;图5所示为在自配置阶段,用于存储self_ID包的缓冲存储器寻址的框图;图6所示为根据本发明缓冲存储器结构的第一种示例;图7所示为根据本发明缓冲存储器结构的第二种示例;图1所示为两个带有1394总线设备的1394总线和其中的无线网桥。第一1394总线被分配的参考号是7。第一和第二1394设备由参考号1和2表示。这种设备可以是消费电子设备,如电视机、录像机、可携式摄像机,机顶盒装置、DVD播放器等等,或是计算机设备,PC、笔记本电脑等等。这些设备中的任意一个均是符合标准的1394设备并具备相应的1394接口10。
用于无线链路9的第一收发器组件用参考号3表示。由于该组件与1394总线线路7相连,所以它也需要一个1394接口。在图1中,相应接口的参考号是11,这就已经显示出它与设备1和设备2的1394接口是不同的,本发明中包含的1394接口11具有附加的功能。收发器组件3进一步有另一个接口12用于无线传输。已有的无线协议有支持高速通信的,以所述的Hiperlan系统为例,文件“宽带无线接入网(BRAN);Hiperlan类型2;基于包的会聚层;部分3IEEE 1394特定业务会聚子层(SSCS)”在ETSI BRAN Hiperlan/2无线网络上定义了一个模拟IEEE 1394链路层的子层。其他用于无线链接的无线通信协议包括IEEE802.11系统和蓝牙系统。
图1所示另一网段的1394设备有自己的1394总线8,而且所示的1394设备4和5有标准1394接口10,用于无线网桥9的第二组件6也与总线8相连。出于理解本发明的需要,包括无线收发器组件3和6在内的两个网段中所有总线设备的数目应小于或等于63。这是因为从1394设备的角度看,两个网段的无线网桥9合并在了一起,而来自不同网段设备之间的数据通信与同一网段中设备之间的通信相比没有任何区别,1394网段中总线节点允许的最大值仍然是63。定义无线网桥的收发器组件为根设备的总线为远程总线,如果在双方总线,无线网桥的收发器组件均为根设备,则以骰子规则为例进行判断。
欧洲专利申请00402901.3中描述了远程网段中只有一个1394设备的情况。欧洲专利申请01400826.2中则描述了远程网段中1394设备多于一个的情况。
图2所示为1394接口10的原理结构。1394接口分为在物理层部分21和数据链路层部分20这两部分,这两部分可以集成在一片单独芯片上或是两个不同的芯片上。从原理上讲,数据链路层部分可以执行在高效微控制器上运行的软件。改进的1394接口11有着同样的原理结构,改进部分考虑到了在物理层部分特定的缓冲存储器22,下文将对存储器的控制进行解释。
为了理解物理层芯片的改进,首先有必要解释一下总线复位时发生的情况。每当1394设备从总线拔电(未连接)或是与总线通电(连接)的时候,均会执行总线复位。1394总线标准提供了完全的热插拔能力,这意味着设备可以直接脱离或加入总线线路而无需切断网络。总线设备的加入或消除伴随着总线线路上特定电压的改变,倘若总线复位,电子装置可以检测到这种变化。总线复位之后紧接着是网络自配置阶段,在自配置期间,每一台总线设备将其self_ID包发送给总线,将它存在的消息通知网络内其他所有用户。
self_ID包的格式如图3所示。它由64位组成,其中后32位是前32位的倒置。当然IEEE 1394标准本身对self_ID包中所有位的意义都进行了解释,这里解释其中一部分。在self_ID包的开始部分是总线设备的物理ID号,这部分的长度是6比特,对应着数字0到63。在self_ID包的结束部分是2比特字段,用于表示总线设备端口P0到P2。当设备中存在着端口以及端口为激活状态且与其总线拓扑中的父或子相连接时,均由这2个比特位进行通告。根据IEEE 1394总线标准,一个总线设备最多可以装配16个端口,如果设备的端口多于3个,就要在第二或第三self_ID包对它们进行通告。self_ID包中的最后一位m具有指示设备是否还有其他端口的功能。就1394总线而言,数据通信可以是半双工操作模式,所以同时只能有一台设备向总线发送数据而其余部分只能接听。根据总线拓扑(特别是该设备是枝还是叶),总线以确定性的方式进行设备许可,并按照从0开始的总线许可顺序,将物理ID号分配给设备。数据包不仅要使用物理ID号进行寻址,每一个总线还有一个总线ID,在寻址过程中也需要考虑。
在如图1所示总线结构的情况下,总线复位之后,在自配置过程中会出现许多问题,这是因为这里没有考虑到这些设备是经无线链路与网络相连的情况,网桥将总线复位进行了隔离。而这里self_ID包需要经无线链路从一个网段被转发到其他网段。
现在考虑总线复位时网段总线7的情况。这个网段中所有的设备1、2、和3都检测到了总线复位,在总线复位之后设备依次将其self_ID包发送出去。该网段中的每台设备会在更高的软件层,如交易层收集相应的信息以便随后产生正确的地址。收发器组件3中的接口11还接收所有的self_ID包并将其经无线链路转发给第二收发器组件6。组件3也产生self_ID包并将其发送给1394总线7。在无线收发器组件3第一次试图以传统模式运行并不考虑1394电缆取代网桥的情况下产生self_ID包时,其物理ID号是不同的。
当从该网段总线收集了所有的self_ID包之后,组件3以软件方式引起网段总线上的总线复位,在总线上再次发送self_ID包。区别在于当轮到组件3发送自己的self_ID包时,不仅会生成自己的self_ID包,还会生成远程网段中设备的self_ID包,这样如果1394电缆取代了无线链接,组件3可以在考虑到拓扑结果的情况下生成self_ID包。下文中将这种由组件3产生的表示该网段总线中设备的self_ID包称为人工self_ID包。
接着,通过组件6中的软件方式还可以引起远程总线8的总线复位。组件6从该网段总线中收集所有的self_ID包并在这个阶段生成对应的人工self_ID包。此阶段之后自配置结束,可以继续进行平常的数据通信。
为了使所述操作更清楚,位于无线收发器组件3和6中接口11的物理层芯片有必要产生可以同时反映这两个总线拓扑的self_ID包。
为了达到此目的,可以将PHY IC自动生成的self_ID包存储于PHYIC中一个特定的缓冲存储器22中,该缓冲存储器可以是一个寄存器单元(或RAM)。考虑到self_ID包的格式,这个寄存器单元中只存储了各个self_ID包的第一个quadlet(32比特),PHY芯片本身可以在空白页(fly)上创建各个self_ID包的第二个quadlet(是前32比特的逻辑取反)。
每个节点self_ID包的数目由各个节点配置的端口决定。根据IEEE1394-2000版,每一个节点最多的self_ID包数是3,而根据标准IEEE1394-1995则是4。为了与旧版本兼容,得到寄存器单元的最小容量为16字节×62个节点=992字节无线链路的微控制器会提供人工self_ID包的信息,该信息存储于PHY的寄存器单元内。下文将介绍如何利用向位于预留寄存器记录(寄存器记录2...7)中的PHY寄存器发送的链路请求LREQs,将数据写入寄存器单元。
IEEE 1394标准本身对链路请求的概念进行了解释。来自链路IC的各个控制命令按照如图4所示的格式被发送给PHY IC,格式由IEEE 1394定义。该命令以串行形式从LINK传送到PHY,在1个起始位之后,是3比特的请求类型部分和4比特的地址字段,随后是指令数据字节,到终止位则命令结束。
应该把寄存器单元创建在与节点ID相对应的固定区域(例如为一个节点的self_ID包预留的寄存器空间为16字节),这样PHY芯片通过简化的地址分析机制就可以对特定节点ID的PING包寻址立即作出反应。
如果在缓存中,self_ID包按照节点号的升序排列,则包括物理节点号在内的每一个self_ID包需要的缓存大小将减少6比特。除此之外,各个self_ID包的前10b比特没有存储于寄存器单元中。由此得到寄存器单元的最小容量如下12字节×62个节点=744字节需要10个二进制数字来表示缓存地址,这样4个最低有效位(在下文表示字节地址)表示用于一个节点self_ID包数据的地址空间,6个最高有效位(在下文中表示节点地址)表示节点数。
图5所示为寻址的示意图,参考号22表示寄存器单元或缓冲存储器。在self_ID包的收集过程中,利用节点计数器30和字节计数器31来完成缓存22的寻址。节点计数器为6比特而字节计数器为4比特计数器,这两个计数器的输出一起构成10比特的地址总线用于缓冲存储器寻址。这里利用一个8比特数据总线用于将self_ID包的数据字节传送给存储器。缓冲存储器可以是DPRAM类型(双端口RAM),这种情况下可以用写操作单独读出其中的内容。所以,在缓存的另一侧,相应的地址和数据总线也是有效的。一个6比特数据总线与节点计数器相连,这就有必要将节点计数器的初值预置为一个特定的值。
通过链路请求的方式可以载入缓冲存储器。出于此目的,定义了以下新的指令(见表1)

表1扩展的PHY指令表利用PHY芯片中预留的寄存器可以很容易地执行表2中所列的指令。在IEEE 1394标准中,给出了标准的8个寄存器记录,16个寄存器,其中预留了记录2...7,扩展的PHY寄存器图如表2所示。
表2扩展的PHY寄存器图从图5可以明显看出在上表中不同指令的操作如何控制节点计数器30和字节计数器31。
在没有self_ID包信息载入寄存器单元22的情况下,改进的PHY IC就相当于符合标准的物理层IC(Root hold_off位和L位被置为1)。物理层IC在商业上是可行的,例如德州仪器的芯片TSB21LV03就是用于IEEE 1394总线的PHY IC。
只有在寄存器单元被完全装载的时候,以及这由将寄存器单元的最后一个字节写入特定的寄存器地址“write_complete”以及将节点数加128(MSB置为1)写入Id_end来表示。根据下文所述的方法,PHY IC对带有人工self_ID包的总线复位(或对PING包)做出响应。
只有当比特位24...29(NPORT位,端口连接状态)中的一个或self_ID包信息的比特位31(more_packets)不等于0的时候,物理层IC按节点数从0到ID_end的范围发送人工self_ID包。如果设置了m(more_packets)位,则会立即为这个节点提供另外的self_ID包。如果比特位24...29或31的内容等于0,则PHY释放总线以允许其他的局域节点给出其自身的self_ID包。只有当port_connection_status比特位24...29或31不等于0的时候,PHY才会为了被请求的节点对PING包做出反应。
应当对符合标准的self_ID包中的2个预留位(网桥位)进行调整。
在设备加电或拔电的情况下,当每一次总线复位之后,附加的PHY为人工self_ID包重新计算物理ID号。新的物理ID(Node_ID*)由下列简单方程计算得到Node_ID*=Node_ID+Offset这里的Offset由总线复位之后该网段接收到的self_ID包的数目加1与总线复位之前从自配置阶段得到的Rx/Tx_start或Rx/Tx_end值的差确定。
当PHY为远程总线的一部分的情况下Offset=(接收到的self_ID包的数目+1)-Rx/Tx_end当PHY为该网段总线一部分的情况下Offset=(接收到的self_ID包的数目+1)-Rx/Tx_start如图6和7所示,考虑到节点号“0”属于哪一种总线,就可能有不同的缓冲存储器配置。图6所示为远程总线的收发器组件6中接口11的结构,用于最低节点号“0”属于i)远程总线ii)本网段总线。图7所示为本网段总线的收发器组件3中接口11的结构,用于最低节点号“0”属于i)远程总线ii)本网段总线。以图6中的网段总线节点ID0的情况为例,其特征在于需要将人工self_ID包发送到远程总线,该总线起始于物理ID“0”到物理ID Tx/rx_start减1且范围从Tx/rx_end到ID_end减1。在Tx/rx_start到Tx/rx_end的范围内,接口接听来自远程总线的self_ID包并将它们转发给其他的收发器组件3。从地址ID_end开始缓存为空。
每次总线复位之后,从用于节点ID的偏移量值计算的概念上讲,可以很快地重新启动数据通信。这是因为由于总线复位之后,无需等待就可以更新缓冲存储器中所有的人工self_ID包,这就加快了人工self_ID包的发送。在不考虑用偏移量值更改物理ID号的情况下,可以再次使用旧的记录。
权利要求
1.用于将设备连接到第一通信总线(7)的接口电路(11),该接口电路(11)包括物理层部分(21)和数据链路层部分(20),其特征在于物理层部分(21)包括缓冲存储器(22),在总线复位之后或根据请求,在该缓冲存储器中收集经无线网桥(9)从第二通信总线(8)接收到的自鉴别包以便于能够将自鉴别包传送到所述第一通信总线(7)。
2.根据权利要求1的接口电路,其特征在于自鉴别包有确定的长度并能够鉴别通信总线上的节点。
3.根据权利要求1或2的接口电路,其特征在于在自鉴别包收集期间,为了存储自鉴别包的数据字,缓冲存储器(22)的寻址依靠节点计数器(30)和数据字计数器(31)进行。
4.根据权利要求3的接口电路,其特征在于包括第一控制寄存器,在进行该寄存器的寻址时,节点计数器(30)递增,在每一次将自鉴别包的上一个数据字写入所述缓冲存储器(22)时进行所述第一控制寄存器的寻址。
5.根据权利要求4的接口电路,其特征在于在进行第一控制寄存器的寻址时还会引起数据字计数器(31)的复位。
6.根据权利要求3至5中任意一个的接口电路,其特征在于包括第二控制寄存器,在进行该寄存器的寻址时数据字计数器(31)递增,在每一次将数据字写入所述缓冲存储器(22)时进行所述第二控制寄存器的寻址。
7.根据权利要求3至6中任意一个的接口电路,其特征在于进一步包括第三控制寄存器,在进行该寄存器的寻址时节点计数器(30)和数据字计数器(31)复位,且在每一次将自鉴别包中上一个数据字写入所述缓冲存储器(22)时进行所述第三控制寄存器的寻址。
8.根据权利要求3至7中任意一个的接口电路,其特征在于包括第四控制寄存器,在进行该寄存器的寻址时将节点计数器(30)的初值预置为与数据线路对应的特定值。
9.根据权利要求8的接口电路,其特征在于在进行第四控制寄存器寻址时,还会引起数据字计数器(31)的复位。
10.根据权利要求1至9中任意一个的接口电路,其特征在于进一步包括第五和第六控制寄存器,在所述寄存器中存储了缓冲存储器(22)中特定范围的起始值和终止值,以便于确定在所述第一和第二通信总线的总线设备中网络的自配置阶段期间需要被读取的存储器位置。
11.根据权利要1至10中任意一个的接口电路,其特征在于进一步包括第七寄存器,在该寄存器中存储了缓冲存储器(22)中上一个有效入口的地址。
12.根据权利要求11的接口电路,其特征在于第七寄存器包含了附加的比特位位置,该位置用于确定能够或不能够进行人工自鉴别包的发送。
13.根据权利要求1至12中任意一个的接口电路,其特征在于进一步包括用于计算偏移量值的装置,每次总线复位之后,该值用于更改存储于自鉴别包中的节点ID号,偏移量值由总线复位之后在第一或第二通信总线上接收到的自鉴别包的数目加1和第五与第六寄存器的起始或终止值之差计算得到,其中寄存器由接口电路(11)是网段(7)的一部分还是远程总线(8)的一部分来决定。
14.根据权利要求12或13的接口电路,其特征在于第七寄存器包括附加的比特位位置,由此可以区别从缓冲存储器(22)读取自鉴别包的两种模式,即就是接口电路(22)是或不是远程总线(8)或本网段总线(7)的一部分。
15.根据权利要求1至14中任意一个的接口电路,其特征在于第一和第二通信总线是标准的有线IEEE 1394总线且特别地,无线网桥(9)符合Hipeilan/2、IEEE 802.11或蓝牙标准。
全文摘要
本发明涉及一种接口电路,其包括缓冲存储器(22),它用于将两个网段的1394设备彼此链接的无线网桥(9)中的两个组件的1394接口(11)的自鉴别包。特别地,应在1394接口(11)的物理层部分使用这些缓冲存储器(22)。利用这些缓冲存储器可以收集其他网段中总线设备的自鉴定包,而且在总线复位之后的网络自配置阶段,当将总线许可分配给也与发生总线复位的总线连接的无线网桥的组件时,可以容易地读取这些数据。1394接口的物理层部分将人工自鉴别包发送给其他网段中所有的总线设备以便能够无需长时间的延迟而继续进行数据通信。
文档编号H04L12/56GK1505887SQ02809043
公开日2004年6月16日 申请日期2002年4月18日 优先权日2001年5月2日
发明者西格弗里德·施魏德勒, 迪特尔·豪普特, 克劳斯·格德克, 马尔特·博苏姆, 赫伯特·许策, 博苏姆, 格德克, 许策, 豪普特, 西格弗里德 施魏德勒 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1