CN101697491A - 一种使用sdram实现时域卷积交织和解交织的方法 - Google Patents

一种使用sdram实现时域卷积交织和解交织的方法 Download PDF

Info

Publication number
CN101697491A
CN101697491A CN200910153334A CN200910153334A CN101697491A CN 101697491 A CN101697491 A CN 101697491A CN 200910153334 A CN200910153334 A CN 200910153334A CN 200910153334 A CN200910153334 A CN 200910153334A CN 101697491 A CN101697491 A CN 101697491A
Authority
CN
China
Prior art keywords
branch road
sdram
address
data
dein
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.)
Granted
Application number
CN200910153334A
Other languages
English (en)
Other versions
CN101697491B (zh
Inventor
谢磊
陈惠芳
李珊
王匡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2009101533341A priority Critical patent/CN101697491B/zh
Publication of CN101697491A publication Critical patent/CN101697491A/zh
Application granted granted Critical
Publication of CN101697491B publication Critical patent/CN101697491B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明涉及一种使用SDRAM实现时域卷积交织和解交织的方法。现有技术存在一定的不足。本发明方法在交织时,对于每个交织支路按“先读后写”进行操作,如果当前所在支路内的相对地址距支路最大存储容量地址的剩余单元不够时,交织数据将拆成两段进行读写操作。解交织时,对于每个支路也是按“先读后写”进行操作。本发明方法按支路顺序对每条交织支路的交织数据进行连续地址的读写,有效减少在整个交织和解交织过程中控制SDRAM频繁寻址所消耗的时间,并且利用SRAM代替FIFO寄存器,进一步节省了资源。另外对SDRAM进行集中刷新的操作,取消了对SDRAM复杂的中断操作,从而避免影响数据传输的连续性。

Description

一种使用SDRAM实现时域卷积交织和解交织的方法
技术领域
本发明属于数字通信交织领域,涉及在数字电视广播传输中使用SDRAM(同步动态随机存储器)实现对传输数据进行时域卷积交织和解交织的方法。
背景技术
交织是移动通信系统中不可缺少的一部分。交织器的作用是将数据或数据块的发送顺序打乱,目的在于减少数据或数据块在传送过程中出现的突发错误。相反,解交织器的作用是将原先打乱的数据序列恢复成原来的数据序列。
卷积交织是交织技术的一种。一个典型的卷积交织器需要的存储容量为B×(B-1)×M/2个符号单元,其中变量B表示交织支路数目,变量M表示交织延迟周期。国家的DTMB标准中就应用了卷积交织作为时域交织,其中B为52条支路,M为240或720个符号。
图1表示了卷积交织器和解交织器的原理。交织器输入端的输入符号数据按顺序分别进入B条支路延迟器,每一路延迟不同的符号周期,第一路无延迟,第二路延迟M个符号周期,第二路延迟2M个符号周期,…,第B路延迟(B-1)M个符号周期。交织器的输出端按输入端的工作节拍分别同步输出对应支路经过延迟的数据。解交织器的各个支路的延迟周期与交织器相反,第一路延迟(B-1)M个符号周期,第二路延迟(B-2)M个符号周期,…,第B路则无延迟。
当B和M值较大时,使用片上存储器资源消耗过大,采用成本低、容量大、速度高的SDRAM是较好的方案。SDRAM利用行列地址复用的技术访问芯片内部单元,采用了多体(Bank)存储器结构和突发模式,能连续传输一整块而不是一段数据,在高速数据采集系统中具有很大的应用价值。
利用SDRAM进行数据的读写,需要有若干时钟周期来选通行列地址,并且为保持SDRAM上的数据不丢失,必须定时刷新。SDRAM高效的工作模式就在于使每次在存储单元的相同行尽量多的去读写连续地址的数据,这样准备时间就只占去了较少的时间。在向非连续地址传输数据时,由于SDRAM需要消耗较长的时间用于选通地址,所以会导致SDRAM的性能大大降低。
发明内容
本发明的目的是提供一种使用SDRAM实现时域卷积交织和解交织的方法。
本发明方法包括实现时域卷积交织方法和实现时域卷积解交织方法。
本发明中实现时域卷积交织方法的具体步骤是:
步骤I.计算一帧数据交织时在每条交织支路中所需要交织的符号数T(i):
Figure G2009101533341D0000021
其中L为数据帧的长度,B为交织支路数,i为当前支路号(i=0,1,2,...,B-1),mod为取余运算。
步骤II.计算一帧数据交织时在每条交织支路的起始地址in_addr(i):in_addr(i)=in_bs(i)+in_bn(i),i=1,2,...,B-1
其中in_bs(i)为第i支路在SDRAM中的首地址,in_bn(i)为第i支路内的相对地址。
交织的第0支路为直通支路,不经过SDRAM,第1支路在SDRAM中的首地址in_bs(1)为0单元,则:
in_bs(i)=in_bs(i-1)+temp1(i)-M,i=2,3,...,B-1
其中temp1(i)=temp1(i-1)+M,temp1(1)=M,M表示交织延迟周期。
当交织数据为第一帧数据时,每个支路的in_bn(i)均为0,当交织数据不是第一帧数据时,则
in_bn(i)=(in_bnp(i)+T(i))mod(iM),i=1,2,...,B-1
其中in_bnp(i)表示前一帧交织数据访问第i条支路内的相对地址。
步骤III.计算存放交织前后数据帧的SRAM(静态随机存储器)的地址。
交织时,第i支路需交织的T(i)个数据将从存放未交织数据帧的SRAM1中的T(i)个单元得到;此支路交织后的T(i)个数据要存入寄存交织后数据帧的SRAM2的T(i)个单元中。此时SRAM1和SRAM2的T(i)个读写地址相同,对应第i交织支路为:i,B+i,2B+i,...,(T(i)-1)B+i,i=1,2,...,B-1。
步骤IV.交织第0支路,当前支路号i=0,即直通支路,直接将交织数据从SRAM1传到SRAM2中相同的地址单元,T(0)个数据在两个SRAM中的地址均为0,B,2B,...,(T(0)-1)B。
步骤V.进入下一条交织支路,i=i+1;获得所在支路在SDRAM中交织的起始地址in_addr(i)。判断所在支路内的相对地址in_bn(i)距支路最大存储容量地址in_bm(i)的剩余单元是否足够有T(i)个,其中in_bm(i)=iM,如果足够,则执行步骤VI;如果不够,对此支路的交织需要分成两次交织读写阶段,令初始化为0的标志信号in_step等于1,执行步骤VII。
步骤VI.指定在SDRAM中连续读写数据量Tin=T(i),SDRAM的交织首地址in_sa为in_addr(i),进行步骤VIII。
步骤VII.第一阶段读写的数据量为T1(i),为当前交织支路内的相对地址到支路最大存储容量地址的剩余单元数,即:
T1(i)=in_bm(i)-in_bn(i)
指定在SDRAM中连续读写数据量Tin=T1(i),SDRAM的交织首地址in_sa为in_addr(i),进行步骤VIII。
步骤VIII.在SDRAM中,对于每个交织支路按“先读后写”进行操作。首先读出SDRAM中首地址为in_sa开始的连续Tin个单元内容,存入SRAM2的Tin个单元中,将需交织的Tin个符号内容从SRAM1中的Tin个单元得到,最后将这些需交织的数据连续写入SDRAM中首地址为in_sa开始的连续Tin个单元中。
步骤IX.判断SDRAM的读写数据量Tin是否等于此支路应交织的数据量T(i),如果相同,则进行步骤XI;如果不相同,继续判断标志信号in_step的值,如果等于1就执行步骤X,如果不等于1,执行步骤XI。
步骤X.第二阶段读写的数据量为T2(i),为第一阶段读写完毕后剩余需要交织的数据量,即:
T2(i)=T(i)-T1(i)
此时SDRAM的交织首地址变为此支路首地址in_bs(i)。指定在SDRAM中连续读写数据量Tin=T2(i),SDRAM的交织首地址in_sa为in_bs(i),标志信号in_step=0,进行步骤VIII。
步骤XI.在针对当前交织支路的交织全部读写完毕后,判断当前支路是否为最后一条交织支路,如果是则转到步骤XII,如果不是,转到步骤V。
步骤XII.对所有交织支路操作完毕后,为保证在SDRAM中的数据不会丢失,本发明中采用集中刷新,即在交织一帧数据后集中的刷新若干行,而不在交织数据帧过程中中断交织操作进行刷新。只要保证每行的刷新周期不超过公认的标准64ms即可。集中刷新行数为交织所使用的SDRAM存储单元的行数。集中刷新结束后,系统等待下一帧数据的交织命令。
本发明中实现时域卷积解交织方法的具体步骤是:
步骤1.计算一帧数据解交织时在每条解交织支路中所需要解交织的符号数T(i)′:
Figure G2009101533341D0000031
其中L′为解交织数据帧的长度,B′为解交织支路数,j为解交织当前支路号,j=0,1,2,...,B′-1,mod为取余运算。
步骤2.计算一帧数据解交织时在每条解交织支路的起始地址dein_addr(j):dein_addr(j)=dein_bs(j)+dein_bn(j)
其中dein_bs(j)为第j支路在SDRAM中的首地址,dein_bn(j)为第j支路内的相对地址。
指定第0支路在SDRAM中的首地址dein_bs(0)为0单元,除第B′-1条支路为直通支路,不经过SDRAM之外,其他支路为
dein_bs(j)=dein_bs(j-1)+temp2(j)+(B′+1)M′其中:temp2(i)=temp2(i-1)-M′,temp2(0)=-M′,M′表示解交织延迟周期。
当解交织数据为第一帧数据时,每个支路的dein_bn(j)均为0。当解交织数据不是第一帧数据时,则:
dein_bn(j)=(dein_bnp(j)+T(j)′)mod((B′-1-j)M′)
其中dein_bnp(j)表示前一帧解交织数据访问第j条支路时的相对地址。
步骤3.计算存放解交织前后数据帧的SRAM的地址。
解交织时,第j支路需解交织的T(j)′个数据将从存放解交织数据帧的SRAM1′中的T(j)′个单元得到。此支路解交织后的T(j)′个数据要存入寄存解交织后数据帧的SRAM2′的T(j)′个单元中;此时SRAM1′和SRAM2′的T(j)′个读写地址是一样的,对应第j解交织支路为:
j,B′+j,2B′+j,...,(T(j)′-1)B′+j,i=1,2,...,B′-1;
步骤4.卷积解交织开始,标记支路号j=0。
步骤5.获得所在支路解交织的起始地址dein_addr(j);判断所在支路内的相对地址dein_bn(j)距支路最大存储容量地址dein_bm(j)的剩余单元是否足够有T(j)′个,其中dein_bm(j)=(B′-j-1)M′,如果足够,则执行步骤6,如果不够,对此支路的解交织需要分成两次解交织读写阶段,指定初始化为0的标志信号dein_step等于1,执行步骤7。
步骤6.指定在SDRAM中连续读写数据量Tdein=T(j)′,SDRAM的解交织首地址dein_sa为dein_addr(j),进行步骤8。
步骤7.第一阶段读写的数据量为T1(j)′,为当前解交织支路内的相对地址到支路最大存储容量地址的剩余单元数,即:
T1(j)′=dein_bm(j)-dein_bn(j)
指定在SDRAM中连续读写数据量Tdein=T1(j)′,SDRAM的解交织首地址dein_sa为dein_addr(j),进行步骤8。
步骤8.在SDRAM中,对于每个解交织支路按“先读后写”进行操作。首先读出SDRAM中首地址为dein_sa开始的连续Tdein个单元内容,存入SRAM2′的Tdein个单元中,将需解交织的Tdein个符号内容从SRAM1′中的Tdein个单元得到,最后将这些需解交织的数据连续写入SDRAM中首地址为dein_sa开始的连续Tdein个单元中。
步骤9.判断SDRAM的读写数据量Tdein是否等于此支路应解交织的数据量T(j)′,如果相同,则进行步骤11,如果不相同,继续判断标志信号dein_step的值,如果等于1就执行步骤10,如果不等于1执行步骤11。
步骤10.第二阶段读写的数据量为T2(j)′,为第一阶段读写完毕后剩余需要解交织的数据量,即:
T2(j)′=T(j)′-T1(j)′
此时SDRAM的解交织首地址变为此支路首地址dein_bs(j)。指定在SDRAM中连续读写数据量Tdein=T2(j)′,SDRAM的交织首地址dein_sa为dein_bs(j),标志信号dein_step=0,进行步骤8;
步骤11.在针对当前解交织支路的解交织读写完毕后,j=j+1,判断更新后的支路是否为最后一条解交织支路,如果是则转到步骤12,如果不是转到步骤5。
步骤12.对最后一条解交织支路,即直通支路,直接将数据从SRAM1′传到SRAM2′中相同的地址单元,T(B′-1)′个数据在两个SRAM中的地址均为B′-1,2B′-1,3B′-1,...,B′(T(B′-1)′)-1。
步骤13.所有解交织支路操作完毕后,对SDRAM进行集中刷新,集中刷新行数为解交织所使用的SDRAM存储单元的行数。集中刷新结束后,系统等待下一帧数据的解交织命令。
本发明方法按支路顺序对每条交织支路的交织数据进行连续地址的读写,有效减少在整个交织和解交织过程中控制SDRAM频繁寻址所消耗的时间,并且提出利用SRAM代替FIFO寄存器,省去了存放交织和解交织地址的FIFO单元,进一步节省了资源。另外对SDRAM进行集中刷新的操作,取消了对SDRAM复杂的中断操作,从而避免影响数据传输的连续性。
附图说明
图1卷积交织器和解交织器结构图;
图2卷积交织和解交织系统框图;
图3卷积交织流程图;
图4卷积解交织流程图。
具体实施方式
本发明适用于任何需要卷积交织和解交织技术的应用场景。
如图2所示,该图说明了本发明中卷积(解)交织的系统框图。整个系统是由卷积(解)交织地址生成器、(解)交织前后数据帧SRAM单元(SRAM1和SRAM2)、SDRAM控制器和(解)交织器存储单元SDRAM组成。地址生成器生成每条支路(解)交织时在SDRAM中的地址SDRAM_ADDR和(解)交织数据在数据帧SRAM单元中的地址SRAM_ADDR。前一帧交织数据在每个支路内的相对地址存放在一个SRAM单元(SRAM3)中。在无延迟支路,相应的(解)交织数据直接从SRAM1地址为SRAM_ADDR的单元中写入SRAM2对应的单元中。在有延迟的支路中SDRAM控制器控制SDRAM的读写,读出SDRAM地址为SDRAM_ADDR的原有数据,送到(解)交织后的SRAM2地址为SRAM_ADDR的单元中,然后将SRAM1地址为SRAM_ADDR的数据写入SDRAM地址为SDRAM_ADDR的单元中。系统按(解)交织支路顺序从第0支路到最后一条支路,之后一帧数据帧(解)交织完毕,SDRAM进行集中刷新以满足系统需要,然后等待下一帧(解)交织的命令。
本发明使用(解)交织器存储单元SDRAM的存储容量为B×(B-1)×M/2个符号单元。设需要(解)交织的一帧数据长度为L个符号单元,已存入L个符号单元的(解)交织前SRAM单元SRAM1中,(解)交织后的数据需要存到L个符号单元的另外一块SRAM,称此(解)交织后SRAM单元为SRAM2。
在具体实施时,选用DTMB标准中的参数,即B=52,M=240。标准中规定的交织前的数据帧长度为3744个符号,即L=3744,所以可得每条交织支路要交织的符号数为T(i)=72个,i=0,1,...,51,占用SDRAM空间为B×(B-1)×M/2=318240个存储单元。
本交织器由52条支路产生,指定交织在SDRAM中的存储单元从0开始,则当对第i支路进行交织时,其交织首地址为in_addr(i),即:
in_addr(i)=in_bs(i)+in_bn(i),        i=1,2,...,B-1;
in_bn(i)=(in_bnp(i)+T(i))mod(iM),    i=1,2,...,B-1;
in_bs(i)=in_bs(i-1)+temp1(i)-M,      i=1,2,...,B-1;
temp1(i)=temp1(i-1)+M,temp1(1)=M,  i=2,3,...,B-1;
通过上述公式计算卷积交织地址,对于第一帧数据,in_bn(i)=0,在每一交织支路中(i=1,2,...,51)对SDRAM寻址72个连续的单元,分别为:0~71,240~311,720~791,…,306000~306071;第二帧数据根据第一帧数据,得到寻址单元分别为:72~143,312~383,792~863,…,306072~306143。之后的每帧数据根据前一帧数据的交织地址以此类推。
在交织时,存放交织数据帧的SRAM1和SRAM2得到的72个读写地址是一样的,对应第i交织支路为:i,B+i,2B+i,...,(T(i)-1)B+i,i=1,2,...,B-1。在本例中对应每条交织支路分别为:0,72,144,...,3692;1,73,145,...,3693;2,74,146,...,3694;…;71,143,215,...,3743。
分别得到SDRAM和SRAM所需的地址信息后,交织时,对于每个交织支路按“先读后写”进行操作。如果当前所在支路内的相对地址距支路最大存储容量地址的剩余单元不够72个时,72个交织数据将拆成两段进行读写操作。
解交织时也选用DTMB标准中的参数,即B′=52,M′=240,每条交织支路要交织的符号数为T(j)′=72个,j=0,1,...,51,指定解交织时在SDRAM中的存储单元从0开始,则当对第j支路进行解交织时,其解交织首地址为dein_addr(j),即:
dein_addr(j)=dein_bs(j)+dein_bn(j),               j=0,1,...,B′-2;
dein_bn(j)=(dein_bnp(j)+T(j)′)mod((B′-1-j)M′), j=0,1,...,B′-2;
dein_bs(j)=dein_bs(j-1)+temp2(j)+(B′+1)M′,      j=0,1,...,B′-2;
temp2(j)=temp2(j-1)-M′,temp2(0)=-M′,          j=1,2,...,B′-2。
通过上述公式计算卷积解交织地址,对于第一帧数据,dein_bn(j)=0,在每一交织支路中(j=0,1,...,50)对SDRAM寻址72个连续的单元,分别为:0~71;12240~12311;24240~24311;…;318000~318071;第二帧数据根据第一帧数据,得到寻址单元分别为:72~143,12312~12383,24312~24383,…,318072~318143。之后的每帧数据根据前一帧数据的解交织地址以此类推。
在解交织时,存放解交织数据帧的SRAM1和SRAM2得到的72个读写地址是一样的,对应第j解交织支路为:j,B′+j,2B′+j,...,(T(j)′-1)B′+j,j=1,2,...,B′-1。在本例中对应每条交织支路分别为:0,72,144,...,3692;1,73,145,...,3693;2,74,146,...,3694;…;71,143,215,...,3743。
分别得到SDRAM和SRAM所需的地址信息后,解交织时,对于每个支路按“先读后写”进行操作。如果当前所在支路内的相对地址距支路最大存储容量地址的剩余单元不够72个时,72个解交织数据将拆成两段进行读写操作。
通过实施可以看到,由于是72个符号连续读写,省去了对每个符号激活SDRAM行列的时间延迟,这种操作的有效时间可以达到90%以上,大大缩短了(解)交织所需的时间。

Claims (1)

1.一种使用SDRAM实现时域卷积交织和解交织的方法,包括实现时域卷积交织方法和实现时域卷积解交织方法,其特征在于:
实现时域卷积交织方法的具体步骤是:
步骤I.计算一帧数据交织时在每条交织支路中所需要交织的符号数T(i):
Figure F2009101533341C0000011
其中L为交织数据帧的长度,B为交织支路数,i为交织当前支路号,i=0,1,2,...,B-1,mod为取余运算;
步骤II.计算一帧数据交织时在每条交织支路的起始地址in_addr(i):in_addr(i)=in_bs(i)+in_bn(i),i=1,2,...,B-1
其中in_bs(i)为第i支路在SDRAM中的首地址,in_bn(i)为第i支路内的相对地址;
交织的第0支路为直通支路,不经过SDRAM,第1支路在SDRAM中的首地址in_bs(1)为0单元,则:
in_bs(i)=in_bs(i-1)+temp1(i)-M,i=2,3,...,B-1
其中temp1(i)=temp1(i-1)+M,temp1(1)=M,M为交织延迟周期;
当交织数据为第一帧数据时,每个支路的in_bn(i)均为0;当交织数据不是第一帧数据时,则
in_bn(i)=(in_bnp(i)+T(i))mod(iM),i=1,2,...,B-1
其中in_bnp(i)表示前一帧交织数据访问第i条支路内的相对地址;
步骤III.计算存放交织前后数据帧的SRAM的地址;
交织时,第i支路需交织的T(i)个数据将从存放未交织数据帧的SRAM1中的T(i)个单元得到;此支路交织后的T(i)个数据要存入寄存交织后数据帧的SRAM2的T(i)个单元中;此时SRAM1和SRAM2的T(i)个读写地址相同,对应第i交织支路为:i,B+i,2B+i,...,(T(i)-1)B+i,i=1,2,...,B-1;
步骤IV.交织第0支路,当前支路号i=0,即直通支路,直接将交织数据从SRAM1传到SRAM2中相同的地址单元,T(0)个数据在两个SRAM中的地址均为0,B,2B,...,(T(0)-1)B;
步骤V.进入下一条交织支路,i=i+1;获得所在支路在SDRAM中交织的起始地址in_addr(i);判断所在支路内的相对地址in_bn(i)距支路最大存储容量地址in_bm(i)的剩余单元是否足够有T(i)个,其中in_bm(i)=iM,如果足够,则执行步骤VI,如果不够,对此支路的交织需要分成两次交织读写阶段,指定初始化为0的标志信号in_step等于1,执行步骤VII;
步骤VI.指定在SDRAM中连续读写数据量Tin=T(i),SDRAM的交织首地址in_sa为in_addr(i),进行步骤VIII;
步骤VII.第一阶段读写的数据量为T1(i),为当前交织支路内的相对地址到支路最大存储容量地址的剩余单元数,即:
T1(i)=in_bm(i)-in_bn(i)
指定在SDRAM中连续读写数据量Tin=T1(i),SDRAM的交织首地址in_sa为in_addr(i),进行步骤VIII;
步骤VIII.在SDRAM中,对于每个交织支路按“先读后写”进行操作;首先读出SDRAM中首地址为in_sa开始的连续Tin个单元内容,存入SRAM2的Tin个单元中,将需交织的Tin个符号内容从SRAM1中的Tin个单元得到,最后将这些需交织的数据连续写入SDRAM中首地址为in_sa开始的连续Tin个单元中;
步骤IX.判断SDRAM的读写数据量Tin是否等于此支路应交织的数据量T(i),如果相同,则进行步骤XI;如果不相同,继续判断标志信号in_step的值,如果等于1就执行步骤X,如果不等于1,执行步骤XI;
步骤X.第二阶段读写的数据量为T2(i),为第一阶段读写完毕后剩余需要交织的数据量,即:
T2(i)=T(i)-T1(i)
此时SDRAM的交织首地址变为此支路首地址in_bs(i);指定在SDRAM中连续读写数据量Tin=T2(i),SDRAM的交织首地址in_sa为in_bs(i),标志信号in_step=0,进行步骤VIII;
步骤XI.在针对当前交织支路的交织全部读写完毕后,判断当前支路是否为最后一条交织支路,如果是则转到步骤XII,如果不是,转到步骤V;
步骤XII.对所有交织支路操作完毕后,在交织一帧数据后集中的刷新,集中刷新行数为交织所使用的SDRAM存储单元的行数;集中刷新结束后,系统等待下一帧数据的交织命令;
实现时域卷积解交织方法的具体步骤是:
步骤1.计算一帧数据解交织时在每条解交织支路中所需要解交织的符号数T(j)′:
Figure F2009101533341C0000031
其中L′为解交织数据帧的长度,B′为解交织支路数,j为解交织当前支路号,j=0,1,2,...,B′-1,mod为取余运算;
步骤2.计算一帧数据解交织时在每条解交织支路的起始地址dein_addr(j):
dein_addr(j)=dein_bs(j)+dein_bn(j)
其中dein_bs(j)为第j支路在SDRAM中的首地址,dein_bn(j)为第j支路内的相对地址;
指定第0支路在SDRAM中的首地址dein_bs(0)为0单元,除第B′-1条支路为直通支路,不经过SDRAM之外,其他支路为
dein_bs(j)=dein_bs(j-1)+temp2(j)+(B′+1)M′其中:temp2(i)=temp2(i-1)-M′,temp2(0)=-M′,M′为解交织延迟周期;
当解交织数据为第一帧数据时,每个支路的dein_bn(j)均为0;当解交织数据不是第一帧数据时,则:
dein_bn(j)=(dein_bnp(j)+T(j)′)mod((B′-1-j)M′)
其中dein_bnp(j)表示前一帧解交织数据访问第j条支路时的相对地址;
步骤3.计算存放解交织前后数据帧的SRAM的地址;
解交织时,第j支路需解交织的T(j)′个数据将从存放解交织数据帧的SRAM1′中的T(j)′个单元得到;此支路解交织后的T(j)′个数据要存入寄存解交织后数据帧的SRAM2′的T(j)′个单元中;此时SRAM1′和SRAM2′的T(j)′个读写地址是一样的,对应第j解交织支路为:j,B′+j,2B′+j,...,(T(j)′-1)B′+j,i=1,2,...,B′-1;
步骤4.卷积解交织开始,标记支路号j=0;
步骤5.获得所在支路解交织的起始地址dein_addr(j);判断所在支路内的相对地址dein_bn(j)距支路最大存储容量地址dein_bm(j)的剩余单元是否足够有T(j)′个,其中dein_bm(j)=(B′-j-1)M′,如果足够,则执行步骤6,如果不够,对此支路的解交织需要分成两次解交织读写阶段,指定初始化为0的标志信号dein_step等于1,执行步骤7;
步骤6.指定在SDRAM中连续读写数据量Tdein=T(j)′,SDRAM的解交织首地址dein_sa为dein_addr(j),进行步骤8;
步骤7.第一阶段读写的数据量为T1(j)′,为当前解交织支路内的相对地址到支路最大存储容量地址的剩余单元数,即:
T1(j)′=dein_bm(j)-dein_bn(j)
指定在SDRAM中连续读写数据量Tdein=T1(j)′,SDRAM的解交织首地址dein_sa为dein_addr(j),进行步骤8;
步骤8.在SDRAM中,对于每个解交织支路按“先读后写”进行操作;首先读出SDRAM中首地址为dein_sa开始的连续Tdein个单元内容,存入SRAM2′的Tdein个单元中,将需解交织的Tdein个符号内容从SRAM1′中的Tdein个单元得到,最后将这些需解交织的数据连续写入SDRAM中首地址为dein_sa开始的连续Tdein个单元中;
步骤9.判断SDRAM的读写数据量Tdein是否等于此支路应解交织的数据量T(j)′,如果相同,则进行步骤11,如果不相同,继续判断标志信号dein_step的值,如果等于1就执行步骤10,如果不等于1执行步骤11;
步骤10.第二阶段读写的数据量为T2(j)′,为第一阶段读写完毕后剩余需要解交织的数据量,即:
T2(j)′=T(j)′-T1(j)′
此时SDRAM的解交织首地址变为此支路首地址dein_bs(j);指定在SDRAM中连续读写数据量Tdein=T2(j)′,SDRAM的交织首地址dein_sa为dein_bs(j),标志信号dein_step=0,进行步骤8;
步骤11.在针对当前解交织支路的解交织读写完毕后,j=j+1,判断更新后的支路是否为最后一条解交织支路,如果是则转到步骤12,如果不是转到步骤5;
步骤12.对最后一条解交织支路,即直通支路,直接将数据从SRAM1′传到SRAM2′中相同的地址单元,T(B′-1)′个数据在两个SRAM中的地址均为B′-1,2B′-1,3B′-1,...,(T(B′-1)′)B′-1;
步骤13.所有解交织支路操作完毕后,对SDRAM进行集中刷新,集中刷新行数为解交织所使用的SDRAM存储单元的行数;集中刷新结束后,系统等待下一帧数据的解交织命令。
CN2009101533341A 2009-10-15 2009-10-15 一种使用sdram实现时域卷积交织和解交织的方法 Expired - Fee Related CN101697491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101533341A CN101697491B (zh) 2009-10-15 2009-10-15 一种使用sdram实现时域卷积交织和解交织的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101533341A CN101697491B (zh) 2009-10-15 2009-10-15 一种使用sdram实现时域卷积交织和解交织的方法

Publications (2)

Publication Number Publication Date
CN101697491A true CN101697491A (zh) 2010-04-21
CN101697491B CN101697491B (zh) 2012-11-21

Family

ID=42142572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101533341A Expired - Fee Related CN101697491B (zh) 2009-10-15 2009-10-15 一种使用sdram实现时域卷积交织和解交织的方法

Country Status (1)

Country Link
CN (1) CN101697491B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104993837A (zh) * 2015-07-24 2015-10-21 丽水博远科技有限公司 一种卷积交织方法和卷积交织器
CN105099599A (zh) * 2014-04-16 2015-11-25 澜起科技(上海)有限公司 交织、解交织方法以及相应的装置
CN107005353A (zh) * 2014-12-15 2017-08-01 索尼公司 涉及卷积交织的传输器和接收器及对应方法
CN110009103A (zh) * 2019-03-26 2019-07-12 深兰科技(上海)有限公司 一种深度学习卷积计算的方法和装置
CN110383785A (zh) * 2017-02-27 2019-10-25 高拓讯达(北京)科技有限公司 在dvb-t2接收机中执行二进制数据流的时域去交织的装置
CN111245447A (zh) * 2020-02-28 2020-06-05 武汉虹信通信技术有限责任公司 一种基于fpga的天线数据交织和解交织方法
CN116961841A (zh) * 2023-09-19 2023-10-27 芯潮流(珠海)科技有限公司 用于高速数据中心的译码方法、装置和存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099599A (zh) * 2014-04-16 2015-11-25 澜起科技(上海)有限公司 交织、解交织方法以及相应的装置
CN105099599B (zh) * 2014-04-16 2019-12-27 上海澜至半导体有限公司 交织、解交织方法以及相应的装置
CN107005353A (zh) * 2014-12-15 2017-08-01 索尼公司 涉及卷积交织的传输器和接收器及对应方法
CN107005353B (zh) * 2014-12-15 2020-07-17 索尼公司 涉及卷积交织的传输器和接收器及对应方法
CN104993837A (zh) * 2015-07-24 2015-10-21 丽水博远科技有限公司 一种卷积交织方法和卷积交织器
CN104993837B (zh) * 2015-07-24 2018-08-03 丽水博远科技有限公司 一种卷积交织方法和卷积交织器
CN110383785A (zh) * 2017-02-27 2019-10-25 高拓讯达(北京)科技有限公司 在dvb-t2接收机中执行二进制数据流的时域去交织的装置
CN110009103A (zh) * 2019-03-26 2019-07-12 深兰科技(上海)有限公司 一种深度学习卷积计算的方法和装置
CN111245447A (zh) * 2020-02-28 2020-06-05 武汉虹信通信技术有限责任公司 一种基于fpga的天线数据交织和解交织方法
CN116961841A (zh) * 2023-09-19 2023-10-27 芯潮流(珠海)科技有限公司 用于高速数据中心的译码方法、装置和存储介质
CN116961841B (zh) * 2023-09-19 2023-12-26 芯潮流(珠海)科技有限公司 用于高速数据中心的译码方法、装置和存储介质

Also Published As

Publication number Publication date
CN101697491B (zh) 2012-11-21

Similar Documents

Publication Publication Date Title
CN101697491B (zh) 一种使用sdram实现时域卷积交织和解交织的方法
CN101237240B (zh) 一种利用外部存储器实现卷积交织/解交织的方法及设备
CN102103548B (zh) 提高双倍数据速率同步随机存储器读写速率的方法及装置
CN1941196B (zh) 半导体存储装置
CN102681946A (zh) 内存访问方法和装置
CN101751980A (zh) 基于存储器知识产权核的嵌入式可编程存储器
US10025709B2 (en) Convolutional de-interleaver and convolutional de-interleaving method
CN104993837B (zh) 一种卷积交织方法和卷积交织器
CN102508803A (zh) 一种矩阵转置存储控制器
CN104239232B (zh) 一种基于fpga内dpram的乒乓缓存操作结构
CN110265073A (zh) 半导体器件
CN104461934B (zh) 一种适合ddr存储器的时域解卷积交织装置及方法
CN101825997A (zh) 一种异步先入先出存储器
CN101674093B (zh) 卷积交织两级实现方法及其装置
CN101404555B (zh) 数字传输中的一种卷积交织解交织的方法
CN104599706B (zh) 随机存取存储器及调整随机存取存储器读取时序的方法
CN102111163A (zh) Turbo编码器及编码方法
CN101883046B (zh) 一种应用于epon终端系统的数据缓存架构
CN104575589B (zh) 一种高可利用率抗辐射的sram自刷新电路及其自刷新方法
CN102043591B (zh) Pram的写操作方法
CN100370436C (zh) 一种提高存储器访问效率的方法及存储器控制器
US20130064022A1 (en) Method and Apparatus for Memory Access
CN102006087B (zh) 基于sram的卷积交织方法及其装置
CN102497287A (zh) 一种以太网交换芯片中实现节能统计的方法及系统
CN101916586A (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: 20121121

Termination date: 20151015

EXPY Termination of patent right or utility model