首页
学习
活动
专区
圈层
工具
发布
37 篇文章
1
Linux音频驱动-ASOC(ALSA System on Chip)
2
LPDDR5: A New Clocking Scheme 提高性能
3
FPGA 控制 RGMII 接口 PHY芯片基础
4
DDR3篇第三讲、DDR3读写测试项目分析
5
PHY(Physical Layer,PHY)通俗理
6
MIPI联盟已完成车载的Long-Reach SerDes PHY工业标准 A-PHY v1.0
7
【三】Bluetooth 技术||链路层七种状态与空口报文设计(Core_v5.2)
8
【RL-TCPnet网络教程】第5章 PHY芯片和STM32的MAC基础知识
9
FPGA和USB3.0通信-USB3.0 PHY介绍
10
USB技术浅析
11
优秀的 Verilog/FPGA开源项目介绍(二)-RISC-V
12
优秀的 Verilog/FPGA开源项目介绍(十六)- 数字频率合成器DDS
13
想学习高速ADC/DAC/SDR项目这个项目你不得不理解
14
优秀的 Verilog/FPGA开源项目介绍(九)- DP(增改版)
15
优秀的 Verilog/FPGA开源项目介绍(十三)- I2C
16
高速串行通信常用的编码方式-8b/10b编码/解码
17
SoC设计之PPA
18
SoC设计之功耗--开篇
19
开源SOC的设计与实践
20
SoC设计之功耗 – RTL/netlist功耗计算
21
转置型FIR设计
22
SSD目标检测系统系统结构网络训练
23
P2P接口Booth乘法器设计描述原理代码实现
24
流水线式p2p接口的分析与实现
25
流水线乘加树需求设计规划代码实现
26
分时复用的移位相加乘法器
27
Verilog实现全并行比较算法
28
全并行流水线移位相加乘法器
29
ROM乘法器基本算法单个ROM乘法器分时复用ROM乘法器
30
Flash中XIP模式
31
cordic的FPGA实现(五)、除法实现
32
cordic的FPGA实现(三)、乘法器实现
33
cordic的FPGA实现(三)、sin、cos函数运算与源码分析
34
FPGA卡拉ok系统--Biquad filter
35
音频总线I2S协议
36
脉冲压缩处理
37
虚拟地址(VA,virtual address)到物理地址(PA, ,physical address)的转换
清单首页SoC文章详情

优秀的 Verilog/FPGA开源项目介绍(九)- DP(增改版)

优秀的 Verilog/FPGA开源项目介绍(九)- DP(增改版)

在相量子的建议下修改了一下文章及更改了部分内容,同时增加了新的分享内容。

DP即DisplayPort,是一种高清数字显示接口标准,可以连接电脑和显示器,也可以连接连接电脑和家庭影院。2006年5月视频电子标准协会(VESA)推出了1.0版本。

DP各个接口(来源:知乎)

官网

❝https://vesa.org/❞

VESA 是一家由董事会领导的国际非营利性公司,该公司代表了全球超过 285 家具有投票权的公司成员。

VESA 支持并为 PC、工作站和消费电子行业制定行业范围的接口标准。

VESA 提供了一个论坛来开发、促进和支持显示行业的开放标准。

❝https://www.displayport.org/❞

DP协议简析

在《【科普】HDMI vs DisplayPort vs DVI傻傻分不清楚》中我们简单介绍了DP接口协议,得到以下几点:

1、DP是在HDMI及DVI基础上提出的;

2、DP是基于微报文形式进行数据传输;

3、DP借鉴了以太网、PCIe、USB协议。

从以上几点可以简单推导一下DP协议的特点:

1、DP是一个协议,肯定也是会参考OSI参考模型的,即会采用分层结构,最低层肯定是物理层;

DP标准的文章标题

协议(标准)、总线、接口区别

2、DP的EDID、DDC通道(这里猜测是错误的,后续会纠正)也是必不可少的;

3、DP接口借鉴以太网、PCIe、USB协议,所以时钟信号是可有可无的。

综上,我们在从宏观上看下DP标准:

上图就是分层结构框图,可以看出有两层分层结构:1、Link层;2、PHY(物理层)层。同时,无时钟网络,增加了AUX数据链路(HDMI还有随路时钟,而DP没有采用了,因此物理上多一路数据通道。另外DP多了一路AUX配置通道。)

HDMI TYPE A接口定义

DP接口定义

