PAL与NTSC的水平同步信号与垂直同步信号

2019-07-15 23:38发布

本帖最后由 66077003 于 2015-8-8 21:48 编辑

下面是友晶官方提供的PAL与NTSC信号格式的检测代码:
module TD_Detect(        
                 iTD_VS,
                                          iTD_HS,
                                          iRST_N,        
                                          
                                          oTD_Stable,
                 oNTSC,
                 oPAL         
                                          );
input                iTD_VS;//垂直同步信号
input                iTD_HS;//水平同步信号
input                iRST_N;

output        oTD_Stable;//判断信号是否稳定
output          oNTSC;//NTSC视频格式标志位
output          oPAL;//PAL视频格式标志位
reg                NTSC;
reg                PAL;
reg                Pre_VS;//通过判断垂直同步信号来判断视频格式
reg        [7:0]        Stable_Cont;

assign  oTD_Stable        =        NTSC || PAL;
assign  oNTSC  = NTSC;
assign  oPAL   = PAL;

always@(posedge iTD_HS or negedge iRST_N)//检测水平同步信号上升沿
begin
        if(!iRST_N)
                begin
                        Pre_VS        <=        1'b0;
                        Stable_Cont        <=        4'h0;
                        NTSC        <=        1'b0;
                        PAL          <=        1'b0;
                end
        else
                begin
                        Pre_VS        <=        iTD_VS;
                        if(!iTD_VS)//低电平有效
                          Stable_Cont        <=        Stable_Cont+1'b1;
                        else
                          Stable_Cont        <=        0;                        
                        if({Pre_VS,iTD_VS}==2'b01)//检测垂直同步信号上升沿
                                begin
                                        if((Stable_Cont>=4 && Stable_Cont<=14))//4-14???
                                                NTSC        <=        1'b1;
                                        else
                                                NTSC        <=        1'b0;
                                        if((Stable_Cont>=8'h14 && Stable_Cont<=8'h1f))//20-31
                                                PAL        <=        1'b1;
                                        else
                                                PAL        <=        1'b0;
                                end
                end
end

endmodule


请大神结合水平信号同步与垂直信号同步给讲解一下上面代码标红部分的意思。
8'h1  8'h1f 是怎么得来的?


  还有
if(!iTD_VS)//低电平有效
         Stable_Cont        <=        Stable_Cont+1'b1;
else
        Stable_Cont        <=        0;
这部分不是当 来一个垂直同步信号(低电平有效) 开始计数,由于其always中的敏感信号是iTD_HS,所以我的理解就是 Stable_Cont只能是0或者1,Stable_Cont不能继续执行计数。

请大神指点。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。