最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

3-CameraLink接口-时序控制

IT圈 admin 28浏览 0评论

2024年2月20日发(作者:中嘉悦)

CameraLink接口

1. CameraLink接口简介

1.1 CameraLink标准概述

Camera Link 技术标准是基于 National Semiconductor 公司的 Channel Link 标准发展而来的,而 Channel Link 标准是一种多路并行 LVDS 传输接口标准。

低压差分信号( LVDS )是一种低摆幅的差分信号技术,电压摆幅在 350mV 左右,具有扰动小,跳变速率快的特点,在无失传输介质里的理论最大传输速率在 1.923Gbps 。 90

年代美国国家半导体公司( National Semiconductor )为了找到平板显示技术的解决方案,开发了基于 LVDS 物理层平台的 Channel Link 技术。此技术一诞生就被进行了扩展,用来作为新的通用视频数据传输技术使用。

如图1.1所示, Channel Link 由一个并转串信号发送驱动器和一个串转并信号接收器组成,其最高数据传输速率可达 2.38G 。数据发送器含有 28 位的单端并行信号和 1 个单端时钟信号,将 28 位 CMOS/TTL 信号串行化处理后分成 4 路 LVDS 数据流,其 4 路串行数据流和 1 路发送 LVDS 时钟流在 5 路 LVDS 差分对中传输。接收器接收从 4 路 LVDS

数据流和 1 路 LVDS 时钟流中把传来的数据和时钟信号恢复成 28 位的 CMOS/TTL 并行数据和与其相对应的同步时钟信号。

图1.1 camera link接口电路

1.2 CameraLink端口和端口分配

1.2.1 端口分配

在基本配置模式中,端口 A 、 B 和 C 被分配到唯一的 Camera Link 驱动器 / 接收器对上;在中级配置模式中,端口 D 、 E 和 F 被分配到第二个驱动器 / 接收器对上;在完整配置模式中,端口 A 、 B 和 C 被分配到第一个驱动器 / 接收器对上,端口 D 、 E 和

F 被分配到第二个驱动器 / 接收器对上,端口 G 和 H 被分配到第三个驱动器 / 接收器对上。表1.1给出了三种配置的端口分配, Camera Link 芯片及连接器的使用数量情况。

表1.1 3种配置模式的端口分配

配置模式

基本

中级

完整

端口

A,B,C

A,B,C,D,E,F

A,B,C,D,E,F,G, H

芯片数量

1

2

3

连接器数量

1

2

2

图1.2 各种配置下的端口连接关系

1.2.2 端口的位分配

从表1.2中我们可以看出在 3 种 Camera Link 配置模式中,图像数据位是怎样分配到端口的。这种位分配方式已经被应用于市场上最流行的相机上了。

表1.2 Camera Link 接口的端口分配

驱动器输入信号

Strobe

LVAL

FVAL

DVAL

Spare

PortA0 , PortD0 , PortG0

PortA1 , PortD1 , PortG1

PortA2 , PortD2 , PortG2

PortA3 , PortD3 , PortG3

PortA4 , PortD4 , PortG4

PortA5 , PortD5 , PortG5

PortA6 , PortD6 , PortG6

PortA7 , PortD7 , PortG7

PortB0 , PortE0 , PortH0

PortB1 , PortE1 , PortH1

PortB2 , PortE2 , PortH2

PortB3 , PortE3 , PortH3

PortB4 , PortE4 , PortH4

PortB5 , PortE5 , PortH5

PortB6 , PortE6 , PortH6

PortB7 , PortE7 , PortH7

PortC0 , PortF0

PortC1 , PortF1

PortC2 , PortF2

PortC3 , PortF3

PortC4 , PortF4

PortC5 , PortF5

PortC6 , PortF6

PortC7 , PortF7

对应芯片引脚

TxCLK Out/TxCLK In

TX/RX24

TX/RX25

TX/RX26

TX/RX23

TX/RX0

TX/RX1

TX/RX32

TX/RX3

TX/RX4

TX/RX6

TX/RX27

TX/RX5

TX/RX7

TX/RX8

TX/RX9

TX/RX12

TX/RX13

TX/RX14

TX/RX10

TX/RX11

TX/RX15

TX/RX18

TX/RX19

TX/RX20

TX/RX21

TX/RX22

TX/RX16

TX/RX17

