通常有IO和MMIO两种方式访问SMBUS,但两种方式除了base address不同,访问方法相似。
IO方式简化流程:
1. 找出smbus base address(记为smbase)
2. smbase + 04h处填入 SPD设备地址+1 (例如, A2h+1=A3h)
3. smbase + 03h处填入 目标数据在SPD内的偏移地址
4. smbase + 02h处填入 48h ( 意思为指示smbus以byte为单位读取目标数据)
5. 到这一步,就可以从smbase + 05h处读出目标byte数据
PS:上面步骤均省略查看smbus忙状态,即smbase + 01h bit 0是否为1,为1即表示smbus还在忙,
不方便接受填值。
本文详细介绍了SMBUS IO方式的访问流程,包括如何找出smbusbaseaddress、填写SPD设备地址、目标数据偏移地址以及指示读取单位,确保在操作中避免smbus处于忙碌状态。

1055

被折叠的 条评论
为什么被折叠?



