基于FPGA的GV7600驱动

  最近项目上用到FPGA驱动GV7600输出SDI信号,输出分辨率1920*1080p,首先,了解GV7600芯片的特性功能,按照bt1120协议传输10位Y,Cb,Cr数据;其次,我的项目中用的是10位通道分时复用传输Y,Cb,Cr数据;配置引脚很重要,当初verilog代码写好了,因为硬件引脚配置错误,导致调试一直不通;同时,sof文件也要一直更新,

根据10bit HD模式,在硬件pcb上配置如下4个引脚(红色字体)


信号名称

信号属性

信号说明

Sys_clk

input

系统时钟:30 MHz

Pclk

output

锁相环输出给GV7600时钟:148.5MHZ

Reset

output

GV7600低电平复位1.8ms

Sdi_data

output

输出数据给GV7600

 

 

 

DETECT_TRS

硬件拉高

H:V:F timing信号嵌入到并行输入数据流

656_BYPASS

硬件拉高

选择video模式

20BIT/10BIT

硬件拉低

选择输入10bit数据位数

RATE_SEL0

硬件拉低

根据分辨率要求

 

 

 

二、10bit1080p时序说明图


定义行计数器时,需要明确每行的总数据和有效数据,总数据和有效数据即(EAVSAV的起始计数)正确与否决定了是否显示图像,在整个模块代码编写中查阅总数据和有效数据的数值花费了80%的时间,最终在(bt1120文档(P12):数据流定时规范)中找到确定数值


10bit复用时,每行有4400个数据,3840个有效数据,故一行中有1920Y1920CbCr,分辨率:1920*1080




你可能感兴趣的:(FPGA)