实现将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 */
 
module ddio_lvds (
  din,    // 7位输入数据(宽度6:0,含D0-D6共7位)
  fclk,   // 高频时钟(可能为系统时钟或DDR时钟)
  pclk,   // 并行时钟(可能用于数据锁存或同步)
  reset,  // 复位信号(高电平有效?需结合IP核特性)
  q       // 1位LVDS输出(可能为差分信号的正极)
); 
din转换为单路 LVDS 格式输出q,适用于高速串行数据传输场景(如视频信号、DDR 接口等)。ddio_lvds中,ddio可能指双数据速率输入输出(Dual Data Rate I/O),lvds为低压差分信号,暗示涉及高速串行通信。
OVIDEO ovideo_gen[0].ovideo_inst  (
  .Q(q[0]),          // 输出LVDS信号(单端,实际可能需配合差分对)
  .D6(din[6]), .D5(din[5]), ..., .D0(din[0]), // 7位输入数据
  .PCLK(pclk),       // 并行时钟(用于锁存输入数据)
  .FCLK(fclk),       // 高频时钟(可能用于生成串行时钟或数据采样)
  .RESET(reset)      // 复位信号(控制IP核内部状态机)
); 
din[6:0]可能对应视频信号的 RGB565 格式(如 D6-D0 对应 G [5:0] 或类似组合),或自定义协议的并行数据。pclk为并行数据的同步时钟,fclk为高频串行时钟(通常为pclk的倍数,如 2x、4x 等,用于实现高速串行输出)。fclk是pclk的 8 倍,则可能实现 8b/10b 编码或类似的串化逻辑。
VCC VCC_cZ ( .V(VCC) ); // 电源实例化
GND GND_cZ ( .G(GND) ); // 接地实例化 
GSR GSR ( .GSRI(VCC) ); // 全局复位使能(高电平有效)
 
din[6:0](并行输入) → OVIDEO IP核 → 串化处理 → q[0](LVDS单端输出)
 
pclk驱动);2、串化器(Serializer)将 7 位数据转换为串行流;3、LVDS 驱动器(如差分缓冲器)生成符合 ANSI-644 标准的信号
编译下载固件如下:
 
实际效果如下:
实际图 摄像头数据传输到显示屏
摄像头数据传输到显示屏
ddio(双数据速率)特性,可能用于 FPGA 与 DDR 存储器之间的接口逻辑,实现高速数据读写(如 DDR3/DDR4 的控制信号传输)。q[0],实际应用中需搭配差分对(如q_p和q_n),可能需修改模块端口或 IP 核配置。fclk和pclk的频率关系满足 IP 核要求(如fclk = 8 * pclk),否则可能导致数据采样错误或串化失败。reset信号的极性(当前代码未明确,但GSR实例化中GSRI=VCC可能暗示复位信号为高电平有效),需与 IP 核文档一致。