PS:虽然上述接口都是比较常见的接口,但是标准里并没有强制规定接口类型,例如现在的TYPE-C接口(雷电协议)走的就是DP协议。

连接时序

整个过程和HDMI类似:1、先是检查HPD信号;2、读取EDID(通过AUX通道,不是DDC);3、Link Training(DPCD)(确认链路的参数,如lane的数目、链接速率、电压摆幅、预加重、均衡,还有时钟恢复);

DHCP过程(图片来源:知乎https://zhuanlan.zhihu.com/p/150644951?ivk_sa=1024320u)

4、HDCP-如果传输的内容是受保护的,即需要通过HDCP协议进行沟通;

HDCP过程(图片来源:知乎https://zhuanlan.zhihu.com/p/150644951?ivk_sa=1024320u)

PS:HDMI的时序基本也是这样的,在调试过程中,如果无法显示或者输出,参考上诉流程,确定每个物理信号是否正常。

参考文章

❝https://www.eet-china.com/news/202102250353.html❞

❝https://blog.csdn.net/CSDN1013/article/details/106992157?spm=1001.2101.3001.6650.2&utm_medium=distribute.wap_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-2.wap_blog_relevant_default&depth_1-utm_source=distribute.wap_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-2.wap_blog_relevant_default❞

❝https://blog.csdn.net/qq_22326895/article/details/106127537?spm=1001.2101.3001.6650.2&utm_medium=distribute.wap_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.wap_blog_relevant_default&depth_1-utm_source=distribute.wap_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.wap_blog_relevant_default❞

上面的文章可以参考,作为入门科普是比较好的文章。

VHDL FPGA_DisplayPort

❝https://github.com/hamsternz/FPGA_DisplayPort❞

验证板卡

Digilent Nexys 视频开发板上的 Xilinx Artix-7 FPGA

Nomato Labs Opsis 板上的 Spartan 6 LX45T

状态

在一个、两个或四个 2.70Gb/s 通道上实现 800x600 显示(取决于实际电路板的设计)。它还可以通过双通道接口显示 3840x2160@30Hz YCC 422。还有一个测试源可以显示超过 800x600 的颜色条。

为 Artix-7 和 Spartan-6 LXT FPGA 提供低级收发器模块。这些将需要修改以与特定 FPGA 板的布局一起使用。

优化资源使用- 完成- 通过仅使用一个加扰器 LFSR 并为所有通道使用它来优化资源使用 -完成

项目参考

下面是针对这个项目一些前辈写的文章(相量子提供)

❝https://blog.csdn.net/weixin_36590806/category_10892678.html❞

❝https://blog.csdn.net/m0400220334?t=1❞

VERILOG FPGA_DisplayPort

❝https://github.com/hamsternz/DisplayPort_Verilog❞

上一个项目的Verilog版本,进度上稍微有点不同

上两个项目的部分代码解析(非官方)

❝https://blog.csdn.net/m0400220334?t=1❞

ultra96v2/KV260 imx219_to_displayport

ultra96板卡

KV260板卡

项目地址:

❝https://github.com/gtaylormb/ultra96v2_imx219_to_displayport❞

❝https://github.com/ATaylorCEngFIET/Ultra96V2_DisplayPort/tree/master/display_port❞

❝https://github.com/ATaylorCEngFIET/Ultra96V2_DisplayPort/tree/master/display_port❞

这两个板卡的DP接口都是接在PS端的,所以本项目对于想用FPGA实现的朋友没有什么参考价值,适合只是想体验一下DP接口的朋友。

Genesys_ZU_MIPI_PCAM

❝https://github.com/ATaylorCEngFIET/Genesys_ZU_MIPI_PCAM❞

Genesys_ZU板卡

和上面项目一样。

总结

DP接口的项目很少,主要是有种“吃力不讨好”的感觉,很复杂的协议用FPGA实现没什么太大的意义(目前来看),不仅需要占用GTX的资源,而且目前没有很多的应用场景。将来从3D等领域来看还是很值得推广的,目前官方也有自己的IP。但是目前这种IP就类似SDI这种接口,不适合大众的使用场景,目前还是有很多BUG(使用人少)。

官方GTX接口的DP模板

DP IP

所以这一篇文章只是简单介绍一下两个DP的开源项目,适合学习一下接口协议,最后就分享一下DP 1.4的协议(增加了很多由相量子提供的资料),有兴趣可以去学习。

下一篇
举报
领券