当行状态机h_state复位时,即进入h_video状态,它对应每行的有效显示区域。行计数器h_cnt对25 MHz的点时钟进行计数,当行计数器h_cnt的计数值到达639时,行同步状态机即进入行消隐前肩h_front状态;当h_cnt的计数值为663 时,行同步状态机进入行同步状态h_sync,此时,行同步信号Hs输出低电平。当h_cnt的计数值为759时,状态机即进入行消隐后肩h_back状态;当行状态机为h_front,h_sync,h_back状态时,行消隐信号输出低电平。当h_cnt的计数值为799时,行同步状态机进人 h_video状态,同时,行计数器的同步复位信号为高电平,使行计数器复位。
场状态机v_state开始时进入v_video状态,对应每场的有效显示行,场计数器v_cnt的计数值每行加1。当场计数器的计数值到达479时,场状态机翻转,进入场消隐前肩v_ront状态;当v_cnt的值为497时,状态机v_state进入场同步状态v_sync,场同步信号Vs此时输出低电平;当v_cnt的值为499时,状态机v_state进入场消隐后肩v_back状态;当v_cnt的值为524时,状态机v_state又翻转进入 v_video状态,同时输出高电平到场计数器v_cnt的同步清零端使其清零。当场状态机v_state的状态为v_Front,v_sync, v_Back三种状态时,场消隐信号输出低电平,其余时刻为高电平。行、场消隐信号的逻辑与即为复合消隐信号。
3.2 VGA彩条信号产生模块
彩条信号产生模块包括了彩条模式控制、竖彩条发生和横彩条发生等三个模块。竖彩条发生模块根据行点数器h_cnt的计数值来产生彩条,其流程图如图5所示。它对行点数计数器的数值进行判断,每80条竖线生成一种竖彩条,共8种竖彩条横彩条发生模块与竖彩条发生模块相似。它根据场行数计数器v_cnt的计数值来产生横彩条,流程图如图6所示。每60条扫描线为一个彩条宽度,共8种横彩条模式。计数器mode的值又决定着输出彩条信号的类型,当mode为0 时,输出的彩条为竖彩条;当mode为1时,输出的彩条横彩条。