基于FPGA的头盔显示器的视频驱动电路设计

2014-07-19 18:24陈文明刘波章小兵崔杉朱标丁慧林
现代电子技术 2014年10期
关键词:时序时钟芯片

陈文明 刘波 章小兵 崔杉 朱标 丁慧林

摘 要: 在此介绍一种高性能的LCD型头盔显示器的视频驱动电路设计。实现了高分辨率DVI视频信号的解码、视频图像处理、LCD驱动等功能。采用FPGA作为硬件平台,对视频信号进行处理、对比度/亮度调节、图像扫描方向控制、LCD驱动时序生成以及MINI?LVDS接口实现等。采用专用芯片产生LCD需要的gamma电压值,实现了0.96英寸的液晶屏的驱动。具有显示分辨率高(1 400×1 050)、参数可调节、接口简单、功耗低等特点。最后通过实物测试,验证了该电路功能。

关键字: LCD; 头盔显示器; MINI?LVDS接口; FPGA

中图分类号: TN964?34 文献标识码: A 文章编号: 1004?373X(2014)10?0113?03

Abstract: The video driver circuit design of a high?performance LCD head mounted display (HMD) is introduced in this paper. The high?resolution DVI video signal decoding, video image processing and LCD drive functions were achieved by the circuit. FPGA is taken as the hardware platform for video image processing, contrast/brightness adjustment, image scanning direction control, LCD drive time?sequence generation and MINI?LVDS interface realization and so on. An ASIC is adopted to produce Gamma voltage LCD needs to drive 0.96?inch LCD screen. It has the characteristics of high?resolution display (1 400×1 050), parameter adjustability, simple interface, low?power consumption, etc. The reliability of the circuit functions were verified by physical testing.

Keywords: LCD; head mounted display; MINI?LVDS interface; FPGA

0 引 言

头盔显示器(Helmet Mounted Display,HMD),是一种包含微型图像源(Image Source)及相应光学系统的头戴显示装置。HMD具有质量轻、体积小、功耗低等特点,在航空、医疗、娱乐等领域有着广泛的应用[1]。LCD型HMD集成了视频驱动系统、液晶显示屏、光学子系统等[2]。视频驱动系统包括视频转换、显示辅助控制与LCD驱动,完成的是一个电光转换的过程,它将外部输入的视频信号进行转换处理,显示在LCD上;同时对显示对比度、扫描方向等调整和控制。

1 电路总体设计

本文介绍的HMD采用DVI接口传输视频信号,视频分辨率为1 400×1 050。显示介质采用一款单色0.96英寸LCD显示屏,MINI?LVDS接口方式。 此HMD视频驱动电路功能框图如图1所示。

该电路主要包括电源模块、RS 422通信模块、DVI解码模块、主控制模块(FPGA)、帧存取模块(SRAM)、LCD灰度电压成模块、晶振等部分。

2 硬件电路设计

该电路中主要功能电路的设计如下:

(1) DVI解码电路

DVI解码部分主要完成将输入的分辨率为1 400×1 050的TDMS视频信号转换为数字RGB信号,同时产生相应的行、场同步信号和像素时钟频率信号。本电路采用型号为TFP401A?EP的DVI解码芯片,它是TI 公司Panel Bus平板显示产品系列中的一种TDMS 信号接收芯片。TFP401A?EP可以把来自TMDS发射端的RX(2:0)+/-和RXC+/-四路TMDS差分信号,转化为RGB格式输出[3]。

此芯片有单像素模式和奇偶双像素模式。为了降低系统时钟处理速度,采用奇偶双像素模式。将QE[0:23],QO[0:23],ODCK,DEN,HSYN,VSYN和同步检测SCDT信号到FPGA进行处理。

(2) 视频帧缓存电路

视频缓冲存储器用IIS信号为IS61WV102416BLL?10MI的SRAM,它的容量为1M×16 b。由于驱动的是单色的LCD,主要存储绿色通道的视频数据。

存储一帧数据要1 400×1 050×8 b的存储空间,采用IS61WV102416BLL?10MI能够存储一帧数据。在系统中用两组SRAM存储器,共两片SRAM芯片,让两组SRAM交替使用,进行乒乓操作,使得每一场都能从某一SRAM中读取数据,同时另外一组用来存储下一帧视频教据。

(3) 灰度电压生成电路

