




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
黑龙江大学本科生黑龙江大学本科生 毕业论文(设计)档案毕业论文(设计)档案 编编 码:码:jx21-045-080603-20065951 学学 院:院:电子工程学院 专专 业:业:电子信息工程 年年 级:级:2006 学生姓名:学生姓名: 张子朋 论文题目:论文题目: 实时可编程数字滤波器的设 计 指导教师:指导教师: 翟淑霞 装订日期:装订日期:2010年 05 月28 日 备注栏备注栏 摘要 本文主要研究了使用 MSP430 单片机实现实时可编程数字滤波器的设计方法。此系 统以 MSP430 单片机为中心,通过 PC 机输入不同的滤波器参数实现不同指标的滤波器, 从而在白噪声的激励下产生指定要求的色噪声,而应用于系统测量中。 该系统利用单片机实现了滤波器的功能,可以在复杂的信号中提取所需要的信号, 抑制掉不需要的信号。其具有体积小、功耗低、灵活性高,处理能力高、精度高等特 点,并且可随时改变滤波器参数的值从而实现滤波器的实时可调,很大程度地提高了 工作效率。 关键词 MSP430 单片机;数字信号处理;数字滤波器 Abstract The treatise mainly studies a design method which using MSP430 microcontroller to realize the real-time programmable digital filter . The center of this system is the MSP430 microcontroller , inputting different filter parameters by the PC in oreder to realize a filter with different indicates , which could produces color noise under the white noices drive, and it can be applied in the measuring system. The system uses a microcontroller to realize the function of the filter, which can extracte needed signal from complex signals and restrain the signals which we dont need. It has the advantages of small size, low power consumption, high flexibility, high accuracy, high processing capacity, and can change filter parameters so as to realize the real-time tunable filter, and greatly improve the working efficiency. Keywords MSP430 microcontroller; digital signal processing; Digital filter 目录 摘要. ABSTRACT. 第一章 绪论.1 1.1 引言.1 1.2 数字滤波器原理.2 1.3 系统 MSP430 系列单片机选用.2 1.4 MSP430 实现数字滤波器的优势 .2 1.5 论文研究内容.2 第二章 硬件部分的设计.4 2.1 系统总体描述.4 2.2 硬件各部分模块的设计 .5 2.2.1 主处理芯片的选择.5 2.2.2 信号调理电路的设计.5 2.2.3 功率放大电路的设计.7 2.2.4 串行通信 RS232 接口电路的设计.9 2.2.5 电路供电模块的设计.9 第三章 软件部分的设计.9 3.1 基础时钟模块的设计.11 3.2 A/D 转换模块的设计 .13 3.3 D/A 转换模块的设计 .13 3.4 UART 异步通信模块的设计 .13 3.5 AGC 算法讨论 .16 3.6 主函数部分的设计.16 3.7 本章小结.18 第四章 系统焊接与调试.19 4.1 硬件电路的焊接与调试.19 4.1.1 电路焊接注意事项.19 4.1.2 硬件电路的焊接与调试过程.19 4.2 程序及单片机外围模块的调试.21 4.3 系统功能的实现.22 4.4 系统调试心得及改进意见.25 4.5 本章小结.25 结论.26 参考文献.27 附录一.28 致谢.29 实时可编程数字滤波器的设计 1 第一章 绪论 1.1 引言 数字滤波器(digital filter)是由数字乘法器、 加法器和延时单元组成的一 种装置。其功能是对输入离 散信号的数 字代码进行运算处理,以达到改变信号频 谱的目的。由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算 机软件实现,也可用大规模集成数字硬件实时实现。数字滤波器是一个离 散时 间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的 特定功能装置) 。应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限 带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍 为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字滤 波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波 器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了 广泛应用。数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变 的或时变的、因果的或非因果的、线性的或非线性的信、计算机、自动控制、航天 领域。近年来通信领域也越来越多地应用数字电路和数字信号处理技术。 1.2 数字滤波器原理 在信号处理领域中,对于信号处理的实时性、快速性的要求越来越高。而在许多 信息处理过程中,如对信号的过滤、检测、预测等,都要广泛地用到滤波器。其中数 字滤波器具有稳定性高、精度高、设计灵活、实现方便等许多突出的优点,避免了模 拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题,因而随着数字技术的发展, 用数字技术实现滤波器的功能越来越受到人们的注意和广泛的应用。其中有限冲激响 应(FIR)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性,在语音、数据 传输中应用非常广泛。多相(Poly phase)数字滤波器是信号输入输出速率可变的一种 滤波器,它广泛应用于 TV-Scaler,专业的音响系统,时分复用,频分复用系统以及语 音处理的子带编码中. 实时可编程数字滤波器的设计 2 必须利用采样定理(sampling theorem)进行采样。输入信号经过模拟低通滤波即 抗折叠滤波器(anti-aliasing filter)去掉输入信号中的高频分量。经过平滑化的模 拟信号再用于采样。另外 D-A 转换后模拟信号要经过平滑滤波器(smoothing filter) 进行平滑处理,该工作可用模拟低通滤波器来完成。 1.3 系统 MSP430 系列单片机选用 1999 年温州利尔达公司和美国德州仪器公司合作开展 MSP430 单片机在国内的推 广和销售。今天 MSP430 的独特性能和技术优点已经被国内从事单片机研究和开发的人 们所接受,得到了广泛的应用。MSP430 是 16 位单片机,较之 4 位、8 位单片机具有更 卓绝的品质。它具有处理能力强、运行速度快、低功耗等优点,因而性价比较高。该 系列单片机提供了 JTAG 口,这样单片机就能够实现很好的在线调试仿真功能,430 片 内外设丰富:AD、DA、DMA、2 至 4 个支持不同串口、比较器、可编程运算放大器(4 系 高端型号)等,一片芯片足以满足绝大部份应用 430 有两个时钟,可以使用不同的时钟 来处理不同速率要求的请求;430 有四级节能模式,可以关闭暂时不需要的功能以换 取电能的节省,LPM4 状态下工作电流仅 1uA;TI 的技术优势将 430 的端口漏电流控制 在 uA、nA 级,同时 BOR 和 SVS 功能能耗极低。 1.4 MSP430 实现数字滤波器的优势 数字滤波器主要分为 FIR(有限长单位脉冲响应) 、IIR(无限长单位脉冲响应) 两种结构,从结构上看,IIR 数字滤波器主要采用递归结构,FIR 数字滤波器主要采用 非递归结构。由于他们在实现时都要用到乘累加的操作,因而在运行时对乘法运算速 度有一定要求。MSP430 带有一个独立于 CPU 的硬件乘法器,在完成乘法运算时能够提 升运算速度,同时也能够减轻单片机的负担,降低功耗。同时作为数字滤波器,在模 拟信号输入后往往要进行 A/D 转换才能进行处理。而在转换精度要求不高的前提下, MSP430 单片机自带的 A/D 转换模块无疑可以简化系统设计,使系统简洁而有效。 1.5 论文研究内容 本文主要研究了使用 MSP430 单片机实现实时可编程数字滤波器的设计方法。本文 旨在设计出一套以 MSP430 单片机为中心的系统,该系统通过配置不同的滤波器参数实 实时可编程数字滤波器的设计 3 现不同指标的滤波器,从而在白噪声的激励下产生指定要求的色噪声,而应用于系统 测量中。 该系统利用 MSP430 单片机的 A/D 模块实现从信号调理电路输出信号的采样,然 后通过由 USART 串行通信模块从 PC 机得到的滤波器类型及滤波器参数,对采样数据 进行处理。然后通过单片机的 D/A 转换器输出信号到功率放大电路上。单片机可随时 改变滤波器参数的值从而实现滤波器的实时可调。本文主要包括硬件电路的设计和软 件程序的编写,其中硬件电路包括信号调理电路和单片机外围电路。软件设计包括单 片机模块初始化、FIR、IIR 滤波器实现算法等。 实时可编程数字滤波器的设计 4 第二章 硬件部分的设计 2.1 系统总体描述 本设计要求实现滤波器功能,并能够实现可实时改变滤波器的类型和参数因而系 统应包括 A/D 转换、D/A 转换、处理模块、与 PC 机通信模块等。系统框图如图 2-1 所 示。 图 2-1 系统框图 首先,模拟信号经过信号调理电路,送到 A/D 转换器转换为数字信号,然后单片 机中进行处理。单片机根据从 PC 机获得的滤波器类型和参数对信号进行处理,经处理 的信号由 D/A 转换器转换为模拟信号,最后经功率放大电路由换能器转换为人耳可识 别的声音信号。 2.2 硬件各部分模块的设计 2.2.1 主处理芯片的选择 由于本系统涉及到 A/D 转换、D/A 转换、串行通信的模块,所以考虑使用具有丰 富片上资源的 MSP430 单片机,具体型号为 F149。 MSP430 系列单片机是 16 位的、具有精简指令集的、超低功耗的混合型单片机, 由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机 系列中一颗耀眼的新星。MSP430 系列单片机具有以下的特点:1.强大的处理能力 MSP430 系列单片机是一个 16 位的单片机,采用了精简指令集(RISC)结构,具有丰 富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址) 、简洁的 27 条内核指令以 信号调理 A/D 转换处理芯片换能器D/A 转换 PC 机低通滤波功率放大 实时可编程数字滤波器的设计 5 及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效 的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125ns。这些特 点保证了可编制出高效率的源程序。2.超低功耗 MSP430 单片机之所以有超低的功耗, 是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。 MSP430 系列单片机的电源电压采用的是 1.83.6V 电压。因而可使其在 1MHz 的时钟条 件下运行时,芯片的电流会在 200400uA 左右,时钟关断模式的最低功耗只有 0.1uA。3.丰富的片上外围模块 MSP430 系列单片机的各成员都集成了较丰富的片内外 设。它们分别是看门狗(WDT) 、模拟比较器 A 、定时器 A(Timer A) 、定时器 B(Timer B) 、串口 0、1(USART0、1) 、硬件乘法器、液晶驱动器、12 位 ADC 、IIC 总线直接数据存取(DMA) 、端口 O(P0) 、端口 16(P1P6) 、基本定时器(Basic Timer)等的一些外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模 拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器;16 位定时器 (Timer A 和 Timer B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计 数、时序发生、PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口 可方便的实现多机通信等应用;具有较多的 I/O 端口,最多达 6*8 条 I/O 口线; P0、 P1、 P2 端口能够接收外部上升沿或下降沿的中断输入;12/14 位硬件 A/D 转换 器有较高的转换速率,最高可达 200kbps ,能够满足大多数数据采集应用;能直接驱 动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件 IIC 串行总线接口实现存储器串 行扩展;以及为了增加数据传输速度,而采用直接数据传输(DMA)模块。MSP430 系 列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 本设计中直接使用单片机自带的 A/D 转换器、D/A 转换器。其中 A/D 转换选择单 通道连续转换,端口为 P6.0。D/A 选择单通道输出,端口为 P6.6。而与 PC 机通信则 选择单片机提供的 USART 通信模块中的 UART 串行异步通信模式中的 UART0 端口 (P3.4、P3.5) 。 实际使用时,外接一个 32768Hz 低频晶振和一个 8MHz 的高频晶振,由低频晶振负 责对通信速率要求不高的串行通信发生波特率,而高频晶振负责提供单片机主时钟及 A/D 采样时序的基础时钟。 实时可编程数字滤波器的设计 6 2.2.2信号调理电路的设计 信号调理电路主要包括信号放大电路和抗混叠滤波电路两部分。电路由运放搭建 而 成,由于 MSP430 单片机的 A/D 模块只能对正极性信号进行采样,所以模拟信号应被适 成,由于 MSP430 单片机的 A/D 模块只能对正极性信号进行采样,所以模拟信号应被适 当抬高以满足 MSP430 单片机对信号的要求。因此选择用正向加法器同时实现对信号的 放大和抬高。电路形式如如图 2-2 所示。 图 2-2 放大抬高电路图 其中 SIN 为信号输入端,抬高 1.5V。电压放大倍数公式为: (2-1) A BA R RR RR R A 60 6060 6361 63 sin (2-2) A BA v R RR RR R A 60 6060 6362 63 5 . 1 令=1K,=20K,由式 2-1 和 2-2 计算得出=10.5, AR6061R63RBR6062RsinA =1。从而保证了信号放大的同时对信号抬高 1.5V。vA5 . 1 信号需要经过抗混叠滤波处理以滤处高频噪声。抗混叠滤波电路选择多路负反馈 二阶低通滤波器实现,截止频率暂定为 100KHz。其电路形式如图 2-3 所示。 实时可编程数字滤波器的设计 7 图 2-3 抗混叠滤波电路图 该电路的、及一些习惯的计算公式如下:0apK (2-3) 32313638 1 0 CCRR (2-4) 383637 383638373736 32 31 RRR RRRRRR C C a (2-5) 37 36 R R Kp (2-6)3231mCC (2-7)383735RRR 初步确定为 100KHz,根据式 2.6,任取=0.2,=1000,则0m32CpF =200。取 = 15.8K,=20K,则由式 2.3、2.4 和 2.7 计算得31CpF36R37R38R 125.8KHz,1.298,=40 K。0a35R 由于所用运放较多,同时为保证信号传输需要加入电压跟随器,所以选择具有双 运放的 OP2177 芯片实现,OP2177 是高精度放大器,对于 1000pF 以上的电容负载,在 没有外部补偿的情况下,其输出稳定。在 30V 电源电压时,两个放大器的供电电流都 小于 500A。其内置 500 欧姆串行电阻器可以保护输入信号,允许输入信号电平高出 电源电压若干伏特,并保证无反相。它采用双电源供电,范围为:2.5 V 15 V 。这里为它提供3.6V 的供电电压,便足以满足设计要求。 2.2.3 功率放大电路的设计 本设计要求使用功率放大器带动换能器输出声音信号,因此选用较为常用的音频 功率放大芯片 LM386 来搭建。LM386 是为低电压应用设计的音频功率放大器。LM386 增 益在内部设定到 20 可使外部元件数少,在引脚 1 和 8 之间连接电阻和电容可使增益超 过 200。LM386 集成电路适用于调幅-调频 无线电放大器、便携式磁带重放设备、内部 通信电路、电视音频系统、线性驱动器、超声波驱动器和功率变换电路。该集成电路 由于外接元件少、电源电压 VCC 使用范围宽(VCC=4-12V) 、静态功耗低(VCC= 6V 时 实时可编程数字滤波器的设计 8 为 24mW) ,因而在便携式无线电设备、收音机、录音机、小型放大设备中得到广泛应 用。本设计选择一种增益适中(约为 50)的典型电路,电路图如图 2-4 所示。 图 2-4 功率放大电路图 由于 MSP430 单片机的 D/A 输出的是带有台阶的波形,因而在功率放大电路和 MSP430 单片机 D/A 输出之间加入一级简单 RC 滤波电路以调整波形。电路形式如图 2-5 所示。 图 2-5 RC 滤波电路图 该电路的截止频率计算公式如下: (2-8) AACR f 51512 1 假定=20KHz,令=10K,则由式 2.8 计算得出796,实际取fAR51AC51pF =1000即可。AC51pF 实时可编程数字滤波器的设计 9 2.2.4 串行通信 RS232 接口电路的设计 RS232 接口是 1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂 家及计算机终端生产厂家共同制定的用于串行通讯的标准,它的全名是“数据终端设 备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准” ,是目前最 常用的一种串行通讯接口。MSP430 单片机由于没有负电源供电所以使用非常规的接口 电平 0-5V。如果需要和 PC 连接,需要进行电平转换成-15+15V 才能被 PC 识别。因此选 用较为常归的 MAX232 电平转换芯片进行电平转换(具体型号为 MAX3232CSE,优点是 供电 电压图 2-6 MAX232 电路图 在一定范围内可调) ,其典型电路图如图 2-6 所示。 图中 TXD 与 MSP430 单片机的 P3.4 相连,RXD 与 P3.5 相连。 2.2.5 电路供电模块的设计 综合上述电路的供电要求,决定通过输入电压、稳压电路为电路提供 5V(MAX232、LM386 供电) 、3.3V(MSP430 单片机供电) 、1.5V(信号抬高)稳定电压。 其中 5V 电压由外接变压器提供,通过两极稳压电路将其分别转换为 3.3V 和 1.5V 稳定 电压。而两片 OP2177 由于涉及正负双电源供电,因此采用外接电池提供3.6V 电压。 稳压芯片则采用凌力尔特公司生产的 LT1086 系列稳压芯片。该系列芯片较之目前大部 分同类芯片,能够提供较大的电流(约 1.5A) ,完全能够满足设计的要求。电路图如 图 2-7、2-8 所示。 实时可编程数字滤波器的设计 10 图 2-7 5V-3.3V 电路图 图 2-8 3.3V-1.5V 电路图 实时可编程数字滤波器的设计 11 第三章 软件部分的设计 MSP430 单片机的程序可以采用汇编语言和基于 MSP430 的 C 语言 C430 来编写。本 设计使用简单易用的 C430 进行编写,使用 C 语言编写单片机程序可以不必熟记单片机 各种寄存器地址,使编写过程简单明了,并且借助 C 语言的一些特性,更容易被普通 程序员所掌握。另外在程序的调试、修改上 C 语言也胜过汇编语言。而对于想要深入 地、具体地研究单片机的人员,汇编语言则较为合适。 程序分为三大部分:模块初始化部分、主循环部分、中断处理部分。其中中断处 理与各模块是紧密联系的,所以将其与模块初始化部分放在一起讨论。程序流程如图 3-1 所示。 3.1 基础时钟模块的设计 在单片机系统中,时钟源的选择是十分重要的。只有正确的配置了相关寄存器才 能让单片机正常的工作,因此首先考虑时钟源的选择问题。本设计中单片机除了自身 运算外,还有 ADC 模块和 USART 模块需要时钟,其中 ADC 模块的时钟用来确定采样率, 而 USART 模块则用时钟源来产生通信波特率。基于上述要求,为单片机配置了高速 (8MHz)、低速(32768Hz)两片晶振。其中 8MHz 晶振主要用来确定采样率,3KHz 晶 振用来产生波特率。 确定好时钟源之后根据单片机基础时钟模块的寄存器说明编写初始化程序,相关 寄存器举例说明如下: BCSCTL1 寄存器(8 位): b02: RESL.0RESL.2 有内部电阻选择 8 个频率之一,RESL=0 时最低。 b3:XT5V,必须复位。 b4b5:DIVA.0、DIVA.1,选择 ACLK 的分频数。 b6:XTS,选择 LFXT1 工作与低频还是高频模式。 实时可编程数字滤波器的设计 12 开始 结束 是否停止信号 否 是 发出欢迎信息并等待 是否接受到类型 是否接受到参数 发出确认信息 各模块初始化 否 是 否 是 图 3-1 程序流程图 b7:XT2Off,控制 XT2 振荡器的开启或关闭。 BCSCTL2 寄存器(8 位): b0:DCOR,选择注入电流的内部电阻。 b12:DIVS1、DIVS0,选择 SMCLK 分频数。 b3:SELS,选择 SMCLK 时钟源。 b45:DIVM1、DIVM0,选择 MCLK 分频数。 b67:SELM.0、SELM.1,选择 MCLK 时钟源。 本设计中令 MCLK=SMCLK=8MHz,ACLK=32768Hz,且分频数均为 1,DCO 频率选择 适中的 2MHz(由查阅 MSP430 用户手册得到相关寄存器的值),所以确定的寄存器的 值为:DCOCTL = 0 x60,BCSCTL1=0 x06,BCSCTL2=0 x00。 实时可编程数字滤波器的设计 13 3.2 A/D 转换模块的设计 F149 具有一个快速的 12bit 精度的 A/D 转换器,可以对一定范围内的单极性信号 进行采样。本设计采用由 Timer A 计数器传来的中断信号控制 A/D 转换的开启或关闭, 从而实现稳定的采样率。首先考虑 Timer A 的工作状态。 令 Timer A 对 SMCLK 进行加计数,通过调整计数值来确定采样率。由于本系统主 要应用于人耳可识别的频率范围,所以在假定信号最高频率为 20KHz 的情况下,根据 采样定律采样率应至少为 40KHz。综合考虑,确定采样率为 50KHz。若令 Timer A 对 SMCLK 的 8 分频进行计数,则计数值计算公式如下: (3-1) K SMCLK n 508 由 SMCLK=8MHz 得出计数值 n=20。从而确定相关寄存器的值为: TACLT=0 x02D0,CCTL0=0 x0010。 接下来确定 ADC 模块的工作状态。本系统是单通道输入,输入端口为 P6.0,因而 转换模式为单通道多次转换,而转换寄存器仅选择 ADCMEM0 即可,参考电压分别为 AVss 和 AVcc,转换内核时钟源选择 SMCLK,分频为 1,采样脉冲由采用定时器产生。 则相关寄存器的值如下:P6SEL = 0X41,ADC12CTL0=0 x00A1,ADC12CTL1=0 x021E,ADC12MCTL0=0 x80。在赋值时应先将 ADC12CTL0 的 ENC 位置 0,才能修改寄存器的值,最后再将 ENC 置位。 由于使用 Timer A 送来的中断信号控制采样,所以通过编写 Timer A 的中断函数 控制 A/D 转换的开启和采样值的转存即可。中断处理程序流程图如图 3-2 所示。 3.3 D/A 转换模块的设计 F149 提供了一个最高可达 12bit 精度的 D/A 转换器,精度可以选择 8bit 或 12bit,为了使输出与输入匹配,这里选择 12bit。D/A 输出端口为 P6.6,DAC 模块可 以选择连续输出模式,可以与 ADC 模块共同使用 Timer A 送来的中断进行控制。选择 DAC 效验打开、满量程等于参考电压、中转换速度。相应的寄存器的值为: DAC12_0CTL=0 x03A2。 实时可编程数字滤波器的设计 14 3.4 UART 异步通信模块的设计 MSP430 的 USART(通用串行同步/异步)是一个串行通信接口,它允许 7 或 8 位串行位 图 3-2 Timer A 中断处理程序流程图 流以预设的速率或外部时钟确定的速率移入、移出 MSP430。USART 接口支持 UART 异步 协议和 SPI 同步协议。本系统采用 UART 协议即可满足通信要求。下面讨论波特率的产 生。 MSP430 的波特率发生器包含一个预分频/分频器和一个调整器,即使晶振频率不 是 所需波特率的整数倍,也能正常工作而且使通信协议可以工作于最大波特率。采用这 一技术,即使用 32768Hz 的手表晶振,波特率也可以达到 4800 和 9600 波特。它带来 的优点很明显,使得 MSP430 的工作可以选择在低功耗模式。设计波特率为 4800 波特, 则分频因子为 6.83。MSP430 的 UART 采用分频因子 6 加上调整寄存器加载 0 x7E(01111110)来产生波特率。即分频器按顺序 6,7,7,7,7,7,7,6 分频。8 位使用过后循环这一过程。 由于系统对通信的质量要求不高,因此选择无校验位、8bit 数据位、1 停止位的 帧格式,相应寄存器的值为: UCTL0=0 x10,UTCTL0=0 x10,UBR00=0 x06,UBR10=0 x00,UMCTL0=0 x7E。 实时可编程数字滤波器的设计 15 UART 的中断分为接收中断和发送中断,对应了两个中断函数。接收中断处理程序 流程图如图 3-3 所示。 图 3-3 串行通信接收中断处理程序流程图 当有数据到来时,程序便会响应单片机送来的中断信号,将数据导入一个数组中, 在本程序中定义 EE 为数据停止标志。 UART 的发送中断函数并不具备自动监测待发数据长度的功能,所以程序中需要发 送数据时需要人为设置数据长度并设置中断信号确保数据的发送。UART 的发送中断处 理程序流程图如图 3-4 所示 实时可编程数字滤波器的设计 16 图 3-4 串行通信发送中断处理程序流程图 3.5 AGC 算法讨论 使放大电路的增益随信号强度的变化而自动调整的控制方法,就是 AGC-自动增益 控制。本系统中可以使用 AGC 算法,以确保输出信号的稳定。以下讨论实现 AGC 算法 的一种方法。 基本思想为:统计一段范围内输入序列的均值,并与标准值进行比较,得出调整 系数,再将输出序列与调整系数相乘后输出。流程图如图 3-5 所示。 图 3-5 AGC 算法流程图 3.6 主函数部分的设计 主函数的流程图如图 3-6 所示。 实时可编程数字滤波器的设计 17 图中说明了主函数部分主要完成三个功能:滤波器类型及参数的接收、确认信息 的发送和滤波算法的实现。IIR、FIR 滤波器的方程如下: (3-2) N i i M i iinyainxbny 10 )()()( (3-3) 1 0 )()()( N m mnxmhny 如果确定滤波器阶数为 16,根据上述差分方程可写出对应的程序语句如下: IIR 滤波器算法:for (i=0;i17;i+)Y0+=(Yi*Bi+Xi*Ai); FIR 滤波器算法:for (j=0;j17;j+)Y0+=(X16-j*Aj); 其中定义数组 X 为输入采样序列,数组 Y 为输出序列,数组 A、B 为滤波器 的系数。通过 Timer A 的中断将数组 X 自后向前顺移一位,并将新采来的数据存 入 X 最后一位中,这样就实现了 X 序列的循环更新。在 FIR 算法中仅是对 X 序列和 A 序列的卷积,因而只需保留 Y 当前时刻的值。IIR 中涉及到一段时间内 Y 序列的值, 因此每次运算过后令 Y 自后向前顺移一位,实现 Y 序列的循环更新,每次输出 Y 序列 之中任意一位即可。由于在刚开始采样前 Y 并不存在之前时刻的值,因此在执行算法 之前先将 Y 数组赋值为 0 数组。另外理论上 IIR 算法中对 Y 的乘累加比阶数 n(这里 为 16)小 1,但为了程序的简便,令其与 X 至于一个循环之内,并在输入参数时令 Y0项对应的系数设为 0 达到与理论相同的效果。 实时可编程数字滤波器的设计 18 各模块初始 化 各变量初始化 主循环函数 处理来自各模块中断 是否接收到类型? 是否接收到参数 ? 是 否 是 否 开始 结束 图 3-6 主函数流程图 图中说明了主函数部分主要完成三个功能:滤波器类型及参数的接收、确认信息 的发送和滤波算法的实现。IIR、FIR 滤波器的方程如下: (3-2) N i i M i iinyainxbny 10 )()()( (3-3) 1 0 )()()( N m mnxmhny 如果确定滤波器阶数为 16,根据上述差分方程可写出对应的程序语句如下: 实时可编程数字滤波器的设计 19 IIR 滤波器算法:for (i=0;i17;i+)Y0+=(Yi*Bi+Xi*Ai); FIR 滤波器算法:for (j=0;j17;j+)Y0+=(X16-j*Aj); 其中定义数组 X 为输入采样序列,数组 Y 为输出序列,数组 A、B 为滤波器 的系数。通过 Timer A 的中断将数组 X 自后向前顺移一位,并将新采来的数据存 入 X 最后一位中,这样就实现了 X 序列的循环更新。在 FIR 算法中仅是对 X 序列和 A 序列的卷积,因而只需保留 Y 当前时刻的值。IIR 中涉及到一段时间内 Y 序列的值, 因此每次运算过后令 Y 自后向前顺移一位,实现 Y 序列的循环更新,每次输出 Y 序列 之中任意一位即可。由于在刚开始采样前 Y 并不存在之前时刻的值,因此在执行算法 之前先将 Y 数组赋值为 0 数组。另外理论上 IIR 算法中对 Y 的乘累加比阶数 n(这里 为 16)小 1,但为了程序的简便,令其与 X 至于一个循环之内,并在输入参数时令 Y0项对应的系数设为 0 达到与理论相同的效果。 3.7 本章小结 本章介绍了基于 MSP430 单片机的实时可编程滤波器的设计思想,重点对硬件设计 和程序编写进行了详细的阐述,主要包括:硬件电路的组建及芯片的选择、MSP430 单 片机的模块功能选择和程序编写。 本章由设计要求出发,从芯片的选取开始,一步步详述了整个系统的搭建,并详 细说明了 MSP430 相关模块工作模式的选择及其原因和寄存器的配置。本章主要是在理 论上论证了设计的合理性,在假定的前提下确定各模块工作模式,从理论公式出发计 算元件、寄存器和变量的值。而一套系统能否按设想那样运行必须靠实际来检验,系 统在实际运行上的问题也要通过不断的调试来解决。下一章将详述整套系统的调试过 程。 第四章 系统焊接与调试 4.1 硬件电路的焊接与调试 4.1.1 电路焊接注意事项 硬件电路的焊接应本着先电源后芯片的顺序,以减小芯片被烧毁的几率,避免无 谓的浪费。在焊接时认真仔细,避免虚焊、漏焊等情况的发生。同时当元件分布比较 实时可编程数字滤波器的设计 20 密集时,应首先焊接那些位于中心的、体积较小的元件(例如贴片元件) ,然后再焊接 体积较大、位于边缘的元件(例如串口接口) ,这样可以使焊接过程较为顺利。当连续 焊接多个贴片元件时注意辨别元件的值,避免焊错造成不必要的麻烦(尤其是无标识 的贴片电容!) 。在一个模块焊接完成之后,应立即进行检测,确认无误后再继续焊接 下一个模块,一步一个脚印的稳健前进。 4.1.2 硬件电路的焊接与调试过程 首先完成电源模块的焊接, 5-3.3V 电源模块在焊接完成之后测试正确,输出 3.3V 电压。由于在设计 3.3-1.5V 电路时使用的是 LT1086-ADJ 芯片,所以在画电路图 时加入了分压电路。而在购买元件时直接购买到了 LT1585-1.5(功能相同,指标略有 不同) ,所以在焊接时 3 管脚与 2、4 管脚之间的电阻不焊,3 管脚与模拟地之间用 0 电阻短路,测试结果正确,输出电压 1.49V 左右。其中 5V 输入由一个普通的手机 电源适配器提供,实际测量时发现使用输出为 7.9V 的适配器时,电源模块仍能输出正 确的电压值。 在保证电压无误后,开始焊接信号放大抬高及滤波电路。焊接时须注意 OP2177 的 摆放,防止焊反。两片 OP2177 使用同一个电源,由电路板引出两根导线分别与电池的 正负极相连,电池的地与信号输入的地相连即可。第一级放大、抬高电路焊接完成后, 先将正负电源接入,测试正负两端电压,如电压值异常则应立即断开电源。实际测试 时电源正负被接反,导致正负电压值异常,在迅速撤掉并重新连接之后电压无异常。 然后加入一定幅度的输入信号,在示波器上查看波形,发现输出波形无失真,并将信 号放大了一定倍数。之后连接 5V 电源,观察到示波器上的波形被抬高了 1V 左右,距 离 1.5V 的理论值有一定差距,其原因有电路电阻阻值不精确、OP2177 带来的误差、 LT1086 稳压模块的输出有偏差、信号源提供的信号的误差等等。该模块大体满足了设 计要求。当输入信号频率达到 100KHz 左右时,输出电压幅度开始下降。该电路的输出 波形如图 4-1 所示。 实时可编程数字滤波器的设计 21 图 4-1 放大电路输出波形图 继续抗混叠滤波电路的测试。当输入信号较小时抗混叠滤波电路的输出波形比较 理想,但随着输入信号的增大,输出波形会出现下削,这种削波不是输出值达到供电 电源值所致,其原因包括焊接的原件值不精确和该片 OP2177 本身存在问题。电路的滤 波特性仍然良好,在信号大于 120KHz 时会观察到输出波形幅值的明显减小。由于时间 有限加之测试时输入信号的信噪比较高,抗混叠滤波电路并不是必要的,所以为了保 证整体效果,将此部分电路略过,直接将第一级放大电路的输出与单片机的 ADC 输入 相连。但该电路在理论上已经论证过,可以根据需要随时加入到系统当中。 在功放模块的焊接中,由于某些特殊元件没有买到,因而选择相近值的元件代替, 对系统的功能实现不造成影响。焊接完成之后,连接 5V 电源,测试 LM386 供电电压无 误后,由 MSP430 单片机的 D/A 输出管脚输入一适量信号,在其输出端接示波器观察输 出波形,发现波形无失真,并对信号进行了放大。当输出电压值超过 6V 时,波形出现 削波,说明已达到芯片工作极限。之后安装扬声器进行测试,随着调节信号源频率由 高到低,听到了由尖锐到低沉的声音,结果令人满意。 MAX232 及 JTAG 部分在 MSP430 单片机焊接之后才能够进行测试。在确保其他模块 能够正常工作,焊接完 MSP430 所有的外围器件并且测试单片机各管脚的电压值正常的 情况下(尤其注意单片机的电源和地之间不要短路、RST 引脚置高电位) ,最后焊接 实时可编程数字滤波器的设计 22 MSP430 芯片。焊接过程注意 MSP430 的位置要准确,管脚不要粘连。焊接完成之后, 开始程序的调试工作。 4.2 程序及单片机外围模块的调试 首先测试 JTAG 接口是否能正常工作。先将仿真器一端与电脑并口相连,另一端与 系统板的 JTAG 接口相连。然后打开 C430 编译环境 IAR Workbench 并生成一个空程序, 选择 FET 仿真并点击 Debug 按钮。测试结果系统板可以被编译环境识别,并成功的下 载了程序。 然后将各模块相关程序单独下载到 MSP430 片内,测试各模块是否能够正常工作。 首先测试 UART 模块。首先通过软件仿查看该模块寄存器的值是否正确。然后选择硬件 仿真下载测试程序,测试程序包括 UART、BSCCLK 初始化及 UART 发送和接收中断函数 和一个功能为将接收的数据原样发送的主函数。正确配置了串口助手后进行测试,测 试结果如图 4-2 所示。 图 4-2 利用串口助手测试 UART 模块图 通过上图可知测试结果正确,证明 UART 能够正常地工作。在测试过程中发现外接 8MHz 晶振不起振,而临时将其关闭,用片内 RC 振荡器 DCO 代替。 DCO 的频率可以通过配置基础时钟模块的寄存器调整,F149 的 DCO 最大频率约为 5MHz。详细的列表可以在用户手册中查阅。测试中选择最大的 5MHz 频率。 接下来测试 ADC、DAC 模块。首先通过软件仿查看该模块寄存器的值是否正确。然 后选择硬件仿真下载测试程序,测试程序包括 ADC、DAC、BSCCLK、Timer A 初始化及 Timer A 计数器中断函数和一个功能为直接将采样序列输出的主函数。在将信号源等 仪器配置好后,下载程序并仿真,测试结果如图 4-3 所示。 实时可编程数字滤波器的设计 23 图 4-3 ADC 模块测试图 由图片可知 ADC 模块能够正常采样,实际仿真时通过察看不同时刻的 X 数组值发 现该数组能够按照设想循环。DAC 输出接一小喇叭,测试时可随着信号源频率的改变 听到不同频率的声音,而当信号频率过大而不满足采样定理时,小喇叭发出的声音便 不再随信号频率的增加而升高,而是无规律的变化,说明信号已经失真。以上测试证 明 ADC、DAC 模块均已能够正常工作。 由于调试所用的信号源比较稳定,并无较大范围的波动,所以将 AGC 算法去掉以降 低单片机的负担,优化调试过程。实际应用时,可根据需要加入该算法。 4.3 系统功能的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年环保行业绿色物流报告:绿色物流与物流成本
- 2025年社区零售业态创新与数字化运营风险管理报告
- 2025年细胞治疗产品临床试验设计与审批流程深度解析报告
- 学校校园经济管理制度
- 质量环境职业健康安全管理手册
- 幽默商场安全知识培训课件
- 巡视档案管理培训课件
- 2025年商业智能行业市场前景及投资研究报告:BI革新数据分析流程
- 输电线路铁塔课件
- 输煤年度安全培训计划课件
- 医院病区突然停电应急处置
- 2025年移动云考试题库
- 桥隧工程培训频课件
- 幼儿园教师防恐防暴安全知识培训
- 1.2位置 位移(教学课件) 高中物理教科版必修第一册
- 浅谈机关干部身心健康
- (2025)未成年人保护法知识竞赛必刷题库附含参考答案
- 江苏省淮安市2024-2025学年七年级下学期6月期末考试英语试题(含答案解析)
- 小学生拖地课件
- 期货技术指标培训课件
- 上海市静安区2024-2025学年高一下学期期末教学质量调研数学试卷(含答案)
评论
0/150
提交评论