首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年6月19日星期三
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
高精度AD芯片ADS8364在生理信号数据采集中的应用
Application of High-accuracy ADS8364 in the Data Collection of Physiologic Sign

华中科技大学电子与信息工程系 王忠友 吴鸿修

摘 要:本文介绍了高性能AD转换芯片ADS8364的主要性能及其在生理信号检测系统中的应用方法,并提供了AD转换的部分程序。

关键词:ADS8364;前端调理电路;控制字

由于生物体微弱的电信号和丰富的信息量,在生物体多参数测量中,高精度采集也就显得尤为重要。基于此我们研制的生理信号采集系统的采集电路部分采用了ADS8364和DS87C520单片机。

ADS8364是美国TI公司的一种高速、低能耗、6通道同步采样转换,单+5V供电的16位高速并行接口的高性能模数转换芯片,片上带2.5V基准电压源,可用作ADS8364的参考电压。每片ADS8364实际由3个转换速率为250ksps(当外部时钟为5MHz)的ADC构成,每个ADC有2个模拟输入通道,每个通道都有采样保持器,3个ADC组成3对模拟输入端,可同时对其中的1~2对输入信号同时采样保持,然后逐个转换。由于6个通道可以同时采样,很适合用于需同时采集多种信号的场合。


ADS8364前端调理电路


由于输入的模拟信号变化范围较大,通常不是AD芯片所要求的范围,在高精度、高要求的AD采样电路中,为使输入的模拟信号与AD采样所需求的信号相匹配,通常在AD采样电路前加入前端调理电路,以缩放和平移要采样的信号,从而使调理后的信号适合A/D转换器的模拟输入要求。图1是ADS8364一个输入通道的前端调理电路。

图1 ADS8364前端调理电路(略)

ADS8364模拟输入通道+IN和-IN的最大电压输入范围为-0.3V~+6V(ADS8364用+5V供电)。图1电路中使用了2个运放,A2用作跟随器,用来缓冲ADS8364输出的2.5V基准电压;A1和四个电阻构成了信号调理网络,适当配置R1~R4电阻可以实现对输入信号Vi的缩放和平移,以适合ADS8364模拟通道的输入要求。由于R5
=R6则+IN端的输入电压为:

公式(略)

这样,在保证V+IN=0~5V的前提下,Vi可以是双极信号,调整R2、R4的比例使Vi有合适的输入范围。表1是针对不同双极性模拟输入的配置实例。

表1:不同双极性模拟输入的配置



ADS8364与单片机连接电路

ADS8364与单片机连接电路见图2。ADS8364转换后的结果可通过两种方式输出:①当BYTE=0时,以DB0~DB15
16位输出;②当BYTE=1时,则转换结果分两个字节从DB0~DB7读出,此时采用8位单片机读取非常方便。

本系统中采用8位单片机,根据要求ADS8364的BYTE设为高电平,在第一个/RD信号里,输出低8位数据,第二个RD信号后读出高8位。ADS8364的/HOLDA、/HOLDA
、/HOLDC信号由单片机P1口的P1.0输出的信号控制;A0~A2通过DS87C520的P0口输出,控制线ADD硬件接低电平。图2是DS87C520与ADS8364的连接电路。


系统采用与DS87C520相连的GAL16V8时给出ADS8364的地址为5000H,当DS87C520的/WR=0,且ADS8364的/CS=0时DS87C520将通过数据口对ADS8364写入控制字;当DS87C520的P1.0=0时才开启ADS8364进行AD转换,转换结束后的信号/EOC对DS87C520发出中断请求,则DS87C520在/RD=0时响应中断请求,读取ADS8364的转换结果。

图2 ADS8364与单片机连接电路(略)



数据采集

ADS8364转换器初始化操作

AD转换前,首先要进行控制字的写入,信号ADD、A0、A1、A2的设置,配合TYPE确定了数据的输入和输出方式,/RESET、/HOLDA、
/HOLDB和/HOLDC的设置可对AD转换的数据输出寄存器进行清除操作和其
他复位操作。信号对应控制字的各位见表2。

表2:ADS8364 Data Input/Command


写入控制字时,在软件命令控制下根据ADS8364的口地址,在/CS有效时将表中数据通过低8位数据线写入ADS8364内部寄存器。
软件命令时序如图3所示。

图3 ADS8364写入控制字软件命令时序(略)

ADS8364的转换启动与数据读取


系统的最终目标是要获取数据,然后进行处理。根据TYPE、ADD、A0、A1和A2,DS87C520需三次读完一路转换的数据,DS87C520控制ADS8364转换和读取转换结果的C51程序如下(写入外部数据RAM的程序省略):

#include <reg52.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <intrins.h>
#include <absacc.h>


sbit p10=P1^0;
#define uint unsigned int
#define uchar unsigned char
#define ADS_A0 XBYTE[0X5000]


#define ADS_C1 XBYTE[0X5005]
uchar xdata *Sample;
void delay(uchar n) //延时模块
{
uchar i;
for(i=0;i<n;i++)
{
_nop_();
}
}
void enable_int0(void) //开中断
{
EA=1;
EX0=1;
IT0=1;
}
void Start_Conver(void) //启动6路AD转换
{
p10=1;
p10=0;
delay(1);
p10=1;
}
void main(void)
{
int i;
p10=1;
Start_Conver();
ADS_A0=0x07; //ADS8364写入控制字
ADS_A0=0x9e;
EA=0;
while(1){
delay(1);
Start_Conver();
delay(10); //等待转换结束采集数据
for(i=0;i<18;i++) // 读取6路转换数据
{
*Sample++=XBYTE[0X5006];
}
}
}

启动转换后,在读取数据前需要延迟的指令周期数需根据DS87C520和ADS8364的运行速度来调整。


结语


利用ADS8364设计的生理信号采集系统可同时采集多路信号,采集精度高,经初步临床验证完全满足临床要求。

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com