灰度电压生成电路需要生成18组(Vref0~Vref17)电压,用于产生正极性和负极性的12 b灰度电压(4 096×2=8 192),用于液晶屏作D/A转换的模拟参考电压[4]。外部18个基准电压确定了灰度电压曲线的基本形状,该曲线的形状由液晶的V?T特性所决定,电压分布呈非线性。该曲线通过可编程gamma电压生成芯片BUF20800实现。

此芯片能产生18路电压,输出的电压值通过I2C接口配置相应的寄存器得到,如图2所示。

3 FPGA设计

本系统设计采用了美国XILINX公司的型号为XC6SLX16?2CSG324I的工业级现场可编程逻辑阵列(FPGA)芯片。该芯片是XILINX公司的Spartan??6系列的芯片,带有MINI?LVDS接口,处理速度快,能够满足系统的使用要求。

(1) 主控制模块。主控制模块是FPGA的核心控制部分,它接收RS 422模块的命令和数据,完成对其他模块的控制和参数调节以及其他模块工作状态和参数的反馈等功能。逻辑采用状态机实现,其状态转化如图4所示。

通过接收到的不同的命令(单字节和双字节),根据装停留对RS 422,SPI,I2C通信模块进行控制,实现命令和参数的接收,完成相关功能的调节;对参数调节模块的参数进行调整,实现对比度调节、gamma校正、图像扫描点的转化等功能。

(2) LCD驱动时序生成模块。为了将数据正确写入到LCD像素点位置,需要配合时序控制信号。在时序控制线信号控制下,保证图像的正常显示。需要给液晶屏提供的信号为:ENBY1,ENBY2,FRP,MSEL,DY,DX。这6组信号在输入的HSYN(行同步),VSYN(场同步),DEN(数据使能)信号的控制下生成。以行、场信号的下降沿触发行计数器和场计数器,根据液晶屏的驱动时序特性,在相应的点生成正脉冲或者负脉冲,实现LCD驱动信号的生成。在代码设计的是,驱动信号的上升沿和下降沿的位置可以用generic语句生成,方便调试时改变方便。这6组信号的FPGA仿真见图5。

(3) MINI?LVDS接口模块。Mini?LVDS是一种高速串行接口,采用了双边的数据传输,数据传输率是普通 LVDS 的2倍。它在信号传输过程中产生很低的电磁干扰(EMS),能为显示驱动提供很高的带宽,这尤其适合用于TFT LCD列驱动器。使用Spartan?6的SelectIO I/O资源,能够实现MINILVDS数据传输。Spartan?6 FPGA有高性能的可配置SelectIO驱动器与接收器,支持单端的LVCMOS,LVTTL,HSTL,SSTL,PCI和差分的LVDS,MINILVDS,TMDS等I/O标准[5]。此款液晶屏采用13对MINI?LVDS信号进行时钟和数据的传输,其中数据12对,时钟1对。时钟在上升沿和下降沿对数据进行采样,一个时钟周期能传输2个像素,实现像素的奇传输。整个MINI?LVDS传输模块使用了1个DCM,1个ODDR2,1个BUFPLL,12个OSERDES2和13个OBUFDS。MINI?LVDS模块RTL级结构如图6所示。由于在Spartan?6系列FPGA中MINI?LVDS输出接口只能锁定在BANK0或者BANK2上,而MINI?LVDS输入无此要求,可以锁定在任何BANK。本设计对13对MINI?LVDS输出锁定在BANK2上。

(4) 其他功能模块。除了以上功能模块外,FPGA其他部分的功能为:视频图像处理功能主要包括视频采样、中值滤波等功能模块。由于系统采用由DCM产生的时钟作为系统时钟,对内部逻辑采用统一的时钟驱动,外部输入的视频信号和FPGA内部逻辑属于异步时钟域,在采样的时候,需要采用FIFO进行同步化处理;显示效果调节模块主要完成对比度调整、gamma校正功能,通过接收外部输入的对比度、gamma调节参数,对输入的视频信号灰度进行处理输出,得到理想的显示效果;SRAM操作模块主要是进行扫描方式的转换,通过改变读操作时缓存的数据的地址,达到图像翻转、镜像、旋转等操作,具体的扫描方式由外部命令控制;RS 422接口模块实现驱动电路和上位机之间的通讯,实现对电路参数和显示效果的动态配置;SPI接口实现对LCD屏的工作寄存器的配置,使其达到最佳工作状态;I2C通信接口用于配置gamma芯片,产生需要的灰度电压值。

HMD视频驱动板见图7(a),其图像显示效果如图7(b)所示。

