基于LVDS的高速图像数据存储系统设计

2013-02-22 07:44马志刚朱思敏刘文怡
数据采集与处理 2013年3期
关键词:存储器时钟编程

马志刚 朱思敏 刘文怡

(1.中北大学仪器科学与动态测试教育部重点实验室,太原,030051;2.山西农业大学信息科学与工程学院,太谷,030801)

引 言

在航天测试中往往需要采集并存储各类高速图像、缓变、速变、冲击、振动等数据,有些数据的采集通常要求很高的采样率,因此,所需的存储容量也十分巨大。自20世纪末,各航空航天大国开始研制固态存储器。固态存储器主要使用FLASH作为存储介质,由于其存储密度高、可靠性高、容量大、数据不易丢失、体积小、质量轻,因此成为数据存储器设计的主流方案[1]。

庞大的信息量对数据传输接口的信号带宽及传输速率的要求越来越高。传统的数据传输接口如 RS-232,RS-422及 RS-485等,在传输速度、功耗及距离上已经无法满足大容量信息传输的需要。因此迫切需要一种传输可靠、速率高、功耗低的数据传输方式[2]。低压差分信号技术(Low voltage differential signaling,LVDS)使用极低的摆幅通过双绞电缆传输数据,是一种最高传输速率可达1.923Gb/s的通用接口技术,并且由于其低压差分的传输方式,具有较强的抑制信号干扰功能,大大提高了数据传输的距离、速率和可靠性[3]。

1 设计方案

随着电荷藕合元件(Charge-coupled device,CCD)图像传感器像素阵列技术的不断发展和采集速率的提高,传感器单位时间内采集的数据量也不断增加,因此需要的数据传输速度也越来越高,本文针对遥测系统图像采集的任务需要,提出了基于LVDS的高速远程图像数据存储系统设计方案。在设计中,图像数据由CCD图像传感器采集,图像数据通过LVDS进行高速、低功耗传输。本系统图像输入数据速率达到28.95MB/s,图像帧率为100帧/s,采样位数为8bit/像素。

2 存储器硬件设计

本文设计的高速远程图像存储系统主要由数据存储器、地面测试设备、计算机组成,如图1所示。数据存储器(FLASH)主要记录图像传感器回传的遥测图像数据;地面测试设备主要完成对数据记录器的单元自测,模拟实测环境通过100m的长线电缆发送数据,计算机通过USB2.0接口与地面测试设备通信,通过计算机软件发送命令来控制地面测试设备及记录器的工作状态。系统中的FPGA采用XC2S200芯片,完成整个存储系统的逻辑控制。

图1 存储系统设备组成框图

2.1 LVDS接口电路设计

数据发送端的图像传感器采用LVDS串化器芯片DS92LV1023作为发送器,对10位并行图像数据进行串化。数据记录器接收端采用相应的LVDS解串器芯片DS92LV1224作为接收器对串行的图像数据再进行并行转换,接口电路如图2所示。

图2 数据接收端原理图

存储器的DS92LV1023,DS92LV1224芯片组采用主动工作模式,即数据传输时无需对DS92LV1023芯片进行上电有效设置。在此工作模式下,芯片组上电后将输出管脚置为三态,然后锁相环启动,串化器的TCLK引脚及解串器REFCLK引脚分别锁定本地时钟,再由解串器的LVDS端口发送“000000111111”同步信号,解串器锁相环锁定到内嵌时钟中,若锁定成功,其LOCK引脚置低,说明系统已经同步,此时数据串化器可以正常发数。同时当其引脚TCLK-R/F为高电平时,DS92LV1023芯片将在时钟TCLK上升沿到来时将端口的10位数据先存入锁存器中,发送时再从中取出数据,加上一个起始位‘1’和一个停止位‘0’共12bit,依次发送到串行差分输出端口。解串器DS92LV1224将接收的串行数据存入锁存器中,根据发送的数据重建RCLK时钟,再与解化的串行数据一起并行输出。若解串器DS92LV1224锁相环失锁,其LOCK引脚将置高,则DS92LV1023将改发同步信号。

由于高速信号在远距离传输时会衰减,为保证数据的传输质量,通常在设计LVDS传输时会使用驱动器及均衡器,以实现信号的远程传输。在设计中,采用CLC001驱动器及CLC014均衡器来优化电缆的信号传输质量,CLC001芯片采用适合的电阻匹配,使输出信号达到最优幅度,不会因信号抖动过大使信号在接收端出现关闭的情况,CLC014芯片对远程传输后的信号进行均衡,通过增益来补偿电缆上的信号衰减,保证数据传输的稳定性[4]。

2.2 存储模块电路设计

本设计采用三星公司生产的FLASH芯片K9WBG08U1M作为数据存储单元,该芯片容量为4GB,页编程时间约为200μs,读写速度最高达40MB/s,故读写一页(4KB)所需时间TWR为

若采用传统的单页面编程方式,即对FLASH的每一块依次进行页编程,等上一块写满再进行下一块的编写,则可计算出FLASH的平均写入速度A为

其写入速度远不能满足系统28.95MB/s的输入速度。因此,本设计采用交替two-plane写入方式,利用FLASH不同的Devices可以单独写入的特点,根据不同的片选信号CE1,CE2分别存储数据,这样可以提高芯片的写入速度,硬件电路如图3所示。

图3 FLASH存储硬件电路

