DP_AUX辅助通道介绍

  DisplayPort(简称DP)是一个由PC及芯片制造商联盟开发,视频电子标准协会(VESA)标准化的数字式视频接口标准。该接口免认证、免授权金,主要用于视频源与显示器等设备的连接,并也支持携带音频、USB和其他形式的数据。
  eDP ( Embedded DisplayPort )协议是针对DP(Display Port)应用在嵌入式方向架构和协议的拓展,所以eDP协议完全兼容DP协议。eDP多用做平板,笔记本电脑的液晶显示屏的接口。

  DP具有三大基本架构包含影音传输的主要通道(Main Link)、辅助通道(AUX)、与热插拔(HPD)。
Main Link:用来传输各种类型的视频数据和音频数据,Main Link由1~4对差分线构成,这些数据线是单向的,从source指向sink。Main Link具体需要几对数据线,取决于屏幕的分辨率和颜色位数。
AUX:是一条独立双向半双工的传输通道,它也是一对差分信号线。其数据传输速率1Mbps,用来传输配置参数与指令。该通道提供Link Services和Device Services。具体来说它与EDID及DPCD存储器相连,并通过总线方式读写。其中EDID为显示标识数据,用于存储显示器的相关参数。DPCD为DP接口配置数据,与链路管理层相连,用于链路层面的配置。
HPD:该项功能是可选的,实现中断以及链路故障通知。
在这里插入图片描述
在这里插入图片描述

1.AUX硬件电路

  显卡,显示器,部分eDP屏的接口中AUX通道采用这种电路。发送端P端下拉到地,N端上拉到DP_PWR(一般3.3V)。接收端P端上拉到2.5~3.3V,N端下拉到地。
在这里插入图片描述

  实测接收端电容前波形:
在这里插入图片描述

  接收端电容后波形:
在这里插入图片描述

  SoC芯片,大部分eDP屏的接口中AUX通道采用这种电路。传输通道无上下拉。
在这里插入图片描述

  实测接收端波形:
在这里插入图片描述

2. DP AUX状态机

  DP的辅助通道是双向半双工通道。Source源端是主设备(called AUX CH Requester) ,Sink接收端是从设备(called AUX CH Replier) 。
  AUX CH DPTX 状态机如图所示。
在这里插入图片描述
  AUX CH DPRX 状态机如图所示。
在这里插入图片描述
  当源端发送一个请求传输,终端就响应一个回复传输。
  DPTX进入S2状态,处于“Talk Mode”,必须发送Request命令。
  发送Request命令后,DPTX进入S3状态,处于“Listen Mode”,等待DPRX回复命令。回复接收完回到S2状态。如果在400us内没收到回复,也回到S2状态。
  DPRX进入D1状态,处于“Listen Mode”,必须等待一个Request命令。
  接收到Request命令后,DPRX进入D2状态,处于“Talk Mode”,发送回复命令,回复完成后回到D1状态。此外必须在300us内发送回复,如果超时也回到D1状态。

3. AUX传输原理和波形

  DP AUX通道采用mancheter II编码传输。
在这里插入图片描述

  如图,mancheter II编码内含一个自建时钟,用两位表示一位,比如‘10’(由高到低)表示1,‘01’(由低到高)表示0。
在这里插入图片描述

  AUX传输分为4个阶段:
(1)预充电:以曼彻斯特II码连续传输10到16个0
(2) AUX SYNC:以曼彻斯特II码连续传输16个0,然后进入SYNC END,连续传输2位高电平和2位低电平(实测AUX_CH_n端波形是AUX_CH_p端波形相反)
(3) 发送数据:发送的数据量是字节8bit的整数倍
(4) AUX STOP:连续传输2位高电平和2位低电平,在STOP后立即释放AUX CH
  需要注意的是SYNC END和SYNC STOP是连续两个高电平,两个低电平,这在Manchester II code里是非法的,接收端必须能识别出来。
  AUX交互过程,每次传输都是先由Source端先按上述4个阶段发送命令,地址或数据,然后再由Sink端按上述4个阶段发送响应或数据。

