新闻  |   论坛  |   博客  |   在线研讨会
利用SoC单片机的多功能数据采集卡
yanqin | 2009-04-17 21:25:18    阅读:1139   发布文章


  摘要:
本文介绍了一种SoC单片机控制的多功能数据采集卡,在输入通道中增加程控滤波、程控增益放大器和多级陷波电路,采集卡的功能选择和参数改变均由SoC单片机软件控制。本文给出了关键部分的电路图、元件参数和实测数据。 
  
  关键词:
SoC单片机;程控放大;程控陷波

  引言 
  目前大多数的数据采集卡并不能适应工业控制现场或像野外那样存在多种噪声干扰的使用环境,特别是对50Hz工频干扰及其谐波干扰无法起到抑制作用。在这种情况下,采集到的数据往往有很多错误或者采集卡无法正常工作。 
  本数据采集卡与以往数据采集卡相比增加了诸多功能。采用与以往数据采集卡不同的结构:给输入通道增加了程控滤波环节,即前置滤波器的中心频率及50Hz工频及其谐波频率陷波器的选择都采用单片机软件控制,可根据现场需要进行选择,以适应不同环境。同时本采集卡运用SoC设计思想,使用Cygnal公司新推出的C8051Fxxx高速单片机,在片内实现通道转换及A/D转换。这样既减小了硬件开销又缩短了数据传送距离,还能进一步抗干扰,而且不用更改硬件电路,就可对采集卡的功能进行更改或扩展。 

  系统硬件结构 
  多功能数据采集卡的系统结构如图1所示。 
  采集卡共用八个模拟输入通道,每个输入通道都具有独立的带通滤波器、程控增益放大器和多级陷波器。其中每个带通滤波器的中心频率都可分档选择,且每个滤波器是否需要接入电路也可由单片机控制。程控增益放大器的放大倍数可由单片机分档控制。模拟信号经过滤波、放大电路后,在进入单片机进行A/D转换之前需经过多级陷波器以消除50Hz及其谐波干扰,陷波器的中心频率和级数也可由单片机根据使用环境选择。采集卡的控制核心是SoC单片机C8051F020,其内部集成有12位100ksps逐次逼近型ADC和8选1模拟多路选择器。数据采集卡采集到的数据通过EPP接口送到上位机。 
  程控滤波器原理及电路 
  本采集卡程控滤波电路如图2所示。该电路由两级相同的滤波器级联而成,每级由三个高精度、低失调、低噪声运放OP07和两个12位电流输出DACAD7533构成。将AD7533的Iout2引脚接地,则其Vref和Iout1两个引脚之间等效为一个受DATA9~DATA0控制的电阻网络,等效电阻为:,其中R为DAC芯片电阻网络的单个等效电阻值,对于AD7533为10kW;n为DAC的位数,对于AD7533,n=12;D为DATA9~DATA0对应的二进制值,这里可取1~4095。该电路的中心频率为:,其中;当取R1=R2=R4=RG=50kW;C1=C2=0.0156mF;RQ=12.5kW时,中心频率用SoC单片机的P1口和P4.0、P4.1控制DATA0~DATA9,就可通过改变DATA0~DATA9的数值改变REQ,进而改变滤波器的中心频率。 
  将两级电路级联起来,构成图2中的完整电路,可以进一步提高品质因数。表1中列出了D取不同值时,实际测得的中心频率和-3dB处的频率,反映出该电路不但可以高精度地控制中心频率,而且具有很高的Q值。 
  陷波器电路 
  50Hz交流电干扰是数据采集中不可避免的严重问题,采集电路中必须设置50Hz陷波器,将以差模形式串入的50Hz及其谐波滤除。 
  图3为二阶双T型50Hz陷波器电路,陷波深度-40dB以上,Q值约为3。取R1=R3=R和C1=C2=C3=C时,陷波器的中心频率为:,R1=R3=45kW和C1=C2=C3=0.1mF时,中心频率为50Hz;取R1=R3=45kW和C1=C2=C3=0.033mF时,中心频率为150Hz;取R1=R3=45kW和C1=C2=C3=0.02mF时,中心频率为250Hz。这样就构成三级陷波器,每级陷波器又受一单刀双掷模拟开关ADG419控制,SoC单片机可选择将哪一级或哪几级陷波器接入电路。该电路经过测试与实际应用,证明对50Hz及其谐波具有极好的抑制能力。 
  程控增益放大器 
  程控增益放大器电路采用精密的可编程增益控制仪表放大器PGA202,它具有较高的共模抑制比(增益为1时,CMRR优于80dB),单位增益带宽为1MHz。其可编程增益有×1、×10、×100和×1000四档,受A0、A1两引脚控制,将这两个引脚接入SoC单片机的I/O口,即能实现单片机对PGA202增益的控制。 
  C8051F020单片机内部集成ADC 
  C8051F020内部集成有12位的ADC0,其转换速率最大可达100ksps,与内部8选1MUX结合起来使用,即可构成8通道的ADC。初始化ADC0时,8051内核对特殊功能寄存器AMX0CF写0x60、对ADC0CF写0XF8、对ADC0CN写0x80,即配置为8通道单端模拟输入、内部PGA增益为1、A/D转换的结果字右对齐。当对寄存器REP0CN写0x02时,启动ADC0。ADC0转换完毕后会产生第15号中断,中断向量为0x007B,8051内核在中断服务子程序中读A/D转换的结果,A/D转换结果存在寄存器ADC0H(高4位)和ADC0L(低8位)中。 
  输入通道与单片机的接口 
  C8051F020具有64个I/O引脚,足以用于对外部输入通道各个功能的选择,其中P0.0~P0.7和P4.0、P4.1接到DAC,用于选择程控增益放大器的增益选择。P4.2和P4.3接到程控增益放大器PGA202的A0、A1两个引脚,用于增益的选择。另外,程控滤波器和多级陷波器每一级的前端都有一单刀双掷模拟开关ADG419,ADG419是低导通电阻的模拟开关,其导通电阻仅为35W,受控引脚IN为“0”时开关1导通、开关2断开,IN为“1”时开关1断开、开关2导通,开关时间为30ns。每个通道各有四个ADG419,将同一级八个ADG419的IN引脚连在一起(因有8个通道),接到C8051F020的P4.4~P4.7,这样,通过单片机的P4.2~P4.7引脚,就能实现多功能的选择。 

  结语 
  基于SoC单片机的多功能数据采集卡,为数据采集提供多种功能,以适应可能遇到的不同测试条件。本设计达到如下参数指标及功能:每通道最大采样率为100ksps;幅值精度优于5mV;滤波器可选中心频率为32Hz、64Hz、128Hz、256Hz、512Hz、1024Hz,控制精度优于2.4%,Q值优于5;陷波器可选中心频率为50Hz、150Hz、50Hz,陷波深度-40dB以上。 
  C8051F020丰富的硬件资源使得进一步扩展功能而不改变硬件电路成为可能,如内部PGA,还可用来进一步微调放大倍数,只需改变寄存器ADC0CF的值即可。将ADC0工作方式改为窗口比较方式可进一步提高MCU效率,以便实现量程自动转换等等。C8051F020的在线编程方式也为在线改变软件提供了方便。

  参考文献
1潘琢金,施国君.C8051Fxxx高速SoC单片机原理及应用[M].北京:北京航空航天大学出版社,2002
2CygnalC8051Fxxx数据手册[EB/OL]
3UAF42数据手册[EB/OL]
4AD7533数据手册[EB/OL]

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客