From dbe2ed430a7b2cda5428ab12d45e6d6639fbfc8f Mon Sep 17 00:00:00 2001 From: liyan Date: Sat, 26 Mar 2022 11:21:42 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=86=85=E6=BA=90=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=881037=EF=BC=89=E5=8F=8A=E5=88=87=E7=BA=AF?= =?UTF-8?q?=E5=87=80=E7=89=88=20Signed-off-by:=20li-yan339=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../driver/driver-platform-hdmi-des.md | 64 ++++++------------- 1 file changed, 20 insertions(+), 44 deletions(-) diff --git a/zh-cn/device-dev/driver/driver-platform-hdmi-des.md b/zh-cn/device-dev/driver/driver-platform-hdmi-des.md index 4d4809dd8b..4cb257f91a 100755 --- a/zh-cn/device-dev/driver/driver-platform-hdmi-des.md +++ b/zh-cn/device-dev/driver/driver-platform-hdmi-des.md @@ -1,21 +1,11 @@ -# HDMI +# HDMI -- [概述](#section1) - - [功能简介](#section2) - - [基本概念](#section3) - - [运作机制](#section4) - - [约束与限制](#section5) -- [使用指导](#section6) - - [场景介绍](#section7) - - [接口说明](#section8) - - [开发步骤](#section9) - - [使用实例](#section10) -## 概述 +## 概述 -### 功能简介 +### 功能简介 -- HDMI(High-Definition Multiface Interface),即高清多媒体接口,主要用于DVD、机顶盒等音视频Source到TV、显示器等Sink设备的传输。 +- HDMI(High Definition Multimedia Interface),即高清多媒体接口,主要用于DVD、机顶盒等音视频Source到TV、显示器等Sink设备的传输。 - HDMI以主从方式工作,通常有一个Source端和一个Sink端。 - HDMI接口定义了完成HDMI传输的通用方法集合,包括: @@ -25,9 +15,9 @@ - HDMI读取EDID:读取Sink端原始的EDID数据 - HDMI热插拔:注册/注销热插拔回调函数 -### 基本概念 +### 基本概念> -HDMI(High-Definition Multiface Interface)是Hitachi、Panasonic、Philips、SiliconImage、Sony、Thomson、Toshiba共同发布的一款音视频传输协议。传输过程遵循TMDS(Transition Minimized Differential Signaling)协议。 +HDMI是Hitachi、Panasonic、Philips、Silicon Image、Sony、Thomson、Toshiba共同发布的一款音视频传输协议。传输过程遵循TMDS(Transition Minimized Differential Signaling)协议。 - TMDS(Transition Minimized Differential signal):过渡调制差分信号,也被称为最小化传输差分信号,用于发送音频、视频及各种辅助数据。 - DDC(Display Data Channel):显示数据通道,发送端与接收端可利用DDC通道得知彼此的发送与接收能力,但HDMI仅需单向获知接收端(显示器)的能力。 @@ -36,29 +26,30 @@ HDMI(High-Definition Multiface Interface)是Hitachi、Panasonic、Philips、 - HDCP(High-bandwidth Digital Content Protection):即高带宽数字内容保护技术,当用户对高清晰信号进行非法复制时,该技术会进行干扰,降低复制出来的影像的质量,从而对内容进行保护。 - EDID(Extended Display Identification Data):扩展显示标识数据, 通常存储在显示器的固件中,标识供应商信息、EDID版本信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串。 -### 运作机制 +### 运作机制 HDMI的Source端提供+5V和GND,用于DDC和CEC通信。通过DDC通道,Source端可以读取Sink端的各项参数,如接受能力等;CEC为可选通道,用于同步Source端与Sink端的控制信号,改善用户体验。TMDS通道有四组差分信号,TMDS Clock Channel为TMDS提供时钟信号,其余三组传输音视频数据及各种辅助数据;HDP为热插拔检测端口,当有Sink端接入时,Source端会通过中断服务程序进行响应。 -HDMI物理连接如[图1](#fig1)所示: -**图 1** HDMI物理连线示意图 +HDMI物理连接如图1所示: + +**图 1** HDMI物理连线示意图 + ![](figures/HDMI物理连线示意图.png "HDMI物理连线示意图") -### 约束与限制 +### 约束与限制 HDMI模块当前仅支持轻量和小型系统内核(LiteOS) 。 -## 使用指导 +## 使用指导 -### 场景介绍 +### 场景介绍 HDMI具有体积小,传输速率高,传输带宽宽,兼容性好,能同时传输无压缩音视频信号等优点。与传统的全模拟接口相比,HDMI不但增加了设备间接线的便捷性,还提供了一些HDMI特有的智能化功能,可用于小体积设备进行高质量音视频传输的场景。 -### 接口说明 +### 接口说明 **表 1** HDMI驱动API接口功能介绍 - | 接口名 | 描述 | | ----------------------------- | -------------------------- | @@ -76,11 +67,12 @@ HDMI具有体积小,传输速率高,传输带宽宽,兼容性好,能同 | HdmiRegisterHpdCallbackFunc | 注册HDMI热插拔检测回调函数 | | HdmiUnregisterHpdCallbackFunc | 注销HDMI热插拔检测回调函数 | -### 开发步骤 +### 开发步骤 -使用HDMI设备的一般流程如[图2](#fig2)所示。 +使用HDMI设备的一般流程如图2所示。 -**图 2** HDMI设备使用流程图 +**图 2** HDMI设备使用流程图 + ![](figures/HDMI使用流程图.png "HDMI使用流程图") #### 打开HDMI控制器 @@ -93,8 +85,6 @@ DevHandle HdmiOpen(int16_t number); **表 2** HdmiOpen参数和返回值描述 - - | 参数 | 参数描述 | | ---------- | -------------------- | | number | HDMI控制器号 | @@ -123,8 +113,6 @@ int32_t HdmiRegisterHpdCallbackFunc(DevHandle handle, struct HdmiHpdCallbackInfo **表 3** HdmiRegisterHpdCallbackFunc参数和返回值描述 - - | 参数 | 参数描述 | | ---------- | ------------------ | | handle | HDMI控制器句柄 | @@ -172,8 +160,6 @@ int32_t HdmiReadSinkEdid(DevHandle handle, uint8_t *buffer, uint32_t len); **表 4** HdmiReadSinkEdid参数和返回值描述 - - | 参数 | 参数描述 | | ---------- | ---------------------- | | handle | HDMI控制器句柄 | @@ -203,7 +189,6 @@ int32_t HdmiSetAudioAttribute(DevHandle handle, struct HdmiAudioAttr *attr); **表 5** HdmiSetAudioAttribute参数和返回值描述 - | 参数 | 参数描述 | | ------ | -------------- | @@ -238,7 +223,6 @@ int32_t HdmiSetVideoAttribute(DevHandle handle, struct HdmiVideoAttr *attr); **表 6** HdmiSetVideoAttribute参数和返回值描述 - | 参数 | 参数描述 | | ---------- | -------------- | @@ -272,7 +256,6 @@ int32_t HdmiSetHdrAttribute(DevHandle handle, struct HdmiHdrAttr *attr); **表 7** HdmiSetHdrAttribute参数和返回值描述 - | 参数 | 参数描述 | | ---------- | -------------- | @@ -307,7 +290,6 @@ int32_t HdmiAvmuteSet(DevHandle handle, bool enable); **表 8** HdmiAvmuteSet参数和返回值描述 - | 参数 | 参数描述 | | ---------- | ----------------- | @@ -336,7 +318,6 @@ int32_t HdmiDeepColorSet(DevHandle handle, enum HdmiDeepColor color); **表 9** HdmiDeepColorSet参数和返回值描述 - | 参数 | 参数描述 | | ---------- | -------------- | @@ -365,7 +346,6 @@ int32_t HdmiDeepColorGet(DevHandle handle, enum HdmiDeepColor *color); **表 10** HdmiDeepColorGet参数和返回值描述 - | 参数 | 参数描述 | | ---------- | -------------- | @@ -395,7 +375,6 @@ int32_t HdmiStart(DevHandle handle); **表 11** HdmiStart参数和返回值描述 - | 参数 | 参数描述 | | ---------- | -------------- | @@ -423,7 +402,6 @@ int32_t HdmiStop(DevHandle handle); **表 12** HdmiStop参数和返回值描述 - | 参数 | 参数描述 | | ---------- | -------------- | @@ -451,7 +429,6 @@ int32_t HdmiUnregisterHpdCallbackFunc(DevHandle handle); **表 13** HdmiUnregisterHpdCallbackFunc参数和返回值描述 - | 参数 | 参数描述 | | ---------- | -------------- | @@ -479,7 +456,6 @@ void HdmiClose(DevHandle handle); **表 14** HdmiClose参数和返回值描述 - | 参数 | 参数描述 | | ---------- | -------------- | @@ -491,7 +467,7 @@ void HdmiClose(DevHandle handle); HdmiClose(hdmiHandle); ``` -### 使用实例 +### 使用实例 本例程以操作开发板上的HDMI设备为例,详细展示HDMI接口的完整使用流程。 -- GitLab