内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

如何獲取HDMI接口EDID

本篇內(nèi)容主要講解“如何獲取HDMI接口EDID”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何獲取HDMI接口EDID”吧!

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、嵐皋網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、嵐皋網(wǎng)絡(luò)營銷、嵐皋企業(yè)策劃、嵐皋品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供嵐皋建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.rwnh.cn

一、EDID介紹

EDID(Extended display identification data):擴(kuò)展顯示器識(shí)別數(shù)據(jù),一般存儲(chǔ)在顯示器的EEPROM中。

EDID1.0->EDID1.3版本中,EDID的容量是128Byte,從EDID1.3版本以后,數(shù)據(jù)容量擴(kuò)展到256Byte。

一般通過DDC(或I2C)通道讀取EDID,從設(shè)備地址是0x50。

EDID1.3版本的數(shù)據(jù)結(jié)構(gòu)見下圖:

如何獲取HDMI接口EDID

如何獲取HDMI接口EDID

如何獲取HDMI接口EDID

二、EDID獲取

應(yīng)用程序調(diào)用libdrm代碼中的drmModeGetConnector()函數(shù),通過ioctl傳遞宏DRM_IOCTL_MODE_GETCONNECTOR通知Linux內(nèi)核要獲取相關(guān)數(shù)據(jù)(包括EDID)。

在Linux內(nèi)核中,如果定義了宏CONFIG_DRM_LOAD_EDID_FIRMWARE,內(nèi)核會(huì)先調(diào)用drm_load_edid_firmware()函數(shù),從/lib/firmware路徑下的對(duì)應(yīng)文件中讀取EDID數(shù)據(jù);若讀取失敗或未定義宏CONFIG_DRM_LOAD_EDID_FIRMWARE,內(nèi)核通過DDC通道和顯示器進(jìn)行通信,獲取EDID數(shù)據(jù)。

1、EDID獲取流程

如何獲取HDMI接口EDID

注:上面流程圖中提到了DRM Connector的一些函數(shù),后續(xù)介紹Connector的初始化過程。

2、DDC通信流程

如何獲取HDMI接口EDID

3、EDID調(diào)試

可通過下面兩種方法顯示EDID數(shù)據(jù)。

1)、系統(tǒng)dump

## 1、進(jìn)入單板系統(tǒng)root@linaro-alip:/sys/class/drm/card0-HDMI-A-1# lsaudioformat         device  edid     mode   power   subsystemcontent_protection  dpms    enabled  modes  status  ueventroot@linaro-alip:/sys/class/drm/card0-HDMI-A-1# cat edid > edid.bin## 2、如果單板系統(tǒng)沒有hexdump命令,則拷貝到pcroot@ubuntu:/home/run/code# hexdump -C -n 256 edid.bin00000000  00 ff ff ff ff ff ff 00  41 0c 55 55 01 01 01 01  |........A.UU....|00000010  0a 19 01 03 80 79 44 78  2a 16 4d 9f 5a 52 9f 26  |.....yDx*.M.ZR.&|00000020  0e 47 4a a1 08 00 95 00  b3 00 01 01 01 01 01 01  |.GJ.............|00000030  01 01 01 01 01 01 02 3a  80 18 71 38 2d 40 58 2c  |.......:..q8-@X,|00000040  45 00 b9 a8 42 00 00 1e  66 21 50 b0 51 00 1b 30  |E...B...f!P.Q..0|00000050  40 70 36 00 b9 a8 42 00  00 18 00 00 00 fd 00 14  |@p6...B.........|00000060  4c 1e 53 0f 00 0a 20 20  20 20 20 20 00 00 00 fc  |L.S...      ....|00000070  00 50 68 69 6c 69 70 73  20 54 56 0a 20 20 01 2d  |.Philips TV.  .-|00000080  02 03 28 f1 4d 1f 90 14  05 13 04 02 03 20 01 12  |..(.M........ ..|00000090  06 07 29 09 07 07 15 07  50 57 06 00 83 01 00 00  |..).....PW......|000000a0  67 03 0c 00 10 00 b0 2d  02 3a 80 18 71 38 2d 40  |g......-.:..q8-@|000000b0  58 2c 25 00 b9 a8 42 00  00 1e 8c 0a a0 14 51 f0  |X,%...B.......Q.|000000c0  16 00 26 7c 43 00 b9 a8  42 00 00 98 01 1d 80 18  |..&|C...B.......|000000d0  71 1c 16 20 58 2c 25 00  b9 a8 42 00 00 9e 8c 0a  |q.. X,%...B.....|000000e0  d0 8a 20 e0 2d 10 10 3e  96 00 b9 a8 42 00 00 18  |.. .-..>....B...|000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 3d  |...............=|00000100

