接前一篇文章:ES8388 —— 带耳机放大器的低功耗立体声音频编解码器(4)
二、详细描述
5. 微控制器配置接口
该设备支持标准SPI和2线(I2C)微控制器配置接口。外部微控制器可以通过写入内部配置寄存器来完全配置设备。
相同的设备引脚用于配置SPI或2线接口。在SPI模式下,引脚CE、CCLK和CDATA分别用作SPI_CSn、SPI_CLK和SPI_DIN;在2线模式下,引脚CE、CCLK和CDATA用作AD0、SCL和SDA。向CE引脚施加从高到低的转换信号以选择SPI模式。否则,设备将以2线接口模式运行。
(1)SPI接口
(2)2线(I2C)接口
ES8388支持标准的2线微控制器配置接口。外部微控制器可以通过写入内部配置寄存器来完全配置设备。
2线接口是一种双向串行总线,它使用串行数据线(SDA)和串行时钟线(SCL)进行数据传输。该接口的数据传输时序图如图2a和图2b所示(其实就是典型的I2C写和读时序)。
数据逐字节根据SCL时钟同步传输到SDA线上的数据。在SCL高电平期间对字节中的每个比特进行采样,首先传输MSB比特。每个传输的字节后面都有一个来自接收器的确认位,用于将SDA拉低。该接口的传输速率可达400kbps。
1)主控制器通过发送“启动”信号来启动传输,该信号被定义为SCL为高时SDA的高到低转换(简单来说就是,当SCL为高电平时,SDA上高电平到低电平的跳变,代表起始位);
2)传输的第一个字节是从设备地址。它是一个七位芯片地址,后面跟着一个RW位。芯片地址必须为001000x,其中x等于AD0。RW位指示从属数据传输方向;
3)一旦接收到确认位,数据传输就开始在RW位指定的方向上逐字节进行;
4)主设备可以通过生成“停止”信号来终止通信,该信号被定义为在SCL为高时SDA的低至高转换(与起始位相反)。
在2线接口模式下,可以写入和读取寄存器。“写”和“读”指令的格式如表3和表4所示:
注意,要从寄存器读取数据,您必须将R/W位设置为0以访问寄存器地址,然后将R/W设置为1以从寄存器中读取数据。
更多内容请看下回。