APP下载

低成本24位模数芯片ADS1211在地震仪器中的设计及应用

2019-06-21刘博文张怀仁

防灾减灾学报 2019年2期
关键词:主程序流程图寄存器

赵 雷,刘博文,张怀仁,陈 闯

(1.辽宁省地震局,辽宁 沈阳 110034;2.吉林省地震局,吉林 长春 110179;3.山东海富科技有限公司,山东 威海 264200)

0 引言

“十一五”“十二五”期间,我们设计开发使用了多种测震仪器,如远程控制电源系统[1-2]、智能恒温系统[3]、和智能控制传输设备[4]。多数电源电压检测、温度检测和各类地震仪器设计中都需要采集模拟信号,所以我们在研制地震仪器时经常要用到模数转换芯片,下面我们介绍一种体积小、性能高的高精度24位模数芯片—ADS1211的功能和应用设计过程。

1 ADS1211的结构及特点

ADS1211是美国Burr-Brown公司生产的高精度模数转换芯片。它具有24位高精度、宽动态范围的A/D转换芯片,它带有自校正∑-ΔA/D转换器。其引脚排列图如图1所示。

图1 ADS1211的引脚排列图Fig.1 ADS1211 pin configuration

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

表1 ADS1211引脚及功能表

图2 ADS1211的内部结构图Fig.2 Inside structure of ADS1211

2 ADS1211与单片机的接口电路设计与实现

24位模数芯片ADS1211在仪器中需要单片机与其连接,本文介绍了一种最简的单片机设计单元。系统包括一单片机(含外部晶振及启动电路),其中晶振选用了11.0592MHz震荡频率以便于单片机系统通过串口与外部设备进行串口通信。单片机我们选用了芯片内包含64KB ISP Flash(程序存储器)和8KB ROM(数据存储器)的PHILIPS公司生产的增强型单片机P89C668。其具有80C51中央处理单元,片内Flash存储器可通过ISP和IAP编程。每个机器周期可以选择6个时钟周期操作或12个时钟周期操作。在每个机器周期6个时钟周期下,速度可高达20MHz此时性能相当于40MHz的CPU。

图3 电路原理图Fig.3 Schematic design of the electric circuit

图3是24位模数芯片ADS1211与增强型单片机P89c668的实际硬件接口电路原理图。图4为ADS1211与增强型单片机P89c668的实际硬件接口电路PCB电路板图。设计中我们并采用四线制方式来实现ADS1211与单片机的接口,即将SCLK、SDIO、SDOUT、/DRDY四条接口信号线分别接至P89c668单片机的P1.1、P1.2、P1.3、P1.4引脚。实现单片机对ADS1211的读写操作。

3 ADS1211控制软件

P89c668对ADS1211控制的c语言主程序中,对/DRDY数据准备就绪位、MD2~MD0操作模式位等各位进行了位定义,各位定义如下所示。

sbit DRDY=P1^3; //24位数采数据转换完成(低有效)

ulint bdata ulkzml; //控制命令;1211命令寄存器内容

sbit bbias=ulkzml^31;//偏置电压输出开/关位。

BIAS为“0”时为关状态;为“1”时为开状态;本系统设置为1开启;

sbit brefo=ulkzml^30;//基准电压输出开/关位。为“0”时为关状态;为“1”时为开状态;本系统设置为1输出;

sbit bdf=ulkzml^29;//数据输出格式位。“0”为二进

制补码;“1”为偏移二进制码;

sbit buandb=ulkzml^28;//数据极性位。“0”为双极性;“1”为单极性;

sbit bbd=ulkzml^27; //字节顺序位为“0”时表示先

读最高字节;为“1”表示先读最低字节;

sbit bmsb=ulkzml^26; //位顺序控制位。“0”表示先读最高位;“1”表示先读最低位;

sbit bsdl=ulkzml^25; //数据输出引脚选择位。

为“0”时,选择SDL为输出;为“1”时,选择Sdout为输出;本系统设置为1

sbit bmd2=ulkzml^23;//操作模式位,其操作方式的选择如下所列

sbit bmd1=ulkzml^22;//正常/半自动/系统零/系统满/虚系统/背景

sbitbmd0=ulkzml^21;//000;001;010;011;100;101

sbit bg2=ulkzml^20; //增益设置

sbit bg1=ulkzml^19; //1倍;2倍;4倍;8倍;16倍

sbit bg0=ulkzml^18; //000;001;010;011;100 sbit bch1=ulkzml^17; //通道设置 通道1,通道2,通道3 (三通道轮寻)

sbit bch0=ulkzml^16; // 00; 01; 10;11;