如果只用端口 D 和 G ,那么它们与器件的连接方法与端口 A 相同。同样,如果使用端口 E 和 H ,它们与器件连接方法同端口 B 的相同,端口 F 的与端口 C 的相同。

如果相机在每个周期内仅输出 1 个像素,那么就使用分配给像素 A 的端口;如果相机在每个周期内输入 2 个像素,那么使用分配像素 A 和像素 B 的端口;如果在每个周期内输出 3 个像素,那么使用分配给像素 A 、 B 和 C 的端口;依次类推至相机每周期输出 8

个像素,那么分配给 A ~ H 的 8 个端口都将被使用。

2. CameraLink接口模块设计

2.1 功能描述

该模块主要根据被测FPGA发来的图像地址信号将DDR2中的指定图像数据读取出来,并且分五路发送给CameraLink接口,由CameraLink图像采集卡接收并传给上位机显示。

2.2 接口描述

CameraLink图像采集端口模块的接口信号如图2.1所示:

图2.1 CameraLink图像采集端口示意图

表2.1各端口的接口定义

端口名

端口类型

信号类型 描述

异步复位时钟,低电平有效

主时钟85MHz

DDR2访问时钟

地址使能信号,选择从A,D1,D2,D3,D4,D5,G中哪一块输出

帧同步信号

行同步信号

A块中的地址选择信号

D1块中的地址选择信号

D2块中的地址选择信号

D3块中的地址选择信号

D4块中的地址选择信号

D5块中的地址选择信号

I块中的地址选择信号

时钟同步模块

来源/去向

Cpsl_Reset_iN

输入

STD_LOGIC

Cpsl_CamLinkClk_i

Cpsl_DdrClk_i

Cpsv_DeBlkEn_i

Cpsl_CMOSFsyn_i

Cpsl_CMOSLsyn_i

Cpsv_AXaddr_i

Cpsv_D1Xaddr_i

Cpsv_D2Xaddr_i

Cpsv_D3Xaddr_i

Cpsv_D4Xaddr_i

Cpsv_D5Xaddr_i

Cpsv_IXaddr_输入

STD_LOGIC

输入

STD_LOGIC

STD_LOGIC_VECTOR输入

(6 DOWNTO 0)

输入

STD_LOGIC

输入

STD_LOGIC

输入

输入

输入

输入

输入

输入

STD_LOGIC_VECTOR(3 DOWNTO 0)

STD_LOGIC_VECTOR(10 DOWNTO 0)

STD_LOGIC_VECTOR(10 DOWNTO 0)

STD_LOGIC_VECTOR(10 DOWNTO 0)

STD_LOGIC_VECTOR(10 DOWNTO 0)

STD_LOGIC_VECTOR(10 DOWNTO 0)

被测FPGA

输入

STD_LOGIC_VECTOR

端口名

i

Cpsv_CamDataA_o

Cpsl_CamFvalA_oP

Cpsl_CamDvalA_oP

Cpsl_CamLvalA_oP

Cpsl_CamPwrDwnA_o

Cpsl_CamClkA_o

Cpsv_CamDataB_o

Cpsl_CamFvalB_oP

Cpsl_CamDvalB_oP

Cpsl_CamLvalB_oP

Cpsl_CamPwrDwnB_o

Cpsl_CamClkB_o

Cpsv_CamDataC_o

Cpsl_CamFvalC_oP

Cpsl_CamDvalC_oP

Cpsl_CamLvalC_oP

Cpsl_CamPwrDwnC_o

Cpsl_CamClkC_o

Cpsv_CamDataD_o

端口类型

信号类型

(3 DOWNTO 0)

描述

来源/去向

输出

STD_LOGIC_VECTOR(11 DOWNTO 0)

第一路Cameralink图像采集输出数据

第一路帧有效信号, 高电平有效

第一路数据有效信号,高电平有效

第一路行有效信号, 高电平有效

第一路CameraLink PowerDown

第一路CameraLink时钟

第二路Cameralink图像采集输出数据

第二路帧有效信号, 高电平有效

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC_VECTOR(11 DOWNTO 0)

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

输出

输出

输出

输出

输出

输出

STD_LOGIC_VECTOR(11 DOWNTO 0)

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC_VECTOR(11 DOWNTO 0)

DS9第二路数据有效信号,高电平0CR有效

287

第二路行有效信号, 高电平DS9有效

0CR第二路CameraLink PowerDown

287

