HDMI状态检测——学习笔记
来源:互联网 发布:怎样用手机制作软件 编辑:程序博客网 时间:2024/06/14 19:02
以前没研究过HDMI接口。因业务逻辑需要,被要求检测LCD屏是否连接。趁着这个机会,学习一下HDMI接口的相关知识,同时,对HDMI的状态检测方法总一个整理。
Android系统(4.4以上版本)也提供了一个switch模块用于检测GPIO状态、耳机和HDMI的插拔。某些CPU(比如我们使用的硬件平台是瑞星微的RK3288)的datasheet提供了HDMI热插拔的检测方法。
本文先罗列四种HDMI接口的引脚定义,再分析HDMI热插拔的硬件原理;然后分析使用switch模块检测HDMI状态的方法;最后顺便提一下RK3288的官方HDMI热插拔检测方法。
1.HDMI接口知识
高清晰度多媒体接口(英文:High Definition MultimediaInterface,HDMI)是一种数字化视频/音频接口技术,是适合影像传输的专用型数字化接口,其可同时传送音频和影像信号,最高数据传输速度为18Gbps(2.0版)。
接口定义:
Fig.1接口引脚定义对照表
2.HDMI状态检测的硬件原理
如Fig.2(来自参考文献[1])所示,当插上HDMI接口时,主机会对显示器的DDC(display data channel)提供5V电压;这个电压经18脚、显示器,再从19脚返回主机;三极管Q1导通,使得HPD脚检测到高电平(大于2V),此时,则认为显示器已连接。若HPD脚检测到低电平(小于0.8V)则认为显示未连接。
Fig.2 HPD信号接线图(主机侧)
3.基于switch模块的HDMI状态检测
Android的switch模块是一个用于检测一些开关量(比如耳机插入、USB设备插入)的驱动。默认地,在系统中它包含两部分:switch_class和switch_gpio。前者是作为一个module来实现的,可用于动态加载。后者则是基于switch_class的一个具体的针对gpio的switch设备。源码位置分别是:/drivers/switch/switch_class.c和/drivers/switch/switch_gpio.c。
源码分析请看参考文献[2]。
要实现HDMI的状态检测,则需要仿照switch_gpio.c,写出一个基于switch_class的针对HDMI的驱动。参考文献[3]给出了一个范例。(笔者还没来得及测试和调试。)
4.RK3288的HDMI热插拔检测
RK3288在其官方手册中提供了HDMI的状态检测方法。原文如Fig.3所示。
Fig.3 RK3288 Hot Plug Detection
5.参考文献
[1]http://www.360doc.com/content/13/0125/11/329103_262297514.shtml
[2]http://blog.csdn.net/baimingyong007/article/details/8448547
[3]http://blog.csdn.net/liujun502589075/article/details/38160717
- HDMI状态检测——学习笔记
- 基于linux switch模块的HDMI检测状态驱动
- zynq-7000学习笔记(四)——Zedboard HDMI核的构建和输出显示测试
- zynq-7000学习笔记(四)——Zedboard HDMI核的构建和输出显示测试
- zynq学习笔记——一个简单的HDMI显示例子
- hdmi学习
- HDMI热插拔检测原理
- HDMI热插拔检测原理
- HDMI热插拔检测原理
- HDMI热插拔检测原理
- HTTP学习笔记——状态码
- Android笔记 检测网络状态
- Android drivers/switch驱动详解(用于通过GPIO状态检测耳机、HDMI等的插拔状态)
- 检查网络状态 — 静态检测
- HDMI/DVI设备热插拨检测
- XNA学习笔记——Tile Map的碰撞检测
- 工作学习笔记——GDI泄露检测利器
- OpenCV学习笔记——harris角点检测
- 【已解决】Jsp实现文件上传功能
- BZOJ 1076:[SCOI2008]奖励关
- 相同表结构部分数据差异整体更新
- nginx配置详解
- hadoop学习笔记之初识hadoop hadoop单机版安装
- HDMI状态检测——学习笔记
- imprecise external abort
- 《统计学习方法》学习总结(未完待续)
- 使用面向对象重构之-使用接口抽象完成不同维度的扩展
- qt phonon 制作音乐播放器实现歌词和遮罩功能
- linux练习题
- Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]
- 实现对ListView中的条目进行排序
- 1061. 判断题(15)