基于max262程控滤波器的设计-学位论文

上传人:沈*** 文档编号:218209980 上传时间:2023-06-18 格式:DOC 页数:39 大小:4.75MB
返回 下载 相关 举报
基于max262程控滤波器的设计-学位论文_第1页
第1页 / 共39页
基于max262程控滤波器的设计-学位论文_第2页
第2页 / 共39页
基于max262程控滤波器的设计-学位论文_第3页
第3页 / 共39页
点击查看更多>>
资源描述
分类号:TP368.1 U D C:D10621-408-(2011)1588-0密 级:公 开 编 号:2007073060成都信息工程学院学位论文基于MAX262程控滤波器的设计第III 页 共 20 页毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日基于MAX262程控滤波器的设计摘 要在电子行业的许多领域都要使用滤波器,并且对滤波器的要求越来越高。一般的有源滤波器均由运算放大器和电子元件组成,对元器件的参数精度要求比较高, 设计和调试都比较麻烦。论文详细介绍基于max262的程控滤波器的设计, max262可以通过编程对信号实现低通、 高通、 带通、带阻以及全通滤波处理,而且滤波的特性参数如中心频率、 品质因数等也可以通过编程进行设置。文章详细介绍了max262工作模式、截止频率和Q值的设置操作过程,以及滤波器的设计要求、软件和硬件设计思路,实现方案。系统经过测试,效果良好。关键词:MAX262;滤波器;单片机The Design of Program-Controlled Filter Based on MAX262AbstractIn the industrial automation, filter is used in many fields. And demanding. Active filter is always made of amplifier and electron components, as a result design and commissioning are more trouble. The chip MAX262 programmable filter produced by Maxim Integrated Products can realize lowpass,qualcomm signal,band-pass,band-stop and the passs filtering processing, through programming. and filtering characteristic parameters such as center frequency, quality factor etc Can also be programmed for setting. This dissertation introduces how to set the max262 work mode ,cutoff frequency and Q value, The Design of program-controlled filter Based on MAX262. This paper introduces the design requirements, filter software and hardware design ideas, scheme in detail. This system has been tested and good effect.Key words:Filter; MCU; Max262目 录论文总页数:30页1 引言11.1 背景和意义11.2 主要任务12 系统设计概述13 硬件电路设计23.1 电源电路设计33.2 滤波电路设计43.2.1 MAX262应用电路43.2.2 输出通道选择53.2.3 前级放大电路53.3 主控MCU电路63.4 人机交互电路设计73.4.1 液晶接口电路73.4.2 基于ZLG7290的行列式按键电路84 软件设计94.1 软件设计概述94.2 滤波模块软件设计114.2.1 设置数据写入114.2.2 截止频率Fc设置134.2.3 品质因数Q值设置134.2.4 滤波模式设置144.3 显示模块软件设计164.3.1 行列式按键164.3.2 主要显示部分184. 4 主控模块与显示模块的通信194.4.1 串口通信方式194.4.2串口配置初始化204.4.3 通信的实现205 系统测试22结 论23参考文献24致 谢25声 明26附 录271 引言1.1 背景和意义随着电子技术的迅猛发展,作为分离有用和无用信号的滤波器成为各类系统的重要部件,其性能的优劣直接影响整个系统的质量。各个领域对滤波器体积,成本,设计速度的要求越来越高。一般有源滤波器均由运算放大器和电子元件组成,对元器件的参数精度要求比较高,设计和调试都比较麻烦。论文从这个背景出发,发掘适合当前滤波器设计要求的滤波器芯片。美信公司生产的可编程滤波器芯片max262可以通过编程对各种信号实现低通、 高通、 带通、带阻以及全通滤波处理,而且滤波的特性参数如中心频率、 品质因数等也可以通过编程进行设置。能满足很多工业需求。在滤波器制造上具有很大的应用潜力。论文介绍了max262工作模式、截止频率和Q值的设置操作过程,研究并且设计了一款基于max262的程控滤波器。文章详细介绍了该滤波器的设计要求、软件和硬件设计思路,实现方案,在max262的应用方面具有一定的借鉴价值。1.2 主要任务任务要求设计一滤波器:1、能设置成低通或高通滤波器,截止频率在15khz50khz范围可调,步进为1khz。2、有完整的控制电路,和参数设置功能,有友好的人机界面,指导操作。3、设计要求完成显示控制模块,滤波器模块,电源模块的软硬件设计。4、电压增益与截止频率的误差均不大于10%。5、有掉电保护功能:断电后开机,设置数据不变。2 系统设计概述系统要实现的功能可以概括为LCD显示、按键输入、 掉电保护、程控滤波、模块通信以及系统供电, 整个设计过程即是为实现上述功能的软硬件设计过程。如图1所示,整个系统分为3个模块,分别是电源模块,滤波模块,控制模块。电源模块负责给系统提供12VDC和5VDC的工作电压。主要有由24VDC转12VDC 和 12VDC转5VDC电路构成;滤波模块由核心max262电路,配合前级程控放大、输出通道选择等部分组成;控制模块即人机交互模块,控制通过按键实现,显示由FYD12864-0402B字库液晶实现,良好的界面结构设计使得提示直观明朗,操作简单。滤波模块与控制模块分别由单独的一片单片机控制。模块相对独立,各自完成自己的控制工作,保证控制精度和稳定性。两个模块通过串口的方式进行数据传输。图1 系统框图3 硬件电路设计系统的硬件设计部分根据图1的三大模块来进行说明。电源模块要求输出5V和12V稳定的直流电压给系统供电,实现方式是将线性电源或变压器输出的24V经过DC-DC转换电路得到要求的电压。滤波电路作为本系统的核心,在硬件上要解决max262芯片的时钟选择,端口配置,以及解决数据传输不稳定等问题。还有就是波形输出通道的选择,前级放大电路的设计,档位计算等问题。人机交互模块主要的硬件难题是基于ZLG7290的矩阵键盘设计,液晶接口,以及单片机外围电路设计。模块之间使用串口进行通信,在模块调试的时候也会用到RS232接口来实现单片机与电脑的通信。下面就各个模块的硬件电路设计来进行详细说明。3.1 电源电路设计 图2 24VDC-12VDC电源电路整个系统使用24V供电。显示模块需要5V供电,滤波模块使用5V和12V供电。该部分的DC转化是通过7812(7805),7912(7905)实现的。该电源模块可以直接输出稳定的12V和5V直流电压供系统使用。图3 12VDC 5VDC转化电路12V是将24V直流电压经过7812和7912转化得到。电路设计如图2所示。5V是将前面得到的12V经过7805和7905转化得到。电路如图3所示。上面两个电路中电容起到滤波的作用,让输出的直流电压更稳定。3.2 滤波电路设计3.2.1 MAX262应用电路MAX262 是 CMOS 双二阶通用开关电容有源滤波器,由微处理器精确控制滤波函数可构成各种带通、低通、高通、陷波和全通配置,通过程序控制能设置中心频率 f0 品质因数 Q 和滤波器工作方式。结合题目要求进行分析,只使用芯片任意1个二阶开关电容有源滤波器即可满足需求,故电路设计如图4所示,该电路使用了MAX262滤波器A,信号由INA端口输入,经过滤波器后分别从端口LPA,HPA输出低通信号,和高通信号。其中的滤波参数如截止频率Fc,品质因数Q等参数由单片机通过芯片的端口D0,D1,A0-A3写入。芯片的时钟可以连接晶体 RC 网络或外部时钟产生器,由于输入时钟频率Fclk与6位 f0 编程输入代码一起决定滤波器的中心或截止频率,根据计算(参见4.2.2 截止频率Fc设置),系统选定用2M的外部石英晶振作为时钟输入。图4 MAX262电路为了防止数据不稳定,数据输入口的输入信号是通过74HC573锁存器芯片锁存输出的,单片机数据管脚输出相应的数据后,将WR置低即可送出稳定,同步的电平信号。图5 74HC573锁存输出3.2.2 输出通道选择由于输出低通,高通的端口不同,在不同滤波模式被设置时,需要选择不同的端口作为输出口,系统通过模拟开关CD4052来进行端口选择,在通道X0和X1之间切换,输入前端加上两个跟随器,起到信号隔离的作用,具体电路如图6所示。 图6 输出通道选择图6中A端口是开关选择口,为0时选择高通,为1时选择低通。LM358构成2个跟随器,输入端分别与MAX262的高通和低通输出口相连,跟随器起到了信号隔离,防止信号相互窜扰的作用。3.2.3 前级放大电路本系统要求放大倍数步进为20dB。即10倍,100倍和1000倍3个档位,电路采用2级放大,电路放大公式为Vo=-Vi*(Rx/1K)其中Rx为接入开关的电阻。前级有3个档分别是-5、-10、-25倍,第二级有3个档分别是-5,、-10、-40、设计要求的那3个档即可通过-5*-2,-10*-10,-25*-40组合得到。图7 一级放大由于模拟开关带人少量干扰,调节时,观察输入输出达到放大倍数关系即可。图8 二级放大3.3 主控MCU电路该系统控制模块,和滤波模块都使用相同的单片机,型号为STC12C5A60S2,主要是该cpu内含E2PROM可以用于实现掉电保护功能。其基本的外围电路包括电源电路、时钟电路和复位电路都与传统51电路兼容。单片机基本外围电路如图9所示。其中单片机的供电输入为VCC和GND。时钟电路由C21,C19,C20组成,为单片机正常运行提供基本时钟源。C16,R3,R4,S2,共同构成了单片机上电复位电路,当上电瞬间C16导通,RST处的瞬时电压约为VCC,然后经过R4慢慢放电,RST处的电压在上电后一段时间保持高电平,最终RST处电压一直保持约为0V,直到下次断电后再上电。在这个过程中,高电平的保持时间时间约为2R4C16628 ms,远远大于两个单片机机器周期(约为2us),所以可以实现单片机的上电复位。单片机的31脚,即EA/Vpp端口接VCC是为了让该端口在工作时一直保持高电平,使用单片机的内部程序存储器1。单片机P0口内部没有上拉电阻,若要使用P0口,需要外接上拉电阻。PZ是一支8个1K电阻的排阻,1脚是公共端。PZ公共端接电源,其它脚依次与P0口各个端口相连,用作P0的上拉电阻,增大P0口驱动能力。图9 MCU外围电路电路3.4 人机交互电路设计人机交互电路主要包括行列式按键,LCD接口,ZLG7290电路。为了减轻单片机负担,方便程序控制,该系统使用ZLG7290芯片实现行列式按键输入。3.4.1 液晶接口电路系统采用FYD12864-0402B字库液晶,其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,很好的完成显示功能。电路调试完成后使用前要对液晶对比度进行调节,方法是调节精密电位器R28,直到最好的显示效果出现为止。图10 液晶接口3.4.2 基于ZLG7290的行列式按键电路为减少键盘占有过多的端口资源,采用ZLG7290B芯片完成按键检测处理功能。其中芯片的INT脚即14脚接单片机的外部中断2,保障反应的快速性。图11 ZLG7290接口电路ZLG7290B 是广州周立功单片机发展有限公司自行设计的数码管显示驱动及键盘扫描管理芯片。能够直接驱动8 位共阴式数码管(或 64 只独立的 LED) ,同时还可以扫描管理多达 64 只按键。其中有 8 只按键还可以作为功能键使用,就像电脑键盘上的 Ctrl、Shift、Alt 键一样。另外 ZLG7290B 内部还设置有连击计数器,能够使某键按下后不松手而连续有效。采用 I2C总线方式,与微控制器的接口仅需两根信号线。该芯片为工业级芯片,抗干扰能力强,在工业测控中已有大量应用。在本系统中用到其中的按键管理功能。整个系统要求有个12个按键,所以采用4*4行列式按键的方案。本系统用到的最终行列式按键电路如图12所示。图12 行列式按键电路按键的功能安排如表1所示。表1 按键功能分配123预留456预留789预留0切换键确定键预留4 软件设计4.1 软件设计概述该系统的软件主要是在Keil开发平台上用C语言开发完成的。编程分为人机交互模块,和下位机滤波器模块。模块间的通信是靠串口实现的。他们的软件流程图分别是图13 和图 14所示。上位机模块中主要的编程任务是LCD的底层驱动,界面设计,ZLG7290的按键应用,以及串口通信。系统上位机用的LCD为FYD12864-0402B字库液晶,它内置8192个16*16点汉字,和128个16*8点ASCII字符集在写汉子方面相对无字库液晶更方便。ZLG7290按键功能的实现主要依靠I2C协议驱动的编写,以及外部中断的应用。按键按下后触发外部中断,中断服务函数中通过I2C读取ZLG7290内部寄存器,从而得到当前的键值。图13 人机交互软件流程图下位机滤波器模块的编程任务是串口服务程序中的数据解析,分类赋值,和max262的驱动,设置参数的赋值等。系统下位机数据解析是按照自己定义的串口通信协议,通过一帧数据中的数据标号位确定是什么数据。在数据分类并对应赋值后。单片机将得到的数据按照max262的写入方式写入芯片,完成设置的目的。图14 滤波器模块软件流程图4.2 滤波模块软件设计MAX262功能强大,它具有微处理器接口,能够软件实现64 步中心频率控制和128 步品质因素Q控制。以及各类工作方式选择。从该系统要实现的任务出发,主要针对Fc,滤波模式进行更改。故下面介绍的相关内容主要围绕这两个任务进行。MAX262与P0口管脚分配如下:#define P_262 P0 /P0口线连线(从高到低):A3,A2,A1,A0,D1,D0,Wr,_sbit P_wr = P_2621;/写控制脚sbit key = P_2620;/模拟开关控制脚4.2.1 设置数据写入设置数据(Q,Fc,滤波方式)储存在程序存储器中,程序地址单元如表2所示,数据的写入即是将对应地址的值更新掉。图15的写入操作通过函数write(uchar add,uchar dat2bit)来实现,add为送入的地址,dat2bit为要送入的2位数据。表2 max262地址单元DATA BITADDRESSLOCATIOND0D1A3A2A1A0M0M100000F0F100011F2F300102F4F500113Q0Q101004Q2Q301015Q4Q501106Q601117程序中送地址操作通过P_262=(P_262&0x0f)|(add4); 来实现。这个程序实现了对P0高4位,即A3,A2,A1,A0的赋值。程序中对数据的赋值操作是对P0.2,p0.3的值进行数据更新即可达到数据赋值的目的,程序为:P_262=(P_262&0xf3)|(dat2bit2)&0x0c);图15 MAX262写入时序图图16 数据写入操作流程4.2.2 截止频率Fc设置表3 频率设置计算公式方式1、3、4方式2。通过函数Set_AF(CopFn(mod,f0);实现截止频率的设置。其中f0就是要的截止频率。这里有点要注意,不同的工作方式频率设置都有不同。 图17 写入Fc值软件流程图在本系统中,低通是通过方式1实现的,高通是通过方式3实现的。MAX262外部晶振采用的是2M的晶振。通过方式1、3、4公式算出的Fc能够设置的范围是14.306K到48.972K。能很好的达到设计要求。程序实现方式为:Set_AF(CopFn(uchar mod, float f0);写入N值,达到截止频率设置的目的。由于fc的设置参数多达6个,所以需要送3次数据才行。4.2.3 品质因数Q值设置本系统对Q值的大小没有明确的要求,但是通过表6知Q值会影响带通在F0处的增益,为方便计算,统一将Q设置为1。表4 设置值N与Q的关系公式方式1、3、4方式2本系统用到的方式为1、3所以只用第一个公式,表4中要设置的N值有7个所以要调用4次才能设置完成。实现程序流程如下:图18 写入Q值流程图查表5或带入公式可知要将Q设置为1,N的值为64表5 Q值设置表部分PROGRAMMED QPROGRAM CODEMODE 1,3,4MODE 2NQ6Q5Q4Q3Q2Q1Q01.001.416410000001.021.446510000011.031.466610000101.041.486710000114.2.4 滤波模式设置表6中M1,M0有4种组合分别对应了4种工作方式,官方资料表明不同的滤波要求不同的工作方式,用户根据自己滤波器的要求不同自己选择合适的工作方式。表6 滤波模式设置表MODEM1,M0FilterFunctionsF0QFnHolpHobpHon1Hon2OTHER10,0LP,BP,N表3表4F0-1-Q-1-120,1LP,BP,N-0.5-Q-0.5-131,0LP,BP,HP-1-Q+Hohp=-13A1,0LP,BP,HP,N-1-QHohp=-141,1LP,BP,AP-2-2QHoap=-1Fz=F0,Qz=Q这4种方式的特点如下:1、方式1在实现全极点低通和带通滤波器,如巴特沃思、切比雪夫等时很有用,同时能用于二阶的限波滤波器。2、方式2与方式1类似,不同点在于方式2能获得更高的Q和较低的输出噪声。3、方式3是实现高通的唯一方式,最大时钟频率稍低于方式1。4、方式3A利用独立的一个运算放大器对方式3的高通和低通输出求和,从而产生限波输出,效果比方式1的效果好的多。5、方式4是实现全通输出的唯一方式。由于实现高通的工作方式只能是方式3,低通功能其它方式都能实现,从截止频率的实现,增益等方面考虑(具体参见4.2.2 截止频率Fc设置)系统采用方式1来实现低通滤波。系统要设置低通,高通两种模式只需通过调用函数Set_AM(unsigned char mod);实现滤波模式的选择,其中mod为0则低通,为2则为高通,其它数字无效。图19 模式设置流程4.3 显示模块软件设计为了减少单片机的负担和让显示效果更好,本系统的显示使用FYD12864-0402B液晶,行列式按键的键值判断通过ZLG7290芯片来实现。单片机与ZLG7290之间的通信是采用的I2C通信协议。4.3.1 行列式按键程序的实现过程为图20所示,按键按下后, 经过ZLG7290处理会产生中断信号给单片机外部中断2,保证按键检测的灵敏度和实时性。在中断服务函数里调用函数ZLG7290_ReadMessage(SubKey,&K);取回键值。在这个函数中subkey是0x01即键值寄存器的地址。K即返回的键值。单片机与ZLG7290通过I2C协议传输数据。该系统中, 按键键值判断是通过ZLG7290芯片实现的,因此,本文只对ZLG7290的键值判断所涉及到的内容作介绍。4.3.1.1 按键中断触发按键检测有两种方式,一种是将ZLG7290的INT引脚(14脚)接入单片机外部中断口,另一种是通过I2C协议不断的读取芯片系统寄存器的第0位。中断方式如下:当按下某个键时ZLG7290B的 INT 引脚(14脚)会产生,一个低电平的中断请求信号。当读走键值后,中断信号就会自动撤销。正常情况下,微控制器只需要判断 INT 引脚就可以了。图20 按键处理过程查询方式如下:SystemReg 寄存器的第0位KeyAvi 可以反映是否有按键按下,0没有按键被按下,1有某个按键被按下。通过不断查询 KeyAvi 位也能判断是否有键按下, 这样就可以节省微控制器的一根 I/O口线,但是代价是 I2C 总线处于频繁的活动状态,多消耗电流并且不利于抗干扰。通过比较系统最终决定采用中断的方式检测按键。4.3.1.2 确定键值 按键的确定是通过ZLG7290的键值寄存器来确定的。如果某个普通键被按下,则微控制器可以从键值寄存器 Key中读取相应的键值 156。如果微控制器发现 ZLG7290B 的 INT引脚产生了中断请求,而从Key中读到的键值是 0,则表示按下的可能是功能键。键值寄存器 Key的值在被读走后自动变成 0。对本系统而言前面的普通按键即可满足按键需求了。4.3.1.3 键值的读取按键被按下后,这个操作的检测,键值确定都是通过ZLG7290即可完成。单片机通过函数ZLG7290_ReadMessage(SubKey,&K);就能对会这个键值,完成后续操作。这个过程中采用的是I2C总线协议。I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如闪烁时间)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。4.3.2 主要显示部分显示相关编程主要是12864LCD的底层驱动,和GUI界面的设计。液晶与单片机的数据传输有两种方式,并行和串行。系统通过命令指令将液晶设置在并行模式下。经过液晶初始化液晶的工作状态为:整体显示打开,无光标状态,采用基本指令操作,设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H,脱离睡眠模式,绘图开关关闭。底层驱动函数主要有:void check_busy(); /检验忙位是否忙 void write_lcd(unsigned char dat,bit rs); /向lcd写数据 或命令 void lcd_on(void) ; /开lcd显示不含游标 void lcd_off(void);/关lcd显示 void lcd_coursorOn(void); /游标开启函数 void lcd_coursorOff(void); /游标关闭函数 void lcd_gotoXY(unsigned char x,unsigned char y); /确定显示位置 void lcd_clear(void); /清除显示 void write_hz(unsigned char *p); /显示汉字或字符串 void write_number(unsigned char *p);/写1个数字void lcd_clearDraw(void);/lcd清屏void lcd_init(void);/lcd初始化以上函数是底层的驱动函数,通过对这些函数的灵活运用即可产生很好的显示效果,实现显示任务。GUI界面设计,本系统的GUI界面设计如图21所示,开机后显示欢迎界面,之后通过判断界面标志位觉得进入的界面,共有3个界面分别是,主界面、设置界面和运行状态界面。图21 显示界面结构主界面有两个选项:设置界面,运行状态界面,选择界面后点确定键即可进入。设置界面:设置界面是用于设置滤波器各类参数,主要有3个参数的设置操作分别是:高低通、截止频率、前级放大倍数。参数设置操作是选择好参数后点确定然会点你要设置的数据比如要设置Fc为35000hz对应的操作如下:选择参数fc即箭头指向它,然后点确定,这是箭头消失,分别点下数字键3,5,0,0,0,显示上会相应的出现这些值,输入最后一个值后箭头自动重新出现并闪烁这时说明设置好这个参数。界面共有2页,操作简单,返回其他界面是即可将设置好的参数赋值到滤波芯片MAX262去。运行界面:运行界面用于观察滤波器运行状态,和当前设置的参数。4. 4 主控模块与显示模块的通信4.4.1 串口通信方式串口通信在数据格式上分为异步通信和同步通信两者对比如表7。同步传输方式比异步传输方式速度快,这是它的优势。但同步传输方式也有其缺点,即它必须要用一个时钟来协调收发器的工作,所以它的设备也较复杂。异步通信具有更高的可靠性。表7 串口通信方式传输单位时钟源速度可靠性,复杂度同步通信数据块同一个时钟快相对低,复杂异步通信字节各自的时钟相对慢相对高,简单本系统对速度要求不高,且为了简化硬件设备最终决定两个模块间的通信采用的异步串口通信方式。4.4.2串口配置初始化该系统中的单片机工作在串口方式1,无多机通信,允许接收数据的状态下,那么,SCON的值被设定为0x50。在异步通信中,两个通信器之间必须具有相同的波特率。波特率(band rate)是异步通信中每秒钟传送的二进制数码的位数(比特数),单位是位/秒(bps)。波特率越大,传输速度越快。方式1的波特率计算公式为:B=(2SMOD/32)T1溢出率。式中的SMOD是电源管理寄存器PCON的最高位。默认情况下是0,本系统对PCON不作操作,采用默认配置。T1用作串口波特率发生器时,工作在八位自动重装方式下。那么,T1溢出率=(fosc/12)/(256-TL1)。该系统中SMOD为0,则定时器的高位,低位值TH1=-( fosc /384)/B 。fosc为系统晶振频率,B为要设的波特率,该系统中的fosc为11052900Hz。定波特率为9600,代入知道TH1 = 0Xfd。单片机的串口初始化程序为:void UART_init(void) EA=1; TMOD |= 0x21; /T1定时方式 TH1 = 0xfd; /设定波特率9600 TL1 = 0xfd; TR1 = 1; /启动T1 ES=1; SCON = 0x50; /串口方式14.4.3 通信的实现上位机的设置数据要发送到下位机。这个发送采用查询的方式,只需将要发送的数据写入SBUF寄存器即可。串口发送数据的程序实现:void SendChar(uchar send_char)SBUF=send_char;while(!TI);/等待数据发送完TI=0;下位机接受数据是通过中断的方式,接收的数据是在中断服务函数中实现的。图22 串口中断服务程序相关函数如下/定义标志位#define ready0xaa /地址位数据开始位#define end0xcc /结束位#define di_gao_flag0x22 /滤波器模式#define fc_flag 0x33 /截止频率/下位机接受数据,void receive(void) interrupt 4unsigned char data re;if(RI=1) RI=0; re=SBUF;if(re!=ready&begin_flag=0)return ;if(re=ready) begin_flag=1;return;if(begin_flag=1)switch(re)case di_gao_flag : q=di_gao_tong;break;case fc_flag : q=fc;break;case end : begin_flag = 0;break;default :*q=re;q+; break; chang_flag=1; 单片机间的数据通信协议帧格式如表8所示。表8 数据传输帧结构1个字节1个字节1个字节1个字节1个字节1个字节开始位数据标号数据1数据2结束位开始位:一帧数据开始标志,数据以0Xaa作为数据的开始位。数据标号:确定后续数据是用于什么的标志。0x22 :滤波器模式设置。0x33 :频率设置。数据1、2:后续的具体数据。结束位:一帧数据结束标志,用0Xcc作为结束标志位。5 系统测试该系统设计制作完成之后,通过了系统调试,系统工作稳定。高通测试操作流程:1、将滤波器设置为高通模式。2、设置截止频率由15K到50K变化。3、将DDS输出峰峰值为2V的交流信号,频率由15K到50K变化,观察输出波形在截止频率处是否衰减到0.707倍。并且观察是否呈现高通滤波器特性。低通测试操作流程:1. 将滤波器设置为低通模式。2. 设置低通截止频率由15K到50K变化。3. 将DDS输出峰峰值为2V的交流信号,频率由15K到50K变化,观察输出波形在截止频率处的衰减是否是1/1.414。并且观察是否呈现低通滤波器特性。掉电保护功能测试操作:在设置完成后,任意时刻进行断电操作。过段时间后开机,观察设置参数是否变化。系统测试结果:低通模式设置后输出呈现低通特性,高通模式设置后输出呈现高通特性,测试输入交流峰峰值为2V记录的输出值如下:表9 低通测试数据设置值15K20K25K30K35K40K45K50K输出值1.40V1.41V1.42V1.40V1.40V1.41V1.42V1.43V表10 高通测试数据设置值15K20K25K30K35K40K45K50K输出值1.40V1.40V1.41V1.41V1.41V1.42V1.42V1.43V系统经过测试后表明,该滤波器能设置低通,高通模式,截止频率在15khz50khz范围可调,步进为1khz。控制电路,和显示功能正常工作。截止频率的误差均不大于10%。有掉电保护功能。很好的完成了设计要求。结 论经过不断的调试与修改,实现了期望结果,达到了规定要求。最终的电路原理图、PCB布局见附录。该系统能够通过按键控制,配置出低通、高通滤波器,滤波器的截止频率(15K到50K),可自由设置。该滤波器操作方便,具有工作稳定、安全性高、系统升级容易等优点,具有良好的应用价值。参考文献1 郑郁正.单片机原理及应用M.成都:四川大学出版社,20032 谢自美.电子电路设计M.武汉:华中理工大学出版社,20003 张毅坤.单片微型计算机原理及应用M.西安:西安电子科技大学出版社,2007.064 陈国柱.50KVA变频调速器谐波的混合有源滤波J.电气传动,2002,(3):40-455 徐惠民.单片微型计算机原理接口与应用M.北京:北京邮电大学出版社,19966 华成英.模拟电子技术基础M.北京:高等教育出版社,2006第 29 页 共 30页附 录一、实物图设置界面滤波效果系统实物图二、pcb图滤波模块显示模块 电源模块三、原理图
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!