4.AUX传输命令

  从Source端发起的事务称为请求事务,从Sink端返回的事务称为回复事务。所有事务必须发送”AUX SYNC”命令为开头,以’AUX STOP’命令作为结束。
  传输时,一个4-bits命令COMM3:0先发送,接着发送一个20位的地址ADDR19:0,DisplayPort 功能、状态和控制功能直接映射到 20 位地址空间。在命令和地址传输之后,必须传输数据字节,支持burst模式,最大为16bytes。
在这里插入图片描述
  传输类型主要分两种,一种是Native AUX传输,另一种是I2C-over-AUX传输。由发请求事务时COMM3:0的bit3决定。

4.1命令COMM3:0定义

(1)请求事务定义:
• bit 3 = Native AUX or I2C_over_AUX
 • 0= I2C_over_AUX
 • 1= Native AUX
• bits2:0 = 请求类型
 • 000 写
 • 001 读
(2)回复事务定义:
• bits1:0
 • 00 = AUX_ACK
  •对写事务而言,所有数据字节已经写入
  •对读事务而言,接下来准备回复读请求。当并非所有字节都可用时,DPRX可以在发送请求的数据字节总数发送‘STOP’。
 • 01=AUX_NACK
  •对写事务而言,
    •AUX NACK 后面必须跟一个数据字节“M”,其中“M”表示成功写入的数据字节数。
    •当 DPTX 正在写入 DPRX 不支持的 DPCD 地址时,DPRX 应回复 AUX NACK ,并且“M”等于 0。
  •对读事务而言,
    •DPRX 接收到对不受支持的 DPCD 的AUX 读取请求地址时,必须回复 AUX
ACK 并且数据设为零,而不是回复 AUX NACK
 • 10=AUX_DEFER
  •未准备好写入/读取回复, DPTX 可以稍后重试。
 •11 = reserved

4.2 Native AUX 请求传输规则

在这里插入图片描述
写请求示例波形
在这里插入图片描述
读请求示例波形
在这里插入图片描述
(1)写请求事务
  对于写入事务 (COMM3:0 = 1000),请求事务的字节数 = LEN7:0+1,写完数据后即‘STOP’
(2)读请求事务
  对于读取事务 (COMM3:0 = 1001),在LEN7:0后立即‘STOP’

4.3 Native AUX 回复传输规则

在这里插入图片描述
写回复示例波形
在这里插入图片描述
读回复示例波形
在这里插入图片描述
(1)对写请求的回复事务必须以下列三个条件之一结束:
(a)DPRX 已收到写入请求,并已完成写入。 DPRX必须回复AUX _ACK
在这里插入图片描述
(b)DPRX 已收到写入请求,但尚未完成写入。 DPRX必须回复 AUX_NACK,然后,写入的数量字节 M 作为 DATA0_7:0。
在这里插入图片描述
(c)DPRX 已收到写入请求,但尚未准备好接收写入请求。DPRX必须回复 AUX_DEFER。
在这里插入图片描述

(2)对读取请求的回复事务必须以以下四个条件之一结束:
(a)DPRX已收到读取请求,但尚未准备好回复读取的数据。 必须通过发送 AUX DEFER 作为第一个 COMM3:0 来结束事务。
在这里插入图片描述
(b)DPRX已收到读取请求并准备就绪。 必须通过发送 AUX_ ACK 作为第一个命令来回复,发回请求的字节数.
在这里插入图片描述
(c)DPRX接收到一个读取请求,并且已准备好一些(M + 1 个字节)但不是全部请求的数据字节。 必须通过发送 AUX_ACK 作为第一个命令来回复,发回可以回复的字节数
在这里插入图片描述
(d)DPRX已收到 N 个字节的读取请求并准备就绪。 必须以 AUX _ACK 作为第一个命令进行回复,发回请求的字节数。
在这里插入图片描述

