ZYNQ7035 PL Cameralink回环例程

简介: 本文主要介绍说明XQ6657Z35-EVM评估板Cameralink回环例程的功能、使用步骤以及各个例程的运行效果。(基于TI KeyStone架构C6000系列TMS320C6657双核C66x 定点/浮点DSP以及Xilinx Zynq-7000系列SoC处理器XC7Z035-2FFG676I设计的异构多核评估板,由核心板与评估底板组成。评估板CameraLink功能支持2路Base输入、或者2路Base输出、或者1路Full 输入或输出)

本文主要介绍说明XQ6657Z35-EVM评估板Cameralink回环例程的功能、使用步骤以及各个例程的运行效果。
(基于TI KeyStone架构C6000系列TMS320C6657双核C66x 定点/浮点DSP以及Xilinx Zynq-7000系列SoC处理器XC7Z035-2FFG676I设计的异构多核评估板,由核心板与评估底板组成。评估板CameraLink功能支持2路Base输入、或者2路Base输出、或者1路Full 输入或输出)

ZYNQ7035 PL Cameralink回环例程
1.1.1例程位置
ZYNQ例程保存在资料盘中的Demo\ZYNQ\PL\base_cameralink_loop\prj文件夹下。

1.1.2功能简介
Cameralink回环例程将J3、J4当作两个独立的Base Cameralink接口使用,一个接收,另一个发送。
Cameralink接收端,利用Xilinx ISERDESE2原语进行串/并转换,将LVDS串行数据转换成28bit的cameralink并行数据。解串后的并行数据通过ila进行在线分析和查看,并实时检测并行数据是否有误码。
Cameralink发送端,利用Xilinx OSERDESE2原语进行并/串转换,将本地28bit cameralink并行数据串行化为LVDS数据发送出去。
1.1.3Cameralink接口时序说明
1.1.3.1Cameralink三种配置模式
图片1.png

Base模式:只需一根Cameralink线缆;4对差分数据、1对差分时钟;
Medium模式:需要两根Cameralink线缆;8对差分数据、2对差分时钟;
Full模式:需要两根Cameralink线缆;12对差分数据、3对差分时钟。
各种模式下,统一都包含一组控制口和一组串口。控制口有4根信号,用于图像采集端对相机的IO控制;串口用于图像采集端对相机参数的配置。

1.1.3.2单路差分数据与时钟之间时序关系
单路Cameralink差分数据与随路的差分像素时钟之间的时序关系如下图所示:
图片2.png

一个时钟周期内传输7bits串行数据,首先传输串行数据的最高位,最后传输串行数据的最低位。7bits数据起始于像素时钟高电平的中间位置,即数据的最高位在Clock高电平的中间时刻开始传输。
Clock高电平时间比Clock低电平时间多一个bit位。

1.1.3.3通道传输数据与图像数据映射关系
1路差分数据通道上,一个Clock像素时钟周期传输7bits串行数据,那么4路差分数据通道总共就是4*7bits=28bits,我们称这28bits数据为并行数据,为了方便描述,这28bits数据记为TX/RX27~0。Cameralink Base模式下,这28bits数据与图像行/场同步/数据有效标记、图像数据的映射关系如下图所示:
图片3.png

TX/RX24映射为行同步标记LVAL,TX/RX25映射为场同步标记FVAL,TX/RX26映射为图像数据有效标记DVAL,TX/RX23未使用,其余位对应图像数据。

1.1.3.428位并行数据与4路差分数据传输通道之间的映射关系
上述28位并行数据是如何通过4路差分数据传输通道进行传输的呢?28位并行数据映射到4路差分数据传输通道各个时刻点的位置关系如下图所示:
图片4.png

1.1.4管脚约束
ZYNQ PL工程管脚约束如下图所示:
图片5.png

1.1.5例程使用
1.1.5.1连接Cameralink线缆
使用Cameralink线缆将J3、J4两个接口连接在一起:
图片6.png

1.1.5.2加载运行ZYNQ程序
1.1.5.2.1打开Vivado工程
打开Vivado示例工程:
图片7.png

