UG0806
用户指南
用于 PolarFire 的 MIPI CSI-2 接收器解码器
UG0806 用于 PolarFire 的 MIPI CSI-2 接收器解码器
微半导体总部
一家企业,Aliso Viejo,CA 92656 USA
美国境内:+1 800-713-4113
美国境外:+1 949-380-6100
销售额:+1 949-380-6136
传真:+1 949-215-4996
电子邮件: sales.support@microsemi.com
www.microsemi.com
©2021 Microsemi,Microchip Technology Inc. 的全资子公司。保留所有权利。 Microsemi 和 Microsemi 徽标是 Microsemi Corporation 的注册商标。 所有其他商标和服务标志均为其各自所有者的财产。
Microsemi 对此处包含的信息或其产品和服务对任何特定目的的适用性不作任何保证、陈述或保证,Microsemi 也不承担因应用或使用任何产品或电路而产生的任何责任。 在此销售的产品和 Microsemi 销售的任何其他产品都经过了有限的测试,不应与任务关键型设备或应用程序一起使用。 任何性能规格都被认为是可靠的,但未经验证,买方必须单独、与任何最终产品一起或安装在任何最终产品中进行并完成产品的所有性能和其他测试。 买方不得依赖 Microsemi 提供的任何数据和性能规格或参数。 买方有责任独立确定任何产品的适用性并对其进行测试和验证。 Microsemi 在此提供的信息是“按原样、在哪里”提供的,并且存在所有错误,与此类信息相关的全部风险完全由买方承担。 Microsemi 没有明确或暗示地向任何一方授予任何专利权、许可或任何其他知识产权,无论是关于此类信息本身还是此类信息所描述的任何内容。 本文档中提供的信息是 Microsemi 的专有信息,Microsemi 保留随时对本文档中的信息或任何产品和服务进行任何更改的权利,恕不另行通知。
关于Microsemi
Microsemi 是 Microchip Technology Inc.(纳斯达克代码:MCHP)的全资子公司,为航空航天和国防、通信、数据中心和工业市场提供全面的半导体和系统解决方案组合。 产品包括高性能和抗辐射模拟混合信号集成电路、FPGA、SoC和ASIC; 电源管理产品; 计时和同步设备和精确的时间解决方案,设定世界时间标准; 语音处理设备; 射频解决方案; 分立元件; 企业存储和通信解决方案、安全技术和可扩展的反tamp呃产品; 以太网解决方案; 以太网供电 IC 和中跨; 以及定制设计能力和服务。 了解更多信息 www.microsemi.com.
修订历史
修订历史描述了文档中实施的更改。 更改按修订列出,从当前出版物开始。
1.1 修订版 10.0
以下是此次修订中所做更改的摘要。
- 更新的主要特性,第 3 页
- 更新了第 2 页的图 4。
- 更新了表 1,第 5 页
- 更新了表 2,第 6 页
1.2 修订版 9.0
以下是此次修订中所做更改的摘要。
- 更新的主要特性,第 3 页
- 更新了表 4,第 8 页
1.3 修订版 8.0
以下是此次修订中所做更改的摘要。
- 添加了对 Raw-8、Raw-14 和 RGB-16 数据类型的 888 通道配置的支持。
- 更新了第 2 页的图 4。
- 更新了第 3 页的主要特性部分。
- 更新了第 2 页的 mipi_csi5_rxdecoder 部分。
- 更新了第 2 页的表 6 和第 4 页的表 8。
1.4 修订版 7.0
以下是此次修订中所做更改的摘要。
- 添加了第 3 页主要特性和第 3 页支持系列的子级部分。
- 更新了第 4 页的表 8。
- 更新了第 4 页的图 9 和第 5 页的图 9。
- 添加了第 10 页的许可证、第 11 页的安装说明和第 12 页的资源利用部分。
- 添加了对 14、16 和 888 通道的 Raw1、Raw2 和 RGB4 数据类型的核心支持。
1.5 修订版 6.0
以下是此次修订中所做更改的摘要。
- 更新了介绍,第 3 页。
- 更新了第 2 页的图 4。
- 更新了第 2 页的表 6。
- 更新了第 4 页的表 8。
1.6 修订版 5.0
以下是此次修订中所做更改的摘要。
- 更新了介绍,第 3 页。
- 更新了第 2 页图 4 的标题。
- 更新了第 2 页的表 6 和第 4 页的表 8。
1.7 修订版 4.0
更新了 Libero SoC v12.1 的文档。
1.8 修订版 3.0
以下是此次修订中所做更改的摘要。
- 添加了对 RAW12 数据类型的支持。
- 在 IP 中添加了 frame_valid_o 输出信号,请参见第 2 页的表 6。
- 在第 4 页的表 8 中添加了 g_NUM_OF_PIXELS 配置参数。
1.9 修订版 2.0
添加了对 RAW10 数据类型的支持。
1.10 修订版 1.0
本文档的首次发布。
介绍
MIPI CSI-2 是由移动行业处理器接口 (MIPI) 联盟定义的标准规范。 相机串行接口 2 (CSI-2) 规范定义了外围设备(相机)和主机处理器(基带、应用程序引擎)之间的接口。 本用户指南介绍了 PolarFire 的 MIPI CSI2 接收器解码器 (MIPI CSI-2 RxDecoder),它解码来自传感器接口的数据。
IP 内核支持 Raw-1、Raw-2、Raw-4、Raw-8、Raw-8 和 RGB-10 数据类型的多通道(12、14、16 和 888 通道)。
MIPI CSI-2 在两种模式下运行——高速模式和低功耗模式。 在高速模式下,MIPI CSI-2 支持使用短数据包和长数据包格式传输图像数据。 短数据包提供帧同步和线路同步信息。 长数据包提供像素信息。 传输数据包的顺序如下。
- 帧开始(短数据包)
- 行首(可选)
- 少量图片数据包(长包)
- 行尾(可选)
- 帧结束(短包)
一个长包相当于一行图像数据。 下图显示了视频数据流。
图 1 • 视频数据流
2.1 主要特点
- 支持 8、10、12 和 14 通道的 Raw-16、Raw-888、Raw-1、Raw-2、Raw-4 和 RGB-8 数据类型
- 支持 4 和 4 通道模式的每像素时钟 8 个像素
- 支持原生和 AXI4 流视频接口
- IP 不支持低功耗模式下的事务
- IP 不支持嵌入式/虚拟通道 (ID) 模式
2.2 受助家庭
- PolarFire® SoC
- 极地火®
硬件实现
本节介绍硬件实现细节。 下图显示了包含 MIPI CSI2 RxDecoder IP 的 MIPI CSI2 接收器解决方案。 该 IP 必须与 PolarFire ® MIPI IOD 通用接口块和锁相环 (PLL) 结合使用。 MIPI CSI2 RxDecoder IP 设计用于与 PolarFIre MIPI IOG 块配合使用。 图 2 显示了从 PolarFire IOG 到 MIPI CSI2 RxDecoder IP 的引脚连接。 需要 PLL 来生成并行时钟(像素时钟)。 PLL 的输入时钟将来自 IOG 的 RX_CLK_R 输出引脚。 PLL 必须配置为根据 MIPI_bit_clk 和使用的通道数生成并行时钟。 用于计算并行时钟的公式如下。
CAM_CLOCK_I = (MIPI_位_时钟)/4
PARALLEL_CLOCK = (CAM_CLOCK_I x Num_of_Lanes x 8)/(g _ DATAWIDTH xg _ NUM _ OF _ PIXELS)
下图显示了 PolarFire 的 MIPI CSI-2 Rx 的架构。
图 2 • 用于 2 通道配置的 MIPI CSI-4 Rx 解决方案的架构
上图显示了 MIPI CSI2 RxDecoder IP 中的不同模块。 当与 PolarFire IOD Generic 和 PLL 结合使用时,该 IP 可以接收和解码 MIPI CSI2 数据包,以生成像素数据以及有效信号。
3.1 设计说明
本节介绍 IP 的不同内部模块。
3.1.1 Embsync_检测
该模块从 PolarFire IOG 接收数据,并检测每个通道接收到的数据中嵌入的 SYNC 代码。 该模块还将每个通道的数据与 SYNC 代码对齐,并将其发送到 mipi_csi2_rxdecoder 模块以对数据包进行解码。
3.1.2 mipi_csi2_rx解码器
该模块解码传入的短数据包和长数据包,并生成 frame_start_o、frame_end_o、frame_valid_o、line_start_o、line_end_o、word_count_o、line_valid_o 和 data_out_o 输出。 像素数据到达行开始和行结束信号之间。 短包只包含包头,支持多种数据类型。 MIPI CSI-2 接收器 IP 内核支持以下短数据包数据类型。
表 1 • 支持的短数据包数据类型
| 数据类型 | 描述 |
| 0x00 | 帧开始 |
| 0x01 | 帧结束 |
长数据包包含图像数据。 数据包的长度由相机传感器配置的水平分辨率决定。 这可以在以字节为单位的 word_count_o 输出信号中看到。
下图显示了解码器的 FSM 实现。
图 3 • 解码器的 FSM 实现
- Frame Start:接收到frame start包,产生frame start脉冲,然后等待line start。
- 行起始:在接收到行起始指示时,产生行起始脉冲。
- 行结束:在产生行起始脉冲时,存储像素数据,然后产生行结束脉冲。 重复步骤 2 和 3,直到收到帧结束数据包。
- 帧结束:在接收到帧结束包时,产生帧结束脉冲。 对所有帧重复上述步骤。
CAM_CLOCK_I 必须配置为图像传感器频率,以处理输入数据,无论 Num_of_lanes_i 配置为一个通道、两个通道还是四个通道。
IP 支持 Raw-8、Raw-10、Raw-12、Raw-14、Raw-16 和 RGB-888 数据类型。 如果 g_NUM_OF_PIXELS 设置为 4,则在 data_out_o 上每个时钟接收一个像素。 如果 g_NUM_OF_PIXELS 设置为 4,则每个时钟发送四个像素,并行时钟必须配置为比正常情况低 XNUMX 倍。 每个时钟四个像素的配置使用户能够灵活地以更高分辨率和更高的相机数据速率运行他们的设计,从而更容易满足设计时序要求。 为了指示有效图像数据,发送 line_valid_o 输出信号。 只要它被拉高,输出像素数据就有效。
3.2 输入和输出
下表列出了 IP 配置参数的输入和输出端口。
表 2 • 本地视频接口的输入和输出端口
| 信号名称 | 方向 | 宽度 | 描述 |
| CAM_CLOCK_I | 输入 | 1 | 图像传感器时钟 |
| 并行时钟_I | 输入 | 1 | 像素时钟 |
| 复位_N_I | 输入 | 1 | 异步低电平有效复位信号 |
| L0_HS_DATA_I | 输入 | 8 位 | 来自通道 1 的高速输入数据 |
| L1_HS_DATA_I | 输入 | 8 位 | 来自通道 2 的高速输入数据 |
| L2_HS_DATA_I | 输入 | 8 位 | 来自通道 3 的高速输入数据 |
| L3_HS_DATA_I | 输入 | 8 位 | 来自通道 4 的高速输入数据 |
| L4_HS_DATA_I | 输入 | 8 位 | 来自通道 5 的高速输入数据 |
| L5_HS_DATA_I | 输入 | 8 位 | 来自通道 6 的高速输入数据 |
| L6_HS_DATA_I | 输入 | 8 位 | 来自通道 7 的高速输入数据 |
| L7_HS_DATA_I | 输入 | 8 位 | 来自通道 8 的高速输入数据 |
| L0_LP_DATA_I | 输入 | 1 | 来自通道一的正低功率输入数据。 PolarFire 和 PolarFire SoC 的默认值为 0。 |
| L0_LP_DATA_N_I | 输入 | 1 | 来自通道一的负低功率输入数据 |
| L1_LP_DATA_I | 输入 | 1 | 来自通道二的正低功率输入数据。 PolarFire 和 PolarFire SoC 的默认值为 0。 |
| L1_LP_DATA_N_I | 输入 | 1 | 来自通道二的负低功率输入数据 |
| L2_LP_DATA_I | 输入 | 1 | 来自通道三的正低功率输入数据。 PolarFire 和 PolarFire SoC 的默认值为 0。 |
| L2_LP_DATA_N_I | 输入 | 1 | 来自通道三的负低功率输入数据 |
| L3_LP_DATA_I | 输入 | 1 | 来自通道 XNUMX 的正低功率输入数据。 PolarFire 和 PolarFire SoC 的默认值为 0。 |
| L3_LP_DATA_N_I | 输入 | 1 | 来自通道 XNUMX 的负低功率输入数据 |
| L4_LP_DATA_I | 输入 | 1 | 来自通道 XNUMX 的正低功率输入数据。 PolarFire 和 PolarFire SoC 的默认值为 0。 |
| L4_LP_DATA_N_I | 输入 | 1 | 来自通道 XNUMX 的负低功率输入数据 |
| L5_LP_DATA_I | 输入 | 1 | 来自通道 XNUMX 的正低功率输入数据。 PolarFire 和 PolarFire SoC 的默认值为 0。 |
| L5_LP_DATA_N_I | 输入 | 1 | 来自通道 XNUMX 的负低功率输入数据 |
| L6_LP_DATA_I | 输入 | 1 | 来自通道 XNUMX 的正低功率输入数据。 PolarFire 和 PolarFire SoC 的默认值为 0。 |
| L6_LP_DATA_N_I | 输入 | 1 | 来自通道 XNUMX 的负低功率输入数据 |
| L7_LP_DATA_I | 输入 | 1 | 来自通道 XNUMX 的正低功率输入数据。 PolarFire 和 PolarFire SoC 的默认值为 0。 |
| L7_LP_DATA_N_I | 输入 | 1 | 来自通道 XNUMX 的负低功率输入数据 |
| 数据输出 | 输出 | g_DATAWIDT H*g_NUM_OF _PIXELS-1:0 |
8 位、10 位、12 位、14 位、16 位和 RGB-888(24 位),每个时钟一个像素。 32 位、40 位、48 位、56 位、64 位和 96 位,每个时钟有四个像素。 |
| 行_有效_o | 输出 | 1 | 数据有效输出。 当 data_out_o 有效时置高 |
| 帧开始时间 | 输出 | 1 | 在传入数据包中检测到帧开始时置高一个时钟 |
| 帧结束o | 输出 | 1 | 当在传入数据包中检测到帧结束时置高一个时钟 |
| 框架有效 | 输出 | 1 | 对于一帧中的所有活动线路,在一个时钟周期内置为高电平 |
| 行起始点 | 输出 | 1 | 当在传入数据包中检测到线路开始时,置高一个时钟 |
| 行尾 | 输出 | 1 | 当在传入数据包中检测到线路末端时置高一个时钟 |
| 字数统计 | 输出 | 16 位 | 表示以字节为单位的像素值 |
| ecc_错误_o | 输出 | 1 | 指示 ECC 不匹配的错误信号 |
| 数据类型_o | 输出 | 8 位 | 表示数据包的数据类型 |
3.3 AXI4 流端口
下表列出了 AXI4 Stream Port 的输入和输出端口。
表 3 • AXI4 流视频接口的端口
| 端口名称 | 类型 | 宽度 | 描述 |
| 复位_N_I | 输入 | 1位 | 低电平有效异步复位 设计的信号。 |
| 时钟_I | 输入 | 1位 | 系统时钟 |
| TDATA_O | 输出 | g_NUM_OF_PIXELS*g_DATAWIDTH 位 | 输出视频数据 |
| TVALID_O | 输出 | 1位 | 输出行有效 |
| TLAST_O | 输出 | 1位 | 输出帧结束信号 |
| TUSER_O | 输出 | 4位 | 位 0 = 帧结束 位 1 = 未使用 位 2 = 未使用 位 3 = 帧有效 |
| TSTRB_O | 输出 | g_DATAWIDTH /8 | 输出视频数据选通 |
| TKEEP_O | 输出 | g_DATAWIDTH /8 | 输出视频数据保持 |
3.4 配置参数
下表列出了在 MIPI CSI-2 Rx 解码器块的硬件实现中使用的配置参数的说明。 它们是通用参数,可以根据应用要求而变化。
表 4 • 配置参数
| 姓名 | 描述 |
| 数据宽度 | 输入像素数据宽度。 支持8位、10位、12位、14位、16位、24位(RGB 888) |
| 车道宽度 | MIPI 通道数。 • 支持 1、2、4 和 8 通道 |
| 像素数 | 有以下选项可用: 1:每个时钟一个像素 4:每个时钟四个像素,像素时钟频率降低四倍(仅适用于 4 通道或 8 通道模式)。 |
| 输入数据反转 | 反转传入数据的选项如下: 0:不反转传入数据 1:反转传入数据 |
| 先进先出大小 | Byte2PixelConversion FIFO 的地址宽度,支持范围:8 到 13。 |
| 视讯介面 | 原生和 AXI4 流视频接口 |
3.5 时序图
以下部分显示了时序图。
3.5.1 长包
下图显示了长数据包的时序波形。
图 4 • 长数据包的时序波形
3.5.2 短包
下图显示了帧起始数据包的时序波形。
图 5 • 帧起始包的时序波形
执照
MIPICSI2 RxDecoder IP clear RTL 已被许可证锁定,加密的 RTL 可免费使用。
4.1 加密
为内核提供完整的 RTL 代码,允许使用智能设计工具实例化内核。 可以在 Libero® 片上系统 (SoC) 中执行仿真、综合和布局。 内核的 RTL 代码已加密。
4.2 RTL
为内核提供了完整的 RTL 源代码。
安装说明
核心必须安装到 Libero 软件中。 它通过 Libero 或 CPZ 中的目录更新功能自动完成 file 可以使用“添加核心目录”功能手动添加。 一旦CPZ file 安装在 Libero 中,可以在 Smart Design 中配置、生成和实例化核心,以包含在 Libero 项目中。
有关核心安装、许可和一般使用的更多说明,请参阅 Libero SoC 在线帮助。
资源利用
下表展示了as的资源利用率ample MIPI CSI-2 接收器核心在 PolarFire FPGA(MPF300TS-1FCG1152I 封装)中实现,用于 RAW 10 和 4 通道配置。
表 5 • 资源利用率
| 元素 | 用法 |
| DFF | 1327 |
| 4 输入 LUT | 1188 |
| LSRAM | 12 |
Microsemi 专有 UG0806 修订版 10.0
文件/资源
![]() |
MICROCHIP UG0806 用于 PolarFire 的 MIPI CSI-2 接收器解码器 [pdf] 用户指南 UG0806 用于 PolarFire 的 MIPI CSI-2 接收器解码器, UG0806, 用于 PolarFire 的 MIPI CSI-2 接收器解码器, MIPI CSI-2 接收器解码器, 接收器解码器, 解码器 |




