作者:Hello,Panda
大家晚上好,熊猫君又来了。
今天要分享的是一个简单的MIPI到LVDS(DVP)接口转换的案例。目的就是要把低成本FPGA的应用潜力充分利用起来。
一、应用背景
这个案例的应用背景是:现在还在最广泛使用的FPGA,比如Xilinx 7系列器件,它不能直接支持MIPI IO电平输入,为了解决这个问题,之前有两种方案:
第一种:使用电平转换芯片,比如MC20901来实现MIPI到LVDS的转换,这种转换到FPGA以后使用BUFIO+BUFG的架构来解串,最高可以做到1.6Gbps的LANE速率。但是缺点是成本太高,即使是量产也是大几十块钱一颗;
第二种:使用电阻网络来匹配MIPI电平,这种方案简单便宜,但是速率受限,最高只能到达800Mbps的Lane速率;
第三种:使用Lattice Crosslink CPLD来桥接,Crosslink CPLD的BGA封装尺寸小,NVCM编程只支持有限次(一次性OPT)更新,价格上也比较高。
综合以上三种方案的优缺点,熊猫君提出了使用高云小蜜蜂FPGA GW1N-2(QFN48封装)来实现MIPI到LVDS(或DVP)的桥接。可以充分利用到比如AMD(Xilinx)7系列FPGA(ZYNQ-7000和Artix-7、Kintex-7部分型号)的成本优势来兼容很多应用场景。
二、小蜜蜂GW1N-2参数
从下图可以看到,GW1N器件QN48H封装的可以支持4-lanes MIPI D-PHY接收,最高速率可以到2.0Gbps,输出最多有8对真LVDS差分对,可用IO有31个,因此就可以很容易实现MIPI到LVDS的转换或到DVP的转换。因受LVDS最高速率1.2Gbps的限制,MIPI输入速率低于1.2Gbps的可以直接由4-lanes MIPI D-PHY桥接为4-lanes LVDS;输入MIPI速率高于1.2Gbps的,可以桥接为8-lanes的LVDS。当然,DVP的支持会更加简单一些。
因小蜜蜂GW1N内部集成了配置NOR Flash,因此只需要单片方案即可。同样的,也可以通过SLAVE SPI接口,由主控FPGA或SoC对其进行动态配置或更新。和性能较高的MC20901相比较,使用高云小蜜蜂GW1N方案具有更高的灵活性和更低的成本优势。
三、电路设计
硬件原理图如下,设计为4-lanes 2.0Gbps MIPI D-PHY桥8-lanes 1.0Gbps LVDS的架构、晶振采用外部24MHz以提高精度、预留SSPI动态更新小蜜蜂固件接口。在量产时,JTAG调试接口可以不引出,直接用作普通的GPIO即可。
四、软件设计
软件设计比较灵活,可以将输入的MIPI桥接为多种形式的LVDS输出或DVP输出,这里好做统一描述,用户可根据实际情况来确定具体的软件方案。
今天的分享到此结束,圈友们有好想法、好思路的,欢迎和熊猫君一起讨论、实现,谢谢大家。