专利名称:使用在集成电路中的存储器的总线接口及方法
技术领域:
本发明涉及一种使用在集成电路中的存储器的总线接口及方法,该集成电路连接总线和由总线控制的应用设备。
IEEE1394总线是一种低成本、高性能的串行总线。这种总线具有读/写存储结构和高度复杂的通讯协议。它能以100、200、400Mbit/s的速率接近实时地传送数据,并能实现数据的双向传输。传输地址值的头十位用于与1023个可能的IEEE1324总线群集之一相对应。传输地址值的随后六位与特定群集中的63个接点之一相对应,该接点分配给一个应用设备。接点之间的数据交换不需要主控制器的交互作用。设备可以随时被切断或接入网络,即允许即插即用。
连接接点的标准电缆长度为4.5m,且其含有三对双绞线,其中两对用于传输数据和控制信号,另一对作为8v至40v电压之间的电源线使用。这里使用了三种级别的编码高(H)、低(L)、和高阻抗(Z)。H优先于L,L优先于Z,其特征阻抗为110Ω。在1995年版的IEEE1394总线规范中,只包含了两对双绞线电缆,而没有说明电源电缆。通信协议具有三层物理层、链路层、以及事务层(transaction layer)。典型的事务层由固件实现,而其它层则采用芯片组实现。
物理层包括模拟收发器和数字状态机。由它实现总线自动配置和带电插拔。它重定时、重写并重复全部信息包且将全部信息包传输到局部链路层。由它实现信息包成帧,诸如速度码、前缀、以及信息包结束组合。物理层从局部链路层仲裁并传输信息包。物理层可使用的集成电路(IC)包括得克萨斯仪器公司(Texas Instrument Co.)生产的TSB11C01、TSB11LV01、TSB21LV03、和TSB41LV03,富士通公司(Fujitsu)生产的MB86611以及IBM公司生产的21S750。
链路层完成全部数字逻辑操作。通过地址识别,链路层识别向接点寻址的信息包并解码信息包标题。链路层将信息包发送到较高的层并由较高的层生成信息包,它或者用于与视听(AV)数据同步使用,或者用于与控制数据异步使用。
在同步模式中,建立了一个具有保用带宽的频道,且定义了一个等待时间。在125μs时间间隔(或周期)内完成传输。信息包的标题块和数据块具有独立的循环冗余码(CRC)。这种模式比异步数据传输模式具有较高的优先权。
异步模式不是实时的,但是安全的。它起到具有占线和重发协议的应答服务作用。它使用了固定地址。当总线空闲时,传输就进行。异步模式处理读请求/应答、写请求/应答及锁定请求/应答。它完成了循环控制、循环冗余码(CRC)生成与确认。链路层可使用的集成电路(IC)的型号有得克萨斯仪器公司(Texas Instrument Co.)生产的TSB12C01A、TSB12LV21、TSB12LV31、和TSB12LV41,以及菲利普公司(Philips)生产的PDI1394L11。
事务层执行异步总线事务·读请求/读应答·写请求/写应答·锁定请求/锁应答以上事务可以通过在微控制器(如SparcLite的1960型)上运行软件实现。还可能有一个视听层(audio video)用于实现设备控制、连接管理、时间标记以及信息打包。
在IEEE1394体系中,通过物理层,链路层作为外部设备与IEEE1394总线之间的接口使用。
外部设备可以是一种消费类设备,诸如机顶盒、视频磁带录像机(VCR)或者DVD播放器,它们都能发送/接收实时同步数据和非实时异步数据。
异步数据信息包用于控制操作及寄存器读/写/锁操作。同步数据包含有类似声/像的信息项。
为了IEEE1394总线与应用设备的定时去耦,使用片上存储器。由于受到链路层集成电路(IC)片上存储器存储空间的限制,用该存储器进行处理时,重要的是节省存储空间。根据ASIC(特定用途集成电路)有关链路层集成电路(IC)的解决方案,在IEEE1394总线和应用设备之间采用FIFO存储器(先入先出存储器)连接,并组织异步数据信息包和同步数据信息包的处理。
存储空间可以对应异步数据和同步数据划分固定的存储区。但为了满足某种特定功能,而将存储空间灵活地划分是有益的。而将剩余的存储空间用于其它用途,并得到有效管理,以满足速度与寻址的要求。这就出现了在片上存储器中对实时同步数据和非实时同步数据有效管理的问题。
根据本发明,方法避免片上存储器存储含有传输差错的信息包。所有异步数据信息包均具有这种特性;特定情况下,同步数据信息包也存在这种特性。特殊情况,将链路层芯片的FIFO存储器分为三个区异步接收区、异步传输区和同步数据信息包区。
在异步模式中,IEEE1394总线数据信息包的接收与传输以独立方式完成;而在同步模式中,数据信息包的接收与传输以顺序方式完成;从而使这些数据存入同一个存储区。
在接收模式中,由IEEE1394总线传来的数据信息包被逐字写入相应的存储区。根据IEEE1394总线说明,数据信息包的第一部分定为信息包标题,之后的第二部分定为信息包(用户)数据。
在异步IEEE1394数据信息包中,有两个CRC校验字(循环冗余校验),第一个校验字附在信息包标题上,第二个校验字附在信息包数据或有效荷载数据上。由于在所接收的信息包数据流中的CRC校验字位于专用字段,因此在将数据信息包写入存储器之前,不可能处理CRC校验字。处理异步数据信息包的方法至少有三种a)不作CRC校验,而将全部数据信息包完整地写入存储器;当从存储器读取数据信息包时,应用设备就对全部数据信息包进行标题CRC校验和信息包数据CRC校验,并忽略差错数据信息包。
b)在所有情况下,将一个完整数据信息包写入存储器,从而完成对该数据信息包的立即CRC校验。且如果标题CRC校验和/或信息包数据CRC校验为真,则将它标为“差错的”。当从存储器读取数据信息包时,应用设备就检验所有数据信息包的标记并忽略差错数据信息包。
c)在所有情况下,利用专用的CRC校验装置及其寄存器,对输入的数据信息包快速进行标题CRC校验或同时进行标题CRC校验和信息包数据CRC校验。如果标题数据和/或信息包数据有差错,则输入的数据信息包或者其信息包数据就不存入存储器。然后由第一标题数据字节初始化,并用下一个输入的数据信息包或信息包数据分别对差错数据信息包或差错信息包数据改写。
由于c)最大限度地节省了存储空间,所以选择c)。
同步数据信息包具有类似的结构。在信息包标题后是标题CRC校验字,再后是附有数据CRC校验字的有效荷载数据字段。该有效荷载字段或数据字段在起始位包含一个指称通用同步信息包(CIP)标题的信息字段,用于描述后续数据结构。该信息项不必写入存储器。
源数据信息包可能包含具有已知固定数据长度的数据组,该数据长度和IEEE1394有效荷载数据字段的数据长度不匹配。例如,MPEG传输信息包实际具有一个188字节的标准的数据长度,它与IEEE1394有效荷载数据字段的104个字节长度不同。因此一个MPEG传输信息包可以在一、二、四或八个连续的IEEE1394有效荷载数据字段部分地传输。
处理同步数据信息包的方法至少有六种d)在所有情况下,如果认为数据信息包向应用设备寻址,就不作标题CRC校验和数据字段CRC校验而将它完整地写入存储器。从存储器读取数据信息包时,应用设备就对所有数据信息包同时进行两种类型的CRC校验,并忽略差错数据信息包。
e)在所有情况下,将整个数据信息包写入存储器,对该数据信息包进行立即标题CRC校验和/或数据字段CRC校验。如果其标题字段和/或数据字段为真,则将它标为“差错的”。从存储器读取数据信息包时,应用设备就校验所有数据信息包的标记,并忽略差错标题字段和/或数据字段。有时可能出现数据信息包的一部分是差错的,而另一部分是可用的。
f)在所有情况下,利用专用的CRC校验装置及其寄存器,对输入的数据信息包快速进行标题CRC校验。如果标题有差错,则输入的数据信息包不写入存储器。此外,或者直接判断标题,将数据字段存入具有数据字段CRC的存储器中;或者将标题字段和数据字段写入具有数据字段CRC校验的存储器。之后完成数据字段CRC校验。
g)在所有情况下,利用专用的CRC校验装置及其寄存器,对输入的数据信息包快速进行标题CRC校验。如果标题有差错,则输入的数据信息包就不存入存储器。否则,或者直接判断标题并将数据字段存入具有数据CRC的存储器中,从而进行数据字段CRC校验;或者将标题字段和数据字段写入该存储器从而进行数据字段CRC校验;如果标题和数据字段为真,就将该数据字段标为“差错的”。标记可与数据字段一起存入该存储器。当从存储器读取有效荷载数据字段或标题及有效荷载数据字段时,应用设备将校验标记并忽略相应的差错有效荷载数据字段或差错标题。
h)在所有情况下,利用专用的CRC校验装置及其寄存器(s),对输入的数据信息包快速进行标题CRC校验和数据字段CRC校验。如果标题和/或数据字段有差错,则输入的数据信息包就不存入存储器。
i)在所有情况下,利用专用的CRC校验装置及其寄存器(S),对输入的数据信息包快速进行标题CRC校验。如果标题有差错,则输入的数据信息包就不存入存储器。否则,或者直接判断标题并将数据字段中的源数据信息包存入存储器,从而进行数据字段CRC校验;或者将标题字段和数据字段写入该存储器,从而进行数据字段CRC校验;如果标题和数据字段为真,就将源信息包数据或数据字段相应地标为“差错”。此外,上述数据长度也得到了校验。如果源信息包的已知的数据长度没有完成,则该源信息包可标为“差错”。该信息包将被下一个信息包所改写。当从存储器读取标题数据字段和有效荷载数据字段时,应用设备将校验标记并忽略相应的差错有效荷载数据字段或差错标题。
由于i)最大限度地节省了存储空间,且它不仅能够检测传输差错而且能够检测源信息包世承差错,所以选择i)最有利。
本发明的一个目的在于说明使用在集成电路中的存储器的方法,该集成电路用于连接所述总线与由总线控制的应用设备。其特征在于所需的存储容量降低到最小,利用权利要求1所述的方法能达到此目的。
本发明进一步的目的在于说明采用本发明方法的一种装置。权利要求8所述的装置能达到此目的。
原则上,本发明方法是使用在集成电路中的存储器,该集成电路受连接所述总线和总线控制的应用设备。其特征在于,通过所述总线将数据信息包传输到所述应用设备。数据信息包包括标题数据和有效荷载数据。第一防差错码分配给标题数据,第二防差错码分配给有效荷载数据。这里规定所述信息包数据中途存储到所述的存储器。而且,对于所接收的当前数据信息包,在所有情况下,都要对所述的第一防差错码作判断,且当该判断显示当前数据信息包的标题数据已被差错地接收,则至少当前数据信息包的有效荷载数据不能写入到所述存储器。如果所述当前数据信息包的标题数据已写入所述存储器,且对所述第一防差错码或所述的第二防差错码的判断分别表示响应当前数据信息包的标题数据已被差错地接收时,则下一个将要接收的数据信息包的标题数据能够改写所述存储器中的当前数据信息包的标题数据。
在各相关的权利要求中,说明了本发明方法适用的附加实施例。
总之,本发明的总线接口适用于总线和由所述总线控制的应用设备的连接。数据信息包通过所述总线传输到所述应用设备,它包括指定有第一防差错码的标题数据和指定有第二防差错码的有效荷载数据,并且包括·所述有效荷载数据要中途存入其中的集成电路中的存储器;·评估装置,其在所有情况下评估一个所接收的当前数据包的所述第一防差错码;且当该判断结果显示当前数据信息包的标题数据已被差错地接收,则至少当前数据信息包的有效荷载数据不能写入到所述存储器。
如果所述当前数据信息包的标题数据已被写入所述存储器,且所述判断装置有关上述第一防差错码或所述第二防差错码的判断结果分别表明响应当前信息包有效荷载数据的标题数据已被无差错地接收,则地址生成装置可控制所述存储器使即将接收的下一个数据信息包的标题数据改写当前数据信息包的标题数据。
在各相关的权利要求中,说明了本发明装置适用的附加实施例。
现参照附图对本发明实施例进行说明
图1、用于双向实时视频设备的双接点IEEE1394总线;图2、连接机顶盒、VCD和DVD播放器的IEEE1394总线;图3、一个控制片上存储器地址的CRC校验装置;图4、在先前存储的数据被改写之前,已存储了数据的第一数量的片上存储器;图5、在先前存储的数据被改写之前,已存储了数据的第二数量的片上存储器;在图1中,物理层集成电路(IC)PLI与IEEE1394总线电缆B相连。将位于另一侧的PLI与链路层的集成电路(IC)LLI相连,用于数据输入和/或数据输出。将LLI与应用设备APP相连。微控制器μP控制LLI并通过LLI控制PLI。应用设备APP也可以由μP控制。换句话说,PLI和/或APP可以由独立的微控制器控制。μP可以完成上述的CRC校验。
本发明可以用于如图2所示的应用一台具有接收装置RU、MPEG解码器MDEC和IEEE1394接口1394S的机顶盒STB通过卫星或有线接收数字电视(TV)节目。接收设备的输出信号通过IEEE1394总线传输到具有IEEE1394接口1394V的录像机VCRR用于录像。同时,一台DVD播放器DVDP播放DVD盘片并将DVD数据通过IEEE1394总线接口1394D传输到机顶盒的IEEE1394总线接口1394S,以便MPEG解码器MDEC解码并在电视接收机(TV)上播放。TV还可以有一个模拟信号通过IEEE1394总线接口连到机顶盒。因此机顶盒的IEEE1394总线接点1394S需具备双向功能。
在图3中,向一台CRC校验装置CRC-CHU和一个片上存储器RAM传输IEEE1394的总线数据1394DAT。该存储器存储异步信息包数据或同步信息包数据。CRC校验后,根据其校验结果,CRC_CHU向存储器地址生成装置MADGU发出相应的控制信号CTRL。MADGU向存储器RAM提供相应的地址值,该地址值例如用于改写已存储的差错数据信息包。
图4对存储器RAM的存储内容作了说明。与标题CRC校验和数据CRC校验有关的内容存储在存储器RAM中。在本例中,RAM内存有·信息包#0的标题HP0;·用于该标题的CRC码HCRCP0,其状态为“正常”时,表示标题数据已被无差错地接收;·信息包#0的数据DATP0;·用于信息包#0的CRC码DATCRCP0,当其处于“正常”状态时,表示标题数据已被无差错地接收;·信息包#1的标题HP1;·用于该信息包数据的CRC码HCRCP1,当其处于“错误”状态时,表示差错标题数据已被接收,结果,数据信息包#1就不写入存储器RAM且信息包数据的CRC码HCRCP1将被信息包#2的标题数据改写;图5对存储器RAM的存储内容作了说明。存储器RAM存储有与标题CRC校验和数据CRC校验有关的内容。在本例中,RAM内存有·信息包#0的标题HP0;·用于该标题的CRC码HCRCP0,其状态为“正常”时,表示标题数据已被无差错地接收;·信息包#0的数据DATP0;·用于信息包#0数据的CRC码DATCRCP0,当其处于“正常”状态时,表示信息包#0数据已被无差错地接收;·信息包#1标题HP1;·用于该标题的CRC码HCRCP1,当其处于“正常”状态时,表示标题数据已被无差错接收,·信息包#1数据DATP1;·用于信息包#1数据的CRC码DATCRCP1,当其处于“错误”状态时,表示差错数据已被接收;结果,信息包#2的标题数据在DATCRCP1之后就不写入存储器RAM,而由MADGUK控制将信息包#1的标题数据HP1改写;如果无差错标题数据不被写入存储器,则它们在对有效荷载数据写入存储器作向应之前和/或期间作判断。
本发明对异步数据信息包接收具有如下优势·由于CRC校验能由片上的专用CRC校验装置完成,所以对应用设备处理能力没有要求;·由于差错信息包数据能改写,所以片上存储器得到了最优利用;本发明对同步数据信息包接收具有如下优势·由于CRC校验能由片上的专用CRC校验装置完成,所以对应用设备处理能力没有要求;·为了使相互间具有固定暂存地址的声/像数据同步,应用设备能判断利用数据字段CRC差错而信息包长度正确的数据信息包;·该判断可由软件控制实现;·由于差错信息包数据能改写,所以片上存储器得到了最优利用;除了IEEE1394总线外,任何其它总线象Ethernet或Internet总线也可以使用。除了CRC防差错码外,任何其它防差错码象RS码或奇偶位也可以使用。
权利要求
1.一种用于使用在集成电路中的存储器(RAM)的方法,该集成电路连接总线(B)与由总线控制的应用设备(APP),数据信息包(1394DAT)通过所述总线传输到所述应用设备,该数据信息包包含指定有第一防差错码(HCRCP0、HCRCP1)的标题数据(HP0、HP1)和指定有第二防差错码(DATCRCP0、CATCRCP1)的有效荷载数据(DATPO,DATP1),且所述信息包数据要被中途存储到所述的存储器,其特征在于,对于所接收的当前数据信息包,在所有情况下,都要对所述的第一防差错码(HP0、HP1)作评估(CRC-CHU),且当该评估显示当前数据信息包的标题数据已被差错地接收,则至少当前数据信息包的有效荷载数据(DATP0,DAPT1)不能写入到所述存储器。
2.根据权利要求1所述的方法,其特征在于如果所述当前数据信息包的标题数据已写入所述存储器,且对所述第一防差错码或所述的第二防差错码的评估(CRC-CHU)分别表示响应当前数据信息包有效荷载数据的标题数据已被差错地接收时,则下一个将要接收的数据信息包的标题数据能够改写所述存储器(RAM)中的当前数据信息包的标题数据。
3.根据权利要求1或2所述的方法,其特征在于所述总线(B)是IEEE1394总线,且所述的数据信息包既可以是异步数据信息包也可以是同步数据信息包。
4.根据权利要求3所述的方法,其特征在于如果是异步数据信息包,则在所述存储器(RAM)中的改写被第一标题数据字节初始化。
5.根据权利要求3所述的方法,其特征在于如果数据信息包中的同步数据信息包和同步数据组具有已知数据长度,如果所收到的数据组的实际数据长度和已知的数据长度不匹配,则响应下一个即将收到的数据信息包有效荷载数据的标题数据将改写响应存于存储器(RAM)中的当前数据信息包有效荷载数据的标题数据。
6.根据权利要求1至5中的任何一项所述的方法,其特征在于无差错标题数据不被写入所述存储器,但它在对有效荷载数据写入所述存储器作响应之前和/或期间被评估。
7.根据权利要求1至6中的任何一项所述的方法,其特征在于在当前数据信息包有效荷载数据(DATP0,DATP1)写入所述存储器之前和/或期间,判断所述第二防差错码(DATCRCP0,DATCRCP1);且如果为真,则将所述当前数据信息包有效荷载数据被标为“差错的”并将该标记和有效荷载数据一起存入存储器。
8.一种总线接口,用于连接总线(B)和由所述总线控制的应用设备(APP),其特征在于数据信息包(1394DZT)通过所述总线传输到所述应用设备;该数据信息包包含指定有第一防差错码(HCRCP0、HCRCP1)的标题数据(HP0、HP1)和指定有第二防差错码(DATCRCP0、CATCRCP1)的有效荷载数据(DATPO,DATP1);其内容包括·集成电路中的存储器(RAM),其中要中途存入所述有效荷载数据;·评估装置(CRC-CRU),其在所有情况下评估所接收的当前数据信息包的第一防差错码(HP0,HP1);当该判断结果显示当前数据信息包的标题数据已被差错地接收时,则至少当前数据信息包的有效荷载数据(DATP0,DATP1)不写入所述存储器。
9.根据权利要求8所述的总线接口,其特征在于如果当前数据信息包的标题数据已被写入所述存储器(RAM),且来自所述评估装置(CRC-CHU)的关于所述第一防差错码或所述第二防差错码的评估结果显示响应当前数据信息包的有效荷载数据的标题数据已被差错地接收,则存储器地址生成装置(MADGU)控制所述存储器(RAM),使得即将接收的下一个数据信息包的标题数据改写当前数据信息包的标题数据。
10.根据权利要求8或9所述的总线接口,其特征在于所述数据总线(B)是一种IEEE1394总线,并且所述数据信息包可以是异步数据信息包也可以是同步数据信息包。
全文摘要
链路层集成电路(IC)实现与外部应用设备的接口并准备用于送到总线的数据,或者解释从IEEE1394输入的数据信息包。物理层集成电路(IC)实现和总线的直接电连接。根据本发明,为了满足任何特定服务的要求,而将片上存储器的存储空间灵活地划分。进一步说,片上存储器通过在标题数据和其它数据之间做快速CRC校验防止存储含有传输差错的数据信息包。对同步数据信息包和异步数据信息包进行上述CRC校验。
文档编号H04L29/02GK1266316SQ0010088
公开日2000年9月13日 申请日期2000年2月18日 优先权日1999年3月6日
发明者西格弗里德·施魏德尔, 托马斯·布鲁内 申请人:德国汤姆森-布兰特有限公司