重磅:FPGA实现MIPI DSI4线720P
1. 液晶屏概述
显示屏LCD MIPI DSI4 lane,支持分辨率720*1280,60HZ彩色显示。用于对接国产GOWIN的NR-9C的开发板和LATTICE的CROSSLINK开发板,显示MIPI DSI 功能。
MIPI DSI是4-LANE,MIPI速率在480MHZ。支持LP模式初始化和HS模式显示数据发送。
屏是5寸,支持DSI SYNC EVENTS模式数据发送。
源码设计。
2. DSI时序说明
在液晶屏控制IC中有DSI timing的说明, 对于SYNC EVENT模式中,在消隐的阶段是VS和HS单个数据内容,直接可以是VSS,HSS单个数据,用BLLP填充之间空隙。在显示数据阶段,完全是HS模式数据内容,必须要HSS和HBP和HACT,HFP组成的数据内容。
有些液晶屏是可以用LP模式取代HBP和HFP,要注意阅读是否可以,而下图IC,是不能用LP模式替代。所以精确控制时序。发送HBP和HFP的内容。
发送BLANKING Pcaket 长包内容,内容中间填充0模式。要注意的是MIPI包是4个字接头加上长度内容,还有两个字节的校验码。所以对于32位,会出现数据对不齐的情况,要调整连接数据顺序
3. NR9-C操作流程
1) 断电,对接好开发板,对准长的排针区域,保持引脚一致性。如下图所示,连接好显示屏。
2)设定NR-9的VIO2电压为1.2V
下载代码
3)测试按键切换图案。选择K2按键切换测试图案
4. CROSSLINK操作流程
1) 断电,对接好开发板,对准短的排针区域,保持引脚一致性。如下图所示,连接好显示屏。连接好下载器的线缆,不需要额外电源连接。打开电源
2) 下载代码。
3)测试按键切换图案。选择K1按键切换测试图案
5. 资料文档
包含NR-9C和Crosslink MIPI DSI驱动代码,从HS模式到LP模式。以及LP模式初始化过程。HS数据发送。
6.代码结构
video_720x1280timing 生成720P的时序图内容。
video_convert_dsi 从video clk的时钟转换成mipi的 byte clk的时钟数据内容。用fifo操作。
dsi_hs_packet 用于填充HS模式的HBP和HFP的数据内容。
dsi_hs_phy用于LP和HS切换功能,并且增加HS时序和SOT,EOT内容。
dsi_lp_send 用于LP模式的数据发送和LP和HS的切换,LP的内容。
lcd_lpset用于LCD的LP模式数据读取,以及处理PWEN和RST复位信号。
7. 显示效果
重磅:FPGA实现MIPI DSI4线720P的更多相关文章
- MIPI CSI-2
目录 1 MIPI简介 2 MIPI CSI-2简介 2.1 MIPI CSI-2 的层次结构 2.2 CSI-2协议层 2.3 打包/解包层 2.4 LLP(Low Level Protocol)层 ...
- FPGA与simulink联合实时环路系列—开篇
FPGA与simulink联合实时环路系列—开篇 作为网络上第一个开源此技术,笔者迫不及待地想将此技术分享出来,希望大家多多支持.笔者从2011年接触FPGA以来,从各个方面使用FPGA,无论是控制. ...
- FPGA时序约束——理论篇
在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布 ...
- FPGA的时钟质量对设计的影响
小梅哥编写,未经许可严禁用于任何商业用途 近期,一直在调试使用Verilog编写的以太网发送摄像头数据到电脑的工程(以下简称以太网图传).该工程基于今年设计的一款FPGA教学板AC620.AC620上 ...
- FPGA基础学习(4) -- 时序约束(理论篇)
在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布 ...
- 如何为应用选择最佳的FPGA(上)
如何为应用选择最佳的FPGA(上) How To Select The Best FPGA For Your Application 在项目规划阶段,为任何一个项目选择一个FPGA部件是最关键的决策之 ...
- MIPI-Layout说明(转载)
转载于:http://www.ccm99.com/thread-3713-1-1.html 前言:随着新的总线协议不断提高信号速率,如今的PCB 设计人员需要充分理解高速布线的要求并控制PCB 走线的 ...
- 2017-9-17-MDIO信号线串联小电阻作用【转】
今天做集成测试的时候被领导说测到的MDIO信号过冲较大(正反向过冲都很大),容易损坏接口或阻容,万一那个电容耐压值不够就挂了. 我原本是不屑的,私以为MDIO.IIC.SPI等只要抓到的波形不影响判决 ...
- 友晶Altera Cyclone V GX Starter Kit开发板使用ADC-第一篇
1. 拿到板子在,做工很好,属于GX系列,GX应该是高速收发器 2. 去探究下GX是什么用途,大约有6个型号,这个板子是5CGXFX5,有77 LE逻辑单元,这个收发器不知道是什么?6个 3.125G ...
- 2020秋招嵌入式面经——地平线、小米、CVTE、大华、绿米
地平线提前批 一面凉: 投递简历过程:官网投递9月份之前投的都是提前批,投了北京.上海.南京地区的嵌入式软件研发岗,北京和上海的都被筛掉了,南京的捞了我,hr小姐姐打电话邀约面试. 一面凉: 电话面试 ...
随机推荐
- arch安装xfce4的时候,出现无法设置开机启动的问题
sudo systemctl enable lightdm Failed to enable unit: File /etc/systemd/system/display-manager.serv ...
- VT-X的学习历程(一)
学习的目标 就是如何实现一个简单VT框架并拦截指令的调用以及EPTHOOK的实现. 大概的流程 检测是否允许开启VT. a. 我们可以从白皮书的24.6 DISCOVERING SUPPORT FOR ...
- 开源K线图辅助线编辑工具模块
基本就像使用photoshop一样,同一DC上应用叠加图像. 辅助线模块,提供浮动工具条,以及两层Layer,附加在DC上,交互处理DC对应窗口区域的鼠标事件,时间轴价格轴与x轴y轴坐标转换. XW全 ...
- eclipse插件FindBugs使用笔记
FindBugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.Findbugs自带检测器,其中有60余种Bad practice,80余种Correct ...
- lazy-nvim插件管理器基础入门
一篇通过使用lazy.nvim进行nvim插件管理的入门笔记. 基础安装 init.lua 路径:stdpath("config")/init.lua stdpath(" ...
- ItemTouchHelper 实现交互动画
目录介绍 01.拖拽需要实现功能 02.几个重要的方法说明 03.简单实现思路 04.拖拽效果上优化 05.完整代码展示 好消息 博客笔记大汇总[16年3月到至今],包括Java基础及深入知识点,An ...
- 记录--实现一个鼠标框选的功能,要怎么实现和设计 api?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 前两年在一家做电商的公司做了一个需求:鼠标框选商品卡片,开始拖拽的时候合成一个然后改变位置,页面上有几千个所以还要结合虚拟列表.当时 ...
- hdfs中acl权限管理的简单实用
1.背景 在我们开发的过程中有这么一种场景, /projectA 目录是 hadoopdeploy用户创建的,他对这个目录有wrx权限,同时这个目录属于supergroup,在这个组中的用户也具有这个 ...
- 使用systemd部署r-nacos
1. 前言 r-nacos是一个用rust实现的nacos服务.相较于java nacos来说,是一个提供相同功能,启动更快.占用系统资源更小(初始内存小于10M).性能更高.运行更稳定的服务. r- ...
- KingbaseES date 数据类型的两种格式
关于date 数据类型,Oracle 与 PostgreSQL 格式是不同的,Oracle 是 日期 + 时间的类型,而PG 则只有日期.KingbaseES Oracle 模式则同时实现了二者类型, ...