分享一下使用Xilinx FPGA驱动MIPI DSI LCD屏的心路历程

作者分享了使用XilinxFPGA驱动竖屏MIPILCD的详细过程,从官方MIPIDSITXSubsystemIP核的不适用,到DPHYIP的冲突,最终通过手撸代码解决。过程中揭示了Vivado的一些bug和对自定义开发的必要性。
摘要由CSDN通过智能技术生成

作者:Hello,Panda

大家上午好 ,因为最近一年太忙了,公众号几乎没有更新文章,在此深表歉意。前一阵子调试了用Xilinx FPGA驱动MIPI LCD的屏,个中过程一言难尽,分享之,看到的朋友可以避免踩坑。

我的这个屏是竖屏,分辨率是1080*1920,Burst传输模式,Sync和数据之间填充BL包,屏初始化通过LP通信完成,驱动SoC是Xilinx  ZU9EG,MIPI由BANK66引出,同一个BANK有MIPI CSI Sensor的输入和MIPI DSI驱动屏。Vivado才是2023.2.2版本, 点屏的过程经历了三个阶段:

第一阶段:采用Xilinx官方的MIPI DSI TX Subsystem IP核

     酷酷一通折腾,就是点不亮,后经仔细阅读数据手册发现,这个IP不支持LP模式通信,它所谓的DCS模式是通过HS短包发送的,好吧,怪我没仔细阅读手册,但是,几乎所有的MIPI DSI的LCD屏都是需要经LANE-0的LP模式接收初始化命令的,显然,这个IP不具备工程价值。立马换方案。

第二阶段:采用Xilinx的DPHY物理层IP

     我这个人本质是懒的,官方有IP可以用,必须要用上。酷酷一顿折腾,把DSI和控制逻辑实现了,然后调用D-PHY物理层IP,一上电还真好用,不错。然而,问题来了,当把所有的工程合在一起以后,它不亮了。一通排查以后发现,是因为D-PHY IP的init_done信号没拉高,检查IP核输出的跑pll_locked,reset等信号,均正常啊,想进一步往核心排查,结果IP核代码加密,看不了,这个途径也给断了。尝试着把资源屏蔽,当把MIPI CSI接收模块跑屏蔽以后它又可以正常拉高了,娘希匹的当同一个bank同时存在mipi d-phy ip用作csi和dsi时,和dsi对接的D-PHY物理层ip的init_done就拉不高,咱也不知道这里面公用了啥资源,为啥就冲突了。没办法,只能寻求手撸途径。

第三阶段:手撸代码

      没有办法,被逼到绝路了,只能手撸。又是一顿折腾,鸡飞狗跳好几天,手撸了物理层、dsi层和控制逻辑,底层直接用源语搭建,然后就好了,所有的场景都能适用了!简单的点屏效果见本文配图。

在调试过程中还发现Vivado的若干其他bug。

总结心情:MMP,还是得自己动手,这个官方的IP靠不住啊,靠不住!

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
FPGA作为MIPI DSI RX (接收器)具有灵活性和可编程性的优势。 MIPI DSI(Mobile Industry Processor Interface Display Serial Interface)是一种高速串行接口协议,通常用于连接显示模块和显示控制器等设备。FPGA作为MIPI DSI RX可以实现对这一接口的解析和数据处理。 FPGA具有可编程逻辑单元,可以通过编程来实现对MIPI DSI接收端协议的分析、解码和流程控制等一系列功能。FPGA可以配置为特定的MIPI DSI接收器,通过支持的协议标准、数据帧格式等对接收到的MIPI DSI数据进行解析和处理。 此外,FPGA还具备处理并行数据的能力。MIPI DSI数据是通过低电平差分信号进行传输的,并且包含了像素数据、时钟信号和控制信号等多个通道。FPGA可以通过并行处理的方式,同时解析和处理这些信号,实现对MIPI DSI RX的快速响应和高效率处理。 由于FPGA的灵活性和可编程性,可以根据具体需求进行优化和定制。可以通过配置FPGA的逻辑单元和时钟控制等参数,来满足不同MIPI DSI RX设备的要求,同时也可以实现灵活的协议转换、数据处理和流程控制等功能。这使得FPGA作为MIPI DSI RX适用于各种不同的应用场景和设备需求。 总之,FPGA作为MIPI DSI RX可以通过其可编程逻辑单元和并行处理能力,实现对MIPI DSI接口的解析和数据处理,同时还具备灵活性和可定制性等优势,适用于多种应用场景和设备需求。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Hello_Panda_

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值