工程打开后界面如下图所示:
图片8.png

1.1.5.2.2下载ZYNQ PL程序
下载bit流文件base_cameralink_loop.bit,并且配套base_cameralink_loop.ltx调试文件,如下图下载界面所示:
图片9.png

1.1.5.3运行结果说明
ZYNQ PL端提供的ILA调试窗口,可以实时抓取采集Cameralink并行信号以及错误检测信号的时序波形。
hw_ila_1调试界面抓取Cameralink并行发送数据,是一个28bits的累加数:
图片10.png

hw_ila_2调试界面抓取Cameralink并行接收数据、接收误码统计以及接收误码实时标识信号,如下图所示:
图片11.png

cameralink_rx_err_num显示有数值,则说明Cameralink接收过程中存在误码。可能在开始通信初始化期间存在误码现象,导致cameralink_rx_err_num误码统计累加。待程序下载完毕后,如果Cameralink通信正常的话,cameralink_rx_err_num误码统计应该不会再累加。如果cameralink_rx_err_num误码统计继续不断累加,则通过触发camera_rx_error信号可以捕捉到误码具体发生时刻。

1.1.5.4 退出实验
Vivado调试界面Hardware Manager窗口,右键单击localhost(1),在弹出的菜单中点击Close Server,断开ZYNQ JTAG仿真器与板卡的连接:
图片12.png

最后,关闭板卡电源,结束。

相关文章
|
存储
ZYNQ-pbuf操作指南(一)
ZYNQ-pbuf操作指南
549 0
ZYNQ-pbuf操作指南(一)
|
6月前
|
开发工具 芯片 Perl
【ZYNQ】裸机 PS + PL 双网口实现之 ZYNQ 配置
【ZYNQ】裸机 PS + PL 双网口实现之 ZYNQ 配置
845 0
|
6月前
|
网络协议 测试技术 开发工具
【ZYNQ】裸机 PS + PL 双网口实现之 LWIP 库文件修改
【ZYNQ】裸机 PS + PL 双网口实现之 LWIP 库文件修改
662 0
|
6月前
|
网络协议 开发工具 Perl
【ZYNQ】裸机 PS + PL 双网口实现之 SDK 程序设计
【ZYNQ】裸机 PS + PL 双网口实现之 SDK 程序设计
300 0
|
数据处理 SoC Perl
Xilinx Zynq7035 PL SFP光口通信例程
本文主要介绍说明XQ6657Z35-EVM 高速数据处理评估板SPF光口通信例程的功能、使用步骤以及各个例程的运行效果。
Xilinx Zynq7035 PL SFP光口通信例程
|
开发工具 内存技术 Perl
如何固化ZYNQ PL端程序到FLASH
ZYNQ7000板子上,PL端逻辑烧写到FLASH里面。怎么办?
|
存储 芯片 异构计算
ZYNQ-AXI DMA IP简介
ZYNQ-AXI DMA IP简介
774 0
ZYNQ-AXI DMA IP简介
linux 网口phy问题记录
问题是这样的,内核启动识别网口的时候,多识别了一个,驱动本身是支持双网口的,理论上另一个phy不存在,应该识别不到。 后来发现是读phy_id的时候,对于不存在的Phy地址,有返回0的情况,但是内核认为只有0x1fffffff的才是空,多加了个判断条件得以解决。
|
Linux API 芯片
Linux下网卡phy状态检测与控制
最近在一个项目中,集成一个交换机芯片的时候,遇到一些麻烦,发现交换机的性能总是上 不去,100M的交换机,实际交换能力只有10M。跟做硬件的同事一起,花了几周时间调试, 才找到问题。原来是接到交换机芯片上的几个子系统,用的Micrel 8041PHY芯片,默认关闭 了硬件流控,导致交换机无法通过流控来控制网络数据交换,结果使得其性能下降。而交换 机每个端口的PHY与子系统的PHY都使用的Auto Negotiation来协商链接状态,子系统默认不 支持流控,交换机也关闭了流控。