第二路CameraLink时钟

第三路Cameralink图像采集输出数据

第三路帧有效信号, 高电平有效

第三路数据有效信号,高电平有效

第三路行有效信号, 高电平有效

第三路CameraLink PowerDown

第三路CameraLink时钟

第四路Cameralink图像采集输出数据

端口名

Cpsl_CamFvalD_oP

Cpsl_CamDvalD_oP

Cpsl_CamLvalD_oP

Cpsl_CamPwrDwnD_o

Cpsl_CamClkD_o

Cpsv_CamDataE_o

Cpsl_CamFvalE_oP

Cpsl_CamDvalE_oP

Cpsl_CamLvalE_oP

Cpsl_CamPwrDwnE_o

Cpsl_CamClkE_o

app_af_wren

app_af_addr

app_af_cmd

clk0_tb

app_af_afull

rd_data_valid

rd_data_fifo_out

端口类型

输出

输出

输出

输出

输出

输出

输出

输出

输出

输出

输出

信号类型

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC_VECTOR(11

DOWNTO 0)

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC_VECTOR(30 DOWNTO 0)

STD_LOGIC_VECTOR(2 DOWNTO 0)

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC_VECTOR(63 DOWNTO 0)

描述

第四路帧有效信号, 高电平有效

第四路数据有效信号,高电平有效

第四路行有效信号, 高电平有效

第四路CameraLink PowerDown

第四路CameraLink时钟

第五路Cameralink图像采集输出数据

第五路帧有效信号, 高电平有效

第五路数据有效信号,高电平有效

第五路行有效信号, 高电平有效

第五路CameraLink PowerDown

第五路CameraLink时钟

MIG缓存地址和命令的fifo写使能信号高电平有效

MIG地址总线

MIG读写命令控制信号

MIG用户界面同步时钟

缓存地址和命令的fifo快满信号

读出数据有效信号,与有效数据同步

MIG用户界面读数据总线

来源/去向

输出

输出

输出

输入

输入

输入

输入

DDR2控制器

CameraLink接口信号时序如图2.2所示:

图2.2 CameraLink图像采集电路的时序图

2.3 功能实现

Cameralink图像采集接口电路主要包含两个子模块,如图4.59所示,数据读取分发模块负责从DDR2中读取处理好的CMOS图像,并按指定的数据编排要求分发给5路CAMERALINK数据缓冲输出模块,数据缓冲输出模块完成5路CAMERALINK数据的缓冲,并按指定时序要求发送给DS90CR287。

图2.3 CameraLink图像采集软件流程框图

2.3.1 数据读取分发模块

数据读取分发模块负责在帧行同步信号的控制下,按照地址使能和地址信号从DDR2中读取处理好的CMOS图像数据,并按指定的数据编排要求发送给cameralink数据缓冲输出模块。

该模块也分为两个子模块:地址映射模块和读取DDR模块。地址映射模块的主要功能是根据被测FPGA给的行地址转化成对应DDR的行起始地址,转化完成后把DDR地址发给DDR读取模块,DDR读取模块负责把该行的10240个像素(12bit)全部读取到五路缓冲模块中。

2.3.2 数据缓冲输出模块

缓冲模块总共有五路,把一行图像数据平均分到五路缓冲后输出。每路CameraLink缓冲模块包括2个双口RAM,采用乒乓读写的工作模式,一个双口RAM读DDR数据的同时另一个双口RAM发送数据。双口RAM配置为两端口独立时钟模式,以隔离DDR时钟和CamerLink数据域的时钟。另外,两端口可以配置为不同的数据位宽,以方便实现DDR2数据位宽64位到16位数据位宽的变换。由于CamerLink输出时12位的,因此在款冲模块处还要有一个16位位宽转换位12位位宽的子模块来完成位宽的转换。

2.4 modelsim仿真结果

图2.4 modelsim仿真结果

如图2.4,被测FPGA每来一个行同步,CameraLink模块获取行地址后读取DDR2中的数据写入缓存模块,等到下一个行同步来的时候把所读的数据从缓存模块中输出。实际要求的是每个行同步来后要读取一行数据,大小为2048x12bit,为了缩小仿真时间,仿真时没一行的数据长度为:80x12bit。

图2.5 五路CameraLink仿真输出

如图2.5,当下个行同步来的时候缓存数据输出,输出的数据时连续的。

2024年2月20日发(作者:中嘉悦)

