.. _smbus: 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)