液晶显示器动态图像质量的测量方法
技术领域
本发明涉及液晶显示器显示质量的测量方法,尤其涉及一种液晶显示器动态图像质量的测量方法。
背景技术
基于液晶显示的保持型模式和人眼观察的追踪特性,目前动态图像质量的测量方法有两种:(1)直接测量法;(2)间接测量法。
直接测量法包括高速相机法和追踪相机法,尽管它们能有效地模拟人眼平滑追踪动态图像,但构建这样的测量装置往往因为机电匹配的高精度、设备配置的高价格以及统调过程的高难度而难以实现。
间接测量法是以测量得到的瞬态亮度响应特性为依据,采用数学方法模拟人眼平滑追踪运动图像以及亮度响应一帧时间内的积分过程,计算动态图像质量参数。尽管实现该测量方法无需复杂的光学辅助设备和高精度的机电匹配,但它在测量信噪比、数学模拟精度、测量自动化、评估综合性等方面不能满足全面验证动态图像质量的要求。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于数学模拟法的液晶显示器动态图像质量的测量方法,其通过模糊边缘时间测量流程、运动图像响应时间测量流程、动态调制传递函数测量流程全面验证液晶显示器的动态图像质量。
技术方案:为实现上述目的,本发明采用的技术方案为:
液晶显示器动态图像质量的测量方法,包括上位机控制流程和下位机图像发生及数据采集运行流程;所述上位机控制流程用于定义显示图像格式、选择时钟更新方案、设定图形驱动配置、确定数据采集模式、计算动态图像质量参数;所述下位机图像发生及数据采集运行流程用于运行数据接收与转换、同步信号产生与控制、测试图形生成与配置、显示驱动选择与设定、特性数据采集与传输,并以数字视频接口DVI、低电压差分信号LVDS接口或视频图形阵列VGA接口驱动显示屏。
优选地,所述上位机控制流程和下位机图像发生及数据采集运行流程之间通过I2C总线方式传输测量数据、USB接口传输瞬态响应特性数据。
具体来说,所述上位机控制流程完成测量过程的1)时钟方案、2)手动测量、3)自动测量和4)序列测量四部分,各部分的执行步骤如下:
1)时钟方案
100).选择显示分辨率:a).分辨率编辑框Resolution选一已设定分辩率,刷新率Refresh Rate选50HZ、60HZ、75HZ、100HZ或120HZ,在行总像素HTOT、行同步像素HSY、行后肩像素HBP、行显示像素HAC、帧总像素VTOT、帧同步像素VSY、帧后肩像素VBP、帧显示像素VAC编辑框内生成图像格式参数;b).选择其它分辨率时,HTOT、HSY、HBP、HAC、VTOT、VSY、VBP、VAC编辑框内显示空白,手动输入显示器设定软件生成的图像格式参数;
101).选择图形比例:a).在图形尺寸编辑框Block Size中生成符合设定分辩率的方块图形比例数据Hsta、Hend、Vsta、Vend;b).选择其它分辩率时,BlockSize编辑框内显示空白,手动输入Hsta、Hend、Vsta、Vend;
102).计算单/双像素时钟频率:a).像数模式编辑框Pixel Mode选0时为单像素驱动,HTOT编辑框中的数据不变,Pixel Mode选1时为双像素驱动,HTOT编辑框中的数据除2;b).HTOT=HAC+HFP+HSY+HBP,HFP是行前肩像素,VTOT=VAC+VFP+VSY+VBP,VFP是帧前肩像素,时钟频率为fCLK=HTOT×VTOT×Fre,Fre是显示刷新率;c).在频率编辑框fCLK中生成输出时钟频率;
103).计算输出频率:由式计算输出频率,fREF为参考频率、NF为反馈分频系数、NR为参考分频系数、NP为二次分频系数,NF取值范围是1~2047,其中不能取值10、11、12、13、14、15、19、20、21、22、23、28、29、30、31、37、38、39、46、47、55,NR取值范围是1~255,NP取值是1、2、3、4、5、6、8、9、10、12、15、16、18、20、25、50;
104).计算频率误差:由式Δferr=|fCLK-f′CLK|计算频率误差,Δferr为频率绝对误差,计算过程:内层循环是设定NF、NR,在NP取值范围内计算Δferr,中层循环是设定NF,依次在NP、NR取值范围内计算Δferr,外层循环是依次在NP、NR、NF取值范围内计算Δferr,三层循环之后凡Δferr小于0.001的f′CLK,其分频系数NP、NR、NF均进入解决方案列表;
105).生成时钟数据:在解决方案列表中任选一个方案,时钟数据编辑框CLK_Data中生成符合这一方案的16个字节时钟数据;
106).启动分辨率更新:a).以I2C总线方式传送CLK_Data编辑框中的16个字节时钟数据至图像发生器中现场可编程门阵列FPGA的时钟数据缓存区Xdata[rnum];b).以I2C总线方式传送步骤100)生成的数据至FPGA的全缓存寄存器fullregbuf[I2CBit..0],数据长度为89位;c).以I2C总线方式传送步骤101)生成的数据至FPGA的全缓存寄存器fullregbuf[I2CBit..0],数据长度为44位;
2)手动测量
200).数据采集卡设置:a).创建一个模拟采集通道Physical Channel和设置采集电压范围Maximum Value/Minimum Value;b).配置采样模式Finite Samples、采样率Sample Rate和采样点数Samples per Time;c).配置触发通道Start TriggerSource和触发边缘Start Edge,d).配置停止触发信号模式Reference Trigger Source和触发源Reference Edge;
201).屏驱动设置:a).选择DVI、LVDS或VGA驱动接口;b).选择红R、绿G、蓝B之一,或R、G、B全选;
202).瞬态跳变设置:a).在0~255灰阶中选定两个跳变等级Level1、Level2;b).以一帧16.7ms为单位设定每级灰度停留时间T1、T2、T3;
203).测量设置:a).选择实时测量Real-Time或平均测量Average;b).设定平均测量次数Average Times,Average Times=N小于等于40;c).选择自动生成的采集数据Excel文件的保存路径;
204).测量启动:a).以I2C总线方式分别传送2位驱动方式数据、3位色选数据、1位图形类别数据、48位图形灰阶数据、24位灰阶停留时间数据至FPGA的fullregbuf[I2CBit..0];b).经USB接口开始模拟采集数据过程Start Task和读出PC数据缓冲区的采样数据Read property Node;c).在界面示波器中显示一条实时或多次平均的瞬态响应特性Y0(t),Y0是电压、t是时间;
205).参数计算:a).运用N次平均采集数据以消除测量噪声;b).定义采集波形上升沿的10%~90%时间为液晶响应上升时间LCRT-rising time、下降沿的90%~10%时间为液晶响应下降时间LCRT-falling time;c).根据在瞬态响应曲线Y0(t)上一帧时间宽度的移动窗口积分结果,计算得出运动图像响应曲线MPRC,其中τ=-xpiTf/v,xpi是屏坐标、Tf是帧周期、v是方块图形运动速度;d).定义MPRC上升沿的10%~90%时间为模糊边缘上升时间BET-rising time、下降沿的90%~10%时间为模糊边缘下降时间BET-falling time;
3)自动测量
300).重复步骤200)、步骤201)中的a)和b)、步骤202)中的b)、步骤203)中的b)和c);
301).设定灰阶数Gray Numbers为7或9;
302).根据Gray Numbers,在缺省灰阶设定表格Default Gray Setting中自动生成7或9个规定灰阶;
303).测量启动:a).自动顺序选择Default Gray Setting中的两个跳变灰阶;b).重复步骤204)中的a)、b)和c),在界面示波器中显示一族根据N次平均的M=NG(NG+1)为灰阶组合总数,在0~255灰阶区域中分为NG灰阶等级,一般为7或9,相邻两个等级间隔相同;
304).参数计算:a).重复步骤205);b).根据模糊边缘时间BET和延伸模糊边缘时间EBET之间的关系式EBET=BET/(0.9-0.1),运动图像响应时间MPRT按照不同灰阶组合下的平均值计算,i,j=1,2,3....N;
4)序列测量
400).重复步骤200)、步骤201)中的a)和b)、步骤203)中的c);
401).测量设置:a).设定测试正弦图形的空间周期Ts,Ts在0~9的范围内对应取值2、4、6、8、12、16、24、32、48、64;b).设定测试正弦图形运动速度v为4或8;c).设定正弦图形偏移指针Index,当v=4或8,Index的取值是0、1、2、3或0、1、2、3、4、5、6、7;
402).测量启动:a).以I2C总线方式传送9位测试序列数据块长度、4位图形空间周期数据、3位图形运动速度数据、3位图形偏移量指针数据至FPGA的fullregbuf[I2CBit..0];b).3位图形偏移指针数据在步骤401)中的c)设定的范围内自动递增;c).重复步骤204)中的b);d).在界面示波器中显示v条响应特性曲线i=0,1,……,v-1,是电压、t是时间;
403).参数计算:a).根据计算感知到的电压分布曲线空间位置x以像素单元尺寸为单位、时间t以帧周期时间为单位;b).根据步骤401),当电压分布曲线为正弦分布图案Y*(x)时,计算动态调制传递函数 是正弦分布图案Y*(x)的对比度,Ymax是最大电压,Ymin是最小电压,C′是正弦分布图案Y′(x)的对比度,是Y*(x)的空间频率。
具体来说,所述下位机图像发生及数据采集运行流程完成测量过程的5)时钟更新、6)图形配置、7)同步控制和8)数据采集四部分,各部分的执行步骤如下:
5)时钟更新
500).数据接收缓存:a).I2C数据接收模块I2C_expander串行接收步骤106)中的a)下传的数据,并转换为8位并行数据;b).I2C_expander送并行数据至时钟数据接收模块R_FT245BM的Xdata[rnum];
501).数据更新准备:a).R_FT245BM置复位端reset=″0″,时钟数据写入模块W_FS6370的复位端reset=″0″,禁止W_FS6370启动;b).置时钟芯片FS6370的EEPROM地址至R_FT245BM的器件地址输出端raddr[7..0];c).置FS6370的寄存器首地址至寄存器地址输出端addr[7..0];
502).数据更新启动:a).R_FT245BM置写控制输出端wr=″1″,W_FS6370的写控制输入端wr=″1″,W_FS6370写操作;b).R_FT245BM置reset=″1″,W_FS6370的reset=″1″,W_FS6370启动;c).R_FT245BM依次提取Xdata[rnum]中的时钟数据至数据输出端rdata[7..0];d).R_FT245BM递增FS6370的寄存器地址00H~0FH至addr[7..0];
503).数据写入传输:a).根据步骤501)中的b)和c)、步骤502)中的c)和d),W_FS6370的器件地址输入端raddr[7..0]获得FS6370的EEPROM地址、寄存器地址输入端addr[7..0]获得FS6370的寄存器地址、数据输入端data[7..0]获得rdata[7..0]的数据;b).W_FS6370置模式输出端mode=″0″,FS6370为编程模式;c).W_FS6370置掉电控制输出端pd=″1″,FS6370上电写操作;d).W_FS6370的时钟输出端scl=″1″、串行数据输出端sda=″1″变为sda=″0″,FS6370的I2C总线一个字节数据传输时序开始;e).W_FS6370送raddr[7..0]的地址至sda、顺序送addr[7..0]的地址至sda、依次送data[7..0]的数据至sda;f).W_FS6370的scl=″1″、sda=″0″变为sda=″1″,FS6370的I2C总线一个字节数据传输时序结束;
504).数据写入结束:a).16个字节时钟数据写入FS6370结束,R_FT245BM置wr=″0″、W_FS6370的wr=″0″,W_FS6370置mode=″1″,FS6370是运行模式;b).W_FS6370置pd=″0″、再置pd=″1″,FS6370掉电后再上电,FS6370的EEPROM中16个字节时钟数据调入控制寄存器,FS6370输出更新的图像源全局时钟;
6)图形配置
600).I2C数据接收:a).I2C_expander串行接收步骤106)中的b)和c)下传的数据;b).I2C_expander串行接收步骤204)中的a)、步骤402)中的a)下传的数据;c).I2C_expander转换串行数据为8位并行数据后缓存于图像发生模块fran_pg中的fullregbuf[I2CBit..0];
601).分辨率定义:根据步骤600)中的a)和c),fran_pg令图像格式参数HAC[10..0]=HAC、VAC[10..0]=VAC、HSY[10..0]=HSY、VSY[10..0]=VSY、HBP[10..0]=HBP、VBP[10..0]=VBP、HTOT[11..0]=HTOT、VTOT[10..0]=VTOT;
602).驱动方式选择:a).根据步骤600)中的b)和c),fran_pg赋值三色使能Renab/Genab/Benab和驱动选择lvds_dvi_vga_sel[1..0];b).根据Renab/Genab/Benab,fran_pg使能图形输出Red_out[7..0]/Green_out[7..0]/Blue_out[7..0];c).驱动切换模块L_D_V_converter从fran_pg中获得lvds_dvi_vga_sel[1..0]和Red_out[7..0]/Green_out[7..0]/Blue_out[7..0],转换和选择符合LVDS、DVI或VGA驱动方式的接口输出output_r_pg[7..0]/output_g_pg[7..0]/output_b_pg[7..0];
603).方块图形尺寸设定:a).根据步骤600)中的a)和c),fran_pg中的方块图形模块varloadblocks设图形4条边的屏位置h_sta[10..0]=Hsta、h_end[10..0]=Hend、v_sta[10..0]=Vsta、v_end[10..0]=Vend;b).varloadblocks令在h_sta[10..0]、h_end[10..0]、v_sta[10..0]、v_end[10..0]的屏区域内产生水平、垂直输出henable、venable;
604).方块图形瞬态设定:a).根据步骤600)中的b)和c),fran_pg赋值瞬态停留时间time0、time1、time2、time3,其中time0=6是预设停留时间,time1、time2、time3是跳变停留时间;b).根据步骤600)中的b)和c),fran_pg赋值三色灰阶red_in1/green_in1/blue_in1、red_in2/green_in2/blue_in2;c).fran_pg中的瞬态跳变模块theserial_3L从fran_pg中获得time0、time1、time2、time3、red_in1/green_in1/blue_in1、red_in2/green_in2/blue_in2;d).theserial_3L设定在time0、time1、time2、time3期间的灰阶输出Red_3L_out[7..0]/Green_3L_out[7..0]/Blue_3L_out[7..0]等于0、red_in1/green_in1/blue_in1、red_in2/green_in2/blue_in2、red_in1/green_in1/blue_in1;e).theserial_3L在time1起始时刻,产生触发输出trigger_3L_out;
605).正弦图形序列加载:a).根据步骤600)中的b)和c),fran_pg赋值序列数据块长度L=data_length[8..0]、数据块地址Ts=main_addr[3..0]、图形运动速度v=Speed[4..0]、图形偏移量指针Index=Index[4..0];b).fran_pg中的正弦图形模块Sine_pattern从fran_pg中获得data_length[8..0]、main_addr[3..0]、Speed[4..0]、Index[4..0];c).根据L、Ts、v、Index,Sine_pattern读出正弦图形只读存储器sinewave_rom中的灰度序列数据,产生序列灰阶输出Red_sine_out[7..0]/Green_sine_out[7..0]/Blue_sine_out[7..0];d).sinewave_rom设每隔v灰度序列重复一次,随着Index从0到v-1自动递增,加载v种不同灰度序列;e).Sine_pattern设L计数到data_length[8..0]-2时,产生触发输出trlgger_sine_out;
606).测试图形生成:a).根据步骤600)中的b)和c),fran_pg获图形类别数据pattern,选择生成方块跳变图形或正弦序列图形;b).根据步骤603)中的b)、步骤604)中的d),fran_pg生成方块跳变图形,按照步骤602)中的b)的方式输出;c).根据步骤603)中的b)、步骤605)中的c)和d),fran_pg生成正弦序列图形,按照步骤602)中的b)的方式输出;d).根据步骤604)中的e)、步骤605)中的e),fran_pg产生测试图形触发输出trigger_out;
7)同步控制
700).帧同步脉冲生成:根据步骤601),fran_pg中的行计数器从h_counter.q[10..0]=HTOT-3到h_counter.q[10..0]=HSY-3,行同步脉冲HSync_out生成,fran_pg中的帧计数器从v_counter.q[10..0]=VTOT到v_counter.q[10..0]=VSY,帧同步脉冲VSync_out生成;
701).消隐脉冲生成:a).根据步骤601),h_counter.q[10..0]=HSY-3+HBP-4+HAC,行消隐脉冲nblankh_art开始,h_counter.q[10..0]=HSY-3+HBP-4,行消隐脉冲nblankh_art结束;b).根据步骤601),v_counter.q[10..0]=VSY+VBP+VAC,帧消隐脉冲nblankv_art开始,v_counter.q[10..0]=VSY+VBP,帧消隐脉冲nblankv_art结束;c).根据nblankh_art、nblankv_art,生成复合消隐脉冲nblank_art,经分频后产生复合消隐脉冲输出NBlank_out;
8)数据采集
800).方块图形瞬态数据采集:a).数据采集卡根据步骤200)中的c)设定的数字输入/输出口接收步骤604)中的e)、步骤606)中的d)产生的采集触发信号;b).根据触发信号,数据采集卡根据步骤200)中的a)规定的模拟输入口开始采集瞬态数据;c).根据步骤200)中的b),数据采集卡自动完成一个采样周期的数据采集,并重复执行数据采样周期;d).经USB接口传送采集数据;
801).正弦图形瞬态数据采集:a).数据采集卡根据步骤200)中的c)设定的数字输入/输出口接收步骤605)中的e)、步骤606)中的d)产生的采集触发信号;b).重复步骤800).中的b);c).根据步骤200)中的b),数据采集卡自动完成一个采样周期的数据采集;d).根据步骤605)中的d),数据采集卡自动执行v种采样周期的数据采集;e).重复步骤800)中的d)。
有益效果:本发明提供的液晶显示器动态图像质量的测量方法,是一种全面验证液晶显示器动态特性的方法,其从模糊边缘时间、运动图像响应时间、动态调制传递函数三个方面综合评价液晶显示器的动态特性;运用图像生成时产生的触发信号启动数据采集,以多次采集的准确定时,实现多次平均采集数据,消除测量噪声,提高了数据采集和参数计算的精度;实现了测量设置、时钟更新、图像生成和数据采集的自动化,整个测量过程无需人为干预;以DVI、LVDS、VGA等多种接口方式驱动液晶显示器,满足不同种类液晶显示器的测量需求。
附图说明
图1为上位机控制流程图;
图2为下位机图像发生及数据采集运行流程图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
一种液晶显示器动态图像质量的测量方法,包括上位机控制流程和下位机图像发生及数据采集运行流程;所述上位机控制流程用于定义显示图像格式、选择时钟更新方案、设定图形驱动配置、确定数据采集模式、计算动态图像质量参数;所述下位机图像发生及数据采集运行流程用于运行数据接收与转换、同步信号产生与控制、测试图形生成与配置、显示驱动选择与设定、特性数据采集与传输,并以数字视频接口DVI、低电压差分信号LVDS接口或视频图形阵列VGA接口驱动显示屏;所述上位机控制流程和下位机图像发生及数据采集运行流程之间通过I2C总线方式传输测量数据、USB接口传输瞬态响应特性数据。
如图1、图2所示为上位机(PC)控制流程图和下位机图像发生及数据采集运行流程图,图1下部上位机(PC)的I2C接口与图2上部下位机的I2C接口相接,图1下部上位机(PC)的USB接口与图2上部下位机的USB接口相接。
如图1所示,上位机控制流程完成测量过程的1)时钟方案、2)手动测量、3)自动测量和4)序列测量四部分,各部分的执行步骤如下:
1)时钟方案:属参数生成与计算方式(Para_G&C)
100).选择显示分辨率:a).分辨率编辑框Resolution选一已设定分辩率,刷新率Refresh Rate选50HZ、60HZ、75HZ、100HZ或120HZ,在行总像素HTOT、行同步像素HSY、行后肩像素HBP、行显示像素HAC、帧总像素VTOT、帧同步像素VSY、帧后肩像素VBP、帧显示像素VAC编辑框内生成图像格式参数;b).选择其它分辨率时,HTOT、HSY、HBP、HAC、VTOT、VSY、VBP、VAC编辑框内显示空白,手动输入显示器设定软件生成的图像格式参数;
101).选择图形比例:a).在图形尺寸编辑框Block Size中生成符合设定分辩率的方块图形比例数据Hsta、Hend、Vsta、Vend;b).选择其它分辩率时,BlockSize编辑框内显示空白,手动输入Hsta、Hend、Vsta、Vend;
102).计算单/双像素时钟频率:a).像数模式编辑框Pixel Mode选0时为单像素驱动,HTOT编辑框中的数据不变,Pixel Mode选1时为双像素驱动,HTOT编辑框中的数据除2;b).HTOT=HAC+HFP+HSY+HBP,HFP是行前肩像素,VTOT=VAC+VFP+VSY+VBP,VFP是帧前肩像素,时钟频率为fCLK=HTOT×VTOT×Fre,Fre是显示刷新率;c).在频率编辑框fCLK中生成输出时钟频率;
103).计算输出频率:由式计算输出频率,fREF为参考频率、NF为反馈分频系数、NR为参考分频系数、NP为二次分频系数,NF取值范围是1~2047,其中不能取值10、11、12、13、14、15、19、20、21、22、23、28、29、30、31、37、38、39、46、47、55,NR取值范围是1~255,NP取值是1、2、3、4、5、6、8、9、10、12、15、16、18、20、25、50;
104).计算频率误差:由式Δferr=|fCLK-f′CLK|计算频率误差,Δferr为频率绝对误差,计算过程:内层循环是设定NF、NR,在NP取值范围内计算Δferr,中层循环是设定NF,依次在NP、NR取值范围内计算Δferr,外层循环是依次在NP、NR、NF取值范围内计算Δferr,三层循环之后凡Δferr小于0.001的f′CLK,其分频系数NP、NR、NF均进入解决方案列表;
105).生成时钟数据:在解决方案列表中任选一个方案,时钟数据编辑框CLK_Data中生成符合这一方案的16个字节时钟数据;
106).启动分辨率更新:a).以I2C总线方式传送CLK_Data编辑框中的16个字节时钟数据至图像发生器中现场可编程门阵列FPGA的时钟数据缓存区Xdata[rnum];b).以I2C总线方式传送步骤100)生成的数据至FPGA的全缓存寄存器fullregbuf[I2CBit..0],数据长度为89位;c).以I2C总线方式传送步骤101)生成的数据至FPGA的全缓存寄存器fullregbuf[I2CBit..0],数据长度为44位;
2)手动测量:属单特性测量与计算方式(Schara_M&C)
200).数据采集卡设置:a).创建一个模拟采集通道Physical Channel和设置采集电压范围Maximum Value/Minimum Value;b).配置采样模式Finite Samples、采样率Sample Rate和采样点数Samples per Time;c).配置触发通道Start TriggerSource和触发边缘Start Edge,d).配置停止触发信号模式Reference Trigger Source和触发源Reference Edge;
201).屏驱动设置:a).选择DVI、LVDS或VGA驱动接口;b).选择红R、绿G、蓝B之一,或R、G、B全选;
202).瞬态跳变设置:a).在0~255灰阶中选定两个跳变等级Level1、Level2;b).以一帧16.7ms为单位设定每级灰度停留时间T1、T2、T3;
203).测量设置:a).选择实时测量Real-Time或平均测量Average;b).设定平均测量次数Average Times,Average Times=N小于等于40;c).选择自动生成的采集数据Excel文件的保存路径;
204).测量启动:a).以I2C总线方式分别传送2位驱动方式数据、3位色选数据、1位图形类别数据、48位图形灰阶数据、24位灰阶停留时间数据至FPGA的fullregbuf[I2CBit..0];b).经USB接口开始模拟采集数据过程Start Task和读出PC数据缓冲区的采样数据Read property Node;c).在界面示波器中显示一条实时或多次平均的瞬态响应特性Y0(t),Y0是电压、t是时间;
205).参数计算:a).运用N次平均采集数据以消除测量噪声;b).定义采集波形上升沿的10%~90%时间为液晶响应上升时间LCRT-rising time、下降沿的90%~10%时间为液晶响应下降时间LCRT-falling time;c).根据在瞬态响应曲线Y0(t)上一帧时间宽度的移动窗口积分结果,计算得出运动图像响应曲线MPRC,其中τ=-xpiTf/v,xpi是屏坐标、Tf是帧周期、v是方块图形运动速度;d).定义MPRC上升沿的10%~90%时间为模糊边缘上升时间BET-rising time、下降沿的90%~10%时间为模糊边缘下降时间BET-falling time;
3)自动测量:属多特性测量与计算方式(Mchara_M&C)
300).重复步骤200)、步骤201)中的a)和b)、步骤202)中的b)、步骤203)中的b)和c);
301).设定灰阶数Gray Numbers为7或9;
302).根据Gray Numbers,在缺省灰阶设定表格Default Gray Setting中自动生成7或9个规定灰阶;
303).测量启动:a).自动顺序选择Default Gray Setting中的两个跳变灰阶;b).重复步骤204)中的a)、b)和c),在界面示波器中显示一族根据N次平均的M=NG(NG+1)为灰阶组合总数,在0~255灰阶区域中分为NG灰阶等级,一般为7或9,相邻两个等级间隔相同;
304).参数计算:a).重复步骤205);b).根据模糊边缘时间BET和延伸模糊边缘时间EBET之间的关系式EBET=BET/(0.9-0.1),运动图像响应时间MPRT按照不同灰阶组合下的平均值计算,i,j=1,2,3....N;
4)序列测量:属多种测量与计算方式(Mvari_M&C)
400).重复步骤200)、步骤201)中的a)和b)、步骤203)中的c);
401).测量设置:a).设定测试正弦图形的空间周期Ts,Ts在0~9的范围内对应取值2、4、6、8、12、16、24、32、48、64;b).设定测试正弦图形运动速度v为4或8;c).设定正弦图形偏移指针Index,当v=4或8,Index的取值是0、1、2、3或0、1、2、3、4、5、6、7;
402).测量启动:a).以I2C总线方式传送9位测试序列数据块长度、4位图形空间周期数据、3位图形运动速度数据、3位图形偏移量指针数据至FPGA的fullregbuf[I2CBit..0];b).3位图形偏移指针数据在步骤401)中的c)设定的范围内自动递增;c).重复步骤204)中的b);d).在界面示波器中显示v条响应特性曲线i=0,1,……,v-1,是电压、t是时间;
403).参数计算:a).根据计算感知到的电压分布曲线空间位置x以像素单元尺寸为单位、时间t以帧周期时间为单位;b).根据步骤401),当电压分布曲线为正弦分布图案Y*(x)时,计算动态调制传递函数 是正弦分布图案Y*(x)的对比度,Ymax是最大电压,Ymin是最小电压,C′是正弦分布图案Y′(x)的对比度,是Y*(x)的空间频率。
如图2所示,下位机图像发生及数据采集运行流程完成测量过程的5)时钟更新、6)图形配置、7)同步控制和8)数据采集四部分,各部分的执行步骤如下:
5)时钟更新:属数据接收与传输方式(Da_R&T)
500).数据接收缓存:a).I2C数据接收模块I2C_expander串行接收步骤106)中的a)下传的数据,并转换为8位并行数据;b).I2C_expander送并行数据至时钟数据接收模块R_FT245BM的Xdata[rnum];
501).数据更新准备:a).R_FT245BM置复位端reset=″0″,时钟数据写入模块W_FS6370的复位端reset=″0″,禁止W_FS6370启动;b).置时钟芯片FS6370的EEPROM地址至R_FT245BM的器件地址输出端raddr[7..0];c).置FS6370的寄存器首地址至寄存器地址输出端addr[7..0];
502).数据更新启动:a).R_FT245BM置写控制输出端wr=″1″,W_FS6370的写控制输入端wr=″1″,W_FS6370写操作;b).R_FT245BM置reset=″1″,W_FS6370的reset=″1″,W_FS6370启动;c).R_FT245BM依次提取Xdata[rnum]中的时钟数据至数据输出端rdata[7..0];d).R_FT245BM递增FS6370的寄存器地址00H~0FH至addr[7..0];
503).数据写入传输:a).根据步骤501)中的b)和c)、步骤502)中的c)和d),W_FS6370的器件地址输入端raddr[7..0]获得FS6370的EEPROM地址、寄存器地址输入端addr[7..0]获得FS6370的寄存器地址、数据输入端data[7..0]获得rdata[7..0]的数据;b).W_FS6370置模式输出端mode=″0″,FS6370为编程模式;c).W_FS6370置掉电控制输出端pd=″1″,FS6370上电写操作;d).W_FS6370的时钟输出端scl=″1″、串行数据输出端sda=″1″变为sda=″0″,FS6370的I2C总线一个字节数据传输时序开始;e).W_FS6370送raddr[7..0]的地址至sda、顺序送addr[7..0]的地址至sda、依次送data[7..0]的数据至sda;f).W_FS6370的scl=″1″、sda=″0″变为sda=″1″,FS6370的I2C总线一个字节数据传输时序结束;
504).数据写入结束:a).16个字节时钟数据写入FS6370结束,R_FT245BM置wr=″0″、W_FS6370的wr=″0″,W_FS6370置mode=″1″,FS6370是运行模式;b).W_FS6370置pd=″0″、再置pd=″1″,FS6370掉电后再上电,FS6370的EEPROM中16个字节时钟数据调入控制寄存器,FS6370输出更新的图像源全局时钟;
6)图形配置:属图形设定与生成方式(Ima_S&G)
600).I2C数据接收:a).I2C_expander串行接收步骤106)中的b)和c)下传的数据;b).I2C_expander串行接收步骤204)中的a)、步骤402)中的a)下传的数据;c).I2C_expander转换串行数据为8位并行数据后缓存于图像发生模块fran_pg中的fullregbuf[I2CBit..0];
601).分辨率定义:根据步骤600)中的a)和c),fran_pg令图像格式参数HAC[10..0]=HAC、VAC[10..0]=VAC、HSY[10..0]=HSY、VSY[10..0]=VSY、HBP[10..0]=HBP、VBP[10..0]=VBP、HTOT[11..0]=HTOT、VTOT[10..0]=VTOT;
602).驱动方式选择:a).根据步骤600)中的b)和c),fran_pg赋值三色使能Renab/Genab/Benab和驱动选择lvds_dvi_vga_sel[1..0];b).根据Renab/Genab/Benab,fran_pg使能图形输出Red_out[7..0]/Green_out[7..0]/Blue_out[7..0];c).驱动切换模块L_D_V_converter从fran_pg中获得lvds_dvi_vga_sel[1..0]和Red_out[7..0]/Green_out[7..0]/Blue_out[7..0],转换和选择符合LVDS、DVI或VGA驱动方式的接口输出output_r_pg[7..0]/output_g_pg[7..0]/output_b_pg[7..0];
603).方块图形尺寸设定:a).根据步骤600)中的a)和c),fran_pg中的方块图形模块varloadblocks设图形4条边的屏位置h_sta[10..0]=Hsta、h_end[10..0]=Hend、v_sta[10..0]=Vsta、v_end[10..0]=Vend;b).varloadblocks令在h_sta[10..0]、h_end[10..0]、v_sta[10..0]、v_end[10..0]的屏区域内产生水平、垂直输出henable、venable;
604).方块图形瞬态设定:a).根据步骤600)中的b)和c),fran_pg赋值瞬态停留时间time0、time1、time2、time3,其中time0=6是预设停留时间,time1、time2、time3是跳变停留时间;b).根据步骤600)中的b)和c),fran_pg赋值三色灰阶red_in1/green_in1/blue_in1、red_in2/green_in2/blue_in2;c).fran_pg中的瞬态跳变模块theserial_3L从fran_pg中获得time0、time1、time2、time3、red_in1/green_in1/blue_in1、red_in2/green_in2/blue_in2;d).theserial_3L设定在time0、time1、time2、time3期间的灰阶输出Red_3L_out[7..0]/Green_3L_out[7..0]/Blue_3L_out[7..0]等于0、red_in1/green_in1/blue_in1、red_in2/green_in2/blue_in2、red_in1/green_in1/blue_in1;e).theserial_3L在time1起始时刻,产生触发输出trigger_3L_out;
605).正弦图形序列加载:a).根据步骤600)中的b)和c),fran_pg赋值序列数据块长度L=data_length[8..0]、数据块地址Ts=main_addr[3..0]、图形运动速度v=Speed[4..0]、图形偏移量指针Index=Index[4..0];b).fran_pg中的正弦图形模块Sine_pattern从fran_pg中获得data_length[8..0]、main_addr[3..0]、Speed[4..0]、Index[4..0];c).根据L、Ts、v、Index,Sine_pattern读出正弦图形只读存储器sinewave_rom中的灰度序列数据,产生序列灰阶输出Red_sine_out[7..0]/Green_sine_out[7..0]/Blue_sine_out[7..0];d).sinewave_rom设每隔v灰度序列重复一次,随着Index从0到v-1自动递增,加载v种不同灰度序列;e).Sine_pattern设L计数到data_length[8..0]-2时,产生触发输出trigger_sine_out;
606).测试图形生成:a).根据步骤600)中的b)和c),fran_pg获图形类别数据pattern,选择生成方块跳变图形或正弦序列图形;b).根据步骤603)中的b)、步骤604)中的d),fran_pg生成方块跳变图形,按照步骤602)中的b)的方式输出;c).根据步骤603)中的b)、步骤605)中的c)和d),fran_pg生成正弦序列图形,按照步骤602)中的b)的方式输出;d).根据步骤604)中的e)、步骤605)中的e),fran_pg产生测试图形触发输出trigger_out;
7)同步控制:属像素计数与脉冲生成方式(Pix_C&Pul_G)
700).帧同步脉冲生成:根据步骤601),fran_pg中的行计数器从h_counter.q[10..0]=HTOT-3到h_counter.q[10..0]=HSY-3,行同步脉冲HSync_out生成,fran_pg中的帧计数器从v_counter.q[10..0]=VTOT到v_counter.q[10..0]=VSY,帧同步脉冲VSync_out生成;
701).消隐脉冲生成:a).根据步骤601),h_counter.q[10..0]=HSY-3+HBP-4+HAC,行消隐脉冲nblankh_art开始,h_counter.q[10..0]=HSY-3+HBP-4,行消隐脉冲nblankh_art结束;b).根据步骤601),v_counter.q[10..0]=VSY+VBP+VAC,帧消隐脉冲nblankv_art开始,v_counter.q[10..0]=VSY+VBP,帧消隐脉冲nblankv_art结束;c).根据nblankh_art、nblankv_art,生成复合消隐脉冲nblank_art,经分频后产生复合消隐脉冲输出NBlank_out;
8)数据采集:属数据获得与传输方式(DAQ_Tran)
800).方块图形瞬态数据采集:a).数据采集卡根据步骤200)中的c)设定的数字输入/输出口接收步骤604)中的e)、步骤606)中的d)产生的采集触发信号;b).根据触发信号,数据采集卡根据步骤200)中的a)规定的模拟输入口开始采集瞬态数据;c).根据步骤200)中的b),数据采集卡自动完成一个采样周期的数据采集,并重复执行数据采样周期;d).经USB接口传送采集数据;
801).正弦图形瞬态数据采集:a).数据采集卡根据步骤200)中的c)设定的数字输入/输出口接收步骤605)中的e)、步骤606)中的d)产生的采集触发信号;b).重复步骤800).中的b);c).根据步骤200)中的b),数据采集卡自动完成一个采样周期的数据采集;d).根据步骤605)中的d),数据采集卡自动执行v种采样周期的数据采集;e).重复步骤800)中的d)。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。