Camera Link协议和FPGA的数字图像信号源设计

1 引言
目前,各种图像设备已广泛应用到航空航天、军事、医疗等领域。图像信号源作为地面图像采集装置测试系统中的一部分,其传输方式及信号精度都是影响系统性能的重要因素。由于图像信号的传输速率高,数据量大,在传输过程中,其精度和传输距离易受影响。为了提高信号传输距离和精度设计了由fpga内部发出图像数据,并通过fpga进行整体时序控制;输出接口信号转换成符合camera link标准的低电压差分信号(lvds)进行传输。该图像信号源已成功应用于某弹载记录器的地面测试台系统中。
2 camera link接口及图像数据接口信号
camera link标准是由国家半导体实验室(national semiconductor)提出的一种channel link技术标准发展而来的,该接口具有开放式的接口协议,使得不同厂家既能保持产品的差异性,又能互相兼容。它在传统lvds传输数据的基础上又加载了并转串发送器和串转并接收器,可在并行组合的单向链路、串行链路和点对点链路上,利用ser/des(串行化/解串行化)技术以高达4.8 gb/s的速度发送数据。cameralink标准使用每条链路需两根导线的lvds传输技术。驱动器接收28个单端数据信号和1个时钟信号,这些信号以7:1的比例被串行发送,也就是5对lvds信号通道上分别传输4组lvds数据流和1组lvds时钟信号,即完成28位数据的同步传输只需5对线,而且在多通道66 mhz像素时钟频率下传输距离可达6 m。
camera link是在channel link的基础上增加了一些相机控制信号和串行通信信号,定义出标准的接头也就是标准化信号线,让camera及影像卡的信号传输更简单化,同时提供基本架构(base configuration)、中阶架构(medium configuration)及完整架构(full configuration)三种:基本架构属单一camera link元件,为单一接头;中阶架构属双组camera link元件,为双组接头;完整架构属三组camera link元件,为三组接头。
传输数据时使用的视频同步信号固定不变,分别为: 帧同步信号fval:当fval为高电平时,正输出一帧有效数据;行同步信号lval:当lval为高电平时,正输出一个有效像元行(在两个有效像元行中间,lval会跳过几个无效的像素点,可在实际应用时设定跳过的像素点数);数据有效信号dval:当fval和lval为高时,dval为高电平,正输出有效的数据;spare为备用信号。
设计中使用了fval和lval信号,当fval和lval信号都为高电平时,图像信号源数据在像素时钟信号pixclk的控制下依次发送。其接口信号时序如图1所示。
3图像信号源的设计实现
3.1设计方案
检测图像数据记录装置性能、图像信号源的标准图像生成有两种方法。一种是用fpga直接生成信号,输出图像为0~255的灰度值图像;另一种是通过上位机软件下载图像到信号源中,fpga产生视频同步信号和进行整体逻辑控制。
设计中采用了fpga与camera link接口器件ds90cr-285相结合的方案,其图像信号源数据、像素时钟信号及视频同步信号由fpga内部模块产生,经过ds90cr285器件转换成lvds信号,接收端使用配套器件ds90cr286进行解调。考虑到fpga的现场可编程特性,使用灵活方便,能够降低硬件电路设计难度。
所以,该方案选择fpga作为主模块。camera link接口器件ds90cr285是专用电平转换器件,能将28位cmos/ttl电平数据和一位像素时钟信号分别转换成4组lvds数据流及一对lvds时钟信号进行传输,由于采用差分传输方式,提高了传输距离及信号精度。
3.2硬件结构
图2给出图像信号源的硬件结构框图,主要由图像信号源和外围电路组成。前者是设计的核心,它选用xilinx公司的spartan-ⅱ系列fpgaxc2s50,用以设计系统时序、图像数据及产生相应的信号;后者主要包括晶体振荡器、电平转换器件ds90cr285及输入输出接口。
系统上电后,晶体振荡器输出时钟信号,fpga内部主控模块将自动产生与camera link协议相匹配的信号传输时序。fpga内部产生的像素时钟信号、帧同步信号、行同步信号和图像数据一起进入ds90cr285,并通过该电平转换器件转换成lvds信号,每对lvds信号之间采用双绞线传输,以消除耦合干扰。图2中曲线部分即为camera link接口。
3.3 fpga程序设计
设计中采用vhdl硬件描述语言进行时序设计。系统时钟为125 mhz,信号源像素时钟信号pixclk为系统时钟6分频,即21 mhz。本图像信号源数据格式为640×480,帧频为53 hz,即每秒传输53帧图像。行同步信号lval和帧同步信号fval均由像索时钟信号进行计数产生,其时序如图3所示。
其中p1为71个pixclk时钟周期:a为640个pixclk;即一行包含640个像素点;q为94个pixclk;p2为23个pixclk,帧同步信号fval为低电平的时间是38 074个pixclk。一帧图像包含480行有效数据,可计算出传输一帧图像信号的时间为480×(a+q)+38 074=390 394个pixclk时钟周期,帧频为21 mhz÷390 394=53 hz,满足设计要求。
产生行同步信号、帧同步信号和图像数据部分程序代码如下:
上述代码中,lval为行同步信号;fval为帧同步信号;u12_data为图像数据。
3.4实验结果
将程序下载到fpga进行实现。图4给出该图像信号源产生的视频同步信号,即帧同步电压信号ufval和同步电压信号ulval。由图4中可见,符合设计时序的要求。
4结语
根据提供的方案,使用fpga设计的图像信号源结构简单,实现方便,而且具有很强的可扩展性。基于camera link接口协议的图像信号采用lvds方式传输,增加了传输距离,提高了传输过程中的信号精度。在地面测试台系统的应用中,该图像信号源运行稳定、可靠,各项指标均能满足各项设计要求。

全屋智控,TCL灵悉P12全套系AI家电让你拥有“超能力”!
打王者荣耀段位上不去 一部华为荣耀V9提升你的速度,快到控制不住自己!
灭蚊灯工作原理是什么?
选择适合基于MCU应用的ARM Cortex处理器
针对华为闪存门事件余承东深刻自省:面对消费者质疑,缺乏谦卑
Camera Link协议和FPGA的数字图像信号源设计
骨传导耳机哪个好,骨传导式蓝牙耳机推荐
技术宅眼中的4G:别谈TDD和FDD的不同,频率是命根子
HDGK开关动特性分析仪现场快速操作指南
带LC滤波器的电压源逆变器无电流传感器有限集模型预测控制
怎样在VB6中编程
对放射学感兴趣的医学生担心AI
芯片?半导体?来看看这个给小白的科普文
鸿蒙系统怎么样好用
科普:如何识别各种无源光纤器件?
探究物联网行业的一线声音
VS-10-C-1-6倾角传感器的应用场景
LTC6801-独立型多节电池的电池组故障监视器
如何设计一个简单的实用的晶振测试电路
能效管理平台在智慧水务建设中的应用