毕业论文相关
OV5640摄像头设置RGB565格式

alinx_ov5640 模块是自定义 IP,作用是将摄像头输入的 RGB565 转换成 AX4-Stream 格式,其中包含一个 cmos_8_16bit 模块,用来把 8 位摄像头输入的数据转化为 16 位 RGB565格式,这时输出的 RGB565 是 2 个时钟周期一个像素,其中一个时钟周期是无用数据,cmos_8_16bit 使用 de_o 来指示像素数据是否有效,de_o 在一行视频数据中不是连续的,cmos_8_16bit 的 hblank 是一个行同步信号,用于指示一行的像素数据。另一个模块cmos_in_axi4s 是一个把摄像头的 RGB565 数据转化为 AXI4-Stream 的模块,这个模块的代码修改的 xilinx 的“Video In to AXI4-Stream“这样一个 IP,这个 IP 输入是一个标准的视频格式,摄像头的 RGB565 无法直接输入。

Video In to AXI4-Stream IP核
用于将视频源(带有同步信号的时钟并行视频数据,即同步sync或消隐blank信号或者而后者皆有)转换成AXI4-Stream接口形式,实现了接口转换。该IP还可使用VTC核,VTC在视频输入和视频处理之间起桥梁作用。
IP核心将常见的并行视频信号(如从DVI PHY)转换为AXI4流接口。输入视频信号必须具有数据、时钟、DE、同步信号(同步和同步)和/或空白信号(Vblank 和 Hblank)。AXI4 流接口信号符合 AXI 参考指南 (UG761) 中定义的 AXI4 流视频协议,并在大多数 Xilinx 视频 IP 内核上实施。这使得视频设计人员能够快速、轻松地将外部视频源连接到后续处理块,这些处理块在 AXI4 流接口(如 Xilinx 视频 IP)上使用视频协议。此核心与 Xilinx 视频计时控制器 (VTC) 内核配合使用,以检测传入视频格式的特性,这些特征可由系统处理器读取,并用于配置后续处理块。源代码提供核心,使客户能够调整内核以处理可能尚未包含在核心中的独特视频信号。
主要特点和优势
- 可配置输入数据宽度接受 8-64 位,可使用各种视频源类型和视频数据格式,如 DVI、子样本图像传感器数据、单色数据等。
- AXI4 流接口符合 AXI 参考指南 (UG761) 中描述的 AXI4 流视频协议
- 支持所有支持设备家庭的 1080P60 像素时钟速率
- 支持高性能设备中的 4kx2k,24Hz 时钟速率
- 设计用于与西林克斯视频计时控制器 IP 核心配合操作
- 处理视频时钟域和 AXI4 流时钟域之间的异步时钟边界交叉
AXI4-Stream to Video Out ip核
IP 核可将 AXI4-Stream 接口信号转换成一个支持定时信号的标准并行视频输出接口。按照 AXI 参考指南 (UG761) 中的定义以及在大多数 Xilinx 视频 IP 核上的实现情况,AXI4-Stream 接口接受与 AXI4-Stream 视频协议兼容的信号。输出接口不仅适合与众多外部视频宿端连用,而且还包含 Vsync、Hsync、Vblank、Hblank、DE 以及像素时钟等标准视频定时信号。这可帮助视频设计人员快捷将带 AXI4-Stream 接口的视频处理模块与一个 DVI PHY 等外部视频宿端连接起来。该内核能够与 Xilinx 视频定时控制器 (VTC) 内核协同工作,生成视频格式定时信号。随该内核提供的源代码允许客户调整内核,以处理可能尚未包含在该内核中的独特视频信号。
主要特性与优势
- 根据 AXI 参考指南 (UG761) 的定义,AXI4-Stream 接口与 AXI4-Stream 视频协议兼容
- 并行视频数据输出包含各种通用视频定时信号,如 Vsync、Hsync、Vblank、Hblank 以及有源视频等
- 8 至 64 位可配置输出数据位宽支持与各种视频数据格式配合使用,例如 DVI 和单色数据等
- 在所有所支持的器件系列中支持 1080P60 像素时钟速率
- 在支持的高性能器件中,支持 4kx2k @ 24 Hz 时钟速率
- 旨在与 Xilinx 视频定时控制器 IP 核协同工作
- 处理横跨 AXI4-Stream 时钟域和视频时钟域的异步时钟边界
AXI Interconnect:

有时我们需要实现一个主设备控制多个从设备,可以使用AXI Interconnect模块实现该功能。可以将其简单地认为是一个带仲裁功能的多路选择器(MUX)。在配置从设备的地址时(Address)时,注意设备地址不能重叠,且地址分配时需要整块分配,而不是简单地跟在上个设备分配的地址之后继续分配。

如上图所示,给Slave1分配好地址之后,直接接在Slave1的地址之后给Slave2分配地址是不行的,因为Slave2的地址范围(Address Range)过大,从0x40001000分配最多只能分配到0x40001FFF,即最多分配4K,而现在需要分配2G,应将地址偏移(Address Offset)设为2G的边界(boundary),即地址偏移+地址范围=FFFFFFFF,故此时地址偏移应该为0x80000000。

AXI4-Stream总线的组成有:
(1)ACLK信号:总线时钟,上升沿有效;
(2)ARESETN信号:总线复位,低电平有效
(3)TREADY信号:从机告诉主机做好传输准备;
(4)TDATA信号:数据,可选宽度32,64,128,256bit
(5)TSTRB信号:每一bit对应TDATA的一个有效字节,宽度为TDATA/8
(6)TLAST信号:主机告诉从机该次传输为突发传输的结尾;
(7)TVALID信号:主机告诉从机数据本次传输有效;
(8)TUSER信号 :用户定义信号,宽度为128bit。
对于AXI4-Stream总线命名而言,除了总线时钟和总线复位,其他的信号线都是以T字母开头,后面跟上一个有意义的单词

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)