APP下载

无线通信系统射频延时器的设计与实现

2012-06-25沈翰宁

电视技术 2012年7期
关键词:接收端延时命令

杨 娟,胡 兵,沈翰宁

(桂林电子科技大学,广西 桂林 541004)

无线通信系统数据传输方式多种多样,不同网络的传输协议也各有不同,这些传输方式以及传输协议的区别导致了数据传输速率存在着较大差异。这种差异将会导致通信系统接收端各路数据间的相互干扰,产生数据处理失真等问题。同时数据在无线信道中传输由于传输路径的差异,多径干扰也是不可避免的。通常解决这一系列问题的方法是在射频接收端的各个节点采用模拟延时器,对数据速率进行适配,以达到同步接收,减小数据处理的失真。但是模拟延时器具有数据处理速度慢,精度低,工程造价高,且很难随时调整等缺陷。

针对模拟延时器存在的问题,本文提出了一种新型的射频延时器,它采用模数结合数字处理的方式对射频接收数据进行时延调整。测试结果表明,系统数据处理速度快,精度最高可以达到纳秒级,且能够随时通过可编程模块对射频延时器进行调整,以实现射频接收端对各种网络数据的同步接收。

该系统可编程模块采用SDRAM(同步动态随机存储器)作为存储主体,所选用的SDRAM芯片数据处理速率最高可达133 Mbit/s,能够对数据进行高速读写操作。

1 射频延时器的结构和工作原理

射频延时器结构如图1所示。

图1 射频延时器结构图

射频延时器的结构如下:包括上下变频滤波模块,中频增益控制模块,可编程模块,高速模数及数模转换模块。参考时钟与锁相环模块组成标准锁相环电路产生本振信号。基准时间为t0的射频接收信号FM接入下变频滤波模块,输入信号在这里与本振信号进行1次或多次混频,通过滤波取出信号边带,下变频滤波模块连接中频增益控制模块,中频增益控制模块是用于消除传输链路的信号不稳定的影响,得到信号功率恒定的中频信号。中频增益控制模块连接着高速模数转换模块,将中频信号转换为数字信号fm,输入可编程模块。可编程模块将数据通过缓存送入SDRAM存储,并根据程序设定的延时Δt将信号转换为fm+Δt,可编程模块将延时后的数据与高速数模转换器相连接,产生基带模拟信号,经过上变频变成中频信号。中频信号在频域上与延时前中频信号保持一致,但是时域上已经产生了延时,将此中频信号通过上变频滤波模块,经过一次或多次混频,通过滤波取出边带,形成经过延时后的射频信号FM/(t0+Δt),如果设备固有延时是Δta,延时后的最终射频信号为FM/(t0+Δt+Δta),从而完成了射频信号的延时调整。

通信系统接收端数据由于传输链路的差异和多径干扰的影响,各接收节点的传输时延也不相同,此时假设各接收节点接收数据时延,分别为 t1,t2,t3,…,tm,各节点射频接收信号分别为FM/(t1+t0),FM/(t2+t0),FM/(t3+t0),…,FM/(tm+t0)。t0为基准时间,tn大于等于接收时延的最大值。各接收端节点信号通过射频延时器以后,附加时延分别为 tn-t1,tn-t2,tn-t3,…,tn-tm,各节点最终得到的信号都为FM/(tn+t0),经延时调整后,接收端实现信号的同步接收。

2 射频延时器可编程模块的设计

2.1 可编程模块的结构和工作原理

可编程模块结构如下:包括SDRAM,SDRAM控制器,射频延时器主控制器模块,接收/发射端FIFO读写控制模块,接收/发射端FIFO缓存模块等。可编程模块采用分层状态机的设计模式,实现主状态机与具体操作控制状态机的分离,对数据进行高效的读写操作,结构清晰,降低了系统设计的复杂性,也使程序具有更高的通用性和可读性。射频延时器可编程模块系统状态跳转如图2所示。

图2 射频延时器可编程模块系统状态跳转图

