持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情
简介
PECI可以进行CPU或关键芯片环境温度的检测,来用于温度控制。
一、PECI的含义
平台环境控制接口PECI的英文全称是Platform Environment Control Interface。通过PECI引脚实现与外部设备的双向通信。
二、移植思路
PECI主控制器要求为要发出的各种命令设置目标地址、写长度、读长度、命令和写数据。软件在启动前必须设置数据和命令(如上所述)。当主机控制寄存器中的START位被设置后,PECI主机控制器将执行请求的事务。另外,任何用于计算目的的寄存器值都应该在发出新命令之前保存。
常见的PECI处理流程:
graph TD
程序 --> PECI -->BMC --> 风扇
下面是软件为各种命令编写寄存器的步骤。
- 系统复位后,将相应的GPIO切换到PECI功能模式,然后使能PECI主机控制器(主机控制寄存器中的PECIHEN位设置为1)。
- 根据所需要的命令,软件应将数据写入主机目标地址寄存器、主机写长度寄存器、主机读长度寄存器、主机命令寄存器和主机写数据寄存器。
- 启动事务(将0x09写入主机控制寄存器,这将启用PECI主机,并启动事务)。
- 在交易过程中,软件读取主机状态寄存器(Host Status Register),检查交易是否正在进行(交易过程中会设置主机状态寄存器(Host Status Register)中的‘主机忙位’)。
- 对于轮询模式,软件继续读取主机状态寄存器(Host Status Register)来检查事务是否已经完成(当事务完成时,主机状态寄存器中的Finish位将被置位)。对于中断模式,在PECI中断导致的数据有效事件发生后,主机状态寄存器将可用。
- 交易完成后,软件可以根据需要读取主机读取数据寄存器来获取所接收到的数据。
- 如果程序员要求硬件在事务中支持保证写消息的命令中支持AW_FCS计算,则主机控制寄存器中的AWFCS_EN或AWFCS_FRC_CTRL位应在START之前设置。
三、完结
本文结束。