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

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

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


子程序入口参数Adcaddres通过设置控制寄存器来修改采样通道进行数字滤波


#define LEN  18  
//采样数组的长度
#define SHIFT 4 
//LEN = 2^SHIFT+2
unsigned int szlb(unsigned char Adcaddres)      {
 unsigned char pdat;
//移动指针
 unsigned char pmax,pmin; 
//记录数据表中最大值和最小值的位置,在一般的数据采集系
    unsigned char i;    
//统中,数据的长度>=8,
 unsigned int datas[LEN];  
//因此用指针记录而不是直接记录最大值和最小值
  unsigned int average=0;   
//清零,用来计算平均值
 pmax=0;
 pmin=0;
 for ( pdat=0;pdat<LEN;pdat++)
//采样所得数据存入数据表中
    {
 datas[pdat] = get_ad(Adcaddres);
       DelayMs(0×06);
 }
    for(i=0;i<LEN;i++)
   average+=datas[i];
//求所有数据总和
 /******去除被认为是脉冲的数据*******/
 for ( i=LEN;i>0;i--)
 {
  if(datas[i-1]>datas[pmax])
//记录数组中最大值的下标
 pmax=i-1;
 if(datas[i-1]<datas[pmin]) 
//记录数组中最小值的下标
 pmin=i-1;
}
 average=average-datas[pmax]-datas[pmin];   
//减去脉冲
  return (average>>SHIFT);   
//求算术平均值
}

设计中需要注意的问题


单片机连接多个外围芯片时需要注意几个问题,首先要保证这几个外设的使能有效信号绝对区分开来,通过CPLD译码产生片选来激活不同的外设,否则多个外设的数据就会同时出现在数据总线上,造成数据冲突,接受错误,其次要从地址上区分开对外部设备寄存器的读写操作,同一时刻不能对多个外设进行读或写操作。


由于AD7888是高分辨率的ADC,因而电源的耦合电路尤为重要。因此在印制电路板设计时,应对所有的模拟电源输入加一级去耦电路,即用10μF钽电容和0.1μF陶瓷电容并联到地。这些去耦电路的元件应尽可能靠近芯片的电源引脚,这样才能获得更好的去耦效果,并消除引线过长带来的干扰。


本系统介绍的技术已在高稳定度激光器多路监测中得到了应用,它不但提高了系统抗干扰性和数据的测量精度,而且由于结构简单也给维护带来了便利。



上一页  [1] [2] 


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