对于电脑主板来说,CPU供电以后,会通过SPI的方式读取BIOS,BIOS的功能主要是引导,自检,没有问题后会将控制权转交给系统,这里需要注意的是,这个过程在内存中进行,因此板卡的内存通道必须正常,期间硬盘不是必须的,但是要想正确的启动,有硬盘才能存在系统(比如WIN 10),才能正常开机。
对于硬件工程师关心的是,给CPU的供电是否正常,这里的正常包括电压大小,纹波大小,时序要求,这个时序要求需要看规格书确认。
时钟也是必须的,简单的理解,就像单片机,也是要有时钟才能进行运算。
有意思的是,像这种比较高端的板卡,用的DCDC芯片一般都会有状态指示IO,比如下图的PIN 3:PG,全称是power good,当芯片检测到输出的电压在设定的范围内,会使用此IO指示,一般是正常为高电平,异常时为低电平。
这个功能就很有意思,因为CPU的不同供电需要依据一定的时序要求,那对于电路设计来说,举个例子,假设某个CPU的供电有0.85V,1.2V,2.5V,需要依次上电,每个电源使用的是不同的DCDC,而每个DCDC又有PG的功能,那对于软件来说,在使能0.85的DCDC后,只有判断到0.85V DCDC的PG为高,才会去拉1.2V DCDC的EN,以此来达到按照时序供电的需求。
供电没问题,需要确认下复位,不过笔者调试的这个板子,供电跟复位是配套的,软件在一个函数里实现。
像CPU这种处理器,IO电压一般都很低,如果搭配3.3V的 BIOS FLASH,需要电平转换芯片,或者CPLD转换。
当CPU供电、时钟等都正常后,会尝试通过SPI与外部FLASH通讯,获取BIOS信息,CPU_SPI的CLK会主动发起,意味着我们能用示波器测量到一个时钟信号;伴随着时钟信号,CPU发起读命令,FLASH会返回数据。当读取数据完毕后,CPU结束通信,链路上不再有数据。所以,如果我们要测量这个信号,一定一定要在板卡上电开机以后测量,而不是开机一段时间后再去测量。