Intel平台不可忽略的接口eSPI

eSPI作为SPI的升级版,不仅提升了通讯速度,还通过虚拟中断减少了中断信号引脚,优化了EC(Embedded Controller)与PCH的连接。eSPI主要设计用于连接EC,并在ACPI中占有重要位置,实现与PCH的高效通讯。通过对开源EC代码的分析,可以深入了解eSPI如何改善传统LPC接口的局限。
该文章已生成可运行项目,

e
PCH EC

eSPI就是SPI升级版?

根据这名字就感觉eSPI就是SPI的升级版,这样说没错。
但是如果你思想上认为只是提高了点速度之类,那你就小看了。

从双向通讯信号上讲,LPC/SPI/eSPI,大同小异、
参考书公开的Intel pdf文档Enhanced Serial Peripherial Interface Base Sepcification

当我们谈eSPI,其实主要是为了把LPC接口比下去的

eSPI vs. LPC side band信号数量减少

EC/Super I/O芯片和PCH的连接如果用LPC,那么side band信号会多不少,尤其是各种中断信号。因为引入了虚拟中断通讯。#SMI,#SCI,#RCIN这些以前是中断pin脚的,都可以省下来了

eSPI虚拟中断

既然是虚拟中断,就是没有多出来引脚的。无非就是用通讯协议+数据包串行通讯来模拟。yes你猜对了

ChomeBook也是笔记本,里面的EC代码是开源的

https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/main/common/espi.c

这里面你会明显看到虚拟中断的定义,VW(Virtual Wire)

eSPI用于连接EC

最直截了当的告诉你eSPI就是为了EC而设计的。

https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/main/chip/

host/
ish/
it83xx/
max32660/
mchp/
mec1322/
mt_scp/
npcx/
stm32/

这里列举了EC的芯片供应商。懂了吧,这就是读代码知硬件。

EC和MCU的不同就是ACPI

ACPI手册是给了EC一席之地的。也就是说当今PC不可缺少的一部分。
PCH给EC发ACPI命令的处理

https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/main/common/acpi.c

EC和PCH通讯

由于有串行通讯数据流,所以需要一个框架来管理eSPI数据流
https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/main/common/host_command.c

延展材料

国内BIOS大佬老狼,在Intel干过的写的文章
https://zhuanlan.zhihu.com/p/349467926
Microchip这篇也不错
https://www.microchip.com/en-us/solutions/data-centers-and-computing/computing-solutions/technologies/espi

本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值