SMBus

概述

  • SMBus(System Management Bus)组件基于I2C总线协议扩展,提供系统管理总线规范兼容的通信接口。主要特性包括:

    • 协议兼容性

      • 支持SMBus 2.0规范定义的标准协议格式

      • 自动生成/校验数据包CRC(PEC)

      • 支持7位/10位设备地址格式

    • 传输模式支持

      • 主机模式和从机模式下的单字节/双字节读写操作

      • 主机模式带命令码的字节/字/块传输(Block Write/Read)

      • 支持正常模式(100Khz),快速模式(400kHz)和高速模式(1MHz)

    • 数据完整性保障

      • 硬件自动计算PEC校验码

      • 提供端到端的数据保护机制

      • 支持多字节传输的CRC校验

关键API功能

  • 基础传输接口

    • smbus_master_write_byte: 主机单字节写入(无命令码)

    • smbus_master_read_byte: 主机单字节读取(无命令码)

    • smbus_master_write: 主机多字节写入(无命令码)

    • smbus_master_read: 主机多字节读取(无命令码)

    • smbus_slave_write: 从机多字节写入(无命令码)

    • smbus_slave_read: 从机多字节读取(无命令码)

  • 增强型传输接口

    • smbus_master_write_byte_in_command: 主机带命令码的字节写入

    • smbus_master_read_byte_in_command: 主机带命令码的字节读取

    • smbus_master_write_word_in_command: 主机带命令码的双字节写入

    • smbus_master_read_word_in_command: 主机带命令码的双字节读取

    • smbus_master_write_block_in_command: 主机带命令码的块写入操作

    • smbus_master_read_block_in_command: 主机带命令码的块读取操作

  • 底层协议支持

    • smbus_pec_crc8: PEC校验码生成算法(CRC-8)