无线通讯OFDM调制的实现
流模块施加背压。对于TDD操作,在pre-FFT数据缓冲时,可以复用post-FFT双端口RAM实现位反转,因为这些操作在时间上是错开的。
图9:循环前缀移除操作前后的数据包比较。
时钟方案:该设计中采用两个时钟域,clk_f和clk_s。FFT核运行在快时钟clk_f上。当时钟clk_f比clk_s快时,两个时钟域将会存在异步。握手信号将会被插入来同步域间的控制信号。尽管在实际系统中时钟clk_f的频率通常为clk_s频率的几个整数倍,但在这个设计中,两者频率也可以相同。这里,两个时钟必须同步。由于单缓冲器存储深度的限制,如果两个时钟同步而只是速率不同,就必须去掉解调器中的时钟同步模块。不过在实际系统中不需要考虑这一点,因为如果FFT核没有被复用就没必要使用pre-FFT缓冲器了。
接口和I/O端口:该设计实例使用了数据传输控制的Avalon Streaming协议。为了支持大小可变的FFT size、循环前缀,以及FFT方向运行时间(run time)的变化,必须对这些run time信号进行缓冲并把它们与输出数据数据包开始(SOP)信号对齐。
该实例中也通过Avalon Stream信号sink_ready(输入准备好信号)和source_ready(输出准备好信号)来支持背压。循环前缀插入模块中输入准备好延迟选0和输出准备好延迟选44。循环前缀移除模块的输入准备好延迟选0。不过,因为输出数据取自存储器,后面的缓冲器读取子模块的输出准备好延迟选2。由于FFT核为延迟0,为了实现与FFT核的连接,需要在在缓冲读模块与FFT核之间插入一个延迟适配器。延迟适配器用延迟2接收输入数据,然后用延迟0输出数据。适配器也支持背压并把可重配置的循环前缀的大小和FFT的方向信号与输出数据包对齐。
调制解调的输入输出信号是有符号的定点格式但位宽度是可配置的。在可变流模式中,IFFT核的输出数据具有基于最大IFFT size的满分辨率。如果必要,可以在循环前缀插入模块中切断数据序列,也可以设置位宽参数。图10所示为OFDM调制解调模块的I/O端口。
图10:OFDM调制解调模块的I/O接口。
- 无线技术提高采矿效率的研究(04-12)
- 基于ARM7的蓝牙接入点的研究(07-04)
- 短距离无线通讯在汽车RFID系统设计中的应用(01-27)
- 基于触控屏验证无线通讯的噪声干扰(06-20)
- 多重通讯挑战与测试(07-03)
- 无线通讯讯号及EMC正确测量(10-07)