问题的提出 :
如何将码流M中的第I时隙与码流N中的第J时隙进行交换?每个码流速率为2M,32个时隙。
下面分三步实现这个交换过程:
第一步:串/并转换(S/P)与数据缓冲
假定M=N,即,在同一个码流内部交换。
图2—1 交换原理
线路上传输过来的信号是8位PCM码流,每过来一个PCM码(8bits)存放在一个存储区域(Data RAM)中。当一帧信号传输完毕后,32个时隙值已依次保存在32个存储单元中(Location)中。这个过程就是“串/并”转换的过程,其实质也就是对串行数据进行缓冲(存储在Data RAM)中去。
T8100中的CAM,很可能就是“connect address memory”的缩写。
第二步 寻址变换与连接缓冲
为了实现将第I时隙交换到第J时隙中去,就必需在输出J时隙时,输出第I时隙的数据。达到这个目标有三种方法,一是直接在Data RAM中将I时隙数据拷到J时隙缓冲区中去。这样的话,J时隙值丢失,只能实现单向交换。第二种方法是新增加32个单元的缓冲区,将Data RAM内容拷贝到新的缓冲区中去,并修改J时隙的值。这样拷贝时间开销又很大,在小批量交换时很不划算。第三种方法就是上图所示的方法,系统中存储区域的一段专门划分为连接存储区,其中存储的是指向Data RAM的指针。如果要在第J时隙输出I时隙的值,可将原本指向第J时隙的地址值改为指向第I时隙的地址(单向)。双向交换时,同时将指向第I时隙的地址值更改为J时隙的地址值即可。
第三步,并/串转换(P/S)
通过对地址指针缓冲区(Connect RAM)的修改,可以在丝毫不影响时隙数据完整性的情况下达到时隙交的要求:单向(包括前听后,后听前),双向。
不同码流的交换也类似与此(M!=N)。