基于ADS8343及51单片机的多路采集系统
摘要:文中介绍了16位模数转换芯片ADS8343的功能与特性,简述了ADS8343的工作时序,利用C51单片机、RS232串口和计算机系统构成数据采集实时显示系统,并将数据通过上位机软件以文本格式导出,同时给出了ADS8343与51单片机的接口电路和C语言驱动程序。
关键词:ADS8343;51单片机;RS232;多路采集系统
ADS8343是TI公司的16位4路伪差分模数转换芯片,具有分辨率高、转换速度快(最快10μs)、串行接口传输节省I/O口资源等优势,结合常用的51单片机可方便搭建多路采集系统。
1 ADS8343引脚
ADS8343是16位分辨率AD转换器,具有片内系统时钟,4路(单端)模拟输入通道,采样率最高可达100kbps,伪差分输入双极性输出。
ADS8343的引脚排列如图1所示。引脚功能简述如下:
+VCC:电源端,+2.7~+5V;
CH0~CH3:模拟信号输入端;
COM:模拟输入的公共参考端,一般连接到VREF;:关闭端。当为低电平时,器件进入低耗电关闭模式;
VREF:参考电压输入端,500mV~+VCC/2;
GND:地;
DOUT:串行数据输出端。数据在DCLK的下降沿被移出。当为高电平时DOUT输出呈现高阻态;
BUSY:器件占用输出端。当为高电平时DOUT输出呈现高阻态;
DIN:串行数据输入端。如果为低电平,数据在DCLK上升沿被锁存;
:片选端。控制转换时序,使能串行输入、输出寄存器;
DCLK:外部时钟输入端。
2 ADS8343使用方法
2.1 模拟输入端连接
ADS8343支持伪差动输入双极性输出,所有单、双极性输入电压均是相对于公共参考端而言,输入电压可以采用单端或是差分输入的方式驱动模拟输入端。注意,实际输入电压对地而言必须是正电压,否则会造成芯片损坏。具体连接方式如图2所示。
2.2 控制字
ADS8343在进入转换工作时,必须先向DIN送入8位控制字,8位控制字第7位(MSB)为起始位,须置1:第6~4位为通道选择位,结合第2位单端、差分控制端可以改变4个通道的输入方式,具体如图3所示:第1、0位是省电模式和内部时钟控制位,一般选择外部时钟模式,从而提高转换精度,当PD1、PD0均为0即工作在外部时钟的正常供电模式;当PD1=1、PD0=0即为内部时钟模式;当PD1、PD0均为0时,即工作在省电模式,在每次转换完毕就进入关闭节电状态。
有高电平转为低电平时,器件开始进入转换工作,此时在最初的8个时钟周期的上升沿将8位控制字送入DIN,当最后一位控制送入完成,BUSY马上由低电平跳变成高电平,经过一个时钟周期后,在下降沿BUSY同步变成低电平,因此BUSY用来检测DOUT高位数据是否到来,经过逐次逼近后的16位数据在紧接着的16个时钟周期的下降沿被送到DOUT端,全部转换完成后变为高电平。因此要获取16位数据,必须要25个时钟周期。如果按照SPI接口8位数据工作来看,可以通过完成32个时钟周期来获取16位数据,把最后7位数据处理掉就可以了。其32时钟周期时序图如图4所示。
3 多路采集系统
3.1 ADS8343与51单片机的接口
将ADS8343与常用的51单片机结合,可以方便的搭建多路采集系统。将DCLK、、DIN、BUSY、DOUT分别与单片机的P2.0~2.4连接,利用RS232串口与PC机连接,实现由计算机来控制采集过程及接收数据。
3.2 ADS8343的软件编程
根据ADS8343的外部时钟模式下32时钟周期时序图,结合整个转换周期需要至少25个时钟周期,采用单片机I/O给出DCLK的25个时钟周期,这样就可以完成一次完整的转换。再通过RS232串口与PC机连接可以实现简单的控制与采集。采用C51编写的AD转换子程序及相应注解如下所示,程序已用串口调试工具调试通过。
3.3 数据输出格式
ADS8343是双极性输出,以单端输入为例,当输入电压为正(相对于COM而言,即输入电压高于VREF),其输出16进制值在0000~7FFF之间,其中+VREF对应于7FFF;当输入电压为负(相对于COM而言,即输入电压低于VREF),其输出16进制值在FFFF~8000之间,其中-VREF对应于8000。
3.4 计算机(上位机)编程
多种计算机编程语言可以实现串口数据的采集处理,在本系统上位机中使用VC编程,主要实现对单片机传入数据的转换,包括被测信号的电压值的实时显示、精度转换、采集时间的设置、串行口端口号选择、数据存放地址的选择等,最终的数据以文本文件存放于指定地方。针对于恒电位仪测量合金极化曲线实验设计的软件界面如图5所示。
文中利用ADS8343模数转换芯片和51单片机搭建了简易多路采集系统,利用51单片机和C语言编程使整个控制变的简单、移植性强,且整体成本低廉,可方便用于多路电压采集场合,在选择高精度低噪声基准源、良好的布线及软硬件降噪处理后,可实现较高精度的采集。该系统已用于恒电位仪测量极化曲线实验的电压采集,取得较好的效果。
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- linux文件系统基础(02-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)