TD-SCDMA中CRC的DSP实现
编程计算CRC的关键是标志位的移位判断,根据本位寄存器的值进行判断是否移位,以及连续移位不能超过CRC长度加1。下面给出了CRC生成的主要代码。data_2为存储输入序列的寄存器,且尾部补了M个零。CrcPoly存储生成多项式的逆序列。这里要特别说明的是,由于高位存储寄存器的低位,生成多项式的序列应逆序储存。例如,生成多项式(4)其序列为110011011,但是CrcPoly存储值为其逆序,即为110110011。
i=1;
while(i<=A) % A为输入比特长度
for m=1:M+1 % M+1次模二运算
if data_2(1,i)==CrcPoly(1,m)
data_2(1,i)=0;
else data_2(1,i)=1;
end
i=i+1;
end
i=i-1;
%重新定位倒三角的位置
for j=i-M:i
if data_2(1,j)==0
j=j+1;
else break;
end
end
i=j;
end
%取最后M位为CRC
CRCout=[data_2(end-M-1:end)]
DSP实现
TD-SCDMA系统中的DSP选择TI公司的多核DSP(TMS320TCI6487)。TMS320TCI6487采取VLIW(Very-Long-Instruction-Word)结构,具有丰富的外设接口、3个内Cores[5]。每个Core内有8个独立功能单元,每个周期可以并行执行8条32bit指令,最大峰值速度4800MIPS,2组共64个32bit通用寄存器,32bit寻址范围,支持8/16/32/40位的数据访问,片内集成大容量SRAM,最大可达8Mbit。TMS320TCI6487是TMS320C6000™系列中高性能DSP芯片,具有出色的运算能力、高效的指令集、大范围的寻址能力,被用于实现无线通信的基带处理,例如,TD-SCDMA、UMTSDSP、Vi-MAX、GSM/EDGE等。
DSP开发环境采用CCS3.3(Code Composer Studio)。CCS是TI为其DSP设计提供的集成化开发环境,简化了DSP系统的配置和应用程序的设计,使设计者能更快地开展工作,开发流程如图3所示。

3GPP协议规定TD-SCDMA的四种CRC生成多项式,CRC长度分别为24、16、12和8。如果采用查表实现CRC,要建立的四张查询表,这样就占用一定的数据内存空间;每种生成多项式都有单独的程序,对于长度为24,12的CRC,要进行位处理,这要占用一定的程序内存空间。为了提高内存利用率,本文采用CRC直接实现。实现的核心算法是上文介绍的移位算法,DSP实现CRC流程如图4所示。

TMS320TCI6487提供了新的与CRC运算相关的_mem2(void)pointer寻址指针、Galois域乘法指令和寄存[6]。_mem2(void)pointer指针允许访问2bit的地址空间,这样可以把固定寄存器占用的内存空间降到最低。Galois域乘法指令可在两个乘法单元M1、M2中并行执行,可以把寻址算法执行速度提到最快。本文在TMS320TCI6487平台上,分别对查表法、传统直接实现法和本文提出的改进算法进行仿真,CRC生成多项式选择式(2),CRC长度为16,性能比较如表1所示。

总结
本文分析了CRC实现原理,提出一种新CRC实现方法。利用TMS320TCI6487提供的特殊指令,完成移位算法,使其内存利用率提高,且实时性与查表法的接近。该方法占用内存小,速度快,具有很高的应用价值。
参考文献:
[1] 曹志刚,钱亚生.现代通信原理[M].北京:清华大学出版社,1992-08
[2] 李世鹤.TD-SCDMA第三代移动通信标准[M].北京:北京邮电大学出版社,2003-10
[3] 3GPP TS 25.221Physical Channels and Mapping of Transport Channels onto Physical Channels(TDD)[S].2011-12
[4] 3GPP TS 25.222 Multiplexing and Channel Coding (TDD)[S].2011-12
[5] Texas Instruments Incorporated.TMS320TCI6487/8 Communications Infrastructure Digital Signal Processor[Z/OL].http://www.ti.com/
[6] Texas Instruments Incorporated.TMS320C6000 Programmer’s Guide[Z/OL].http://www.ti.com/
TD-SCDMA CRC DSP 寄存器 FPGA 201308 相关文章:
- TD-SCDMA空中接口的SMC信令完整性保护功能(03-01)
- 基于Virtex5的Gbps无线通信基站设计(04-04)
- CCITT CRC-16计算原理与实现(07-23)
- 嵌入式系统开发不难,保证可靠性有这几大技巧(06-04)
- 如何开发一款该可靠性的嵌入式系统?这七大技巧值得一学(09-04)
- CRC校验原理与程序设计——(RS485总线系统应用之1)(12-15)
