一、AD7705简介
AD7705是一个外置16位分辨率双通道ADC芯片,SPI通信协议,采用Σ-∆转换技术。通过SPI接口写入其内部各寄存器参数,用于配置增益值、信号极性以及更新速率等参数和读取16位的AD结果。
二、内部寄存器简介
通信寄存器是一个 8 位寄存器,既可以读出数据也可以把数据写进去。所有与器件的通信必须从写该寄存器开始。写入通信寄存器的数据决定下一次读操作或写操作在哪个寄存器上发生。一旦在选定的寄存器上完成了下一次读操作或写操作,接口返回到通信寄存器接收一次写操作的状态。这是接口的默认状态,在上电或复位后, AD7705 就处于这种默认状态等待对通信寄存器一次写操作。
关于AD7705的其它介绍见中文手册,此处不再复述。下面是MCU与AD7705通讯的相关波形。
三、各端口数据波形
- MCU采用Freescale的MC9S12XDG128芯片SPI0模块配置为2Mhz(SPIBR=0X41),Clock引脚上的波形见下图:
图1
时钟频率=2MHz
2. AD7705按250Hz配置好输出数据的更新频率且MCU不读取数据时,在其12PIN DRDY引脚上的波形如下图:
图2
DRDY端口被拉低,脉冲间隔4ms,宽度200us,频率250Hz
3. 当AD7705中的数据被读取后,DRDY引脚会立刻被拉高。DRDY上的波形如下图:
图3放大后的波形见图4
蓝色为DRDY引脚波形,脉冲间隔4ms,低电平宽度16us,这16us是MCU读取AD结果的时间
4. 读AD7705中的16位AD结果,需要3个Bytes的SPI通讯
- 0x38写入通讯寄存器,告知AD7750下一次操作将是读取数据寄存器中16bit数据;
- 读出AD7750数据寄存器高字节
- 读出AD7750数据寄存器低字节
可以看到MCU在读AD7705中的16位AD结果时,Clock引脚上发送了3组8bits的时钟脉冲,分别对应上面的3步。 DRDY引脚在时钟脉冲作用期间一直保持低电平直到数据读取完成。波形如下图:(SPI时钟频率为2MHz)
图4
蓝色为DRDY引脚波形,低电平持续时间16us;黄色为Clock引脚波形,每组时钟脉冲宽度为4us
2023年11月22日