CameraLink接口

1. CameraLink接口简介

1.1 CameraLink标准概述

Camera Link 技术标准是基于 National Semiconductor 公司的 Channel Link 标准发展而来的,而 Channel Link 标准是一种多路并行 LVDS 传输接口标准。

低压差分信号( LVDS )是一种低摆幅的差分信号技术,电压摆幅在 350mV 左右,具有扰动小,跳变速率快的特点,在无失传输介质里的理论最大传输速率在 1.923Gbps 。 90

年代美国国家半导体公司( National Semiconductor )为了找到平板显示技术的解决方案,开发了基于 LVDS 物理层平台的 Channel Link 技术。此技术一诞生就被进行了扩展,用来作为新的通用视频数据传输技术使用。

如图1.1所示, Channel Link 由一个并转串信号发送驱动器和一个串转并信号接收器组成,其最高数据传输速率可达 2.38G 。数据发送器含有 28 位的单端并行信号和 1 个单端时钟信号,将 28 位 CMOS/TTL 信号串行化处理后分成 4 路 LVDS 数据流,其 4 路串行数据流和 1 路发送 LVDS 时钟流在 5 路 LVDS 差分对中传输。接收器接收从 4 路 LVDS

数据流和 1 路 LVDS 时钟流中把传来的数据和时钟信号恢复成 28 位的 CMOS/TTL 并行数据和与其相对应的同步时钟信号。

图1.1 camera link接口电路

1.2 CameraLink端口和端口分配

1.2.1 端口分配

在基本配置模式中,端口 A 、 B 和 C 被分配到唯一的 Camera Link 驱动器 / 接收器对上;在中级配置模式中,端口 D 、 E 和 F 被分配到第二个驱动器 / 接收器对上;在完整配置模式中,端口 A 、 B 和 C 被分配到第一个驱动器 / 接收器对上,端口 D 、 E 和

F 被分配到第二个驱动器 / 接收器对上,端口 G 和 H 被分配到第三个驱动器 / 接收器对上。表1.1给出了三种配置的端口分配, Camera Link 芯片及连接器的使用数量情况。

表1.1 3种配置模式的端口分配

配置模式

基本

中级

完整

端口

A,B,C

A,B,C,D,E,F

A,B,C,D,E,F,G, H

芯片数量

1

2

3

连接器数量

1

2

2

图1.2 各种配置下的端口连接关系

1.2.2 端口的位分配

从表1.2中我们可以看出在 3 种 Camera Link 配置模式中,图像数据位是怎样分配到端口的。这种位分配方式已经被应用于市场上最流行的相机上了。

表1.2 Camera Link 接口的端口分配

驱动器输入信号

Strobe

LVAL

FVAL

DVAL

Spare

PortA0 , PortD0 , PortG0

PortA1 , PortD1 , PortG1

PortA2 , PortD2 , PortG2

PortA3 , PortD3 , PortG3

PortA4 , PortD4 , PortG4

PortA5 , PortD5 , PortG5

PortA6 , PortD6 , PortG6

PortA7 , PortD7 , PortG7

PortB0 , PortE0 , PortH0

PortB1 , PortE1 , PortH1

PortB2 , PortE2 , PortH2

PortB3 , PortE3 , PortH3

PortB4 , PortE4 , PortH4

PortB5 , PortE5 , PortH5

PortB6 , PortE6 , PortH6

PortB7 , PortE7 , PortH7

PortC0 , PortF0

PortC1 , PortF1

PortC2 , PortF2

PortC3 , PortF3

PortC4 , PortF4

PortC5 , PortF5

PortC6 , PortF6

PortC7 , PortF7

对应芯片引脚

TxCLK Out/TxCLK In

TX/RX24

TX/RX25

TX/RX26

TX/RX23

TX/RX0

TX/RX1

TX/RX32

TX/RX3

TX/RX4

TX/RX6

TX/RX27

TX/RX5

TX/RX7

TX/RX8

TX/RX9

TX/RX12

TX/RX13

TX/RX14

TX/RX10

TX/RX11

TX/RX15

TX/RX18

TX/RX19

TX/RX20

TX/RX21

TX/RX22

TX/RX16

TX/RX17

如果只用端口 D 和 G ,那么它们与器件的连接方法与端口 A 相同。同样,如果使用端口 E 和 H ,它们与器件连接方法同端口 B 的相同,端口 F 的与端口 C 的相同。

