实现将SC130GS采集的黑白图像数据缓存进DDR3,并以1024*600@60的视频时序输出到LVDS
屏幕显示。其中,DDR3工作频率为600MHz,SC130GS输入的图像数据大小为1280*1024,帧率为
60帧,数据格式为RAW10。
底板提供了一个LVDS显示接口,采用40P 0.5mm间距的FPC连接 器,包含5对差分信号和6个控制信号,分别为4Data+1Clk和I2C、复 位、中断、PWM、使能信号。其中I2C、复位和PWM信号由核心板上 FPGA的4个1.8V电平信号通过底板上的双向电平转换芯片转换为3.3V 电平信号后引出到接口上。LVDS接口连接示意图:

电路原理图如下:
代码分析:
//
//Written by GowinSynthesis
//Tool Version "V1.9.10.02"
//Sat Oct 12 14:33:36 2024
//Source file index table:
//file0 "C:/Gowin/Gowin_V1.9.10.02_x64/IDE/ipcore/DDR/data/ddr_138k.v"
`timescale 100 ps/100 ps
module ddio_lvds (
din,
fclk,
pclk,
reset,
q
)
;
input [6:0] din;
input fclk;
input pclk;
input reset;
output [0:0] q;
wire VCC;
wire GND;
OVIDEO ovideo_gen[0].ovideo_inst (
.Q(q[0]),
.D6(din[6]),
.D5(din[5]),
.D4(din[4]),
.D3(din[3]),
.D2(din[2]),
.D1(din[1]),
.D0(din[0]),
.PCLK(pclk),
.FCLK(fclk),
.RESET(reset)
);
VCC VCC_cZ (
.V(VCC)
);
GND GND_cZ (
.G(GND)
);
GSR GSR (
.GSRI(VCC)
);
endmodule /* ddio_lvds */
1. 模块声明与端口定义
module ddio_lvds (
din, // 7位输入数据(宽度6:0,含D0-D6共7位)
fclk, // 高频时钟(可能为系统时钟或DDR时钟)
pclk, // 并行时钟(可能用于数据锁存或同步)
reset, // 复位信号(高电平有效?需结合IP核特性)
q // 1位LVDS输出(可能为差分信号的正极)
);
评论区
登录后即可参与讨论
立即登录