微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 24位高精度A/D芯片ADS1211的应用

24位高精度A/D芯片ADS1211的应用

时间:07-31 来源:互联网 点击:
1 ADS1211的结构及特点  

ADS1211是美国Burr-Brown公司生产的高精度模数转换(A/D)芯片,它采用24脚双列直插式封装形式,图1是ADS1211的引脚排列,各引脚的功能如表1所列。

表1 ADS1211的引脚功能  


ADS1211是具有高精度宽动态范围的A/D转换芯片,它带有自校正∑-ΔA/D转换器。其内部由可编程增益放大器、二阶∑-Δ调制器、调制控制单元、可编程数字滤波器和微处理器组成,其中微处理器含有指令寄存器、命令寄存器、数据寄存器、校正寄存器、串行接口、时钟产生电路、+2.5V基准源、+3.3V参考电压源以4通道差动输入模拟开关等。图2是ADS1211的内部结构框图。当ADS1211再次上电复位时,首先由微处理器将内部所有的寄存器复位成缺省状态,并将调制器复位成稳定状态,再以850Hz的频率进行自校准,然后时入转换状态(即正常操作模式)。ADS1211的主要特点如下:


  
●采用∑-ΔA/D转换方式;  
●具有24位无误码率,其线性误差小于0.0015%;  
●在10Hz时,可获得23位有效分辨率,在1000Hz时,可达到20位的有效分辨能力;  
●采用4通道差动输入;  
●内含可编程增益放大器,放大倍数可在1,2,4,8,16中选取;  
●带有内部/外部基准源;  
●芯片内有半自动校准功能;  
●与SPI兼容,并可提供双线控制模式。  

2 ADS1211的重要寄存器设置  

2.1 指令寄存器(2N5R)  

ADS1211中的指令寄存器格式及其设置说明如图3所示。



2.2 命令寄存器(CMR)  

图4是ADS1211中的命令寄存器格式。其各位的含义和设置如下:  

BIAS:偏置电压输出开/关位。BIAS为“0”时为关状态;为“1”时为开状态;  
REF0:基准电压输出开/关位。为“0”时为关状态;为“1”时为开状态;  
DF:数据输出格式位。“0”为二进制补码;“1”为偏移二进制码;  
V/B:数据极性位。“0”为双极性;“1”为单极性;  
BD:字节顺序位为“0”时表示先读最高字节;为“1”表示先读最低字节;  
MSB:位顺序控制位。“0”表示先读最高位;“1”表示先读最低位;  
SDL:数据输出引脚选择位。为“0”时,选择SDL为输出;为“1”时,选择Sdout为输出;  
DRDY:数据准备就绪位。“0”为准备好;“1”为未准备好;  
G2~G0:增益选择控制位。  
MD2~MD0:操作模式位,其操作方式的选择如表2所列。

表2 ADS1211的操作模式选择  [table][/table]

CH1~CH0:通道选择位,该两位组合为00、01、10、11可分别用来选择1通道到通道4。  
SF2~SF0:加速因子选择位,从000~100的五种组合分别表示选择1、2、4、8和16。  
DR12~DR0:抽取率选择位,其有效范围为20~8000。ADS1211的转换速率和加速因子的关系如下:  

转换速率fDATA=fxin·TMR512抽取率  

式中:fxin指的是从Xm引脚引入的时钟信号的频率;TMR则是指加速因子的值;  

应当注意的是:增益和加速因子的乘积应不大于16。



2.3 输出数据寄存器(DOR)  

输出数据寄存器DOR是一个24位寄存器,可用来存放最新的转换结果,DOR内容刚好在DRDY信号由高变低前被更新,如果在(1/fDATA-12×1/fxin)所定义的时间间隔内设有读取DOR的内容,则原有的内容将被覆盖。  

另外,OCR和FCR寄存器还可用于存放零点校正和满量程校正参数值。  

3 ADS1211与89C52的接口电路  

图5是在测量三相电压和电流时的ADS1211与89C52单片机的实际硬件接口电路,笔者采取从动方式,并采用四线制方式来实现ADS1211与单片机的接口,即将DRDY、SCLK、SDIO、SDOUT四条接口信号线分别接至89C52单片机的P1.1、P1.2、P1.3、P1.4引脚。



4 串行接口读/写时序
  

图6是ADS1211在从动方式下将片选端固定接地时与单片机进行接口的软件读/写时序。  

5 软件流程图  

根据图5所示的ADS1211与单片机的接口电路给出的程序流程图如图7所示。  

如果将电路设置为从动方式,那么增益GAIN应选为1,加速因子TMR为1,fXIN选择10MHz,抽取率(DR)为1952(即0011110100000),fDATA为10MHz并选择单极性输入和半自动校准方式,同时选择通道输入1,那么,具体的测量程序和读写延时子程序如下:



测量主程序:  

SDIO EQV P1.3  
SCLK EQV P1.2  
DRDY EQV P1.1  
SDOUT EQV P1.4  
ORG 0000H  
CLR EA  
CLR SCLK  
LCALL TIME ;延时子程序  
JB DRDY,$  
NOP  
NOP  
MOV A,#64H  
LCALL WRBYTE;WRITE-INSR  
NOP  
NOP  
MOV A,#52H  
LCALL WRBYTE;  
MOV A,#20H  
LCALL WRBYTE;  
MOV A,#70H  
LCALL WRGYTE;  
MOV A,#0AON  
LCALL WRBYTE;WRITE-CMR  
SETB DRDY  
JB DYDY,$  
NOP  
NOP  
MOV A,#0AON  
LCALL WRTYTE;WRITE-INSR
NOP  
NOP  
LCALL RDBYTE  
MOV 22H,A;  
LCALL RDBYTE  
MOV 21H,A;  
LCALL RDBYTE  
MOV 20H,A;READ-DOR  
SETB DRDY  
.  
.  
.  
读数据子程序;  
RDBYTE:MOV R7,#8  
RDBYTE1:SETB SCLK  
MOV C,SDOUT  
CLR SCLK  
RLC A
DJNZ R7,RDBYTE1  
RET  
写数据子程序:  
WRBYTE:MOV R7,#8  
WRBYTE1:RLC A  
SETB SCLK  
MOV SDIO,C  
CLK SCLK  
DJZN R7,WRBYTE1  
RET  
延时子程序:  
TIME:MOV R6,#10  
TIME1:MOV R7,#OFFH  
DJNZ R7,$  
DJNZ R6,TIME1  
RET  


  

  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top