4 结 语

此款HMD视频驱动板,能实现1 400×1 050分辨率的DVI视频图像在0.96寸单色液晶屏上正常显示,并能通过RS 422对比度/亮度调节、图像扫描方向控制等功能。FPGA作为主控制器,进行视频图像处理、外围电路的控制、LCD驱动时序生成以及MINI?LVDS接口实现等。这种架构能提高系统的集成度,减小PCB板的面积和功耗。由于将专用LCD接口芯片集成到FPGA中也节省了整个产品的生产成本。

参考文献

[1] 周雅.增强现实(AR)系统三维注册技术的研究及其头盔显示器系统研制[D].北京:北京理工大学,2000.

[2] 缪渊.头盔显示器的应用及技术设计参量简析[J].光电技术,2002,43(2):40?45.

[3] Texas Instruments. TFP401A data sheet [DB/OL]. [2010?12?22].http://focus.ti.com/lit/ds/symlink/tfp?401A.

[4] ROBERTS A. Measurement of display transfer characteristic (Gamma, γ) [J]. EBU Technical Review, 1993, 257: 32?40.

[5] Xilinx. Spartan?6 FPGA selectio resources user guide [R]. USA: Xilinx, 2010.

[6] 武玉华,梁晨,李莉,等.SDRAM在头盔显示器系统中的应用研究[J].现代电子技术,2008,31(13):182?184.

[7] 周宦银,房宗良,曹剑锋,等.基于双口RAM核监测数字示波器设计研究[J].现代电子技术,2013,36(23):122?124.

此芯片能产生18路电压,输出的电压值通过I2C接口配置相应的寄存器得到,如图2所示。

3 FPGA设计

本系统设计采用了美国XILINX公司的型号为XC6SLX16?2CSG324I的工业级现场可编程逻辑阵列(FPGA)芯片。该芯片是XILINX公司的Spartan??6系列的芯片,带有MINI?LVDS接口,处理速度快,能够满足系统的使用要求。

(1) 主控制模块。主控制模块是FPGA的核心控制部分,它接收RS 422模块的命令和数据,完成对其他模块的控制和参数调节以及其他模块工作状态和参数的反馈等功能。逻辑采用状态机实现,其状态转化如图4所示。

通过接收到的不同的命令(单字节和双字节),根据装停留对RS 422,SPI,I2C通信模块进行控制,实现命令和参数的接收,完成相关功能的调节;对参数调节模块的参数进行调整,实现对比度调节、gamma校正、图像扫描点的转化等功能。

(2) LCD驱动时序生成模块。为了将数据正确写入到LCD像素点位置,需要配合时序控制信号。在时序控制线信号控制下,保证图像的正常显示。需要给液晶屏提供的信号为:ENBY1,ENBY2,FRP,MSEL,DY,DX。这6组信号在输入的HSYN(行同步),VSYN(场同步),DEN(数据使能)信号的控制下生成。以行、场信号的下降沿触发行计数器和场计数器,根据液晶屏的驱动时序特性,在相应的点生成正脉冲或者负脉冲,实现LCD驱动信号的生成。在代码设计的是,驱动信号的上升沿和下降沿的位置可以用generic语句生成,方便调试时改变方便。这6组信号的FPGA仿真见图5。

(3) MINI?LVDS接口模块。Mini?LVDS是一种高速串行接口,采用了双边的数据传输,数据传输率是普通 LVDS 的2倍。它在信号传输过程中产生很低的电磁干扰(EMS),能为显示驱动提供很高的带宽,这尤其适合用于TFT LCD列驱动器。使用Spartan?6的SelectIO I/O资源,能够实现MINILVDS数据传输。Spartan?6 FPGA有高性能的可配置SelectIO驱动器与接收器,支持单端的LVCMOS,LVTTL,HSTL,SSTL,PCI和差分的LVDS,MINILVDS,TMDS等I/O标准[5]。此款液晶屏采用13对MINI?LVDS信号进行时钟和数据的传输,其中数据12对,时钟1对。时钟在上升沿和下降沿对数据进行采样,一个时钟周期能传输2个像素,实现像素的奇传输。整个MINI?LVDS传输模块使用了1个DCM,1个ODDR2,1个BUFPLL,12个OSERDES2和13个OBUFDS。MINI?LVDS模块RTL级结构如图6所示。由于在Spartan?6系列FPGA中MINI?LVDS输出接口只能锁定在BANK0或者BANK2上,而MINI?LVDS输入无此要求,可以锁定在任何BANK。本设计对13对MINI?LVDS输出锁定在BANK2上。

