BIOS开发笔记 – 显示

前言

UEFI启动流程跑完前三阶段,UEFI环境的准备基本完成,到BDS阶段的任务就是准备引导OS。在此之前还需要使一些必要的硬件工作起来,比如键盘设备,屏幕等,怎么让屏幕工作呢?简单的说就是执行其相关的UEFI驱动。要注意一下的是,这里所说的驱动并不是屏幕的驱动,而是GPU的驱动,原理是驱动使GPU工作起来,让GPU向显示器输出显示信号,画了个简图,如下:

显示的驱动分为两种,一种是较老的成为VBIOS,BIOS需要打开兼容模式(CSM)才可运行,目前Intel在11代的Rocketlake平台已经弃用VBIOS;另一种驱动就是遵循UEFI的GOP Driver。

显示类型

显示类型是按显示接口来区分的,常见的有VGA,DVI,HDMI,DP等等。

为什么要设计出如此多种类的接口呢?这是各时期需求差异导致的结果。比如较早出现的VGA,分辨率只支持到1080,而后面出现的DP,HDMI则可以支持更高的分辨率和传输速率,而且还可以传输音频信号,这些也只是暂时的,也许到了未来,随着需求越来越大,可能还会出现功能更加强大的接口。

线路

对于集成显卡,不同平台的做法都有所不同,拿Intel带有集成显卡的CPU来说,Intel CPU的集显接口使用的是DDI(Digital Display Interface),其内部有个显示信号处理电路,如下图:

从这个DDI出来的信号可以配置成HDMI或DP,中间无需其它转换线路。看一下CPU的DDI信号:

一组DDI信号包含视频和音频信号,如果要设计成DP接口,则需要加上一组AUX(Auxiliary)辅助信号,AUX的用途包括读取扩展显示识别数据(EDID),以确保DP信号的正确传输、读取显示器所支持的DP接口的信息,如主要通道的数量和DP信号的传输速率、进行各种显示组态暂存器的设定、读取显示器状态暂存器。此外,HPD热插拔检测信号也是需要的。

若设计成HDMI接口,需要把DP中用到的AUX换成DDC(Digital Display Channel),也可以说是一组I2C信号,它是由PCH出来的,作用与AUX也是类似,用于与屏幕之间的数据通信,如获取屏幕EDID数据,屏幕亮度控制等。下图是一个DP和HDMI一体的接口,展示了两种信号的设计方案。

HDMI&DP接口的线路连接图

那要设计一个VGA接口的线路又是怎样的呢?DDI出来的信号是DP或HDMI,要变成VGA信号则需要经过转换,转换的芯片很多,下图是使用IT6516B将DP转为VGA的线路:

要使VGA能正常使用,配置VBIOS或VBT的时候需要将该DDI信号配置成DP信号。

再看下EDP接口,EDP接口常用于笔记本的屏幕显示,Intel的CPU是有EDP信号出来的,所以也不需要转换可以直接拉出来使用。EDP的信号如下:

eDP屏有两个信号需要注意,PWM跟Backlight Enable Pin,前者用于控制背光,后者是背光使能,背光使能需要Enable,否则会黑屏。大部分情况下这俩个信号是接到桥片或CPU上的,但也有的平台可能没有PWM或其它原因,会接到EC,由EC去控制屏幕背光。

版权声明:
作者:bin
链接:https://ay123.net/mystudy/1127/
来源:爱影博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>