MIPI DPHY接口(基于Xilinx FPGA实现)案例分析

     大家好,我是“FPGA功夫熊猫”,这次分享一个在Xilinx FPGA实现MIPI DPHY接口的案例(包括CIS协议层)。截止目前为止,Xilinx仅在Ultrascale+及其以上版本的FPGA IO可直接支持MIPI 电平输入,其他的,都需要转换成LVDS来接收。如果家在项目中需要外协开发,可以先收藏本文章后私信作者有问必答。在软件支持上,Xilinx在高版本的Vivado(Vitis)上开放了MIPI DPHY IP,但是这个IP可能用起来有诸多的限制,比如说,不可以动态切换Lane速率、比如说必须是Gated的时钟、比如说所有时钟通道和数据Lane的LP信号都必须接进来占用很多IO等等。所以,在这里分享手动撸代码的途径,根据自己的需求想做成啥样就啥样,哪管它格式千奇百怪,另外给大家分享的是,撸这个代码不用怕,真的很简单,熟练一些的三天就成,不太熟练的也就一个星期,毕竟咱们不需要把协议栈的每个边边角角都整出来,够咱用就可以了。好了,不说废话了,咱们以MIPI DPHY CSI为例预备开始,搭建一个MIPI RX摄像头数据的案例!

一、 硬件上的考虑

之前咱不是介绍过,Xilinx低版本的FPGA上并不能直接支持MIPI DPHY电平标准,因此不能直接就把摄像头接到FPGA的Select IO上,咱得想办法把它变成可以认识的LVDS电平。

1. 速率的考虑

为什么说要考虑速率呢?这里一个是和FPGA内部的资源相关,另外一个是和信号完整性相关。

FPGA内部的资源是怎么个说法呢?因为是要用到Select IO的Iserdes,因此受IO时钟速率的影响,可以布线到IO的最高时钟在7系列器件里面是BUIO,可以达到800MH(Spartan-6的BUFPLL可能低一些,记得好像是600MHz来着的,有需要的可以自行查证),那么就意味着在7系列FPGA上接MIPI进来最大的Lane速率只能到1600Mbps。

另外,信号完整性是怎么一个说法呢?咱们这个毕竟是高速信号,对眼图采样窗口什么很看重的,这方面Xilinx很有经验,它给画了一条线:800Mbps,lane速率低于800Mbps的,可以通过电阻网络

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值