在c语言的主程序中,定义了如下几个对ADS1211进行各类操作的汇编程序。

void wcrads1211(ulint a);//写入1211命令寄存器内容(汇编)

void wocrads1211(ulint a);//写入1211双端输入调

零寄存器内容(汇编)

void wfcrads1211(ulint a);//写入1211单端输入调零寄

存器内容(汇编)

ulint rdorads1211(void);//读1211的24位数据(汇编)

ulint rcrads1211(void);//读出1211命令寄存器内容(汇编)

由于主程序篇幅较长,我们这里不详细介绍,只给出主程序的流程图如下:

图4 ADS1211软件流程图Fig.4 The chart of ADS1211's software flow

3.1 ADS1211命令寄存器写入软件程序

ADS1211命令寄存器写入程序流程图如下:

图5 ADS1211命令寄存器写入程序流程图Fig.5 Program flow chart of writing into the ADS1211's command register

ADS1211命令寄存器写入过程中,首先单片机将ADS1211的SCLK引脚置低,等待ADS1211引脚/DRDY的应答信号过程中进行喂看门狗指令,检测到应答信号/DRDY变低后,后将#064H(即写入四字节32位数据到命令寄存器CMR,且从高位字节Byte3开始)写入到ADS1211的指令寄存器INSR,而后再将要写入的4字节 32位数据内容按从 byte3、byte2、byte1、byte0顺序写入32位ADS1211命令寄存器中。而后将/DRDY置高,写入程序结束并返回到主程序。

3.2 ADS1211A/D转换24位数据读出软件程序

ADS1211A/D转换24位数据读程序流程图如下。

图6 ADS1211的读24位数据程序流程图Fig.6 ADS1211's read 24 bit data program flow chart

ADS1211A/D转换24位数据读取过程中,首先单片机将ADS1211的SCLK引脚置低,等待ADS1211引脚/DRDY的应答信号过程中进行喂看门狗指令,检测到应答信号/DRDY变低后,后将#0C0H(即将三字节24位A/D转换数据从24位数据寄存器DOR读出,且从高位字节Byte2开始读出)写入到ADS1211的指令寄存器INSR,而后再将从数据寄存器DOR读出的3字节24位数据内容按顺序写入到单片机R5、R6、R7寄存器中。而后将/DRDY置高,ADS1211A/D转换24位数据读出程序结束并返回到主程序。

4 实际应用案例

本文所介绍的24位模数转换芯片ADS1211电路图及应用程序已在我们所设计的简易24位数据采集设备上使用,其有效位可达23位,且芯片内部采样速度可2、4、8、16倍可调,系统时钟为10MHz时采样速度可提高到312kHz。我们数采中设置的1、2、4、8、16倍增益也可通过单片机对ADS1211中的程控增益放大器(PGA)直接进行操作。同时芯片ADS1211中有对输出数据格式、输出数据极性、输出数据字节顺序和输出数据位顺序的选择控制,方便我们实现24位数据采集器对应的各项功能。同时芯片ADS1211高精度和高可靠性的特点使我们所开发设备的整体性能更加稳定。简易24位数据采集设备的设计充分利用了模块化设计理念,设计中主要采用了增强单片机P89c668作为核心cpu,采用芯片ADS1211实现24位数据转换采集功能,EB-3631GPS模块提供精准空间和时间信息,非易失存储芯片AT24W08存储本采集器各类参数,时钟芯片X1226作为仪器实时时间参数提供者。通过这5个主要芯片实现了我们设计的简易24位数据采集设备所有功能。简化了数据采集器设计理念,增加了仪器运行的稳定性。简易24位数据采集器结构框图如图7所示。

图7 仪器硬件框图Fig.7 Frame of equipment

5 结语

本文所提供的电路图在仪器设计使用中功能正常,达到设计要求。程序均已在计算机上通过编译、连接,并在P89c668单片机上运行正常。希望能对研究使用高精度低成本模数芯片的有关技术人员有所帮助。低成本24位采集系统的推广应用,将降低专用数据采集设备成本,便于仪器的推广应用,为此类仪器的高密度部署推广提供有利条件。使我们所做的工作更好地为防震减灾事业服务。

猜你喜欢

主程序流程图寄存器
STM32和51单片机寄存器映射原理异同分析
自动升级程序在船舶监测系统中的应用
Lite寄存器模型的设计与实现
浅谈数控铣削技术代码程序的嵌套方式研究
电控冰箱软件模块化设计
时光倒流 换回PotPlayer老图标
专利申请审批流程图
专利申请审批流程图
宁海县村级权力清单36条
《天津医药》稿件处理流程图