ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
图1 解交错器的实现框图
图2 解交错器的Modelsim仿真图
解交错器的实现
解交错器的FPGA实现原理
本文采取RAM分区循环移位法来实现,由于RAM内里寄存一位数据,只必要用一个逻辑门大小的资源,比根本寄存器寄存一位数据必要12个逻辑门大小的资源要优化很多。用RAM分区循环移位法来实现解交错器,便是把RAM分成11个区。每个区的大小为(单位为字节):
Ni=M*(I-i-1)(i=0,1,2, …,(I-1))
这里i为RAM所分区的区号。
由于11支路不必要延时,以是 RAM的11分区大小即N11为0。本文在RAM前面设置一个地点控制器,这是解交错器关键的一步。RAM每区有一个首地点和区内偏移地点,分别用一个寄存器来存储。在地点控制器里孕育产生每区的首地点和区内偏移地点,从而进一步孕育产生RAM的读写地点。
解交错器的FPGA实现
把解交错器的深度I和基数M设成参数,以加强步伐的通用性。要因此后计划的解交错器的系数I和M必要窜改,只要把参数值重新设置一下就可以了,不必要窜改步伐。由前面的谋略可知,解交错器统共必要延时的比特数,也便是RAM的大小应该为8976比特。
可以用下面一段步伐实现首地点的初始化:
FirstAddr[0]=0;
for(i=1;i<(I-1);i=i+1)
FirstAddr[i]=(I-i)*M+FirstAddr[i-1];
也便是说0~11支路的首地点在RAM中分别为0,187,357,510,646,765,867,952,1020,1071,1105。
RAM每区的字节数可以由参数来表现,即为(I-i-1)*M,i为分支号。
每区内偏移地点SectAddr[i]初始化为0,每写入一个数据,递增1并与由参数表现的每区的字节数举行比较,若两数相称,则SectAddr[i]重新设为零,包管区内偏移地点在每区内循环移动。
由上可知,RAM每区的读写地点为:FirstAddr[i]+SectAddr[i](i为RAM分区号)
图1所示的便是由Altera MegaWizard东西配置的双口RAM。RAM每区的读写地点雷同,也便是先读出给定地点单位的数据后,再写入新的数据。这里要同时产生读写操纵,以是要利用双口RAM。每隔一个时钟周期,RAM读写指针就跳到下一个RAM区,如许读写指针在RAM的11个区循环移动,实现解交错。
图2为解交错器在Mentor公司的Modelsim SE环境下的逻辑仿真图。Clk为时钟信号,Reset为异步复位信号,ClkEn为时钟使能信号,高电平有效,FrameFirstIn为帧同步信号,高电平有效。DeinterleaverIn为输入数据。计划时要细致数据同步题目,要不然会导致数据错位,导致计划的失败。DeinterleaverIn为了在selector模块输入时和RAM的输出数据q保持同步,要作相应的延时,同步延时后DataIn4,同理,映射地RAM的输入数据DataIn1,selector模块的使能信号ClkEn4等也是颠末同步处理惩罚得到。Flag为selector模块的选择控制信号,当Flag信号为0~10时,选择RAM的输出数据q作为输出,而当Flag=11时,则选择DeinterleaverIn颠末同步处理惩罚后的数据DataIn4作为输出,从而包管在解交错器的11支路实现无延时输出。在解交错器的最前面输出的字节有些是无效的,加一个DataEffect模块是为了等全部字节都有效时,才把FrameFirstOut信号置高,报告背面的模块数据开始全部有效。
从资源利用方面思量,利用RAM分区循环移位法来实现DVB-C解交错器比全部用根本寄存器或用配置FIFO的要领来实现要优化得多。
为了更好地验证,本文把计划在synopsys 公司的synplify pro软件环境下举行综合,选用Altera公司的Cyclone EP1C12Q240C8器件。由于利用了软核IP,以是再把天生的*.vqm文件导入synopsys公司的QuartusII 软件举行再综合,选择同样的器件范例和型号,结果阐明采取双口RAM计划所利用的逻辑单位较少,并且利用的8976比特RAM资源占用了Cyclone器件中的3个M4K,只有全部存储资源的3%。
结语
固然采取卷积交错会在刚开始传输数据的时间输出一些无效数据,在体系中引入肯定的延时,但是它能把突发滋扰导致的突发错误疏散成随机错误,利于RS纠错,如许一衡量,有延时也是很值得的。本文利用EDA东西完成解交错器的计划,并且采取Verilog和原理图协同输入的计划要领,大大进步了计划服从。这里计划的解交错用具有通用性,要是要用差别深度I和基数M的解交错器,只要重设步伐里的参数值就可以了,非常方便。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号