在命令模式下,AD7291可按需在单个通道或一系列通道上进行转换。在命令寄存器中写入会使设备进入命令模式。这是默认操作模式,允许在命令寄存器发生写入操作时自动选择转换。要进入此模式,需要将所需的通道组合写入命令寄存器(寄存器0x00)。写入操作后,必须再次对AD7291进行寻址,以指示需要进行读取操作。然后,从电压或温度转换结果寄存器进行读取。为了进行第一次转换,写入AD7291的地址指针必须指向电压转换结果寄存器或TSENSE转换结果寄存器。在读取前四个通道地址位的同时完成转换。一旦开始从结果寄存器进行下一次读取,序列中的下一次转换就会发生。
在快速模式下操作设备时,采集和转换时间的总和约为4.45μs(1.25μs采集时间加上3.2μs转换时间)。在命令模式下,设备循环通过所选信道,从序列中最低的所选信道到下一个最低的信道,直到序列中的所有信道都被转换。
要退出命令模式,主机不得确认数据的最后一个字节。这将停止AD7291的传输,允许主设备在总线上断言停止条件。在接收到停止条件时,AD7291停止转换并进入部分断电模式,但命令寄存器的内容被保留。一旦设备被重新写入并且从电压转换寄存器开始读取,AD7291就开始在先前选择的通道序列上进行转换。转换序列开始转换序列中的第一个选定频道;也就是说,如果选择了通道1、通道2和通道3,并且在读取通道1结果后出现停止条件,则在恢复转换时,通道1被重新转换,转换序列继续。
下图中的示例显示了包括VIN0、VIN1和VIN2在内的一系列通道上的命令模式转换。

主设备在SDA上声明启动条件。
主设备发送7位从属地址,然后是写入位(低)。
被寻址的从属设备(AD7291)在SDA上发出确认。
主机发送命令寄存器地址(0x00)。
奴隶在SDA上声称承认。
主机将第一个数据字节(0xE0)发送到命令寄存器,命令寄存器选择VIN0、VIN1和VIN2信道。
奴隶在SDA上声称承认。
主设备将第二个数据字节(0x20)发送到命令寄存器。
奴隶在SDA上声称承认。
主机发送结果寄存器地址(0x01)。
奴隶在SDA上声称承认。此时可以断言可选的重复启动(SR)命令,以确保总线不会被主机放弃。
主设备发送7位从属地址,后面是读取位(高)。
奴隶(AD7291)在SDA上声明承认。
主设备接收一个数据字节,其中包含通道VIN0转换结果的四个通道地址位和四个MSB。
然后,船长在SDA上确认。
主设备接收第二个数据字节,其中包含信道VIN0的转换结果的八个LSB。然后,船长在SDA上确认。
对信道VIN1和信道VIN2重复步骤14至步骤16。
一旦主设备接收到所有选定通道的结果,从设备再次转换并输出选定序列中第一个通道的结果。重复步骤14至步骤16。
主设备在SDA上发出不确认和停止条件,以结束转换并退出命令模式。
要更改转换顺序,请将新顺序重写为命令模式。如果在现有转换序列正在进行的同时执行对命令寄存器的新写入,则终止现有转换序列,并且执行的下一个转换是新序列中的第一个选定信道。使用此模式和400 kHz I²C时钟可以实现的最大吞吐量为(400 kHz/18)=22.2 kSPS。