海思hisi I2C SPI读写寄存器

I2C 读写命令示例
此操作示例通过 I2C 读写命令实现对 I2C 外围设备的读写操作。

a. 在控制台使用 i2c_read 命令对 I2C 外围设备进行读操作:
~ $ i2c_read <i2c_num> <device_addr> <reg_addr> <end_reg_addr> <reg_width> <data_width> <reg_step>
例如读挂载在 I2C 控制器 2 上的 sil9024 设备的 0x8 寄存器:
~ $ i2c_read 2 0x72 0x8 0x8 0x1 0x1
说明:

i2c_num: I2C 控制器序号(对应《 Hi3516A 专业型 HD IP Camera Soc 用户指南》中的 I2C 控制器 0、 1、 2)
device_addr:外围设备地址( Hi3516A 只支持 7bit 设备地址)
reg_addr:读外围设备寄存器操作的开始地址
end_reg_addr:读外围设备寄存器操作的结束地址
reg_width:外围设备的寄存器位宽( Hi3516A 支持 8/16bit)
data_width:外围设备的数据位宽( Hi3516A 支持 8/16bit)
reg_step:连续读外围设备寄存器操作时递增幅值,默认为 1,即连续读寄存器,读取单个寄存器时不使用该参数

b. 在控制台使用 i2c_write 命令对 I2C 外围设备进行写操作:
~ $ i2c_write <i2c_num> <device_addr> <reg_addr> <value> <reg_width> <data_width>
例如向挂载在 I2C 控制器 2 上的 sil9024 设备的 0x8 寄存器写入数据 0xa5:
~ $ i2c_write 2 0x72 0x8 0xa5 0x1 0x1
说明:

i2c_num: I2C 控制器编号(对应《 Hi3516A 专业型 HD IP Camera Soc 用户指南》中的 I2C 控制器 0、 1、 2)
device_addr:外围设备地址( Hi3516A 的 I2C 控制器只支持 7bit 设备地址)
reg_addr:写外围设备寄存器操作的地址
value:写外围设备寄存器操作的数据
reg_width:外围设备的寄存器位宽( Hi3516A 的 I2C 控制器支持 8/16bit)
data_width:外围设备的数据位宽( Hi3516A 的 I2C 控制器支持 8/16bit)

SPI 读写命令示例
此操作示例通过 SPI 读写命令实现对 SPI 外围设备的读写操作。
在控制台使用 spi_read 命令对 SPI 外围设备进行读操作:
~ $ ssp_read <spi_num> <csn> <dev_addr> <reg_addr> [num_reg] [dev_width] [reg_width] [data_width]
其中[num_reg] 可以省略,缺省值是 1(表示读 1 个寄存器)。[dev_width] [reg_width] [data_width]可以省略,缺省值都是1(表示1Byte)。
例如读挂载在 SPI 控制器 0 片选 0 上设备地址为 0x2 的设备的 0x0 寄存器:
~ $ ssp_read 0x0 0x0 0x2 0x0 0x10 0x1 0x1 0x1

说明:

spi_num: SPI 控制器号(对应《 Hi3516A 专业型 HD IP Camera Soc 用户指南》中的 SPI 控制器0、 1)
csn:片选号( Hi3516A 的 SPI 控制器 0 有 1 个片选、控制器 1 有 3 个片选)
dev_addr:外围设备地址
reg_addr:外围设备寄存器开始地址
num_reg:读外围设备寄存器个数
dev_width:外围设备地址位宽(支持 8 位)
reg_width:外围设备寄存器地址位宽(支持 8 位)
data_width:外围设备的数据位宽(支持 8 位)

在控制台使用 spi_write 命令对 SPI 外围设备进行写操作:
~ $ ssp_write <spi_num> <csn> <dev_addr> <reg_addr> <data> [dev_width] [reg_width] [data_width]
其中[dev_width] [reg_width] [data_width]可以省略,缺省值都是 1(表示 1Byte)。
例如向挂载在 SPI 控制器 0 片选 0 上设备地址为 0x2 的设备的 0x0 寄存器写入数据 0x65:
~ $ ssp_write 0x0 0x0 0x2 0x0 0x65 0x1 0x1 0x1

说明:

spi_num: SPI 控制器序号(对应《 Hi3516A 专业型 HD IP Camera Soc 用户指南》中的 SPI 控制器 0、 1)
csn:片选号( Hi3516A 的 SPI 控制器 0 有 1 个片选、控制器 1 有 3 个片选)
dev_addr:外围设备地址
reg_addr:外围设备寄存器地址
data:写外围设备寄存器的数据
dev_width:外围设备地址位宽(支持 8 位)
reg_width:外围设备寄存器地址位宽(支持 8 位)
data_width:外围设备的数据位宽(支持 8 位)
此 SPI 读写命令仅支持 sensor 的读写操作。
 ———————————————— 
版权声明:本文为CSDN博主「聚优致成」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29350001/article/details/52680643

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页