FPGA实现cameralink接口图像传输

fpga实现cameralink图像传输
摘要由CSDN通过智能技术生成
  1. 硬件芯片实现cameralink图像传输

常用的cameralink收发芯片有DS90CR287和288,287发送288接收。只需要向芯片提供像素时钟和cameralink协议中的28位数据信号就可以实现基本的图像数据传输非常方便。关于cameralink协议的常识详见http://t.csdn.cn/XtFud

同样地,接收方可以直接接收28位数据还原位图像数据信号。

发送端代码:

示例是之前做的16位红外相机上使用cameralink发送接收模块,使用的是287、288芯片,base模式


/* Document info
document class : RES
module name    : CameraLink_Out
module purpose : video out
version        : V1.0
author         : mayidianzi
*/
///
`timescale 1ns / 1ps


module Clink(
    input I_img_frame,
    input I_img_line,
    input[15:0] I_img_data, 
    input  I_img_clk,
    output O_img_clk,
    output[27:0] O_tx_data
    );
    
/  parameter set  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

  internal signal  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//wire S_data_vld       ;
//wire S_data_vld_1     ;
//wire S_img_clk        ;
//wire S_img_fram       ;
//wire S_img_line       ;
//wire[15:0] S_img_data ;
//reg[2:0] S_count_t    ;

assign O_img_clk = I_img_clk; 
//assign S_data_vld = (S_count_t==1) ? 1 : 0;
//assign S_data_vld_1 = S_data_vld & I_img_line;

wire[7:0] S_port_a,S_port_b,S_port_c;
assign  S_port_a = I_img_data[7:0];
assign  S_port_b = I_img_data[15:8];
assign  S_port_c = 8'h0000;

assign  O_tx_data[4:0]   =  S_port_a[4:0];
assign  O_tx_data[5]     =  S_port_a[7];
assign  O_tx_data[6]     =  S_port_a[5];          
assign  O_tx_data[9:7]   =  S_port_b[2:0];
assign  O_tx_data[11:10] =  S_port_b[7:6];
assign  O_tx_data[14:12] =  S_port_b[5:3];          
assign  O_tx_data[15]    =  S_port_c[0];
assign  O_tx_data[17:16] =  S_port_c[7:6];
assign  O_tx_data[22:18] =  S_port_c[5:1];
assign  O_tx_data[23]    =  0;             //spare
assign  O_tx_data[24]    =  I_img_line;    //LVAL,line valid                                 
assign  O_tx_data[25]    =  I_img_frame;    //FVAL,frame valid
assign  O_tx_data[26]    =  1;             //DVAL,data valid
assign  O_tx_data[27]    =  S_port_a[6];
      instance       \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
 ila_0 ila_0_i(
   .clk(I_img_clk),
   .probe0(I_img_data),
   .probe1(I_img_line),
   .probe2(I_img_frame)
   );
    main programe    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\



endmodule

接收端代码


/* Document info
document class : RES
module name    : CameraLink_Out
module purpose : video out
version        : V1.0
author         : mayidianzi
*/
///
`timescale 1ns / 1ps


module Clink_B(
    input[27:0]            I_tx_data,    //
    input                I_reset,
    input                I_img_clk,
    output reg[15:0]    O_img_data, //S_sensor_data 
    output reg            O_img_frame, //S
  • 13
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mayidianzi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值