系统上电后开始工作,主控制器跳转到初始化模式,SDRAM控制器接收初始化命令分别对SDRAM的各种参数进行设置。初始化完毕以后,主控制器模块跳转到写模式,进入写模式后,地址计算模块,将根据用户写入的延时,对SDRAM初始写地址进行计算,并向接收端FIFO读写控制模块发送命令,使接收端FIFO开始接收数据。当接收端FIFO读写控制模块,返回响应信号时,主控制器模块对SDRAM控制器发送写命令,SDRAM控制器将FIFO传入的数据以突发模式写入SDRAM中。完成一次突发写以后,主控制器跳转至读模式,SDRAM控制器从SDRAM首地址开始将数据以突发读模式读出,并将数据打入发送端FIFO中。完成这一系列的操作后,主控制器又跳转至写模式,并判断接收机FIFO是否发出响应信号,如果检测到该信号,主控制器对SDRAM控制器发出写命令,否则主控制器将跳转至空闲模式继续等待响应信号,如此反复对数据进行读写操做。

接收端FIFO读写控制模块接收到主控制器发送的标志位以后,FIFO开始工作,这个标志位将与AD采样数据的使能信号同时作用成为接收端FIFO的写使能信号。收到写使能信号的接收端FIFO读写控制模块将跳转至写状态,当读写地址状态满足条件,读写控制模块跳转至读状态,将数据存入SDRAM中,完成读进程后,读写控制模块判断是否收到主控制模块发送的刷新标志位,如果有则进入等待状态,直至刷新标志位复位,否则再次进入写状态,完成前端数据的接收。

发送端的读写控制模块的实现相对简单,FIFO的写使能由前端接收数据使能提供,控制模块将保持缓存处于半满状态,否则当接收数据使能较为密集时,SDRAM正处于刷新进程中,此时有可能导致发送端FIFO输出端口读空。

SDRAM控制器的实现是该设计的另一个主要部分,SDRAM控制器主要包括命令监控,命令译码以及数据传递等几部分,SDRAM控制器根据接收到的命令,将数据、地址分别送入相应模块进行处理。

2.2 SDRAM控制器的实现

2.2.1 SDRAM的结构和工作原理

该设计采用MT48LC64M4A2芯片,容量为256 Mbyte,最高工作频率为133 MHz,包含16位数据总线,4个L-bank(Logic bank),每个L-bank的行地址寻址范围为8 k,存储单元内可存放4 bit,8 bit,16 bit三种位宽的数据,此设计所采用的是16 bit位宽存储数据,行地址寻址范围为512。

SDRAM内部是一个存储阵列,结构类似一个表格,指定了表格的行和列就能够确定指定的单元格的地址。每个存储单元是由三极管和电容组成的,电容充电实现数据存储,同时放电也会导致数据的丢失,因此需要隔一段固定时间对SDRAM进行预刷新操作,MT48LC64M4A2芯片需要在64 ms内实现8192次预刷新以保证数据不丢失。SDRAM的地址是分时复用的,在不同时间段内分别送出行地址(A[12:0]范围:0~8 k),列地址(A[8:0]范围:0~256)。MT48LC64M4A2芯片54个引脚包括以下重要的控制信号引脚:写使能信号WE;行地址选通脉冲RAS;列地址选通脉冲CAS;L-bank选择信号BA0,BA1;掩码DQM;地址信号 A[12:0];数据信号 DQ[15:0][3]。

2.2.2 SDRAM控制器的实现

SDRAM控制器由时钟模块、命令监控模块、命令译码模块、数据传递模块等几部分组成,支持1,2,4,8和全页突发等突发模式。SDRAM状态转移如图3所示。

图3 SDRAM状态转移图

系统上电后对SDRAM进行初始化,等待100 μs获得稳定的电源和时钟,然后对所有L-bank进行预充电以及预刷新命令。最后通过LMR命令向模式寄存器中写入0x033,以支持8 bit突发长度的读写操作。

