通信寄存器是一个8位读/写寄存器,写入通信寄存器的数据决定下一次读/写操作在哪一个寄存器上进行,完成对所选寄存器的读/写操作后,该端口等待下一次写操作,这也是通信寄存器的缺省状态,如果在DIN为高电平时,写操作持续的时间足够长(至少32个串行时钟周期),那么AD7705将返回该缺省状态。
通信寄存器中的RS2,RS1,RS0为寄存器选择位,他们决定对哪一个寄存器进行读/写操作,常用的寄存器主要有通信寄存器(RS2RS1RS0=000)、设置寄存器(RS2RS1RS0=001)、时钟寄存器(RS2RS1RS0=010)以及数据寄存器(RS2RS1RS0=011)。R/W反为读写选择位。该位确定对选定寄存器进行读还是写操作,“0”表示写操作,“1”表示读操作。CH1,CH0为通道选择位,00选择通道1,01选择通道2。
(2)设置寄存器
设置寄存器是一个8位读/写寄存器,其中MD1,MD0为工作模式选择位,MD1MD0=00,01,10,11分别对应正常工作模式,自校准、零标度系统校准以及满标度系统校准。G2,G1,G0为增益选择位,G2G1G0=000-111分别对应1,2,4,8,16,32,64,128八种增益。
(3)时钟寄存器
时钟寄存器是一个8位读/写寄存器。其中CLK为时钟位。如果器件的主时钟频率为2.457 6MHz(CLKDIV=0)或4.915 2MHz(CLKDIV=1),该位置“1”,如果主时钟频率为1MHz(CLKDIV=0)或者2MHz(CLKDIV=1),该位置“0”,此外CLK还与FS1和FS0共同选择器件的输出更新速率。
(4)数据寄存器
数据寄存器是一个16位只读寄存器,他用来存放AD7705的最新转换结果。这里要注意:当对AD7705进行写操作时,AD7705期望MSB(最高有效位)在前,但微控制器(如8051系列)首先输出LSB(最低有效位),因此必须对数据进行倒序。不过同时还要注意:数据寄存器虽然是一个16位寄存器,但他由2个8位存贮单元组成,因此必须分成2个8位分别进行倒序。进行读操作时同样如此。
(5)测试寄存器
该寄存器主要用于测试,建议用户不要随便对其进行更改。
(6)零标度寄存器
(7)满标度寄存器
2 校准
当环境温度、工作电压、增益或双极/单极输入范围变化时,必须对AD7705进行校准,校准可通过对寄存器的MD1和MD0位编程实现,校准可去除偏置和增益误差。
2.1 自校准
对于所选通道,无论使用何种校准模式,ADC的片上微控制器必须记录2个不同模拟输入状态的调制器输出,也就是“零标度”和“满标度”点。通过这些转换,微控制器可以计算转换器输入/输出转换函数的增益斜率,元件内部通过33位分辨率决定16位的转换结果。