查看: 2010|回复: 0

基于Zynq7010和树莓派摄像头的图像采集系统设计

[复制链接]
  • TA的每日心情
    开心
    2022-1-5 20:54
  • 签到天数: 21 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2021-12-1 22:13:09 | 显示全部楼层 |阅读模式
    分享到:
    基于Zynq7010和树莓派摄像头的图像采集系统设计
    近几年以树莓派为代表的开源硬件平台已经变的非常流行了,基于树莓派摄像头的图像应用也非常多,树莓派摄像头由于使用量比较大,在性价比上已经非常有优势了,XINLINX的Zynq器件在芯片内集成了ARM和FPGA,非常适合需要使用到ARM和FPGA的应用,本文就是基于XINLINX的Zynq7010器件和树莓派摄像头实现了一个多路的图像采集系统设计。
    一、硬件设计相关
    树莓派的摄像头接口用的30 PIN的FPC接口,只用了一边的15个PIN,具体如下图示:
    10.png
    具体信号说明如下:
    1:GND
    2:CAM1_DN0
    3:CAM1_DP0
    4:GND
    5:CAM1_DN1
    6:CAM1_DP1
    7:GND
    8:CAM1_CN
    9:CAM1_CP
    10:GND
    11:CAM_GPIO
    12:空
    13:SCL0
    14:SDA0
    15:3V3
      以上是基于raspberry-pi-4的接口定义,树莓派摄像头使用2lane的MIPI CSI接口,通过I2C信号控制摄像头的传感器芯片,如500万像素摄像头使用的是安森美OV5647传感器芯片,800万像素摄像头使用的是索尼IMX219传感器芯片。
    我们使用Zynq7010的PL部分连接树莓派摄像头,由于该芯片并没有MIPI专用的管脚,需要使用外部的电阻网络实现MIPI电平的匹配,具体实现电路如下:
    11.png
    用LVDS电平接收MIPI HS信号,用HSUL_12电平接收MIPI LP信号,如需要进一步了解,请参考XILINX官方的应用笔记:xapp894-d-phy-solutions.pdf。这里要注意下时钟线CAM1_CN和CAM1_CP要连接到PL的时钟脚上,并且这些信号尽量要放在同一个BANK内并且脚位靠近,否则容易“踩坑”。
    XILINX的MIPI DPHY需要个200MHz自由运行的时钟在硬件设计时也要考虑加上,输入到PL侧的时钟管脚即可。
    二、软件设计相关
    XILINX提供了MIPI CSI-2 Rx Subsystem的IP核用来实现FPGA接收MIPI CSI摄像头数据,这是一个集成一体化的方案,MIPI CSI-2 Rx Subsystem IP的内部已经包含物理层MIPI D-PHY IP, 不再需要单独例化MIPI D-PHY IP。实际上接收子系统有包含有三个子核,分别为MIPI DPHY、MIPI CSI-2 Controller及Video Format Bridge。注意MIPI CSI-2 Rx Subsystem的IP核在vavido 2020.1之前的版本是需要购买授权才能使用,所以推荐使用vavido2020.1版本或者之后的版本进行MIPI CSI2的开发。
    MIPI CSI摄像头数据输出的RAW10或者RAW8数据,我们只负责采集这些数据,然后发送到上位机进行后续处理,板卡上并没有进行格式处理或者进行显示等操作,所以不需要用到Video Format Bridge。Zynq7010的PS系统带有I2C接口,用来配置摄像头非常方便,但如果接多路摄像头时,由于摄像头是一样,I2C器件地址也是一样的,我们不能把所有摄像头的I2C接口都连接到一起,通过把PS的I2C接口信号布线到PL侧,PL侧在扩展出多路I2C信号分别连接各个摄像头的方法来解决这个问题。
    MIPI CSI-2 Rx Subsystem的IP核的具体配置如下图示:
    12.png
    按上图配置后IP的接口信号及说明如下图示:
    13.png
    注意这里使能了CSI2 Controller Register Interface,可以提供A**线读取IP内部寄存器的状态来进行调试软件和硬件,经常用来调试查看的寄存器有如下:
    1、地址偏移0x0_0000, Core ConfigurationRegister, bit0: Core Enable.
    2、地址偏移0x0_0004, ProtocolConfiguration Register, bit4~3: Number of lanes.
    3、地址偏移0x0_0010, Core StatusRegister,
    Bit31~16acket Count.
    Bit3:Short packet FIFO Full.
    Bit2:Short packet FIFO not empty.
    Bit1:Stream Line buffer Full.
    Bit0:Soft reset/Core disable in progress.
    4、地址偏移0x0_0024,Interrupt Status Register,
    Bit31~16acket Count.
    Bit3:Short packet FIFO Full.
    Bit2:Short packet FIFO not empty.
    Bit1:Stream Line buffer Full.
    Bit0:Soft reset/Core disable in progress.
    5、地址偏移0x0_0030, Generic ShortPacket Register,
    Bit23~8:16-bit short packet data.
    Bit7~6:Virtual channel number.
    Bit5~0:Generic short packet code.
    6、地址偏移0x0_003C, Clock LaneInformation Register,
    Bit1:Stop state on clock lane.
    7、地址偏移0x0_0040/44/48/4C, Lane0/1/2/3 Information Registers,
    Bit5etection of stop state.
    Bit2:Indicates the deskew reception.
    Bit1etection of SoT Error.
    Bit0etection of SoT Synchronization Error.
    8、地址偏移0x0_1000, D-PHY CONTROLRegisters,
    Bit1:Enable bit for D-PHY.
    Bit0:Soft reset for D-PHY Controller.
    9、地址偏移0x0_1018, D-PHY CL_STATUSRegister,
    Bit5:Clock lane control error.
    Bit4:Clock lane is in the Stop state.
    Bit3:Set after the lane has completed initialization.
    Bit2:Set to 1 when the core in ULPS (ULP State) mode.
    Bit1~0:MODE,表示当前处于低功耗(LP)或者高速(HS)或者Escape模式。
    10、地址偏移0x0_101C/20/24/28, Lane0/1/2/3 DL_STATUS Register,
    Bit31~16:Number of packets received on the data lane.
    Bit6ata lane is in the Stop state.
    Bit5:This bit is set after the Data Lane Escape Timeout is elapsed. Write-to-1clears this bit.
    Bit4:Set after the Data Lane High-Speed Timeout is elapsed. Write-to-1 clears thisbit.
    Bit3:Set after the lane has completed initialization.
    Bit2:Set to 1 when the core is in ULPS mode.
    Bit1~0:MODE,表示当前处于低功耗(LP)或者高速(HS)或者Escape模式。
    最后上个我们开发的实物图片:
    14.png
    也是采用核心板加扩展板的形式实现。
    三、参考文档
    3www.xilinx.compg232-mipi-csi2-rx.pdf
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-3 17:49 , Processed in 0.116602 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.