利用FPGA技术实现数字通信中的交织器和解交织器
无论用还是来控制读取,都需要或保持一段低电平。令保持低电平,平时为高电平,读双口RAM时触发CE变为低电平,延迟一小段时间再恢复高电平。本设计产生这段延时的方法是用高频计数器产生,具体方法为:在FPGA中设计一个计数器,取系统可用的高频时钟(周期小于所需延时)驱动它计数,计到设定好的终值时产生触发脉冲。不同的计数终值可以产生不同的延时。此方法所产生的延时为高频时钟周期的整数倍,若高频时钟周期与所需延时相比很小,则延时较精确,否则只能做一粗略的延时。
当需要对某一信号作一段延时时,初学者往往在此信号后串接一些非门或其它门电路,此方法在分离电路中是可行的。但在FPGA中,开发软件在综合设计时会将这些门当作冗余逻辑去掉,达不到延时的效果。用Altera公司的Maxplus II开发FPGA时,可以通过插入一些LCELL原语来产生一定的延时,但这样形成的延时在FPGA芯片中并不稳定,会随温度等外部环境的改变而改变,因此Altera并不提倡这样做。在此,沿用上一段中的思想,可以用高频时钟来驱动一移位寄存器,待延时信号作数据输入,按所需延时正确设置移位寄存器的级数,移位寄存器的输出即为延时后的信号。此方法产生的延时信号与原信号比有误差,误差大小由高频时钟的周期来决定。对于数据信号的延时,在输出端用数据时钟对延时后信号重新采样,就可以消除误差。
总之,本文着重介绍了用FPGA实现数字通信中的交、解交织器的一种比较通用的方案。其它种类的交织器,只需更换读、写地址产生模块,确定读、写时差即可完成。除了随机交织器须用查找表的方式产生读地址序列外,大部分的交织器读、写地址都可用本文介绍的类似方法实现,这样既节省芯片,缩小电路体积,速度又快,调试也大大简化。文中还介绍了一种实现FPGA中信号粗略延时的方法以供大家参考。
- 基于DSP的单兵背负式短波数字通信系统设计(04-15)
- 基于ADSP-BF533的数字通信信号发生器设计(04-28)
- 现场总线和现场总线控制系统的定义(12-19)
- 现场总线之Lonworks的特点(03-14)
- 现场总线技术及其特点(05-18)
- 分析基于单片机的数字通信系统位同步提取(02-16)