版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、四川理工学院毕业设计(论文) 50Hz数字陷波器的设计学 生:孙全成学 号:专 业:通信工程班 级:2004.3指导教师:徐永俊 四川理工学院电子与信息工程系二OO八年六月摘 要在分析了FIR数字滤波器主要特点的基础上,利用MATLAB设计了50Hz的FIR数字陷波滤波器,并给出了基于AT89S52的硬件实现方案和相应的C51程序。通过软件仿真,验证了滤波器的可行性和实时性。关键词:陷波滤波器;MATLAB;单片机ABSTRACTBasing upon analyzing main characteristics of the digital FIR filter and designing
2、a 50Hz FIR digital notch filter by MATLAB is presented in this paper, as well as the hardware scheme and corresponding C51 program based on AT89S52.The filters feasibility and real time disposal was confirmed through the software simulation.KEY WORDS: Notch Filter;MATLAB;MCU目 录摘 要IABSTRACTII第1章 引 言1
3、1.1 数字滤波器简介11.1.1 陷波滤波器的原理11.1.2 陷波滤波器类型的选取21.2 设计的总体思路和方法2第2章 数字滤波器的基本概念32.1数字滤波器模型32.1.1 数字滤波器的类型32.2系统的描述42.3系统的传递函数5第3章 数字滤波器的基本结构运算单元63.1滤波器的基本结构运算单元63.2 线性相位FIR数字滤波器的特点63.2.1 线性相位的条件63.2.2 滤波器的线性相位特性63.2.3 线性相位特性FIR 滤波器的零、极点分布特性83.2.4 FIR数字滤波器的基本结构9第4章 FIR数字滤波器的设计114.1 FIR的传统设计方法114.1.1 FIR滤波器
4、的窗函数截取设计方法114.1.2 几种常用的窗函数124.1.3 FIR滤波器的窗函数设计法设计步骤134.2 利用MATLAB进行滤波器的设计154.2.1 FDATool工具箱简介154.2.2 带阻滤波器设计174.2.3 冲击响应h(n)的输出20第5章 FIR滤波器在单片机上的实现215.1 A/D、D/A转换器简介215.1.1 A/D转换器TLC2543简介215.1.2 D/A转换器TLC5618简介255.2 TLC2543和TLC5618与单片机的连接图285.3 TLC2543和TLC5618的C51程序295.4 FIR滤波器在AT89S52上的实现315.4.1 1
5、6位有符号乘法程序的设计315.4.2 FIR的C51程序32第5章 FIR滤波器的调试395.1 Emu51Form简介和使用395.2 A/D、D/A转换程序的调试405.3 对16位有符号乘法程序的调试415.4 FIR滤波程序的编译与调试42第6章 结束语43致 谢44参考文献45附 录47第1章 引 言1.1 数字滤波器简介数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。如果系统是一个连续系统,则滤波器称为模拟滤波器。
6、如果系统是一个离散系统,则滤波器称为数字滤波器。由于计算机和大规模集成电路技术的进步,依靠传统的模拟电路来实现的电子系统已不适应。现在都在开始采用数字化技术,传统的模拟滤波器,正在被数字滤波器所代替,数字滤波器的输入是个数字序列,输出是另一个数字序列。从本质上说它只是一个序列的运算加工过程。但另方面因为它是一个离散系统,而一个离散系统具有一定的频率响应特性,适当地控制离散系统结构使其频率特性满足一定的要求,就可以起到和模拟滤波器同样的作用。但数字滤波器却具有精度高,可靠性强,灵活性大,适应范围广(在甚低频范围),快速等优点。而且可以分时复用,同时处理若干不同信号,因此已得到越来越广泛的应用。在
7、心电信号分析系统中, 影响心电自动分析结果可靠性的因素很多。其中一个重要原因就是心电信号中存在各种干扰, 如随机噪声、基线漂移、肌电干扰以及50 Hz 工频干扰。由于这些干扰的存在, 往往对心电各波段的识别造成影响,从而影响自动诊断结果。在心电信号的记录过程中, 由于内外环境因素的影响, 50 Hz工频干扰是经常存在的。通常可采用点阻滤波、分段滤波等手段来抑制50 Hz干扰信号。但由于50 Hz 干扰信号落在心电信号的有效频带内, 以上方法往往对心电的有效成份造成一定影响。本设计介绍一种性能卓越又容易设计和实现的50Hz陷波滤波器,这种方法对50 Hz 干扰信号消除彻底, 而对心电信号的有效成
8、份影响很小。1.1.1 陷波滤波器的原理当带阻滤波器的阻带很窄时,又称为陷波滤波器。陷波滤波器的设计是以模拟滤波器为原型,通过一定变换转换为数字滤波器。陷波滤波器的设计有两种:一是先利用模拟频域带阻变换法,再利用数字化法设计数字带阻型滤波器。方法二是直接从模拟低通原型滤波器通过s 平面变换成数字带阻滤波器的z平面。模拟低通到模拟带阻的变换关系为: (1-1)方法三是利用MATLAB的强大运算功能,基于MATLAB信号处理工具箱(Signal Processing Toolbox)的数字滤波器设计法7可以快速有效的设计由软件组成的常规数字滤波器,设计方便、快捷,极大的减轻了工作量。在设计过程中可
9、以对比滤波器特性,随时更改参数,以达到滤波器设计的最优化。这里利用方法三进行设计。 1.1.2 陷波滤波器类型的选取根据滤波器单位冲激响应函数的时域特性可分为两类3:无限 冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。再者,CPU的字长是有限的,在数据的处理中总会有计算的误差,FIR滤波器是非递归的,它不会把误差累积起来。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。所以本设计选择FIR型滤波器来设计。1.2
10、设计的总体思路和方法本设计先用MATLAB设计出符合要求的滤波器,再根据FIR波器的的循环卷积方程: (1-2)选择ATMEL公司的AT89S52单片机,在KEILC上进行程序实现。设计的总体结构如图1-1:滤波输出CPUAT89S52(notch filter)A/D转换器D/A转换器输入信号图1-1 系统总体结构第2章 数字滤波器的基本概念2.1数字滤波器模型这里所讲的数字滤波器都是一个离散的LTI系统,离散LTI系统模型如图2-1:H(E)y(n)=H(E)x(n)x(n)图2-1 离散LTI系统模型x(n)、 y(n)分别是系统的输入输出序列,H(E)是系统本身的特性(转移算子)。系统
11、对于输入的离散序列x(n) 总有对应的输出y(n)。x(n)是离散的信号,每个x(i)可能有不同的幅值,有了前后不同幅值的变化,就可以引出离散信号的频率这一性质。数字滤波器就是对不同频率的数字信号从频域进行信号分离的时序电路或器件或一段程序,H(E)可由一段程序来或一个电路完成。2.1.1 数字滤波器的类型数字滤波器按功能分为低通、高通、带通、带阻、全通滤波器3。离散信号的傅氏变换公式为: (2-1)由序列傅氏变换公式可知,离散信号的傅氏变换是的函数,周期为2。只需研究,不需要在整个轴上分析其信号 。所以,数字滤波器的通带分布如图2-2:图2-2 数字滤波器的通带分布2.2系统的描述模拟系统通
12、常用微分方程来描述,离散系统则用差分方程来描述。差分方程可分为非递归型和递归型两大类3:非递归型:输出对输入无反馈,输出值仅仅取决于输入值。 (2-2) 若系统是线性、非移变、因果的,则有 (2-3)若又有iN时, ,则 (2-4)递归型:输出对输入有反馈,输出取决于输入和反馈 (2-5) 若系统是线性、非移变、因果的,则有 (2-6) FIR系统,他的脉冲响应是有限的周期。在FIR系统中,所有的项等于零。因此,FIR系统的输出可由下列方程式表示: (2-7) 实际上,系数系统的单位冲击函数h(n)。2.3系统的传递函数对FIR数字滤波器的差分方程的一般形式 (2-8)FIR数字滤波器的传递函
13、数: (2-9)令,则传递函数还可表示为: (2-10) (2-11)式中,称为幅度特性,称为相位特性。这里的不同于,为w的实函数,可能取负值,而总为正值。第3章 数字滤波器的基本结构运算单元3.1滤波器的基本结构运算单元基本结构 运算单元: 加法器: y (n)=x1(n)+x2(n) ,x1(n)x2(n)x1(n)+ x2(n)延迟单元: y (n)=x(n-1) ,z-1x(n)x(n-1)乘法器: y (n)=a x (n) , ax(n)ax(n)3.2 线性相位FIR数字滤波器的特点3.2.1 线性相位的条件线性相位FIR滤波器是指其相位函数满足线性方程3: (是常数) (3-1
14、) 如果满足下式: 是起始相位 (3-2)严格地说,此时不具线性相位,但以上两种情况都满足群时延是一个常数,即: (3-3)也称这种情况为统一线性相位。一般称满足(3-1)式是第一类线性相位,满足(3-2)式的为第二类线性相位。3.2.2 滤波器的线性相位特性 系统的时延特性:描述滤波器的相位特性有两个参数:1)滤波器的相位延时: (3-4)2)滤波器的群延时: (3-5)如果滤波器的相位延时和群延时是不随变化的常量,则该滤波系统称为恒延时系统。 线性相位的充要条件为:hk=hN-k (3-6) 设FIR滤波器的冲击响应为一对称序列:,N为奇数,对称中心点是。则有: (3-7) (3-8)对频
15、率响应特性: (3-9) (3-10) 即线性相位特性。系统相延时和群延时等于,为一常量。可以证明,在其他几种对称情况下(冲击响应h(n)为偶、奇对称,无论N为偶数或奇数),FIR滤波器相位特性也都满足线性相位特性。N为偶数,偶对称 N为偶数,奇对称 N为奇数,偶对称 N为奇数,奇对称 偶对称 相延时和群延时都为常量奇对称 群延时为常量所以,只要使FIR滤波器的冲击响应h(n)为对称序列,就可以取得线性相位特性。群延时为。 (3-11)3.2.3 线性相位特性FIR 滤波器的零、极点分布特性FIR 数字滤波器的系统函数只在 Z=0 处有N-1 阶极点。在Z平面有 N-1 个零点,如系统具有线性
16、相位特性,则系统零点有一些规律。FIR数字滤波器的线性相位特性,则系统冲击响应序列满足4:。 (3-12),设 (3-13) (3-14)若是系统的一个零点,则也是系统的一个零点。因为冲积响应序列h(n)为实数序列,方程H(z)=0的根为共轭对称,所以也是系统零点。具有线性相位特性的FIR数字滤波器的系统函数零点具有对称和共轭对称特性(互为倒数的共轭对)。FIR系统的零点分布:一般情况下零点对称和共轭对称特性有相应的4个零点。 当零点在单位圆上,有两个对称点在单位圆上。 当零点在实轴上,有两个对称点在实轴上。 当零点,对称点是它自己。单个零点。图3-1 FIR系统的零点分布 四种不同类型的线性
17、相位系统在zk=1的零点:(1) I 型FIR滤波器(N为偶):在=1和= -1无零点或者有偶数个零点。(2) II 型FIR滤波器(N为奇):在= -1有奇数个零点,在=1无零点或者有偶数个零点。(3) III 型FIR滤波器(N为偶): 在=1和= -1有奇数个零点。(4) IV 型FIR滤波器(N为奇):在=1有奇数个零点,在=-1无零点或者有偶数个零点。 3.2.4 FIR数字滤波器的基本结构 FIR数字滤波器的直接型结构3N阶FIR 数字滤波器的系统函数为: (3-15)其直接型结构如图3-2,具有N+1个乘法器,N个延迟器,N个加法器:x(n)1-z1-z1-z0b1b2b1-Nb
18、Nby(n)图3-2 N阶FIR滤波器的直接型结构 线性相位FIR结构3利用hk的对称特性: hk = hN-k 当N为奇数是,系统函数化为: (3-16) 其结构如图3-3,相同系数的滤波器,只需(M+1)/2个乘法器。图3-3 线性相位FIR滤波器结构,N为奇数1-z1-z1-z11111-z1-z1-zy(k)h0h1h2hN/2-1xkhN/2当N为偶数时,滤波器结构如图3-4,相同系数的滤波器,也只需N/2+1个乘法器。图3-4线性相位FIR滤波器结构,N为偶数 FIR数字滤波器的级联型结构3将H(z)分解为若干个实系数一阶二阶因子相乘如下式所示: (3-17)此时滤波器的结构如图3
19、-5。此结构中,有2L=N个延迟器,2L+1=N+1个乘法器,2L=N个加法器。它的特点是:可以分别控制每个子系统的零点。图3-5 FIR滤波器的级联型结构第4章 FIR数字滤波器的设计4.1 FIR的传统设计方法FIR的传统设计方法主要有三种6。 以窗函数为基础的窗函数截取法:以传统的窗函数为基础,利用已有的窗函数特性曲线和设计数据进行FIR滤波器的设计。具有设计简单,工程实用价值高的优点。是本课程主要介绍的方法。 局部优化设计法:(等波纹逼近法)以理想滤波器特性为基础,设定一、二个过渡带逼近点,然后对FIR滤波器差分方程系数进行优化计算得H(z)。由于需要部分优化计算,所以计算量较大。局部
20、优化设计法主要是针对过渡带进行优化,而通带波动,阻带特性等不一定很好。 最优化设计法:(计算机辅助设计)在某种最小化误差准则下,建立差分方程系数对理想特性的逼近方程,使用迭代方法解方程组得到最佳逼近系统。由于此方法计算量大,需要借助于计算机进行设计。这里介绍窗函数截取法,它是设计FIR滤波器的主要要方法。4.1.1 FIR滤波器的窗函数截取设计方法窗函数截取法以传统的窗函数为基础,利用已有的窗函数特性曲线和设计数据进行FIR滤波器的设计。具有设计简单,工程实用价值高的优点1。 理想滤波特性的傅立叶级数逼近:理想数字低通滤波器的频率特性为: 是以为周期的函数。其傅立叶级数展开式: (4-2)其中
21、 (4-3)理想滤波器系统是一个具有无限冲击响应的非因果系统。 理想滤波器冲击序列的加窗处理6为了获得FIR形式的滤波函数,需要把理想滤波器冲击响应序列 进行截断,以得到有限长度的因果序列h(n)。可以证明函数的傅立叶级数展开是一种最佳逼近。即在相同的阶数N中,展开式是理想滤波器特性的误差最小的多项式。并且,随着N的增大,逼近误差逐步减少。实际滤波器是稳定因果系统,所以得到: (4-4)误差随N的增加,单调减少。直接截断为: 假设N为奇数。 (4-5)截断后的h(n)作为FIR滤波器的冲击响应(也是差分方程系数),与理想滤波器的差别主要有:存在误差、非因果特性、如何保证线性相位特性(恒时延特性
22、)。4.1.2 几种常用的窗函数在滤波器的设计用到的窗函数主要有:矩形窗、哈明(Hamming)窗(改进的升余弦窗)、布拉克曼(Blackman)窗和凯塞(Kaiser)窗。本设计选用的是Kaiser窗,这里对Kaiser窗作个简要介绍,其它窗就不作介绍3。Kaiser窗的函数为:,其余。 (4-6)式中为主瓣宽度参数,由下式计算: (4-7)可以控制窗的形状。一般加大,主辨加宽,旁辨幅度减小,典型取值为49。为零阶第一类贝塞尔函数,可用下面级数计算: (4-8)当N=64、=7.0时,Kaiser窗的幅度特性如下:图4-1 Kaiser窗和其幅度特性 4.1.3 FIR滤波器的窗函数设计法设
23、计步骤(1) 给出要求数字滤波器逼近的理想频率响应特性 为了满足线性相位要求,一般可选定为实偶函数。所设计的数字滤波器可以是任何类型的滤波器(包括复杂特性滤波器)。一般是一可积表达式,(或可分段积分的多个表达式)。甚至可以是特性曲线的多个样本点: ,。 (4-9)(2) 选定滤波器的截断窗函数根据给定的幅度频率特性的阻带衰耗设计指标选取截断窗函数。一般是给定。对于有特殊滤波特性要求的情况,可以选择那些比较复杂的窗函数。如凯塞窗可以通过参数来改变特性。(3) 选定滤波器的阶数N: 阶数N主要考虑幅度频率特性的过渡带宽或系统的时间延迟。过渡带宽(值与选定的窗函数有关,见窗函数特性表)。即: 。时间
24、延迟。(4) 计算理想滤波器的冲击响应序列 (4-10)因为序列是偶对称的,所以数据只需要计算一半。另外一半对称扩展得到。 (N为奇数) (N为偶数)对于M个样本点积分计算为: (4-12)(5) 为了得到FIR滤波器具有因果特性,将序列进行时间平移N为奇数: 其中:N为偶数: 其中: (4-13)可见当N为偶数时,而。 (4-13)(6) 窗函数修正根据选定的窗函数 ,计算:, 窗函数: (4-14)因为冲击序列是对称序列,所以相位特性是线性的。(7) 给出实现流程图根据FIR滤波器的差分方程系数与冲击响应序列的关系,可得系数。 , (4-15)当FIR滤波器的阶数很高,或输入信号序列很长时
25、可以考虑用FFT方法实现。,或分段卷积方法。4.2 利用MATLAB进行滤波器的设计MATLAB具有强大的功能,利用MATLAB信号处理工具箱(Signal Processing Toolbox)进行数字滤波器的设计可以快速有效地设计出各种常规数字滤波器,使用这种方法方便、快捷,极大的减轻了工作量。在设计过程中可以对比滤波器的特性,随时更改参数,以达到滤波器设计的最优化7。 4.2.1 FDATool工具箱简介FDATool(Filter Design & Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具
26、箱(Filter Design Toolbox)。FDATool可以设计几乎所有的基本的常规滤波器,包括FIR和IIR的各种设计方法。它操作简单,在设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以便得到最佳效果,方便灵活7。FDATool界面总共分两大部分,一部分是Design Filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。在MATLAB的命令窗口键入:fdatool命令就可以打开工具箱,弹出FDATool界面如图4-2。图4-2 FDATool界面Design Filter部分主要分为:(
27、1):Filter Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。(2):Design Method(设计方法)选项,包括IIR滤波器的Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型)法、Elliptic(椭圆滤波器)法和FIR滤波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函数)法。(3):Filter Order(滤波器阶数)选项,定义滤波器的阶数
28、,包括Specify Order(指定阶数)和Minimum Order(最小阶数)。在Specify Order中填入所要设计的滤波器的阶数(N阶滤波器,Specify OrderN-1),如果选择Minimum Order则MATLAB根据所选择的滤波器类型自动使用最小阶数。(4):Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截止频率。它的具体选项由Filter Type选项和Design Method选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass
29、2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。(5):Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。(6):Window Specificatio
30、ns选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。4.2.2 带阻滤波器设计陷波滤波器是一种特殊的带阻滤波器,当带阻滤波器的阻带很窄时就成了陷波滤波器。因此 Filter Type 选项中选择 Bandstop。设计时先设计出理想的陷波器,再通多次过调整各项参数来降低滤波器的阶数以减少处理难度。这样可以得到最优的设计。通过多次调整后,可得出:FIR滤波器的窗函数选Kaiser窗,其beta=4.7,滤波器阶数为64阶,采样频率Fs=100Hz,阻带下限频率Fc1=45Hz,阻带是限频率Fc2=55Hz时为最优的,陷波器的特性非常好。在FDATool上的参数设置如图4-3所示。
31、图4-3 陷波器的各参数设置设置完以后点击窗口下方的Design Filter,在窗口上方就会看到所设计滤波器的幅频响应,如图4-4。将设计好的滤波器保存为Notch50.fda。图4-4 陷波器的幅频响应由滤波器的幅频响应图可知,3dB陷波带宽W=56.18 - 43.81 = 12.37Hz,50Hz的陷波点衰减为90.33dB。完全满足设计和实际应用的要求,也容易在MCU上实现。通过菜单选项Analysis还可以看到滤波器的相频响应、组延迟、脉冲响应、阶跃响应、零极 点配置等。滤波器的相位响应如图4-5。图4-5 滤波器的相位响应由图可知,滤波器的为第一类线性相位滤波器。相位函数为:。在
32、滤波器的理论分析中就指出:具有线性相位特性的FIR数字滤波器的系统函数零点具有对称和共轭对称特性。通过菜单选项Analysis看滤波器的零极点分布,与理论分析相同。如其零极点分布图4-6。图4-6 滤波器零极点分布再看系统的单位冲击响应,如图4-7。由图有:h(n)=h(N-1-n)。因为滤波器的阶数为64阶,所以N=65,为奇数。所以滤波器的单位冲击响应为偶对称的。图4-7 滤波器的单位冲击响应 4.2.3 冲击响应h(n)的输出选择targets项中的gnerate C header file,选择以16位定点数方式输出,并保存为hn.h。const int BL = 65;const i
33、nt16_T B65 = 30, 0, -60, 0, 94, 0, -123, 0, 131, 0, -96, 0, 0, 0, 176, 0, -441, 0, 795, 0, -1222, 0, 1695, 0, -2173, 0, 2613, 0, -2967, 0, 3197, 0, 29491, 0, 3197, 0, -2967, 0, 2613, 0, -2173, 0, 1695, 0, -1222, 0, 795, 0, -441, 0, 176, 0, 0, 0, -96, 0, 131, 0, -123, 0, 94, 0, -60, 0, 30;上面的输出的滤波器系数
34、,有Bn=B_TBBL-1-n,即hn=hN-1-n。第5章 FIR滤波器在单片机上的实现AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32条I/O口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外
35、,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。5.1 A/D、D/A转换器简介系统的A/D、D/A转换器为TI公司的TLC2543、TLC5618,它们是12位串行转换器件,能节省单片机的I/O口,并且具有较高的转换速率,满足设计要求。5.1.1 A/D转换器TLC2543简介TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省
36、51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用9。 TLC2543的特点:(1)12位分辩率A/D转换器;(6)线性误差1LSBmax;(2)在工作温度范围内10s转换时间;(7)有转换结束输出EOC;(3)11个模拟输入通道;(8)具有单、双极性输出;(4)3路内置自测试方式;(9)可编程的MSB或LSB前导;(5)采样率为66kbps;(10)可编程输出数据长度。 TLC2543的引脚排列及说明:TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图5-1。图5-1 TLC引脚说明TLC2543的引脚功能,如表5-1表5-
37、1 TLC2543的引脚功能引脚号名称I/O说明191112AIN0AIN10I模拟量输入端。11路输入信号由内部多路器选通。对于4.1MHz的I/OCLOCK,驱动源阻抗必须小于或等于50,而且用60pF电容来限制模拟输入电压的斜率15I在 端由高变低时,内部计数器复位。由低变高时,在设定时间内禁止DATAINPUT和I/O、CLOCK17DATAINPUTI串行数据输入端。由4位的串行地址输入来选择模拟量输入通道16DATA OUTOA/D转换结果的三态串行输出端。 为高时处于高阻抗状态 为低时处于激活状态19EOCO转换结束端。在最后的I/OCLOCK下降沿之后,EOC从高电平变为低电平
38、并保持到转换完成和数据准备传输为止10GND地。GND是内部电路的地回路端。除另有说明外,所有电压测量都相对GND而言18I/O CLOCKI输入/输出时钟端。I/OCLOCK接收串行输入信号并完成以下四个功能:(1)在I/O CLOCK的前8个上升沿,8位输入数据存入输入数据寄存器。(2)在I/OCLOCK的第4个下降沿,被选通的模拟输入电压开始向电容器充电,直到I/OCLOCK的最后一个下降沿为止。(3)将前一次转换数据的其余11位输出到DATA OUT端,在I/OCLOCK的下降沿时数据开始变化。(4)I/OCLOCK的最后一个下降沿,将转换的控制信号传送到内部状态控制位14REF+I正
39、基准电压端。基准电压的正端(通常为Vcc)被加到REF+,最大的输入电压范围由加于本端与REF-端的电压差决定13REF-I负基准电压端。基准电压的低端(通常为地)被加到REF-20Vcc电源 TLC2543接口时序:可以用四种传输方法使TLC2543得到全12位分辩率,每次转换和数据传递可以使用12或16个时钟周期。一个片选()脉冲要插到每次转换的开始处,或是在转换时序的开始处变化一次后保持为低,直到时序结束。 图5-2显示每次转换和数据传递使用16个时钟周期和在每次传递周期之间插入的时序。其它方式的时序这里不再说明。 图5-2 时钟传送时序图(使用,MSB在前) TLC2543通道的选择:
40、TLC2543有11个模拟通道,要选择哪个通道进行模数转换可能通过编程来控制,通道的选择命令字表5-2。表5-2 模拟通道的选择ANLOG INPUT SELECTEDVALUE SHIFTED INTO DATA INPUTBINARYHEXAIN000000x00AIN100010x01AIN910010x09AIN1010100x0a TLC2543输入输出关系:TLC2543的模拟输入量与转换后的数字输出量之间的关系如图5-3。图5-3 TLC2543输入输出关系 TLC2543的编程要点(控制字的格式):控制字为从DATA INPUT 端串行输入TLC2543芯片内部的8位数据,它告
41、诉TLC2543 要转换的模拟量通道、转换后的输出数据长度、输出数据的格式。其中高4 位( D7 D4) 决定通道号,对于0 通道至10 通道,该4位分别为0000、0001、1010 ,该4位为其它数字时的功能,用于检测校正,本文不作具体介绍。低4位决定输出数据长度及格式, 其中D3、D2 决定输出数据长度, TLC2543 的输出数据长度有8位、12位、16位,但由于TLC2543 为12位A/D转换芯片,经过分析可以看出,8位、16位输出对TLC2543的应用意义不大, 宜定在12位输出, D3、D2两位为00即可。D1决定输出数据是高位先送出,还是低位先送出,若为高位先送出,该位为0
42、,反之为1。D0决定输出数据是单极性(二进制) 还是双极性(2 的补码) ,若为单极性,该位为0 ,反之为1。举例说明:设采集第6 通道、输出数据为12 位、高位先送出、输出数据的格式为二进制,则控制字为:0110 0000 ,用十六进制表示即为60 H,本文基于此格式说明转换过程。5.1.2 D/A转换器TLC5618简介TLC5618是美国TexasInstruments公司生产的带有缓冲基准输入的可编程双路12位数/模转换器。DAC输出电压范围为基准电压的两倍,且其输出是单调变化的。该器件使用简单,用5V单电源工作,并包含上电复位功能以确保可重复启动。通过CMOS兼容的3线串行总线可对T
43、LC5618实现数字控制。器件接收用于编程的16位字产生模拟输出。数字输入端的特点是带有斯密特触发器,因而具有高的噪声抑制能力9。 TLC5618的特点:(1)可编程至0.5LSB的建立时间;(2)两个12位的CMOS电压输出DAC;(3)单电源工作;(4)3线串行接口;(5)高阻抗基准输入;(6)电压输出范围为基准电压的两倍;(7)软件断电方式;(8)内部上电复位;(9)低功耗,慢速方式为3mW,快速方式为8mW;(10)1.21MHz输入数据更新速率;(11)在工作温度范围内单调变化。 TLC5618引脚排列与引脚功能:(1) DIN(1):数据输入;(2) SCLK(2):串行时钟输入;
44、(3) CS(3):芯片选择,低电平有效;(4) OUTA(4):DACA模拟输出; 图5-4 TLC5618引脚(5) AGND(5):模拟地;(6) REFIN(6):基准电压输入; (7) OUTB(7):DACB模拟输出;(8) VDD(8):正电源。 TLC5618的串口简介:当片选(CS)为低电平时,输入数据由时钟定时,以最高有效位在前的方式读入16位移位寄存器,其中前4位为编程位,后12位为数据位。SCLK的下降沿 把数据移入输入寄存器,然后CS的上升沿把数据送到DAC寄存器。所有CS的跳变应当发生在SCLK输入为低电平时。可编程位D15D12的功能见表5-2所示。表5-2 可编
45、程位D15-D12功能表编 程 位器件功能D15D14D13D121XXX把串行接口寄存器的数据写入锁存器A并用缓冲器锁存数据更新锁存器B0XX0写锁存器B和双缓冲锁存器0XX1仅写双缓冲锁存器X1XX14uS建立时间X0XX3uS建立时间XX0X上电(Power-up)操作XX1X断电(Power-down)方式从表5-2可知, TLC5618 可工作于三种数据传送方式:方式1 为锁存器A 写,锁存器B 更新。此时串行接口寄存器的数据写入锁存器A ,双缓冲锁存器的数据写入锁存器B ,双缓冲锁存器的内容不受影器中,锁存器A 不受影响。方式2 为锁存器B 和双缓冲锁存器写。即将串行接口寄存器的数
46、据写入锁存器B 和双缓冲锁存器中,锁存器A 不受影响。方式3 为仅写双缓冲锁存器。即将串行接口寄存器的数据写入双缓冲锁存器。锁存器A 和B 的内容不受影响。 TLC5618接口时序:图5-5 TLC5618接口时序图 TLC5618应用介绍:TLC5618使用由运放缓冲的电阻串网络把12位数字数据转换为模拟电压电平,其输出极性与基准电压输入相同(见表5-3)。输出电压由下式给出:2(VREFIN)CODE/4096,上电时内部电路把DAC寄存器复位至0。输出缓冲器具有可达电源电压幅度的输出,它带有短路保护并能驱动具有100pF负载电容器的2k负载。基准电压输入经过缓冲,它使DAC输入电阻与代码
47、无关。采用2.048V的参考电压,可获得04.096V的模拟电压输出。当系统不使用DAC时,应当把DAC寄存器设置为全0,以便使基准电阻器阵列和输出负载所消耗的功率最小。TLC5618的最大串行时钟速率为: (5-1)表5-3 二进制代码表(0至2VREFIN输出,增益=2)5.2 TLC2543和TLC5618与单片机的连接图TLC2543和TLC5618与单片机的连接如图5-6所示。TLC2543的I/O CLOCK,DATA INPUT,DATA OUT和依次接单片机的P1.6、P1.4、P1.3和P1.5。AIN0接经前一级处理后的信号,REF+接+5V电源,REF-接GND9。TLC
48、5618的SCLK、DIN依次接P1.0、P1.1、P1.2。REFIN接+2.048V参考电压。图5-6 TLC2543和TLC5618与单片机的连接图5.3 TLC2543和TLC5618的C51程序TLC2543和TLC5618的驱动程序必须要严格按照芯片资料上给出的时序图来编写,否则芯片将不能正常工作。 TLC2543的C51程序:/ */ 名 称:readTLC2543 / 功 能:TLC2543驱动模块 / 输入参数:portNum,为通道号 / 输出参数:adValue,12-bitA/D转换值 / *sbit TLC2543CLK = P16;sbit TLC2543DIN =
49、 P14;sbit TLC2543DOUT = P13;sbit TLC2543CS = P15;INT16S readTLC2543 (INT8U portNum) / 从TLC2543读取A/D转换值 INT16S data adValue;INT8U data i;INT8U data al = 0, ah = 0;TLC2543CS = 0;TLC2543CLK = 0;for(i = 0; i 8; i+) / 前8个CLOCKTLC2543DIN = (BOOLEAN) (portNum & 0x80);if (TLC2543DOUT) / 如果TLC2543的DOUT引脚为1,则
50、ah置1ah = 0x01; ah = 1; / ah左移1位portNum = 1; / portNum左移1位TLC2543CLK = 0; / 产生一个CLK脉冲_nop_();TLC2543CLK = 1;for (i = 0; i 4; i+) / 填充4个CLOCKif(TLC2543DOUT) al = 0x01;al = 1;TLC2543CLK = 0;_nop_();TLC2543CLK = 1;TLC2543CS = 1;adValue = (INT16U) ah;adValue = 4;adValue |= al; / 得到A/D转换值return (adValue); / 返回A/D转换值 / End of ADConvert TLC5618的C语言程序:/ *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务品质提升计划之前因变量分析框架
- 2025租房合同的范本版
- 2025存量房买卖合同范本及说明
- 2025年光伏组件生产设备操作员真题测验及答案
- 2025广东省中建三局一公司华南分公司招聘笔试历年参考题库附带答案
- 2025办公室租赁合同补充协议范本
- 2025城市公寓租赁合同模板
- 2025年下半年哈电集团校园招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年哈尔滨市道外区人民法院招考雇员制工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年吉林长春市市直事业单位招聘高层次人才15人(5号)易考易错模拟试题(共500题)试卷后附参考答案
- 高原蔬菜种植培训课件
- 2024年~2025年历年林草局面试真题及答案解析
- 机械装备制造课件
- 房地产开发项目质量、安全、进度和文明施工保证措施
- 跨境民族文化传播机制-洞察及研究
- 2025年青海西宁事业单位招聘考试卫生类医学检验专业知识试卷
- 新版2025年GCP临床试验伦理规范考试题及答案
- 城市轨道交通智能调度系统研究报告
- 2025年贵州综合评标专家库评标专家考试经典试题及答案一
- 沥青混凝土供货方案及保障措施
- 内蒙古:行业用水定额(DB15-T 385-2020)
评论
0/150
提交评论