如果相机在每个周期内仅输出 1 个像素,那么就使用分配给像素 A 的端口;如果相机在每个周期内输入 2 个像素,那么使用分配像素 A 和像素 B 的端口;如果在每个周期内输出 3 个像素,那么使用分配给像素 A 、 B 和 C 的端口;依次类推至相机每周期输出 8

个像素,那么分配给 A ~ H 的 8 个端口都将被使用。

2. CameraLink接口模块设计

2.1 功能描述

该模块主要根据被测FPGA发来的图像地址信号将DDR2中的指定图像数据读取出来,并且分五路发送给CameraLink接口,由CameraLink图像采集卡接收并传给上位机显示。

2.2 接口描述

CameraLink图像采集端口模块的接口信号如图2.1所示:

图2.1 CameraLink图像采集端口示意图

表2.1各端口的接口定义

端口名

端口类型

信号类型 描述

异步复位时钟,低电平有效

主时钟85MHz

DDR2访问时钟

地址使能信号,选择从A,D1,D2,D3,D4,D5,G中哪一块输出

帧同步信号

行同步信号

A块中的地址选择信号

D1块中的地址选择信号

D2块中的地址选择信号

D3块中的地址选择信号

D4块中的地址选择信号

D5块中的地址选择信号

I块中的地址选择信号

时钟同步模块

来源/去向

Cpsl_Reset_iN

输入

STD_LOGIC

Cpsl_CamLinkClk_i

Cpsl_DdrClk_i

Cpsv_DeBlkEn_i

Cpsl_CMOSFsyn_i

Cpsl_CMOSLsyn_i

Cpsv_AXaddr_i

Cpsv_D1Xaddr_i

Cpsv_D2Xaddr_i

Cpsv_D3Xaddr_i

Cpsv_D4Xaddr_i

Cpsv_D5Xaddr_i

Cpsv_IXaddr_输入

STD_LOGIC

输入

STD_LOGIC

STD_LOGIC_VECTOR输入

(6 DOWNTO 0)

输入

STD_LOGIC

输入

STD_LOGIC

输入

输入

输入

输入

输入

输入

STD_LOGIC_VECTOR(3 DOWNTO 0)

STD_LOGIC_VECTOR(10 DOWNTO 0)

STD_LOGIC_VECTOR(10 DOWNTO 0)

STD_LOGIC_VECTOR(10 DOWNTO 0)

STD_LOGIC_VECTOR(10 DOWNTO 0)

STD_LOGIC_VECTOR(10 DOWNTO 0)

被测FPGA

输入

STD_LOGIC_VECTOR

端口名

i

Cpsv_CamDataA_o

Cpsl_CamFvalA_oP

Cpsl_CamDvalA_oP

Cpsl_CamLvalA_oP

Cpsl_CamPwrDwnA_o

Cpsl_CamClkA_o

Cpsv_CamDataB_o

Cpsl_CamFvalB_oP

Cpsl_CamDvalB_oP

Cpsl_CamLvalB_oP

Cpsl_CamPwrDwnB_o

Cpsl_CamClkB_o

Cpsv_CamDataC_o

Cpsl_CamFvalC_oP

Cpsl_CamDvalC_oP

Cpsl_CamLvalC_oP

Cpsl_CamPwrDwnC_o

Cpsl_CamClkC_o

Cpsv_CamDataD_o

端口类型

信号类型

(3 DOWNTO 0)

描述

来源/去向

输出

STD_LOGIC_VECTOR(11 DOWNTO 0)

第一路Cameralink图像采集输出数据

第一路帧有效信号, 高电平有效

第一路数据有效信号,高电平有效

第一路行有效信号, 高电平有效

第一路CameraLink PowerDown

第一路CameraLink时钟

第二路Cameralink图像采集输出数据

第二路帧有效信号, 高电平有效

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC_VECTOR(11 DOWNTO 0)

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

STD_LOGIC

输出

输出

输出

输出

输出

输出

输出

STD_LOGIC_VECTOR(11 DOWNTO 0)

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC_VECTOR(11 DOWNTO 0)

DS9第二路数据有效信号,高电平0CR有效

287

第二路行有效信号, 高电平DS9有效

0CR第二路CameraLink PowerDown

287

第二路CameraLink时钟

第三路Cameralink图像采集输出数据

第三路帧有效信号, 高电平有效

