王怡
摘 要:模数转换装置是一种可以将模拟信号采样转换为数字信号的设备。它是自然界中连续变化的物理量得以進入数字系统中进行处理的桥梁。因此,模数转换装置在工业控制领域大量使用。本文介绍了一种以51单片机作为控制核心,以PCF8591T作为转换器件的模数转换装置的设计。首先介绍了该装置的硬件构成及设计原理,其次介绍了软件设计的基本原理。本装置设计简单,转换精度高,适用于很多工业控制现场。
关键词:模数转换;51单片机;PCF8591T;设计原理
引言
当前,在工业控制的各个领域,计算机技术都得到了广泛而深入的应用。通常,在对外部信号进行处理时,首先要利用传感器将自然界中的物理量(如压力、温度等)转换成连续变化的电信号(电压或电流)。然而,计算机系统是数字系统,并不能直接处理模拟量。所以,必须将模拟电信号先利用模数转换装置采样变换成数字信号后,才能进入计算机系统中进行处理。因此,模数转换装置对于工业控制设备而言,是不可缺少的组成部分之一。
1 总体架构
本文的模数转换装置以51单片机作为控制核心,以PCF8591T作为转换器件,可以实现最多4路的模数信号转换。模块采集变换后所得到的结果,可以通过两种方式来进行显示或处理:一是可以通过本地的显示接口直接显示转换结果;二是可以通过装置上的串行通讯接口将转换结果上传至主机进行显示或作进一步的处理。
2 硬件电路设计原理
A/D转换电路原理如下所示:
PCF8591T的1-4脚是4路模拟信号的输入引脚。在本地测试模式下,4路输入分别用光敏电阻分压,电位器分压,固定接5V及固定接地的方式产生。在正常工作模式下,可通过电路板上的跳线设置,将外部的四路模拟信号进行接入。5,6,7脚是PCF8591T的地址设置引脚,可通过硬件设计设置为0-7中的任意一个编号,上图所示,设为编号0。9,10脚为I2C串行通讯接口的数据线及地址线,是PCF8591T与主控芯片之间进行信息传输的通道。由于PCF8591T可以设置地址,因此,这一组I2C串行通讯接口上最多可以同时接8片PCF8591T。
12脚是内部时钟和外部时钟的选择管脚,设为低,表示使用内部时钟,因此11脚(外部时钟输入端)悬空。
3 软件设计原理
主控芯片通过PCF8591T上的I2C接口实现对它的控制及转换结果的读取。基本的控制流程如下:
(1)发送地址字节0x90:该字节的前四位是固定内容。后四位的最低位为0,表示接下来的字节信息是写入信息,其他三位是PCF8591T的地址。在这里设置为0。
(2)发送控制字节0x00:该字节最高位固定为0。位6在使用DA功能时用来使能模拟量输出,这里设为0,不开启此功能。位5、位4用于设定模拟输入端的输入形式,0-3四组值可以分别将4路输入设置为4路单端、3路差分、两路单端及一路差分、两路差分四种形式。这里设置为4路单端模拟输入。位3固定为0。位2为增量位,若设为1,PCF8591T会在采集完指定通道的信息后,自动采集下一个相邻通道的值并输出。这里设为0,不开启自动增量模式。位1、位0用于选择采集的通道。这里选择通道0。
(3)发送地址字节0x91:表示开启A/D转换。
(4)接收上一次转换的结果(不用该数据可跳过该步骤)。
(5)接收本次转换的结果。
关键代码如下:
unsigned char ADconvert(unsigned char contrl_byte)
{
unsigned char ad_result;
I2C_start();
write_byte(0x90);
I2C_respond();
write_byte(contrl_byte);
I2C_respond();
I2C_start();
write_byte(0x91);
ad_result =read_byte();
return ad_result;
}
结束语
本文介绍了一种基于51单片机的模数转换装置的设计。包括该装置的软硬件设计原理,启动及采集流程设计,系统构成等。该设计在实测中运作良好,稳定,采集精度高,符合设计要求。
参考文献
[1]Philips Semiconductors, PCF85918-bit A/D and D/A converter datasheet,2003 JAN 27.
[2]Maxim Technology,Datasheet of MAX232, 19-0175;Rev 5;10/03.
[3]张毅刚,彭喜元,彭宇.单片机原理及应用[M].高等教育出版社,2009.endprint