顯示具有 Display 標籤的文章。 顯示所有文章
顯示具有 Display 標籤的文章。 顯示所有文章

2021年5月24日 星期一

Display common sense :(

  • Vertical blanking interval(垂直消隐间隔)
  • a. 每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧
    b. 场同步(VSYNC: 场同步就是告诉电子枪控制器下面要开始新的画面。对于数字图像信息,当VSYNC信号有效时,表示新的一帧图像信息开始了。
    c. 行同步(HSYNC):行同步就是让电子枪控制器知道下面要开始新的一行像素。每一行信息的开始都有一个HSYNC。
    (copy from VGA时序及其原理 和 Here)


    the image is copy form HERE




ref:
1.对HSYNC SYNC HFP HBP VFP VBP HSPW VSPW这几个概念的最好解释

2021年5月20日 星期四

2021年3月12日 星期五

Get EDID

1.  EDID 1.4 Spec
2.  EDID解析
3.  EDID簡介


$ sudo find /sys/ | grep -i edid


/sys/kernel/debug/dri/0/HDMI-A-1/edid_override
/sys/kernel/debug/dri/0/VGA-1/edid_override
/sys/kernel/debug/dri/0/eDP-1/edid_override
/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1/edid
/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid
/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/edid
/sys/module/drm_kms_helper/parameters/edid_firmware
/sys/module/drm/parameters/edid_firmware
/sys/module/drm/parameters/edid_fixup

cp /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1/edid ~/edid.txt
#include <stdio.h>
#include <string.h>
#include <stdint.h>

int main()
{
    FILE *fp;
    char ch[1];
    int i=0, j=0;

    fp = fopen("eee.txt", "r");
    for (i=0; i<16; i++)
        printf("   %2X", i);
    printf("\n");

    i=0, j=0;
    for(;fread(ch, sizeof(ch), 1, fp);)
    {
        if (j==0)
            printf("0");
        if (j%16==0)
            printf("%1x ", j);
        printf("0x%2.2x ", (uint8_t)ch[0]);
        i++; j++;
        if(i==16)
        {
            printf("\n");
            i=0;
        }
    }
    fclose(fp);
    return 0;
}



輸出:
    0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x10 0xac 0x79 0xa0 0x4c 0x31 0x37 0x32
10 0x24 0x16 0x01 0x03 0x80 0x34 0x20 0x78 0xea 0xee 0x95 0xa3 0x54 0x4c 0x99 0x26
20 0x0f 0x50 0x54 0xa1 0x08 0x00 0x81 0x40 0x81 0x80 0xa9 0x40 0xb3 0x00 0xd1 0xc0
30 0x01 0x01 0x01 0x01 0x01 0x01 0x28 0x3c 0x80 0xa0 0x70 0xb0 0x23 0x40 0x30 0x20
40 0x36 0x00 0x06 0x44 0x21 0x00 0x00 0x1a 0x00 0x00 0x00 0xff 0x00 0x59 0x52 0x34
50 0x38 0x56 0x32 0x39 0x38 0x32 0x37 0x31 0x4c 0x0a 0x00 0x00 0x00 0xfc 0x00 0x44
60 0x45 0x4c 0x4c 0x20 0x55 0x32 0x34 0x31 0x32 0x4d 0x0a 0x20 0x00 0x00 0x00 0xfd
70 0x00 0x32 0x3d 0x1e 0x53 0x11 0x00 0x0a 0x20 0x20 0x20 0x20 0x20 0x20 0x01 0x65
80 0x02 0x03 0x1b 0x61 0x23 0x09 0x07 0x07 0x83 0x01 0x00 0x00 0x67 0x03 0x0c 0x00
90 0x20 0x00 0x80 0x2d 0x43 0x90 0x84 0x02 0xe2 0x00 0x0f 0x8c 0x0a 0xd0 0x8a 0x20
a0 0xe0 0x2d 0x10 0x10 0x3e 0x96 0x00 0xa0 0x5a 0x00 0x00 0x00 0x00 0x00 0x00 0x00
b0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
c0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
d0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
e0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
f0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x29


可以再把輸出放到此網站分析, Here
/*nice*/