系统完成初始化以后,进入idle状态,等待刷新命令、写命令、读命令的到来。主控制器根据需要,向SDRAM控制器发出各种操作命令,命令优先级为正在执行的命令最高,其次为预刷新命令,然后是其他命令。根据这种优先级机制能有效地减少命令冲突,提高SDRAM的工作效率[4]。

读写操作是SDRAM要进行的主要操作,该设计所采用的是8 bit突发读写模式,当接收FIFO接收到8个AD采样数据以后,主控制器向SDRAM控制器发起突发写命令,开始执行写进程,发送ACTIVE命令,激活要操作单元的行,发送写命令同时激活相应列,ACTIVE命令和写命令之间要等待tRCD时间,写命令发起的初始地址由主控制模块生成,用户在PC机界面上输入要延时的数据个数,主控制器根据这个长度自动计算出初始写地址,由SDRAM读写地址差来实现读写数据的延时。

当写进程执行完毕以后,控制器跳转至读进程,与写进程类似,在ACTIVE命令之后发起读命令,数据将在CAS Latency个周期后出现在数据总线上。关闭当前使用的行,有两种方式:一种是发起precharge命令,一种是发起burst terminate命令。当需要对同一个bank中的不同行进行操作的时候,需要发起precharge命令,来关闭当前使用行。

需要注意的是,当操作行地址和突发长度设定以后,以突发长度个列组成一个模块,这个操作模块的设定由地址线A[8:3]完成,地址线A[2:0]指定读写操作在这个模块中的初始列地址,读或写操作都将在这个模块中执行,直到指定下一次操作的具体地址。

3 硬件平台及测试结果

在Altera公司的开发工具quartusII环境下完成了射频延时器可编程模块的设计,可编程模块采用的是Altera公司的Cyclone III EP3C120F484C8的FPGA芯片和Micron公司的MT48LC64M4A2芯片,系统在搭建的硬件平台上进行测试。软件测试结果如图4所示。

图4 测试结果

图4中,datain为射频延时器A/D变换后的射频接收数据,dataout为经可编程模块后的输出数据;delay为延时数据个数,可以看出,当延时数设为408,数据在经过延时器控制后,相对于没有延时(delay为0)的情况,数据延时了408个数据,实现对数据的延时调整。

4 结论

测试结果表明,SDRAM的高速处理速率能够满足高速实时处理数据的要求,射频延时器数据延时精度最高可达纳秒级,从而保证设计稳定可靠,符合设计要求,射频延时器的设计和实现有效地降低了因传输速率不同和多径干扰所造成的数据间相互干扰,避免了因此而造成的数据处理失真等问题。

[1]PARK J H,LEE D W,LM H S,et al.A 3.3V 133MHz 32Mb synchronous mask ROM[C]//Proc.ISSCC 1998.San Francisco:IEEE Press,1998:338-339,460.

[2]任广辉,李宝,王刚毅.基于SDRAM的大容量FIFO突发缓存及数据存储方法:中国,200810064901.1[P].2008.

[3]赵冠男.基于FPGA的内存控制器的设计与应用[D].太原:太原理工大学,2010.

[4]赵传猛,高岩,张蓉.一种简单的SDRAM控制器的实现[J].计算机与数字工程,2010,38(8):197-200.

[5]高子旺,顾美康.一种基于FPGA的低复杂度SDRAM控制器实现方法[J]. 计算机与数字工程,2010,38(1):194-196.

[6]孙睿.基于SDRAM基本结构、操作及相关时序参数的研究[J].中国集成电路,2010,129(2):56-60.

猜你喜欢

接收端延时命令
只听主人的命令
基于扰动观察法的光通信接收端优化策略
顶管接收端脱壳及混凝土浇筑关键技术
基于多接收线圈的无线电能传输系统优化研究
基于级联步进延时的顺序等效采样方法及实现
日光灯断电关闭及自动延时开关设计
酸槽内钢带位置测量传感器
移防命令下达后
这是人民的命令
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration