您当前的位置:五五电子网电子知识电子知识资料激光技术基于AD7888的高稳定度激光器多路监测系统的设计 正文
基于AD7888的高稳定度激光器多路监测系统的设计

基于AD7888的高稳定度激光器多路监测系统的设计

点击数:7761 次   录入时间:03-04 12:03:21   整理:http://www.55dianzi.com   激光技术

系统功能简介


在高稳定度激光器的研制中,实时监测激光器的工作状态是需要重点关注的问题。本系统实现了高稳定度激光器温度控制系统、激光管工作电流、工作电压、激光器光功率的实时精确监测,以及激光器工作状态数据的存储和数据串行上传的功能。其中电流设定值和实际工作电流的观测可以更好地确定激光器的工作状态。系统结构图如图1所示。

                             图1 系统结构框图


本系统的实时监测是利用AD模数转化器实现的。对于AD芯片的选择,需要综合设计诸项因素,系统技术指标、成本、功耗、安装等,最主要的依据还是速度、精度以及需要的通路。由于系统采样的数据是缓慢变化的信号,所以速度的要求不高,主要是精度的要求和多通路的要求,所以选择了美国模拟器件AD公司推出的一款8路单端模拟输入的12位模数转换器AD7888,VREF(+)为+5V时,其精度能达到1/212×5V=0.00122V,完全满足系统设计的需要。LCD使用OCM4×16,4行16字符的液晶显示模块,使用两个按键控制不同监测数据之间的切换。数据存储器使用的是AT28C256,容量为256MB,在EEPROM中将存储器分为8个区域,按照实时时钟的节拍存储上传给PC的采样数据。在PC端可以远程直接监控激光器的工作状态。与PC间的数据通信采用的是串行方式,从MCU的TX和RX端CMOS电平到PC的标准RS232电平的转换器件选用Maxim公司的MAX232。由于MCU的外围器件比较多,以及考虑了以后的扩展,这里使用了CPLD芯片进行了器件片选的地址译码和液晶屏的控制信号的生成。

AD7888的特点


AD7888是美国模拟器件AD公司推出的一款高速低功耗12位模数转换器,可以在+2.7~+5.25V单电源模式下工作,见图2。其最大转换速率可达到125k SPS。AD7888的输入采样/保持电路在500ns内获取一个信号,采用单端采样模式,包含8个单端模拟输入,从AIN1到AIN8,模拟输入电压从0~VREF。AD7888内部具有用做A/D转换的换的2.5V基准电压源,REFIN/REFOUT管脚允许用户访问这个基准。另外,该管脚也可以使用外部基准电压,范围从1.2V到VDD。CMOS的制造工艺确保了低功率消耗,正常工作时为2mW,掉电状态下为3μW。该器件采用16脚SOIC和TSSOP外形封装。可以选择多种电源管理模式(包括数据转换后自动处于掉电模式),与多种串行接口兼容,如SPI/QSPI/MICOWIRE/DSP。AD7888引脚功能及符号说明见图3、表1、表2。

                              图2 AD7888模数转换器

                         图3 控制器位功能描述

表1 AD7888模数转换器管脚

表2 引脚符号及说明


在AD7888中,控制寄存器是8位的只写寄存器。数据在时钟周期信号的上升沿从AD7888的DIN引脚载入,在此同时获取外部模拟量转换的结果。每次数据的传输需要准备16个连续时钟信号。数据只能在片选信号下降沿之后的前8个时钟脉冲的上升沿装入控制寄存器。


串行接口:


在图4中显示了详细的串行接口时序图,串行时钟提供了转换时序,且控制AD7888转换信息的输入输出。
CS初始化数据传送和转换处理。在其下降沿之后的1.5个时钟周期开始采样输入信号,这段时间表示为tACQ(获取时间)。这是从DIN输出到控制寄存器的MSB位为DONTC一个原因。在自动关断模式下获取时间必须要虑及5μs的唤醒时间。整个转换过程还需要14.5个时钟周期来完成。上升沿之后,总线返回高阻状态。如果继续保持低电平,则准备新一轮的转换。