2)、modetest命令

使用modetest命令前,先停止使用/dev/dri/card0節(jié)點(diǎn)的應(yīng)用程序。

在“Linux DRM那些事-libdrm調(diào)試準(zhǔn)備”中,提到使用killall命令,后續(xù)調(diào)試時(shí)發(fā)現(xiàn)比較麻煩(原因:系統(tǒng)會(huì)自啟動(dòng)桌面顯示)。可以使用systemctl命令,停止桌面顯示服務(wù),然后使用modetest命令測(cè)試。

## 1.停止桌面顯示root@linaro-alip:~# systemctl stop lightdm.service[  682.983722] rockchip-vop ff900000.vop: [drm:vop_crtc_enable] Update mode to 1024x768p60, type: 11## 2.modetest測(cè)試root@linaro-alip:~# ./modetesttrying to open device 'rockchip'...doneEncoders:id      crtc    type    possible crtcs  possible clones87      61      TMDS    0x00000001      0x00000000Connectors:id      encoder status          name            size (mm)       modes   encoders88      87      connected       HDMI-A-1        1210x680                26      87  modes:        name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: preferred, driver  1920x1080 60 1920 2008 2052 2200 1080 1082 1087 1125 148500 flags: phsync, pvsync; type: driver  ...  props:        1 EDID:                flags: immutable blob                blobs:                value:                        00ffffffffffff00410c555501010101                        0a190103807944782a164d9f5a529f26                        0e474aa108009500b300010101010101                        010101010101023a801871382d40582c                        4500b9a84200001e662150b051001b30                        40703600b9a842000018000000fd0014                        4c1e530f000a202020202020000000fc                        005068696c6970732054560a2020012d                        020328f14d1f90140513040203200112                        06072909070715075057060083010000                        67030c001000b02d023a801871382d40                        582c2500b9a84200001e8c0aa01451f0                        1600267c4300b9a842000098011d8018                        711c1620582c2500b9a84200009e8c0a                        d08a20e02d10103e9600b9a842000018                        0000000000000000000000000000003d...## 3.恢復(fù)桌面顯示root@linaro-alip:~# systemctl start lightdm.service

到此,相信大家對(duì)“如何獲取HDMI接口EDID”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享名稱:如何獲取HDMI接口EDID
轉(zhuǎn)載來于:http://www.rwnh.cn/article24/ghcoce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、服務(wù)器托管移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)外貿(mào)網(wǎng)站建設(shè)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)
沐川县| 河东区| 古田县| 乌苏市| 信阳市| 塘沽区| 巴里| 苍南县| 汝城县| 抚顺市| 千阳县| 赞皇县| 仪征市| 辽宁省| 京山县| 西乌珠穆沁旗| 西和县| 定远县| 红桥区| 邹城市| 景宁| 汉阴县| 甘德县| 新化县| 新泰市| 宁陵县| 乌兰浩特市| 铅山县| 安图县| 钟山县| 如东县| 石家庄市| 白水县| 临城县| 恭城| 淮南市| 鄂托克旗| 常熟市| 永吉县| 河东区| 济南市|