中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 模拟技术 >>电子行业新闻正文

MAXQ7654在信号滤波中的应用

时间:2007/2/13 10:36:00  作者:  来源:ic72  浏览人数:1400
 
 

      本文描述的应用旨在展示MAXQ7654的混合信号特性。微控制器利用一个I)AC产生带噪声的正弦波。DA(:输出被接入一个ADC输入通道进行采样。得到的采样通过一个简易的有限激励响应(FIR)滤波器,以衰减信号中的高频分量,从而在第二个DAC产生连续和光滑的正弦波输出。利用丰富的模拟和数字外设,在很多有意义的应用中都可施展MAXQ7654的能力。本文聚焦于MAXQ7654的信号处理能力,主要展示其ADC、DAC和硬件乘加单元。采用IAR编译器和MAXQ7654评估板(EV kit),通过一个应用实例说明如何从充满噪声的正弦波中滤出干净的低频信号。本应用的源代码、项目文件和原理图可在www.maxim—ic.com/MAXQ7654 Fiher下载。

      1 集成的模拟功能和外设使信号滤波

      MAXQ7654集成了16通道、12位ADC,完成一次转换仅需16个时钟周期。时钟频率为8MHz(最大值)时,每秒可完成500 000次采样。测量单端模拟信号时可对多达16路信号进行采样,测量差分信号时可对多达8路输入信号进行采样。该ADC也可进行温度测量--MAXQ7654内含温度传感器,可读取芯片(管芯)温度。MAXQ7654包括一个用于信号处理硬件乘加单元。它能在一个周期中进行二个16位乘法,并且还有可选的累加器功能,可工作于带符号或无符号模式。这样一来简化了FIR和IIR滤波器的实现;每个滤波因数只需3个机器周期的处理,其中包括调用滤波器的开销。JT7AG调试引擎是MAXQ平台公用的,当应用程序在目标硬件上运行时,利用它可完成寄存器和存储器的读、写操作。采用.JTAG后还省掉了昂贵的仿真器。主要的C编译器提供商,如Rowley、IAR和Python均支持MAXQ7654及其调试功能。

      MAXQ平台的一个新增外设是控制器局域网(CAN)2.0B接口,它是常用于工业和汽车领域的通信协议。MAXQ7654的CAN控制器支持15个消息中心,比特率高达1Mb/s。当收到或发出消息后以中断形式通知系统。SPI?接口支持从机或主机模式,可进行8位或16位数据传输。SPI常见于小型电路,如可编程充电器、数字电位器、DAC、ADC和存储器。MAXQ7654.有4个多功能定时器。这些定时器采用8位或16位计数方式,支持周期性中断、脉宽调制、捕获及比较功能的自动重装载。

      2 滤波应用的软件架构

      定时器产生中断时第一个DAC输出带噪声的正弦波,以确保输出采样具有固定的间隔。设计用于生成正弦波的代码涉及复杂的浮点计算,实现的运算量很大。考虑到正弦波数据是周期性重复出现的。重新计算那些不会随时间改变的正弦波数据会造成资源浪费,因此,在应用程序一开始就预先算出一组正弦波数据。在正弦波数据初始化之后,定时器产生周期性中断。定时器中断程序代码中的一个伪随机数产生器用来产生噪声,噪声被直接叠加到干净的正弦波数据中,结果被传给DAC产生输出信号。为了保持演示程序代码的简洁,在用于产生输出正弦波的定时中断中同时对模拟输入信号进行采样。当读取输入采样后,采样信号通过简易的FIR滤波软件处理,为使效率最大化,该滤波软件用汇编语言来实现。滤波后的采样信号随后从第2个DAC输出。用示波器来比较二个DAC的输出,可以发现一条正弦曲波较为粗糙,带有噪声,而另一条正弦比较干净,由于FIR滤波器的长度有限,因而带有轻微的相位延迟。

      3 噪声正弦波的生成和采样

      定时器中断程序代码如下,程序开始时已预先计算好正弦波数据,本段代码将其转换为噪声正弦波数据。

      sample=static-sin-data[sinindex++];

      sinnoise=((sinnoise^0x5C)*31)+0xabcd;

      thisnoise=sinnoise;

      if(thisnoise&Ox01)

      {

      thisnoise=thisnoise&0xlff;

      }

      else

      {

      thisnoise=-1*(thisnoise&Oxlff);

      }

      sample+=thisnoise;

      if(sample<0)

      sample=sample*-1;

      if(sample>4095)

      sample=8192-sample;

      DACll=sample; //Send value to DAC#1

      if(sinindex>:SIN_WAVE_STEPS)

      sinindex=0:

      sinnoise变量用来存储伪随机噪声(可能是正的或负的)。噪声被叠加到干净的正弦波数据后,所产生的噪声正弦波数据被直接赋给DACll寄存器以进行数/模转换。从ADC读取采样数据的过程几乎同样简单。设置完ADC的采样输入引脚后,软件可通过查询BUSY位或者使能中断来获知转换已经结束。本实例代码使用了查询方式。

      inputsample=ADC_Convert_Poll(AIN0 START CON

      V CONTINUOUS);

      unsigned int ADC_Convert_Poll(unsigned int Con-

      trol_Reg)

      {

      ACNT=Control Reg;//Set the ADC parameters

      while(ACNT_bit.ADCBY==1); //Wait till

      ADC is not busy

      return ADCD; //Return the ADC result

      }

      注意,MAXQ7654中ADC的采样率是500ks/s。在8MHz时钟下,只需等待16个时钟周期便可完成一次转换。

      4 简单的数字滤波器设计

      本应用所产生的波形中包含一个强低频信号和大量的高频噪声。用一个简单的低通滤波器可净高精度的浮点滤波因数。不过,由于MAXQ7654有16位硬件乘加器,因此需要将浮点因数转换成16位精度的定点因数。这一转换会给理想的滤波器变换引入误差。因此,该Java程序也给出建立在定点因数之上的实际变换结果,并以图形方式给出了误差。注意:尽管该程序既支持极点(突出频率分量)也支持零点(衰减频率分量),但演示代码只使用零点。无限激励响应滤波器(包含极点和零点)可以由另外的软件来实现。在应用程序窗口底部的文本框中给出了生成的16位定点滤波因数以及其中的小数位数。

      5 结论

      MAXQ7654是一个高性能、应用广泛的混合信号微处理器。MAXQ7654简单的演示代码和高集成设计可使性能最大化,该器件可在信号滤波应用领域为设计者提供易于使用的解决方案。

 
【相关文章】
·LTC6910系列数字控制可编程增益放大器原理与应用
·基于LabVIEW开发平台的声音能量设计
·MAXQ7654在信号滤波中的应用
·Cypres 推出新型时钟发生器
·大坝安全监测中的UC7420应用技术方案
·基于DSP的加速度计温度控制系统的硬件设计
·一种高增益低功耗CMOS运算跨导放大器的设计
·模拟IC从不缺少增长的动力
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9