第三路数据有效信号,高电平有效

第三路行有效信号, 高电平有效

第三路CameraLink PowerDown

第三路CameraLink时钟

第四路Cameralink图像采集输出数据

端口名

Cpsl_CamFvalD_oP

Cpsl_CamDvalD_oP

Cpsl_CamLvalD_oP

Cpsl_CamPwrDwnD_o

Cpsl_CamClkD_o

Cpsv_CamDataE_o

Cpsl_CamFvalE_oP

Cpsl_CamDvalE_oP

Cpsl_CamLvalE_oP

Cpsl_CamPwrDwnE_o

Cpsl_CamClkE_o

app_af_wren

app_af_addr

app_af_cmd

clk0_tb

app_af_afull

rd_data_valid

rd_data_fifo_out

端口类型

输出

输出

输出

输出

输出

输出

输出

输出

输出

输出

输出

信号类型

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC_VECTOR(11

DOWNTO 0)

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC_VECTOR(30 DOWNTO 0)

STD_LOGIC_VECTOR(2 DOWNTO 0)

STD_LOGIC

STD_LOGIC

STD_LOGIC

STD_LOGIC_VECTOR(63 DOWNTO 0)

描述

第四路帧有效信号, 高电平有效

第四路数据有效信号,高电平有效

第四路行有效信号, 高电平有效

第四路CameraLink PowerDown

第四路CameraLink时钟

第五路Cameralink图像采集输出数据

第五路帧有效信号, 高电平有效

第五路数据有效信号,高电平有效

第五路行有效信号, 高电平有效

第五路CameraLink PowerDown

第五路CameraLink时钟

MIG缓存地址和命令的fifo写使能信号高电平有效

MIG地址总线

MIG读写命令控制信号

MIG用户界面同步时钟

缓存地址和命令的fifo快满信号

读出数据有效信号,与有效数据同步

MIG用户界面读数据总线

来源/去向

输出

输出

输出

输入

输入

输入

输入

DDR2控制器

CameraLink接口信号时序如图2.2所示:

图2.2 CameraLink图像采集电路的时序图

2.3 功能实现

Cameralink图像采集接口电路主要包含两个子模块,如图4.59所示,数据读取分发模块负责从DDR2中读取处理好的CMOS图像,并按指定的数据编排要求分发给5路CAMERALINK数据缓冲输出模块,数据缓冲输出模块完成5路CAMERALINK数据的缓冲,并按指定时序要求发送给DS90CR287。

图2.3 CameraLink图像采集软件流程框图

2.3.1 数据读取分发模块

数据读取分发模块负责在帧行同步信号的控制下,按照地址使能和地址信号从DDR2中读取处理好的CMOS图像数据,并按指定的数据编排要求发送给cameralink数据缓冲输出模块。

该模块也分为两个子模块:地址映射模块和读取DDR模块。地址映射模块的主要功能是根据被测FPGA给的行地址转化成对应DDR的行起始地址,转化完成后把DDR地址发给DDR读取模块,DDR读取模块负责把该行的10240个像素(12bit)全部读取到五路缓冲模块中。

2.3.2 数据缓冲输出模块

缓冲模块总共有五路,把一行图像数据平均分到五路缓冲后输出。每路CameraLink缓冲模块包括2个双口RAM,采用乒乓读写的工作模式,一个双口RAM读DDR数据的同时另一个双口RAM发送数据。双口RAM配置为两端口独立时钟模式,以隔离DDR时钟和CamerLink数据域的时钟。另外,两端口可以配置为不同的数据位宽,以方便实现DDR2数据位宽64位到16位数据位宽的变换。由于CamerLink输出时12位的,因此在款冲模块处还要有一个16位位宽转换位12位位宽的子模块来完成位宽的转换。

2.4 modelsim仿真结果

图2.4 modelsim仿真结果

如图2.4,被测FPGA每来一个行同步,CameraLink模块获取行地址后读取DDR2中的数据写入缓存模块,等到下一个行同步来的时候把所读的数据从缓存模块中输出。实际要求的是每个行同步来后要读取一行数据,大小为2048x12bit,为了缩小仿真时间,仿真时没一行的数据长度为:80x12bit。

图2.5 五路CameraLink仿真输出

如图2.5,当下个行同步来的时候缓存数据输出,输出的数据时连续的。

发布评论

评论列表 (0)

  1. 暂无评论