主要内容

使用HDL优化的CRC库块

这个例子展示了如何使用HDL优化的CRC Generator和CRC Detector库块,然后配置这些块以满足IEEE®802.11标准[1]。

介绍

该模型显示了如何使用HDL优化CRC生成器和检测器库块进行模拟和HDL代码生成。应用程序使用802.11标准。要了解有关HDL优化CRC块的HDL支持的更多信息,请参阅金宝app文档。有关块中使用的算法的更多信息,请参阅[2]中的论文。

要打开这个示例模型,运行以下命令:

型号名称=“commcrchdl”; 开放式系统(型号名称);

在这个模型中,顶层子系统CRC子系统包含HDL优化的CRC生成器和检测器模块。这个子系统也有附加噪声子系统,您可以选择将噪声添加到生成的CRC校验和中。要打开此子系统,请运行以下命令:

systemname=[modelname]“/ CRC子系统”]; 开放式系统(系统名称);

参数设置

  • 多项式的

IEEE®802.11标准中使用CRC-CCITT来保护信号、服务和长度字段。行向量[1 0 0 1 0 0 0 0 0 1 0 0 1]表示多项式:

  • 初始状态

演示中的HDL优化CRC生成器块使用直接方法,即它将消息馈送到校验和移位寄存器的最高有效位(MSB),并在不填充零的情况下处理消息。有关CRC实施的详细信息,请参见这个模型. IEEE 802.11 CRC实现图如802.11标准图15-2所示。初始状态设置为1。

  • 最终XOR值

最终的XOR值设置为0 xffff实现CRC校验和的1补码。

输入信号

这个模型中的测试向量使用802.11标准中指定的示例DBPSK信号。用CRC_length零填充的测试数据在流模式下以16位/样本处理。参数dataIn_width,是CRC Generator输入端口dataIn的端口宽度,定义了数据处理速度。姆伦定义控制信号startIn、endIn和validIn中的周期。德伦定义validIn信号的脉冲宽度。输入信号在中配置InitFcn的回调函数模型属性对话框。

% DBPSK数据数据= [0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0crc_len = 16;%焊盘crc_len zeromsg=[数据零(1,crc长度)];数据输入宽度=16;mlen=长度(msg)/数据输入宽度;dlen=长度(数据)/数据输入宽度;

在本例中,您可以将dataIn_width更改为8,4,2,1位,以满足您的设计需求。例如,如果您正在处理长度为56的数据,除了填充8位零和使用dataIn_with16、你可以选择dataIn_width设置为8以确保mlen和dlen都是整数。

输出信号

使用以下命令运行模型:

sim (modelname);

几个关键信号已记录到工作区中。这些信号可以在逻辑分析仪窗口中查看。函数commcrchdl_图显示如何设置逻辑分析仪显示。有关逻辑分析仪系统对象的更多信息™, 参考dsp。LogicAnalyzer.

h = commcrchdl_plot (dataIn startIn、endIn validIn,...dataOut_gen、startOut_gen endOut_gen validOut_gen,...dataIn_det、dataOut_det startOut_det、endOut_det validOut_det,犯错);

达坦,startIn,恩丁,validIn是HDL CRC发生器的输入数据和控制信号。数据输出发生器(CRC生成器的输出)显示每秒钟附加校验和的消息dataIn_width每个样本的位数。您可以在需要时读取校验和恩杜根在输出波形中为高。该值0x5B57与802.11标准第15.2.3.6节中规定的CRC-16 FCS相匹配。数据单元显示带有损坏校验和的消息。dataOut_det显示CRC检测器的信息输出。检测到错误时犯错信号很高。犯错endOut_det它是活动的。

在CRC发生器和检测器的输出端引入初始延迟。可以使用以下命令计算初始延迟:

初始延迟=crc长度/数据输入宽度+2;初始延迟=4*crc长度/数据输入宽度+4;

检查并生成HDL代码

要检查并生成此示例的HDL代码,您必须拥有HDL编码器™ 许可证

您可以使用这些命令makehdl(子系统名)makehdltb (subsystemname)为子系统生成HDL代码和测试台发射机中的HDL CRC接收机中的HDL CRC.

将子系统名称指定为“发送器中的commcrchdl/CRC子系统/HDL CRC”或“接收器中的commcrchdl/CRC子系统/HDL CRC”。

选定的参考资料

  1. IEEE 802.11无线局域网介质访问控制(MAC)和物理层(PHY)规范。(2007修订)。IEEE-SA。2007年6月12日。

  1. 并行CRC实现,“电气电子工程师学会计算机期刊号,第52卷。10,第1312-1319页,2003年10月。