完整教程:VESA时序和行场消隐计数逻辑代码

VESA时序和行场消隐计数逻辑代码
一、需求
1.在设计中屡屡要对VGA或者HDMI时序进行计算
2.查手册比较麻烦
3.客户可能有定制化需求

二、利用代码来实现时序
例如:
1.要实现的是SDI接口1920x1080p@50hz的显示,SDI时钟为148.5MHZ;
2.一个时钟处理两个tap的像素


int main(){
float x = 0;
int xx = 0;
int y = 0;
float result = 0;

int clk_freq = 148500000;//hz
int pixel_tap = 2;//one pixel clock transmit tap number
int frame_hz = 50;
float sum_x_y = clk_freq*pixel_tap*1.0 / frame_hz;
//resolution:1920x1080

int x_resolution = 1920;

for (int i = x_resolution; i <= (x_resolution*4) ;i++) {
y = i;
x = sum_x_y / ( i);//
xx = sum_x_y / ( i);
result = x - xx;
if(result==0)
std::cout << " x=" << x << " y="<<y << std::endl;
}


}

3.上述代码计算的x,y就是你需的分辨率时序配置。

posted on 2025-10-03 21:00  slgkaifa  阅读(12)  评论(0)    收藏  举报

导航