基于FPGA实现的计算机与HDTV显示器测试信号发生器
需要说明的是,MC12429与MC10ELT21组成的频率合成系统无法产生25.175MHz(VGA60Hz)的时钟频率,因而还需要外加一个25.175MHz的晶体振荡器为VGA60显示格式提供时钟.此外,THS8134的最大输入频率是80MHz,所以对像素时钟大于80MHz的显示格式(XGA85Hz、SXGA60Hz和UXGA602Hz),采取FPGA片外分频的方法,即让时钟合成模块输出像素时钟的2分频,从而使THS8134的输入时钟都小于80MHz.这样做的代价是,系统水平方向以2个像素为单位进行处理.该模块如图2所示.表1给出了本仪器可以测试的格式及相关参数.

图2 频率产生框图
表1 频率合成模块所能提供的像素时钟及相关参数

3 FPGA程序设计
本仪器性能上的改进主要是通过对FPGA重新编程实现的.在设计过程中使用了MAX+PLUSⅡ软件以及AHDL语言.
1)时钟模块
根据选择信号输出相应的像素时钟选择信号,并对输入时钟进行分频.由于本仪器所需要的像素时钟大多超过了FPGA可稳定工作的范围,所以必须对输入的时钟进行分频.如果对时钟进行N分频,那么FPGA水平方向便以N个像素为单位进行处理,其代价是测试图像的垂直条纹变粗(为以前的N倍),因此要适当选择分频倍数,使显示效果达到芯片所允许的最佳状态.时钟模块还要输出一路未分频的时钟信号,用于D/A变换.
2)像素计数模块
该模块是整个FPGA工作的基础.根据当前格式下每行的像素数,对像素时钟进行计数.计数器完成1行的计数后清零并产生完成1行的标志信号.
3)行计数模块
计数器根据当前格式下每场/帧的行数,对像素计数模块产生的标志信号进行计数,再根据像素计数器和行计数器的值,在相应的像素位置产生VGA输出所需要的同步信号.完成1场/帧的计数后,计数器清零并产生完成一场/帧的标志信号.
4)行控制模块
输出行标志信号,使FPGA适应不同格式的图像输出,不同格式是指消隐与有效输出之间比例关系的不同.该模块利用行计数的结果对行进行分类,并将行类型码传给同步/消隐控制信号产生模块.
5)同步/消隐控制信号产生模块
根据像素计数器的计数和行控制模块输出的行标志信号,产生THS8134要用到的同步/消隐控制信号/SYNC、SYNC-T和/BLANK.
评论