[发明专利]一种动态识别和配置外接显示器的方法有效
申请号: | 201110185222.1 | 申请日: | 2011-07-05 |
公开(公告)号: | CN102455886A | 公开(公告)日: | 2012-05-16 |
发明(设计)人: | 张伟 | 申请(专利权)人: | 中标软件有限公司 |
主分类号: | G06F3/14 | 分类号: | G06F3/14 |
代理公司: | 北京汇智英财专利代理事务所 11301 | 代理人: | 郑玉洁 |
地址: | 200030 上海市番*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 识别 配置 外接 显示器 方法 | ||
技术领域
本发明涉及显示器热插拔技术领域,尤其是一种通过定时获取显示器的EDID数据来动态识别和配置外接显示器的方法。
背景技术
显示器热插拔检测HPD(Hot Plugging Detect),是从显示器输出送往计算机主机的一个检测信号。热插拔检测的作用是当数字显示器通过HDMI/DVI(High Definition Multimedia Interface/Digital Visual Interface,高清晰度多媒体接口/数字视频接口)接口与计算机主机相连或断开连接时,计算机主机能够通过HDMI/DVI的HPD引脚检测出这一事件,并做出响应。
但是,早期的显示接口VGA(Video Graphics Array,视频图形阵列)由于硬件结构中没有设计热插拔引脚,无法主动发送HPD信号到主机,导致主机无法获知一个VGA显示器的连接与断开,从而不能调整相应的显卡工作模式符合当前显示器的最佳规格,导致新的显示器连接后,显示器显示的分辨率仍旧是先前显示器的输出格式,或者超出当前显示器的输出范围,显示器黑屏不工作。
因此,目前的操作系统Windows、Linux等,至多只能在系统启动时,检测当前是否已经连接显示器,在进入系统之后,都无法对VGA显示器进行动态热插拔检测。
发明内容
为了解决上述问题,实现VGA显示器的热插拔技术,本发明提出了一种通过定时获取显示器的EDID数据来动态识别和配置外接显示器的方法,该方法通过定时获取显示器的EDID(Extended Display Identification Data,扩展显示标识数据)数据,实现主动探测显示器的功能,在发现显示器被更换后,能够获取新插入的显示器的EDID数据,并根据此数据进行显卡工作模式的重新设定,从而解决无法对VGA显示器进行动态热插拔检测的问题。
为了实现上述目的,本发明所采用的技术方案是:一种动态识别和配置外接显示器的方法,包括以下步骤:
步骤一:打开一个I2C(Inter-Integrated Circuit)设备,根据该I2C设备的对象句柄,通过SMBUS(SYSTEM MANAGEMENT BUS)总线获取该I2C设备的EDID(Extended Display Identification Data,扩展显示标识数据)数据,如果获取EDID数据成功,则转步骤二;如果获取EDID数据失败,则关闭该I2C设备,转步骤一打开下一个I2C设备;
步骤二:对获取的该EDID数据进行有效性检测,如果该EDID数据有效,则缓存一组该I2C设备有效的EDID数据和该I2C设备的对象句柄,转步骤三;如果该EDID数据无效,则转步骤一打开下一个I2C设备;
步骤三:间隔一定时间,使用之前保存的I2C设备的对象句柄再次通过SMBUS总线获取该I2C设备的EDID数据,并对获取的该EDID数据进行有效性检测,如果通过有效性检测,转步骤四;如果未通过有效性检测,则转步骤三;
步骤四:对两组该I2C设备有效的EDID数据进行比较,如果两组数据不同,则后一组该I2C设备有效的EDID数据为新的显示器所提供,根据EDID数据的结构定义,从该后一组数据中解析出新的显示器的最佳分辨率和刷新率数据,并依据该最佳分辨率和刷新率数据重新设定显卡工作模式,然后缓存新的一组EDID数据用以替换旧的EDID数据,转步骤三;如果两组EDID数据相同,则转步骤三。
优选的,所述有效性检测包括:
检测所获取的EDID数据的数据头,一个有效的EDID数据的数据头为7 Byte,内容为{0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00},如果是,进行下一步检测;如果否,该EDID数据无效;
检测所获取的EDID数据的校验和,一个有效的EDID数据长度为128Byte,每一个Byte数据进行累加,累加的和值必须为0,如果是,该EDID数据有效;如果否,该EDID数据无效。
优选的,所述间隔一定时间为5秒到15秒。
优选的,所述新的显示器的最佳分辨率和刷新率数据来源于后一组该I2C设备有效的EDID数据的数据结构中起始偏移地址为0x36h的18个Byte。
优选的,所述步骤一之前还包括以下步骤:动态分配内存,用于存储EDID数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110185222.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:泛用型车用电池装置
- 下一篇:水性含油溶液的处理方法及处理系统