接前一篇文章:ICM-20948芯片详解(4)
五、组件概览及详述
再次给出ICM-20948芯片的内部结构框图:
2. 组件详述
(5)主I2C和SPI串行通信接口
ICM-20948使用SPI或I2C串行接口与系统处理器通信。ICM-20948在与系统处理器通信时始终充当从机。I2C从地址的LSB由引脚1(AD0)设置。
- ICM-20948使用I2C接口的解决方案
系统处理器是与ICM-20948相连接的I2C主设备。此外,ICM-20948在与可选外部传感器连接时,作为I2C主设备。如下图所示:
ICM-20948作为I2C主设备的能力有限,并且依赖于系统处理器来管理任何辅助传感器的初始配置。
ICM-20948具有一个接口旁路多路复用器,它将系统处理器I2C总线引脚23和24(SCL和SDA)直接连接到辅助传感器I2C总线引脚7和21(AUX_CL和AUX_DA)。
一旦系统处理器配置了辅助传感器,应禁用接口旁路多路复用器,以便ICM-20948辅助I2C主控器可以控制传感器I2C总线并从辅助传感器收集数据。
- ICM-20948使用SPI接口的解决方案
系统处理器是ICM-20948的SPI主机。引脚9、22、23和24用于支持SPI通信的SDO、nCS、SCLK和SDI信号。如下图所示:
由于这些SPI引脚与I2C从引脚(9、23和24)共享,系统处理器无法通过接口旁路多路复用器访问辅助I2C总线,该多路复用器将处理器I2C接口引脚连接到传感器I2C接口引脚。
由于ICM-20948作为I2C主设备的能力有限,并且依赖于系统处理器来管理任何辅助传感器的初始配置,因此必须使用另一种方法对辅助传感器I2C总线引脚7和21(AUX_CL和AUX_DA)上的传感器进行编程。
当在ICM-20948和系统处理器之间使用SPI通信时,可以通过使用I2C从设备0-4在任何设备上执行读写事务并在辅助I2C总线上注册来实现辅助I2C传感器总线上设备的配置。I2C从设备4接口只能用于执行单字节读写事务。一旦配置了外部传感器,ICM-20948就可以使用传感器I2C总线执行单字节或多字节读取。从从属0-3控制器读取的结果可以写入FIFO缓冲区以及外部传感器寄存器。
更多组件详述请看下回。