(4) 其他功能模块。除了以上功能模块外,FPGA其他部分的功能为:视频图像处理功能主要包括视频采样、中值滤波等功能模块。由于系统采用由DCM产生的时钟作为系统时钟,对内部逻辑采用统一的时钟驱动,外部输入的视频信号和FPGA内部逻辑属于异步时钟域,在采样的时候,需要采用FIFO进行同步化处理;显示效果调节模块主要完成对比度调整、gamma校正功能,通过接收外部输入的对比度、gamma调节参数,对输入的视频信号灰度进行处理输出,得到理想的显示效果;SRAM操作模块主要是进行扫描方式的转换,通过改变读操作时缓存的数据的地址,达到图像翻转、镜像、旋转等操作,具体的扫描方式由外部命令控制;RS 422接口模块实现驱动电路和上位机之间的通讯,实现对电路参数和显示效果的动态配置;SPI接口实现对LCD屏的工作寄存器的配置,使其达到最佳工作状态;I2C通信接口用于配置gamma芯片,产生需要的灰度电压值。

HMD视频驱动板见图7(a),其图像显示效果如图7(b)所示。

4 结 语

此款HMD视频驱动板,能实现1 400×1 050分辨率的DVI视频图像在0.96寸单色液晶屏上正常显示,并能通过RS 422对比度/亮度调节、图像扫描方向控制等功能。FPGA作为主控制器,进行视频图像处理、外围电路的控制、LCD驱动时序生成以及MINI?LVDS接口实现等。这种架构能提高系统的集成度,减小PCB板的面积和功耗。由于将专用LCD接口芯片集成到FPGA中也节省了整个产品的生产成本。

参考文献

[1] 周雅.增强现实(AR)系统三维注册技术的研究及其头盔显示器系统研制[D].北京:北京理工大学,2000.

[2] 缪渊.头盔显示器的应用及技术设计参量简析[J].光电技术,2002,43(2):40?45.

[3] Texas Instruments. TFP401A data sheet [DB/OL]. [2010?12?22].http://focus.ti.com/lit/ds/symlink/tfp?401A.

[4] ROBERTS A. Measurement of display transfer characteristic (Gamma, γ) [J]. EBU Technical Review, 1993, 257: 32?40.

[5] Xilinx. Spartan?6 FPGA selectio resources user guide [R]. USA: Xilinx, 2010.

[6] 武玉华,梁晨,李莉,等.SDRAM在头盔显示器系统中的应用研究[J].现代电子技术,2008,31(13):182?184.

[7] 周宦银,房宗良,曹剑锋,等.基于双口RAM核监测数字示波器设计研究[J].现代电子技术,2013,36(23):122?124.

此芯片能产生18路电压,输出的电压值通过I2C接口配置相应的寄存器得到,如图2所示。

3 FPGA设计

本系统设计采用了美国XILINX公司的型号为XC6SLX16?2CSG324I的工业级现场可编程逻辑阵列(FPGA)芯片。该芯片是XILINX公司的Spartan??6系列的芯片,带有MINI?LVDS接口,处理速度快,能够满足系统的使用要求。

(1) 主控制模块。主控制模块是FPGA的核心控制部分,它接收RS 422模块的命令和数据,完成对其他模块的控制和参数调节以及其他模块工作状态和参数的反馈等功能。逻辑采用状态机实现,其状态转化如图4所示。

通过接收到的不同的命令(单字节和双字节),根据装停留对RS 422,SPI,I2C通信模块进行控制,实现命令和参数的接收,完成相关功能的调节;对参数调节模块的参数进行调整,实现对比度调节、gamma校正、图像扫描点的转化等功能。

(2) LCD驱动时序生成模块。为了将数据正确写入到LCD像素点位置,需要配合时序控制信号。在时序控制线信号控制下,保证图像的正常显示。需要给液晶屏提供的信号为:ENBY1,ENBY2,FRP,MSEL,DY,DX。这6组信号在输入的HSYN(行同步),VSYN(场同步),DEN(数据使能)信号的控制下生成。以行、场信号的下降沿触发行计数器和场计数器,根据液晶屏的驱动时序特性,在相应的点生成正脉冲或者负脉冲,实现LCD驱动信号的生成。在代码设计的是,驱动信号的上升沿和下降沿的位置可以用generic语句生成,方便调试时改变方便。这6组信号的FPGA仿真见图5。