4.4 I2C-over-AUX传输

  发请求事务时COMM3:0的bit3为0,则表示该请求是I2C-over-AUX传输。其他bit定义如下图。
在这里插入图片描述

  DP协议上规定了I2C-over-AUX传输的命令,这个指令相对比较灵活的。因为I2C传输过程较长,会涉及多个字节传输。DP协议中提供了一些传输示例,如下图所示。
在这里插入图片描述

  因此在COMM3:0中会有bit2(MOT bit)指示是否在I2C传输过程中。bit2为1表示在I2C传输过程中,如果是最后一个字节传输结束,bit2需为0。
  I2C-over-AUX传输命令仍是COMM3:0表示,只是紧跟的4bit固定为0,不再是地址的一部分。I2C传输的地址是16bit。I2C回复与Native AUX回复类似,但请求命令COMM3:0种类更多,以下是常见的几种。
(1)COMM3:0 = 0100(十进制4),I2C写,MOT bit为1,请求中带length
在这里插入图片描述

(2)COMM3:0 = 0100(十进制4),I2C写,MOT bit为1,请求中无length
在这里插入图片描述

(3)COMM3:0 = 0101(十进制5),I2C读,MOT bit为1,请求中带length
在这里插入图片描述

(4)COMM3:0 = 0101(十进制5),I2C读,MOT bit为1,请求中无length
在这里插入图片描述

(5)COMM3:0 = 0001(十进制1),I2C读,MOT bit为0,请求中无length
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/76244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[GESP202312 五级] 平均分配

文章目录 题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 输入输出样例 #2输入 #2输出 #2 提交链接提示解析参考代码 题目描述 小杨认为,所有大于等于 a a a 的完全平方数都是他的超级幸运数。 小杨还认为,所有超级幸运数的倍数都是他的幸运…

[Mysql]buffersize修改

1、找到my.cnf文件位置 ps -ef|grep mysqld 2、编辑my.cnf cd /etc/my.cnf.d vim my.cnf 一般修改为内存的50%~70% 3、重启服务 systemctl restart mysqld

清晰易懂的 Apollo 配置中心安装与使用教程

Apollo 是携程开源的分布式配置管理平台,支持配置实时推送、版本管理、权限控制等功能。本教程将手把手教你完成 Apollo 核心组件安装、基础配置管理及避坑指南,助你快速掌握企业级配置管理能力。 一、环境准备(关键依赖) 1. 基础…

PyTorch池化层详解:原理、实现与示例