3 存储器逻辑设计

3.1 存储器编程逻辑设计

存储器的FLASH采用交替双平面写入模式,即将FLASH的Device#1中plane 0和plane 1设为A组;Device#1中plane 2和plane 3设为B组;Device#2中plane 0和plane 1设为C组;Device#2中plane 2和plane 3设为D组。写完A组页寄存器地址后,在A组的200μs编程时间内对B,C,D组依次进行写操作,当D组写完页寄存器地址后,A组已完成编程,可以进行下一轮数据存储。这样可以实现时间的复用,实现高速存储,逻辑时序如图4所示。采用交替双平面编程方式,单片FLASH写入峰值速度可达到33MB/s,写入速度TWR=4 096×4/33=496μs>200μs,也满足实际需求。

图4 FLASH片内写操作时序图

3.2 高速数据接收逻辑设计

为保证数据的有效解码,LVDS数据的参考时钟必须与发送和接收端的输出频率一致,同时利用LVDS解串器DS92LV1224自身的恢复时钟控制数据的接收和缓存,保证数据正常下发。LVDS数据的接收时序如图5所示,其中,Fifo-wr表示数据缓存器的写时钟信号,Inv-Flag表示无效标志位,LVDS-rclk表示解串器DS92LV1224自身的恢复时钟,LVDS-data表示经解串器解码的数据,在时钟上升沿时,首先对解串的10位数据低两位进行分析,当判断到数据的低两位是“00”时,表示接收到的是无效数据,此时将Inv-Flag置‘0’,数据无需写入先进先出存储电路;当判断到数据低两位为“11”时,表示接收到的数据是有效的,此时将Inv-Flag置‘1’,并在时钟下降沿时将数据写入先进先出存储电路[5]。

图5 LVDS数据接收时序图

3.3 存储器单机测试逻辑设计

存储器的单机测试操作主要包括数据擦除、启动记录及数据回读3个过程。擦除是指将存储器中的数据全部清空,将其写为全0XFF;启动记录是指将存储器转入数据采集状态,等待接收地面测试设备启动命令后,开始存储其发来的数据;数据回读是指从存储器中将存储的数据读出传送至计算机,并通过软件分析数据是否正确,以验证存储器的工作情况。存储器的单机测试流程为:系统上电后先对存储器擦除,将原有数据清零。当接收到擦除完成的状态指示后,启动记录,存储器进入工作状态,等待接收地面测试设备数据,当接收到数据后,存储器进入高速存储状态。数据回读时,需要系统重新上电,才能对FLASH进行读取操作[6]。

4 测试结果

在系统自检状态下,地面测试设备模拟发送模拟信号源数据给存储器,存储器对数据进行存储。数据存储完毕,测试设备将存储器中数据读出并送到计算机,进而使用软件进行分析。计算机软件还可以对读回存储器数据进行完整性判读。经多次单机和实测试验验证,存储器系统存储数据的平均误码率,完全满足测试要求。

5 结束语

本文设计的高速远程图像数据存储器采用交替双平面的页编程方式写入数据,数据的接收模块采用LVDS解串芯片及驱动芯片相配合,有效保证了数据的接收和存储,完全满足高速存储的设计要求,经实际试验应用证明,具有较高的可靠性,能够满足测试任务需要。

[1] Takeshi S,Satoshi I,Masashi S.High-speed 200 Gbytes data recorder utilizing the 512Mbits SDRAM and compactPCI bus[C]//A Collection of the 22nd AIAA International Communications Satellite Systems Conference and Exhibit Technical Papers.Monterey,California:AIAA,2004:185-189.

[2] 杨翠虹,文丰,姚宗.基于LVDS的高速数据传输系统的设计 [J].通信技术,2010,43(9):59-61.Yang Cui hong,Wen Feng,Yao Zong.Design of long-distance high-speed serial data transmission system based on LVDS[J].Communications Technology,2010,43(9):59-61.

[3] 彭乡琳.LVDS在长距离信号传输中的应用[J].兵工自动化,2006,25(7):60-61.Peng Xianglin.Application of LVDS in long distance signal transmit[J].Ordnance Industry Automation,2006,25(7):60-61.

[4] 储成群,焦新泉,于君.一种大容量固态飞行数据记录器设计[J].计算机测量与控制,2011,19(1):227-229.Chu Chengqun,Jiao Xinquan,Yu jun.A large-capacity solid-state design of flight data recorder[J].Computer Measurement & Control,2011,19(1):227-229.

[5] 张文栋.存储测试系统的设计理论及其应用[M].北京:高等教育出版社,2002:10-15.Zhang Wendong.Design theory and its application of storage test system[M].Beijing:Higher Education Press,2002:10-15.

[6] 李立,金华标,陈智君,等.基于FPGA和DSP的高分辨率图像采集系统[J].数据采集与处理,2008,23(1):121-126.Li Li,Jin Huabiao,Chen Zhijun,et al.High resolution image data acquisition system based on FPGA and DSP[J].Journal of Data Acquisition and Processing,2008,23(1):121-126.

猜你喜欢
存储器时钟编程
别样的“时钟”
静态随机存储器在轨自检算法
编程,是一种态度
元征X-431实测:奔驰发动机编程
古代的时钟
编程小能手
纺织机上诞生的编程
有趣的时钟
时钟会开“花”
存储器——安格尔(墨西哥)▲