(3) MINI?LVDS接口模块。Mini?LVDS是一种高速串行接口,采用了双边的数据传输,数据传输率是普通 LVDS 的2倍。它在信号传输过程中产生很低的电磁干扰(EMS),能为显示驱动提供很高的带宽,这尤其适合用于TFT LCD列驱动器。使用Spartan?6的SelectIO I/O资源,能够实现MINILVDS数据传输。Spartan?6 FPGA有高性能的可配置SelectIO驱动器与接收器,支持单端的LVCMOS,LVTTL,HSTL,SSTL,PCI和差分的LVDS,MINILVDS,TMDS等I/O标准[5]。此款液晶屏采用13对MINI?LVDS信号进行时钟和数据的传输,其中数据12对,时钟1对。时钟在上升沿和下降沿对数据进行采样,一个时钟周期能传输2个像素,实现像素的奇传输。整个MINI?LVDS传输模块使用了1个DCM,1个ODDR2,1个BUFPLL,12个OSERDES2和13个OBUFDS。MINI?LVDS模块RTL级结构如图6所示。由于在Spartan?6系列FPGA中MINI?LVDS输出接口只能锁定在BANK0或者BANK2上,而MINI?LVDS输入无此要求,可以锁定在任何BANK。本设计对13对MINI?LVDS输出锁定在BANK2上。

(4) 其他功能模块。除了以上功能模块外,FPGA其他部分的功能为:视频图像处理功能主要包括视频采样、中值滤波等功能模块。由于系统采用由DCM产生的时钟作为系统时钟,对内部逻辑采用统一的时钟驱动,外部输入的视频信号和FPGA内部逻辑属于异步时钟域,在采样的时候,需要采用FIFO进行同步化处理;显示效果调节模块主要完成对比度调整、gamma校正功能,通过接收外部输入的对比度、gamma调节参数,对输入的视频信号灰度进行处理输出,得到理想的显示效果;SRAM操作模块主要是进行扫描方式的转换,通过改变读操作时缓存的数据的地址,达到图像翻转、镜像、旋转等操作,具体的扫描方式由外部命令控制;RS 422接口模块实现驱动电路和上位机之间的通讯,实现对电路参数和显示效果的动态配置;SPI接口实现对LCD屏的工作寄存器的配置,使其达到最佳工作状态;I2C通信接口用于配置gamma芯片,产生需要的灰度电压值。

HMD视频驱动板见图7(a),其图像显示效果如图7(b)所示。

4 结 语

此款HMD视频驱动板,能实现1 400×1 050分辨率的DVI视频图像在0.96寸单色液晶屏上正常显示,并能通过RS 422对比度/亮度调节、图像扫描方向控制等功能。FPGA作为主控制器,进行视频图像处理、外围电路的控制、LCD驱动时序生成以及MINI?LVDS接口实现等。这种架构能提高系统的集成度,减小PCB板的面积和功耗。由于将专用LCD接口芯片集成到FPGA中也节省了整个产品的生产成本。

参考文献

[1] 周雅.增强现实(AR)系统三维注册技术的研究及其头盔显示器系统研制[D].北京:北京理工大学,2000.

[2] 缪渊.头盔显示器的应用及技术设计参量简析[J].光电技术,2002,43(2):40?45.

[3] Texas Instruments. TFP401A data sheet [DB/OL]. [2010?12?22].http://focus.ti.com/lit/ds/symlink/tfp?401A.

[4] ROBERTS A. Measurement of display transfer characteristic (Gamma, γ) [J]. EBU Technical Review, 1993, 257: 32?40.

[5] Xilinx. Spartan?6 FPGA selectio resources user guide [R]. USA: Xilinx, 2010.

[6] 武玉华,梁晨,李莉,等.SDRAM在头盔显示器系统中的应用研究[J].现代电子技术,2008,31(13):182?184.

[7] 周宦银,房宗良,曹剑锋,等.基于双口RAM核监测数字示波器设计研究[J].现代电子技术,2013,36(23):122?124.

猜你喜欢
时序时钟芯片
基于Sentinel-2时序NDVI的麦冬识别研究
别样的“时钟”
古代的时钟
基于FPGA 的时序信号光纤传输系统
有趣的时钟
一种毫米波放大器时序直流电源的设计
芯片测试
时钟会开“花”
多通道采样芯片ADS8556在光伏并网中的应用
DPBUS时序及其设定方法