查看: 4818|回复: 7
收起左侧

优秀的 Verilog/FPGA开源项目介绍(六)- MIPI

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2022-6-21 08:23
  • 签到天数: 2 天

    [LV.1]

    发表于 2021-12-11 12:46:21 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 塞巴斯蒂安 于 2021-12-11 12:45 编辑

    MIPI的协议我就不详细介绍了《MIPI系列之“初识MIPI”》,这里和开源方案比较接近的即使FPGA实现MIPI物理层(DPHY)中电气属性相关的几种
    方案:MIPI DPHY RX实现方案

    方案一

    使用自带DPHY的FPGA

    带有DPHY的专用FPGA。目前国内一些FPGA厂商是有的,如高云的FPGA是有自带DPHY(小蜜蜂家族),xilinx的UltraScale系列 支持MIPI D-PHY接口,Altea/Intel、Lattice等最新系列FPGA也是具有这一接口的。

    使用FPGA自带的DPHY好处就是可以降低电路的复杂度及提高系统稳定性。但是需要注意一点这种方案也是要看FPGA内嵌DPHY的版本及完成度,能不能 达到MIPI的速度还是要看具体芯片的数据手册。
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(1)
    高云DPHY的介绍
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(2)
    xilinx的UltraScale系列DPHY说明
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(3)
    Lattice CrossLink系系列DPHY说明

    方案二

    使用专门ASSP芯片转换到LVDS

    这种方案就不需要介绍了,专用ASIC(MC系列这种方案可以支持到2Gbps/Lane速率以上,只要FPGA的IO速率够用),方案不及自带DPHY的方案,但是也足够用了,综合考虑方案的成本,这种方案也是目前很多公司选用的方案。
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(4)
    MC系列IC的DPHY解决方案

    方案三

    电阻网络方案

    可以参考xilinx官方文档xapp894,要求800M Hz以下,走线30mm以内。说白了只能用用而已。
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(5)
    电阻网络方案示意图

    为什么介绍这几种方案呢?因为开源的MIPI项目的前提是你需要有DPHY。

    0、MIPI Alliance (MIPI联盟)

    https://www.mipi.org/

    MIPI Alliance 是一个全球协作组织,为开发移动和受移动影响的设备的行业提供服务。该组织的重点是设计和推广硬件和软件接口,以简化设备内置组件的集成,从天线和调制解调器到外围设备和应用处理器。MIPI 联盟制定其所有规范以满足移动设备所需的严格操作条件:高带宽性能、低功耗和低电磁干扰 (EMI)。

    PS:这两次为什么都把相关官网放到前面呢?因为每次大家都会在后台找我要XX接口的协议文档,所以后面我会先把相关官网放到前面,上面下载文档不仅免费,主要是权威和“新鲜”。

    1、mipi_csi_receiver_FPGA

    https://github.com/circuitvalley/mipi_csi_receiver_FPGA

    这个是一个完整的项目了,实现了一个UVC摄像头,IMX219(索尼)摄像头(MIPI)进入FPGA通过FX3(USB PHY)出去,实现整个数据流,需要IP的自己可以提取,唯一的缺点是使用了Lattice平台去雁阵(不能算是缺点,只是国内用户较少),但是该项目未使用任何 针对FPGA 的IP,纯HDL,因此可以轻松移植到任何 FPGA上(资源够的情况)。
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(6)
    项目简介

    此项目包含用于通用 FPGA CSI 接收器的硬件、Verilog 源码和 USB3.0 视频设备类 (UVC) 控制器 C语言 源码(固件),该项目未使用任何 针对FPGA 的IP,纯HDL,因此可以轻松移植到任何 FPGA上(资源够的情况)。

    支持帧率从 15 到 1000 FPS,分辨率从 640x80 到  8M 3280x2464。

    1080p 60FPS 时的最大数据速率约为 2Gbps。

    通过 UVC 控制帧速率和分辨率。手动曝光和手动亮度控制, 饱和度控制。还可以使用映射伽马控制启用测试图案。

    目前测试完成的案例:
    1. 3280x2464 15FPS
    2. 1920x1080 60FPS
    3. 1920x1080 30FPS
    4. 1280x720 120FPS
    5. 1280x720 60FPS
    6. 1280x720
    7. 30FPSx 80x1080
    8. 30FPS
    9. 640PS 640PS
    10. 20 FPS 8080 30FPS 8040FPS 8080 40PS0
    复制代码
    TODO:需要在 FPGA 端进行改进以实现自动曝光、亮度和白平衡校正。
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(7)
    PS:链接中有视频演示

    下面的项目与此类似就不展开介绍了:

    https://github.com/circuitvalley/USB3_MIPI_CSI2_RX_V2_Crosslink_NX
    https://github.com/cudnn/USBtoMIPI

    2、mipi-demo

    https://github.com/hdl-util/mipi-demo

    可以触摸的实现方案。

    简介

    整个方案为 Raspberry Pi Camera v1.1 (OV5647)(mipi接口,可能是最便宜的MIPI摄像头) 通过 HDMI 的实时显示。

    模块介绍:
    • hdl-util/hdmi : 通过HDMI传输视频/音频
    • hdl-util/mipi-ccs:使用MIPI CCS控制相机
    • hdl-util/i2c : I2C主控
    • hdl-util/mipi-csi-2:使用MIPI CSI 2 的摄像机视频接收
    • hdl-util/sdram-controller : SDRAM控制器
    • hdl-util/clock-domain-crossing : FPGA 上 时钟域交叉的实用程序
    • hdl-util/gray-code : 任意宽度的格雷码

    演示
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(8)
    3、MIPI_RX_ST

    https://github.com/vidor-libraries/MIPI_RX_ST

    该项目包含一个MIPI_RX_ST IP核,端口描述如下:
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(9)
    MIPI_RX_ST IP 从 MIPI CSI2 中提取 8 位原始数据并输出包含 4:4:4 RGB 视频的视频流。

    视频数据专门从cMIPI_HT_RAW8(十进制42)数据包中提取,并通过二维插值将bayer转换为4:4:4:RGB;为此,我们将数据记录在行缓冲区中以存储前两行。行缓冲区有 32 位,其低 16 位包含前一行,而其高 16 位包含倒数第二行。总共有 3 行,最多可以使用 5 个像素进行插值,具体取决于数据类型。

    4、i3c-slave-design

    i3C,同样由MIPI联盟制定,主要用于替代传统的USRT、I2C和SPI,并向下兼容I2C。
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(10)
    I3C吸纳了I2C和SPI的关键特性,并将其统一起来,同时在I2C的基础上,保留了2线的串行接口结构,这样工程师就可以在单个设备中连接大量的传感器。详细的介绍后面会单独出一片文章。

    https://github.com/NXP/i3c-slave-design

    MIPI I3C 从机-在 Verilog 中实现的 NXP 免费许可 MIPI I3C Slave,用于 FPGA 和IC器件。

    使用参数高度可配置,并包含:
    • 支持 I3C Basic v1.0,可在 MIPI 官方网站下载
    • I3C SDR 协议
    • 所有必需的 CCC(内置命令)加上一些可选的。
    • IBI(带内中断)包括可选的 IBI 数据字节。
    • 支持具有静态地址的 I2C。
    • 添加 SlaveReset
    • 取决于系统的两种不同的集成
    • 用于基于处理器的系统的完整 APB 内存映射寄存器。
    • 每个方向的可调 FIFO 深度
    • 状态机 ASIC 的自治模型。
    • 支持自动注册创建和系统侧控制
    • 文档包括程序员模型、微架构规范、基本 I3C 规范。

    下面的项目与此类似就不展开介绍了:

    https://github.com/samy-maxvy/MAXVY_MIPI_I3C_Basic_Master_Controller_IP

    5、aq_mipi_csi2rx_ultrascaleplus

    https://github.com/aquaxis/aq_mipi_csi2rx_ultrascaleplus

    基于ultrascale系列FPGA的MIPIRX IP核。

    下面的基本凑数的,没什么参考价值,有兴趣可以简单看看。

    6、mipitest

    https://github.com/htti/mipitest

    很简单的程序,没什么介绍,是使用MAX10解析解析帧头和像素数据。

    7、mipi_dsi_bridge_fpga

    https://github.com/circuitvalley/mipi_dsi_bridge_fpga

    用于实现 MIPI DSI 桥接器 PCB 硬件文件,用于从 PC 接收图像并通过 SPI 传输到 FPGA 目标  PC 将图像传输到 USB 设备的应用程序.
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(11)
    8、MIPI_CSI2_TX

    https://github.com/VideoGPU/MIPI_CSI2_TX

    用于将 Xilinx MGT 千兆位收发器/LVDS 线路转换 MIPI CSI-2 TX 协议的 VHDL 代码。

    9、具有MIPI接口的开发板

    这里并没有“恰饭”,为什么介绍这些呢?主要是这些办卡带历程,虽然基本使用了IP,但是很适合快速入门。

    黑金FPGA

    AX7z020/AX7z010
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(12)
    百度大脑升级版
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(13)
    SEA-S7

    这款开发板完全开源,源码,MIPI接口使用电阻网络,可以作为参考原理图。
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(14)
    https://github.com/For-up/SEA-S7Guess

    米尔 百度大脑&ISP处理平台
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(15)
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(16)
    官方板卡

    1、 MAX10(10M50DAF484C6G FPGA Arrow)
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(17)
    2、KV260

    《详见:开发者来稿 | Kria KV260 超长干货之开箱指南

    资料

    可以参考下面的链接了解更多MIPI信息。
    1、https://www.circuitvalley.com/20 ... erry-pi-camera.html
    2、https://www.cnblogs.com/gcws/p/8995542.html
    3、
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(六)- MIPIrisc-v单片机中文社区(18)
    百度网盘:
    链接: https://pan.baidu.com/s/1tcHI1RuMFm9_9hJhDf0BMg 提取码: 68ne






    上一篇:优秀的 Verilog/FPGA开源项目介绍(五)- USB通信
    下一篇:优秀的 Verilog/FPGA开源项目介绍(七)- CAN通信
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    RISC-V隐身侠  发表于 2023-5-24 04:33:14
    提示: 该帖被管理员或版主屏蔽
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具

    RISC-V隐身侠  发表于 2023-8-25 08:27:46
    提示: 该帖被管理员或版主屏蔽
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具

    RISC-V隐身侠  发表于 2023-9-19 21:06:15
    提示: 该帖被管理员或版主屏蔽
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具

    RISC-V隐身侠  发表于 2023-10-1 17:36:54
    提示: 该帖被管理员或版主屏蔽
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具

    RISC-V隐身侠  发表于 2023-12-22 10:14:03
    提示: 该帖被管理员或版主屏蔽
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具

    RISC-V隐身侠  发表于 2024-2-10 13:32:19
    Freedman's Office Furniture, Cubicles, Desks, Chairs
    515 E Las Olas Blvd Suite 120,
    Fort Lauderdale, FL 33301

    (954) 466-1629

    Office desks, Office chairs, Office tables
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复 支持 反对

    使用道具

    RISC-V隐身侠  发表于 2024-2-22 22:26:28
    wiring a 7 way
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复 支持 反对

    使用道具

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-27 06:01 , Processed in 0.716327 second(s), 62 queries .

    快速回复 返回顶部 返回列表