池化层(Pooling Layer)是卷积神经网络中的重要组成部分,主要用于降低特征图的空间维度、减少计算量并增强模型的平移不变性。本文将通过PyTorch代码演示池化层的实现原理,并详细讲解最大池化、平均池化、填充(Padding&…

如何构建并优化提示词?

提示词是一个小白最容易上手大模型的方式,提示词就是你告诉大模型应该如何去完成一项工作的系统性的命令,所以写一个好的提示词是比较关键的,那么如何写好一个提示词呢? 要写好提示词,其实就像我们要把一些命令清晰地传…

面向大模型的开发框架LangChain

这篇文章会带给你 如何使用 LangChain:一套在大模型能力上封装的工具框架如何用几行代码实现一个复杂的 AI 应用面向大模型的流程开发的过程抽象 文章目录 这篇文章会带给你写在前面LangChain 的核心组件文档(以 Python 版为例)模型 I/O 封装…

【蓝桥杯】动态规划:线性动态规划

1. 最长上升子序列(LIS) 1.1. 题目 想象你有一排数字,比如:3, 1, 2, 1, 8, 5, 6 你要从中挑出一些数字,这些数字要满足两个条件: 你挑的数字的顺序要和原来序列中的顺序一致(不能打乱顺序) 你挑的数字要一个比一个大(严格递增) 问:最多能挑出多少个这样的数字? …

vue2和vue3的主要区别

一、性能优化与响应式系统 性能优化: Vue2:性能较好,但在大型应用中,当数据变化频繁时可能出现性能瓶颈。它使用虚拟DOM来高效地进行DOM操作,并通过多种技术手段如懒加载、异步组件、树形抖动等优化性能。 Vue3&…

Python: 实现数据可视化分析系统

后端基于Python 开源的 Web 框架 Flask,前端页面采用 LayUI 框架以及 Echarts 图表,数据库为sqlite。系统的功能模块分为数据采集和存储模块、数据处理和分析模块、可视化展示模块和系统管理模块。情感分析方面使用LDA等主题建模技术,结合领域…

深度学习总结(3)

数据批量的概念 通常来说,深度学习中所有数据张量的第一个轴(也就是轴0,因为索引从0开始)都是样本轴[samples axis,有时也叫样本维度(samples dimension)​]​。深度学习模型不会一次性处理整个…

微软庆祝它成立整整50周年

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【操作系统(Linux)】——通过案例学习父子进程的线程异步性

本篇旨在通过几个案例来学习父子进程的线程异步性 一、父进程与子进程 我们将要做的&#xff1a; 创建父子进程&#xff0c;观察父子进程执行的顺序&#xff0c;了解进程执行的异步行为 源代码&#xff1a; #include <stdio.h> #include <sys/types.h> #include…

系统性能核心指标:QPS、TPS、RT、并发量详解

系统性能核心指标&#xff1a;QPS、TPS、RT、并发量详解 1. 引言 在分布式系统、高并发架构设计中&#xff0c;QPS、TPS、RT、并发量 等指标是衡量系统性能的关键。本文深入解析这些术语的定义、计算方法、关联性及优化策略&#xff0c;帮助开发者更好地进行系统性能评估与调…

PortswiggerLab:Exploiting a mass assignment vulnerability

实验目标 To solve the lab, find and exploit a mass assignment vulnerability to buy a Lightweight l33t Leather Jacket. You can log in to your own account using the following credentials: wiener:peter. 官方WP In Burps browser, log in to the application using…

卡尔曼滤波器的工作原理

原文: https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/ 1 概述 你可以对某个动态系统有不确定信息的任何地方使用卡尔曼滤波器&#xff0c;并且对系统下一步的状态做出有根据的猜测。即使出现混乱的现实状态&#xff0c;卡尔曼滤波器都会给出一个合理的结果。…

PDFtk

如果下载的pdf文件有秘钥的话&#xff0c;使用下面linux命令去掉秘钥&#xff1a; pdftk 纳税记录.pdf input_pw 261021 output 纳税记录_output.pdf将多个单页pdf合并为一个pdf的linux命令: pdftk 自然人电子税务局1.pdf 自然人电子税务局2.pdf 自然人电子税务局3.pdf 自然人…

Openlayers:海量图形渲染之WebGL渲染

最近由于在工作中涉及到了海量图形渲染的问题&#xff0c;因此我开始研究相关的解决方案。我在网络上寻找相关的解决方案时发现许多的文章都提到利用Openlayers中的WebGLPointsLayer类&#xff0c;可以实现渲染海量的点&#xff0c;之后我又了解到利用WebGLVectorLayer类可以渲…

替换jeecg图标

替换jeecg图标 ant-design-vue-jeecg/src/components/tools/Logo.vue <!-- <img v-else src"~/assets/logo.svg" alt"logo">-->

Codeforces Round 970 (Div. 3)题解

题目地址 https://codeforces.com/contest/2008 锐评 本次D3的前四题还是比较简单的&#xff0c;没啥难度区分&#xff0c;基本上差不多&#xff0c;属于手速题。E的码量比F大一些&#xff0c;实现略显复杂一些。G的数学思维较明显&#xff0c;如果很久没有训练这个知识点&a…

操作系统:线程间同步之事件集

事件集是线程间同步的机制之一&#xff0c;一个事件集可以包含多个事件&#xff0c;利用事件集可以完成一对多、多对多的线程间同步。 目录 一、事件集举例说明 二、事件集工作机制 三、RT-Thread为实例说明 四、事件集的应用场合 一、事件集举例说明 以坐公交车为例&…