进行采样的输入通道的选择是提前写入控制寄存器的,因此在转换时,用户必须提前写入以备通道的转换。也就是说,在进行当前转换时,用户就必须提前写入通道的地址以备下次转换使用。设计中初始化时,先做一次写控制寄存器的操作,将需要转换的通道信息写入控制寄存器中。


写信息到控制寄存器应该在数据传送的前8个SCLK上升沿进行。控制寄存器经常在数据传送发生时进行写操作。从器件中读数据时用户必须经常仔细地在PIN线上设置正确的信息。

接口与驱动


串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。SPI总线是一种三线同步总线,因其硬件功能很强,所以其实现软件就相当简单。AD7888与多种串行接口兼容,可以根据使用的控制芯片在设计中灵活的使用,从经济的角度出发选择普通的MCU芯片AT89S52,使用程序可方便地实现对SPI总线的控制。

                     图4 串行接口时序图


AD7888与MCU之间的接口关系如图5所示。为了能够获得稳定的数据,AD7888与MCU之间加入光隔离器。光隔离器件采用的是隔离电压高、速度快、共模抑制性强的6N137。由于6N137的速度快,编程中不需要进行延时就能满足光隔离器的电平建立时间。试验表明通过光隔离器,获得的稳定数据能够增加3~4位(二进制位)。AD7888的CS接地,使AD888始终工作在SPI接口模式。对每个接口模块的控制是通过74LSl25的三态允许端来实现的。对其中一个SPI接口操作时,使其74LSl25处于选通状态,而其他SPI接口的74LSl25处于高阻状态。这样可实现微处理器单独对一个接口进行操作,而不影响其他接口。CPU通过对三态缓冲器74LSl25控制,可实现多个接口共用相同的数据线。AD7888所采样的七路电压信号经过分压以后电压都在2.5V以内,所以这里可以直接使用芯片内置的+2.5V参考电压,在程序中必须将控制器的REF位置清为“0”。

                           图5 AD7888与MCU连接图


子程序入口参数Adcaddres通过设置控制寄存器来修改采样通道和工作模式


unsigned int get_ad(unsigned char Adcaddres)
//写入控制字和读出转换数据

 unsigned char i,j;
 unsigned char Strdatah,Strdatal,Tempdata;
 unsigned int Strdata;
 Tempdata=0×0;
 Strdatah=0×0;
 Strdatal=0×0;
 Strdata=0;
 Ad_cs(0);        
//使能AD7888片选有效
 Ad_sclk=1;
 for(i=0;i<8;i++)
//前8个时钟周期进行控制寄存器的写入
 {
//和读出上次转换的高4位数据
Ad_din=(bit)( Adcaddres &(0×80>>i)); 
//先移出最高位
 Ad_sclk=0;
 for(j=0;j<2;j++);
 Ad_sclk=1;
 for(j=0;j<2;j++);
 Strdatah=Ad_dout; 
 Strdatah=Strdatah<<(7-i);
Tempdata=Tempdata | Strdatah;
}
Strdatah=Tempdata;
 Tempdata=0×0;
 for(i=0;i<8;i++)
//从AD7888中读取低8位采样码
 { 
Ad_sclk=0;
 for(j=0;j<2;j++);
 Ad_sclk=1;
 Strdatal=Ad_dout;
 Strdatal=Strdatal<<(7-i);
 Tempdata=Tempdata | Strdatal;
 for(j=0;j<2;j++);
}
 Strdatal=Tempdata;
 Strdata=(Strdatah*256 +Strdatal)&0x0fff;
//去除高四位的无效数据”0”,防止误码出现
 Ad_cs(1);
//使能AD7888片选无效,降低功耗
return(Strdata);
}
程序中把写控制寄存器通知采样某通道和读出上次转换的高位有效数据同时进行,提高了转换的速度,使应用程序编程更加高效。


当电源不稳定或者电路出现干扰的时候,AD7888输出的采出码将出现波动,使得采样效果变差,这时可以在读数据时采用防脉冲干扰移动平均值法数字滤波,即加入后置滤波器,使效果得以改善。下面是相关的程序。

[1] [2]  下一页


本文关键字:激光器  激光技术电子知识资料 - 激光技术