




免费预览已结束,剩余28页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分类号 分类号 TP368 1 U U D D C C D10621 408 2011 1588 0 密密 级 公级 公 开开 编编 号 号 2007073060 成成 都都 信信 息息 工工 程程 学学 院院 学学 位位 论论 文文 基于基于 MAX262MAX262 程控滤波器的设计程控滤波器的设计 摘摘 要要 在电子行业的许多领域都要使用滤波器 并且对滤波器的要求越来越高 一般的有源滤波器均由运算放大器和电子元件组成 对元器件的参数精度要求 比较高 设计和调试都比较麻烦 论文详细介绍基于 max262 的程控滤波器的 设计 max262 可以通过编程对信号实现低通 高通 带通 带阻以及全通滤 波处理 而且滤波的特性参数如中心频率 品质因数等也可以通过编程进行设 置 文章详细介绍了 max262 工作模式 截止频率和 Q 值的设置操作过程 以及 滤波器的设计要求 软件和硬件设计思路 实现方案 系统经过测试 效果良 好 关键词 关键词 MAX262 滤波器 单片机 TheThe DesignDesign ofof Program ControlledProgram Controlled FilterFilter BasedBased onon MAX262MAX262 Abstract In 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 引言 1 1 1 背景和意义 1 1 2 主要任务 1 2 系统设计概述 1 3 硬件电路设计 2 3 1 电源电路设计 3 3 2 滤波电路设计 4 3 2 1 MAX262 应用电路 4 3 2 2 输出通道选择 5 3 2 3 前级放大电路 5 3 3 主控 MCU 电路 6 3 4 人机交互电路设计 7 3 4 1 液晶接口电路 7 3 4 2 基于 ZLG7290 的行列式按键电路 8 4 软件设计 9 4 1 软件设计概述 9 4 2 滤波模块软件设计 11 4 2 1 设置数据写入 11 4 2 2 截止频率 Fc 设置 13 4 2 3 品质因数 Q 值设置 13 4 2 4 滤波模式设置 14 4 3 显示模块软件设计 16 4 3 1 行列式按键 16 4 3 2 主要显示部分 18 4 4 主控模块与显示模块的通信 19 4 4 1 串口通信方式 19 4 4 2 串口配置初始化 20 4 4 3 通信的实现 20 5 系统测试 22 结 论 23 参考文献 24 致 谢 25 声 明 26 附 录 27 第 1 页 共 30 页 1 引言引言 1 1 背景和意义背景和意义 随着电子技术的迅猛发展 作为分离有用和无用信号的滤波器成为各类系 统的重要部件 其性能的优劣直接影响整个系统的质量 各个领域对滤波器体 积 成本 设计速度的要求越来越高 一般有源滤波器均由运算放大器和电子 元件组成 对元器件的参数精度要求比较高 设计和调试都比较麻烦 论文从这个背景出发 发掘适合当前滤波器设计要求的滤波器芯片 美信 公司生产的可编程滤波器芯片 max262 可以通过编程对各种信号实现低通 高 通 带通 带阻以及全通滤波处理 而且滤波的特性参数如中心频率 品质 因数等也可以通过编程进行设置 能满足很多工业需求 在滤波器制造上具有 很大的应用潜力 论文介绍了 max262 工作模式 截止频率和 Q 值的设置操作过程 研究并 且设计了一款基于 max262 的程控滤波器 文章详细介绍了该滤波器的设计要 求 软件和硬件设计思路 实现方案 在 max262 的应用方面具有一定的借鉴 价值 1 2 主要任务主要任务 任务要求设计一滤波器 1 能设置成低通或高通滤波器 截止频率在 15khz 50khz 范围可调 步进为 1khz 2 有完整的控制电路 和参数设置功 能 有友好的人机界面 指导操作 3 设计要求完成显示控制模块 滤波器模 块 电源模块的软硬件设计 4 电压增益与截止频率的误差均不大于 10 5 有掉电保护功能 断电后开机 设置数据不变 2 系统设计概述系统设计概述 系统要实现的功能可以概括为 LCD 显示 按键输入 掉电保护 程控滤 波 模块通信以及系统供电 整个设计过程即是为实现上述功能的软硬件设计 过程 如图 1 所示 整个系统分为 3 个模块 分别是电源模块 滤波模块 控制 模块 电源模块负责给系统提供 12VDC 和 5VDC 的工作电压 主要有由 24VDC 转 12VDC 和 12VDC 转 5VDC 电路构成 滤波模块由核心 max262 电路 配合前级程控放大 输出通道选择等部分组成 控制模块即人机 交互模块 控制通过按键实现 显示由 FYD12864 0402B 字库液晶实现 良好的 界面结构设计使得提示直观明朗 操作简单 滤波模块与控制模块分别由单独 第 2 页 共 30 页 的一片单片机控制 模块相对独立 各自完成自己的控制工作 保证控制精度 和稳定性 两个模块通过串口的方式进行数据传输 12V CPU 7290按键 输入 24V 5V LCD显示 电源模块 人机交互模块滤波电路模块 CPU 滤波 器 程控放 大 输出通 道选择 串口 图 1 系统框图 3 硬件电路设计硬件电路设计 系统的硬件设计部分根据图 1 的三大模块来进行说明 电源模块要求输出 5V 和 12V 稳定的直流电压给系统供电 实现方式是 将线性电源或变压器输出的 24V 经过 DC DC 转换电路得到要求的电压 滤波电路作为本系统的核心 在硬件上要解决 max262 芯片的时钟选择 端口配置 以及解决数据传输不稳定等问题 还有就是波形输出通道的选择 前级放大电路的设计 档位计算等问题 人机交互模块主要的硬件难题是基于 ZLG7290 的矩阵键盘设计 液晶接口 以 及单片机外围电路设计 模块之间使用串口进行通信 在模块调试的时候也会用到 RS232 接口来实 现单片机与电脑的通信 下面就各个模块的硬件电路设计来进行详细说明 第 3 页 共 30 页 3 1 电源电路设计电源电路设计 IN 1 GND 2 O UT 378 RP1 7812 IN 2 GND 1 O UT 3 79 RP2 7912 C22 0 1u C21 0 1u C19 470u C20 470u 12 34 56 78 910 JP4 HEADER 5X 2 12 34 56 78 910 JP5 HEADER 5X 2 24V 24V 12 12 D 20 DIODE D 24DIODE 1 2 3 4 5 J6 CON5 图 2 24VDC 12 VDC 电源电路 整个系统使用 24V 供电 显示模块需要 5V 供电 滤波模块使用 5V 和 12V 供电 该部分的 DC 转化是通过 7812 7805 7912 7905 实现的 该 电源模块可以直接输出稳定的 12V 和 5V 直流电压供系统使用 C25 0 1uf C24 470u 12V 5 D 22 DIODE 12 34 56 78 910 JP3 HEADER 5X 2 IN 1 GND 2 O UT 378 R11 7805 V in 2 GND 1 5V 3 U 2 LM 7905CT C23 104 C26 470u 12V12 34 56 78 910 JP6 HEADER 5X 2 D 26DIODE 1 2 3 4 5 J7 CON5 5 图 3 12VDC 5VDC 转化电路 12V 是将 24V 直流电压经过 7812 和 7912 转化得到 电路设计如图 2 所示 5V 是将前面得到的 12V 经过 7805 和 7905 转化得到 电路如图 3 所示 第 4 页 共 30 页 上面两个电路中电容起到滤波的作用 让输出的直流电压更稳定 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 的外部石英晶振作为时钟输 入 V 9 A0 14 A1 13 A2 10 A3 7 D0 19 D1 6 WR 15 INA 5 OPIN 4 HPA 3 OPOUT 2 V 16 GND 17 HPB 20 LPB 22 LPA 24 INB 23 BPA 1 BPB 21 OSC OUT 18 CLK OUT 8 CLK B 12 CLK A 11 U5 MAX262 VCC 5 HPA 12 J27 JZ 1 2 J22 opout opout opin opin 1 2 J28 C17 C18 A0 A1 A2 A3 D0 D1 LPA 1 J26 WR 1 J7 图 4 MAX262 电路 为了防止数据不稳定 数据输入口的输入信号是通过 74HC573 锁存器芯片 第 5 页 共 30 页 锁存输出的 单片机数据管脚输出相应的数据后 将 WR 置低即可送出稳定 同步的电平信号 OC 1 C 11 1D 2 2D 3 3D 4 4D 5 5D 6 6D 7 7D 8 8D 9 1Q 19 2Q 18 3Q 17 4Q 16 5Q 15 6Q 14 7Q 13 8Q 12 U674HC573 A0 A1 A2 A3 D1 D0 WR A0 A1 A2 A3 D1 D0 图 5 74HC573 锁存输出 3 2 2 输出通道选择输出通道选择 由于输出低通 高通的端口不同 在不同滤波模式被设置时 需要选择不 同的端口作为输出口 系统通过模拟开关 CD4052 来进行端口选择 在通道 X0 和 X1 之间切换 输入前端加上两个跟随器 起到信号隔离的作用 具体电路 如图 6 所示 5 6 7 U 7B LM 358 3 2 1 84 U 7A LM 358 12 12 LPA H PA C22 CAP C23 CAP X 0 12 X 1 14 X 2 15 X 3 11 Y 0 1 Y 1 5 Y 2 2 Y 3 4 IN H 6 A 10 B 9 V EE 7 X 13 Y 3 VCC 16 GND 8 U 8 4052 K EY A 1 J38 CON 1 5 V CC 图 6 输出通道选择 图 6 中 A 端口是开关选择口 为 0 时选择高通 为 1 时选择低通 LM358 构成 2 个跟随器 输入端分别与 MAX262 的高通和低通输出口相连 跟随器起 到了信号隔离 防止信号相互窜扰的作用 3 2 3 前级放大电路前级放大电路 本系统要求放大倍数步进为 20dB 即 10 倍 100 倍和 1000 倍 3 个档位 第 6 页 共 30 页 电路采用 2 级放大 电路放大公式为 Vo Vi Rx 1K 其中 Rx 为接入开关的电 阻 前级有 3 个档分别是 5 10 25 倍 第二级有 3 个档分别是 5 10 40 设计要求的那 3 个档即可通过 5 2 10 10 25 40 组合得到 R 11 10k R 12 15k X0 12 X1 14 X2 15 X3 11 Y0 1 Y1 5 Y2 2 Y3 4 INH 6 A 10 B 9 VE E 7 X 13 Y 3 VCC 16 GND 8 U4 4052 R 13 50k 1 2 J11 5倍 10倍 25倍 R 16 1k R 15 1k 3 2 6 1 5 74 U5 TL081 out 15 15 IN 图 7 一级放大 由于模拟开关带人少量干扰 调节时 观察输入输出达到放大倍数关系即 可 R8 1k R9 1k 3 2 6 1 5 74 U3 TL081 out 15 15 X0 12 X1 14 X2 15 X3 11 Y0 1 Y1 5 Y2 2 Y3 4 INH 6 A 10 B 9 VEE 7 X 13 Y 3 VCC 16 GND 8 U8 4052 5k 50k 20k 5 5 1 2 J17 1 J18 2倍 10倍 40倍 图 8 二级放大 3 3 主控主控 MCU 电路电路 该系统控制模块 和滤波模块都使用相同的单片机 型号为 STC12C5A60S2 主要是该 cpu 内含 E2PROM 可以用于实现掉电保护功能 其 基本的外围电路包括电源电路 时钟电路和复位电路都与传统 51 电路兼容 第 7 页 共 30 页 单片机基本外围电路如图 9 所示 其中单片机的供电输入为 VCC 和 GND 时钟电路由 C21 C19 C20 组成 为单片机正常运行提供基本时钟源 C16 R3 R4 S2 共同构成了单片机上电复位电路 当上电瞬间 C16 导通 RST 处的瞬时电压约为 VCC 然后经过 R4 慢慢放电 RST 处的电压在上电后 一段时间保持高电平 最终 RST 处电压一直保持约为 0V 直到下次断电后再 上电 在这个过程中 高电平的保持时间时间约为 2 R4C16 628 ms 远远大于 两个单片机机器周期 约为 2us 所以可以实现单片机的上电复位 单片机的 31 脚 即 EA Vpp 端口接 VCC 是为了让该端口在工作时一直保 持高电平 使用单片机的内部程序存储器 1 单片机 P0 口内部没有上拉电阻 若要使用 P0 口 需要外接上拉电阻 PZ 是一支 8 个 1K 电阻的排阻 1 脚是公共端 PZ 公共端接电源 其它脚依次与 P0 口各个端口相连 用作 P0 的上拉电阻 增大 P0 口驱动能力 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RST VPD 9 P3 0 RxD 10 P3 1 TxD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 XTAL2 18 XTAL1 19 GND 20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSEN 29 ALE PROG 30 EA Vpp 31 P0 7 32 P0 6 33 P0 5 34 P0 4 35 P0 3 36 P0 2 37 P0 1 38 P0 0 39 VCC 40 J34 89C51 1 2 3 4 5 6 7 8 9 PZ VCC VCCVCC R3 200 C16 10U S2 R4 10K C19 33 C21 33 12 C20 JZ XTAL2 XTAL1 XTAL1 XTAL2 P30 P31 P32 P33 P34 P35 P36 P37 A0 A1 A2 A3 D1 D0 WR KEY A 图 9 MCU 外围电路电路 3 4 人机交互电路设计人机交互电路设计 人机交互电路主要包括行列式按键 LCD 接口 ZLG7290 电路 为了减轻单片机负担 方便程序控制 该系统使用 ZLG7290 芯片实现行列 式按键输入 3 4 1 液晶接口电路液晶接口电路 系统采用 FYD12864 0402B 字库液晶 其显示分辨率为 128 64 内置 8192 个 16 16 点汉字 和 128 个 16 8 点 ASCII 字符集 利用该模块灵活的接口方式 和简单 方便的操作指令 可构成全中文人机交互图形界面 很好的完成显示 功能 第 8 页 共 30 页 电路调试完成后使用前要对液晶对比度进行调节 方法是调节精密电位器 R28 直到最好的显示效果出现为止 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 J55 CO N20 R28POT 2 P10 P11 P12 P13 P14 P15 P16 P17 P02 P01 P00 V CC 1 2 J73 P03 V CC V CC 图 10 液晶接口 3 4 2 基于基于 ZLG7290 的行列式按键电路的行列式按键电路 为减少键盘占有过多的端口资源 采用 ZLG7290B 芯片完成按键检测处理 功能 其中芯片的 INT 脚即 14 脚接单片机的外部中断 2 保障反应的快速性 segc segh sega segb Dig0 Dig1 Dig2 Dig3 P3 3 SCL SD A Y3 C15C14 C13 C7 R4R11 P2 7 SD A SCL P2 6 P2 1 VCC VCC VCC KC0 6 SBA 23 KC1 5 SBB 24 KC2 4 SBC 1 KC3 3 SBD 2 KC4 22 SBE 7 KC5 21 SBF 8 KC6 12 SBG 9 KC7 13 DP 10 SCL 19 VCC 16 SD A 20 INT 14 RST 15 GN D 11 OSC1 17 OSC2 18 U1 图 11 ZLG7290 接口电路 ZLG7290B 是广州周立功单片机发展有限公司自行设计的数码管显示驱动 及键盘扫描管理芯片 能够直接驱动 8 位共阴式数码管 或 64 只独立的 LED 同时还可以扫描管理多达 64 只按键 其中有 8 只按键还可以作为 功能键使用 就像电脑键盘上的 Ctrl Shift Alt 键一样 另外 ZLG7290B 内 部还设置有连击计数器 能够使某键按下后不松手而连续有效 采用 I2C 总线 方式 与微控制器的接口仅需两根信号线 该芯片为工业级芯片 抗干扰能力 强 在工业测控中已有大量应用 在本系统中用到其中的按键管理功能 第 9 页 共 30 页 整个系统要求有个 12 个按键 所以采用 4 4 行列式按键的方案 本系统用 到的最终行列式按键电路如图 12 所示 J57 SW2 J61 SW2 J65 SW2 J69 SW2 J58 SW2 J62 SW2 J66 SW2 J70 SW2 J59 SW2 J63 SW2 J67 SW2 J71 SW2 J60 SW2 J64 SW2 J68 SW2 J72 SW2 Dig0 Dig1 Dig2 Dig3 sega segb segc segh R8 1k R9 1k R10 RES2 R16 1k 图 12 行列式按键电路 按键的功能安排如表 1 所示 表 1 按键功能分配 123预留 456预留 789预留 0切换键确定键预留 4 软件设计软件设计 4 1 软件设计概述软件设计概述 该系统的软件主要是在 Keil 开发平台上用 C 语言开发完成的 编程分为人机交互模块 和下位机滤波器模块 模块间的通信是靠串口实 现的 他们的软件流程图分别是图 13 和图 14 所示 上位机模块中主要的编程任务是 LCD 的底层驱动 界面设计 ZLG7290 的按键应用 以及串口通信 第 10 页 共 30 页 系统上位机用的 LCD 为 FYD12864 0402B 字库液晶 它内置 8192 个 16 16 点汉字 和 128 个 16 8 点 ASCII 字符集在写汉子方面相对无字库液晶更 方便 ZLG7290 按键功能的实现主要依靠 I2C 协议驱动的编写 以及外部中断 的应用 按键按下后触发外部中断 中断服务函数中通过 I2C 读取 ZLG7290 内 部寄存器 从而得到当前的键值 初始化 串口 外部中 断 LCD 欢迎界面 E2prom存 储设置数 据 串口发送 设置数据 有设置 操作 Y 界面标志 enter flag 0 界面选 择主界 面 enter flag 1 enter flag 2 运行状态 界面 设置 界面 N N Y Y Y N N 7290键值判断 I2C读取键值 外部中断 被触发 返回 外部中断 服务函数 开始 标志 位处 理 图 13 人机交互软件流程图 下位机滤波器模块的编程任务是串口服务程序中的数据解析 分类赋值 和 max262 的驱动 设置参数的赋值等 系统下位机数据解析是按照自己定义的串口通信协议 通过一帧数据中的 第 11 页 共 30 页 数据标号位确定是什么数据 在数据分类并对应赋值后 单片机将得到的数据 按照 max262 的写入方式写入芯片 完成设置的目的 开始 初始化 串口 给默认设 置值 写入新的 设置数据 有数据传入 chang flag 1 Y N 图 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 262 1 写控制脚 sbit key P 262 0 模拟开关控制脚 4 2 1 设置数据写入设置数据写入 设置数据 Q Fc 滤波方式 储存在程序存储器中 程序地址单元如表 第 12 页 共 30 页 2 所示 数据的写入即是将对应地址的值更新掉 图 15 的写入操作通过函数 write uchar add uchar dat2bit 来实现 add 为送入 的地址 dat2bit 为要送入的 2 位数据 表 2 max262 地址单元 DATA BITADDRESS D0D1A3A2A1A0 LOCATION M0M100000 F0F100011 F2F300102 F4F500113 Q0Q101004 Q2Q301015 Q4Q501106 Q601117 程序中送地址操作通过 P 262 P 262 来实现 这个程序 实现了对 P0 高 4 位 即 A3 A2 A1 A0 的赋值 程序中对数据的赋值操作是对 P0 2 p0 3 的值进行数据更新即可达到数据赋值的目的 程序为 P 262 P 262 图 15 MAX262 写入时序图 第 13 页 共 30 页 送地址 开始 结束 送数据值 Wr 0 WR 1 图 16 数据写入操作流程 4 2 2 截止频率截止频率 Fc 设置设置 表 3 频率设置计算公式 方式 1 3 42 64 0 Nffclk 方式 2 2 64 0 Nffclk 通过函数 Set AF CopFn mod f0 实现截止频率的设置 其中 f0 就是要的 截止频率 这里有点要注意 不同的工作方式频率设置都有不同 调用3次 write函数 写入N值 开始 结束 将Fc带入 公式求N 图 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 第 14 页 共 30 页 表 4 设置值 N 与 Q 的关系公式 方式 1 3 4 128 64NQ 方式 2 128 51 90NQ 本系统用到的方式为 1 3 所以只用第一个公式 表 4 中要设置的 N 值有 7 个所以要调用 4 次才能设置完成 实现程序流程如下 调用4次 write函数 写入N值 开始 结束 将Q带入 公式求N 图 18 写入 Q 值流程图 查表 5 或带入公式可知要将 Q 设置为 1 N 的值为 64 表 5 Q 值设置表部分 PROGRAMMED QPROGRAM CODE MODE 1 3 4MODE 2NQ6Q5Q4Q3Q2Q1Q0 1 001 41641000000 1 021 44651000001 1 031 46661000010 1 041 48671000011 4 2 4 滤波模式设置滤波模式设置 表 6 中 M1 M0 有 4 种组合分别对应了 4 种工作方式 官方资料表明不同的 滤波要求不同的工作方式 用户根据自己滤波器的要求不同自己选择合适的工 作方式 第 15 页 共 30 页 表 6 滤波模式设置表 MODEM1 M0 Filter Functions F0QFnHolpHobpHon1Hon2OTHER 10 0LP BP NF0 1 Q 1 1 20 1LP BP N2 0 F 0 5 Q2 0 5 1 31 0LP BP HP 1 QHohp 1 3A1 0LP BP HP N L H R R 0 f 1 Q L G R R H G R R Hohp 1 41 1LP BP AP 表 3表 4 2 2Q Hoap 1 Fz 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 则为高通 其它数字 无效 第 16 页 共 30 页 开始 结束 高通 打开高通 通道模拟 开关 调用write 函数选择 方式3 调用write 函数选择 方式1 打开低通 通道模拟 开关 Y N 图 19 模式设置流程 4 3 显示模块软件设计显示模块软件设计 为了减少单片机的负担和让显示效果更好 本系统的显示使用 FYD12864 0402B 液晶 行列式按键的键值判断通过 ZLG7290 芯片来实现 单片机与 ZLG7290 之间的通信是采用的 I2C 通信协议 4 3 1 行列式按键行列式按键 程序的实现过程为图 20 所示 按键按下后 经过 ZLG7290 处理会产生中 断信号给单片机外部中断 2 保证按键检测的灵敏度和实时性 在中断服务函 数里调用函数 ZLG7290 ReadMessage SubKey 取回键值 在这个函数中 subkey 是 0 x01 即键值寄存器的地址 K 即返回的键值 单片机与 ZLG7290 通 过 I2C 协议传输数据 该系统中 按键键值判断是通过 ZLG7290 芯片实现的 因此 本文只对 ZLG7290 的键值判断所涉及到的内容作介绍 4 3 1 1 按键中断触发 按键检测有两种方式 一种是将 ZLG7290 的 INT 引脚 14 脚 接入单片 机外部中断口 另一种是通过 I2C 协议不断的读取芯片系统寄存器的第 0 位 中断方式如下 当按下某个键时 ZLG7290B 的 INT 引脚 14 脚 会产生 一个低电平的中断请求信号 当读走键值后 中断信号就会自动撤销 正常情 况下 微控制器只需要判断 INT 引脚就可以了 第 17 页 共 30 页 Zlg7290消抖 判断处 理并产生中断信号 单片机中断处理通过 I2C协议读取 LZG7290键值寄存器 的值 按键按下 产生 中断 信号 I2C通信 读取键 值 图 20 按键处理过程 查询方式如下 SystemReg 寄存器的第 0 位 KeyAvi 可以反映是否有按键 按下 0 没有按键被按下 1 有某个按键被按下 通过不断查询 KeyAvi 位 也能判断是否有键按下 这样就可以节省微控制器的一根 I O 口线 但是代价 是 I2C 总线处于频繁的活动状态 多消耗电流并且不利于抗干扰 通过比较系统最终决定采用中断的方式检测按键 4 3 1 2 确定键值 按键的确定是通过 ZLG7290 的键值寄存器来确定的 如果某个普通键被按下 则微控制器可以从键值寄存器 Key 中读取相应的 键值 1 56 如果微控制器发现 ZLG7290B 的 INT 引脚产生了中断请求 而 从 Key 中读到的键值是 0 则表示按下的可能是功能键 键值寄存器 Key 的值 在被读走后自动变成 0 对本系统而言前面的普通按键即可满足按键需求了 4 3 1 3 键值的读取 按键被按下后 这个操作的检测 键值确定都是通过 ZLG7290 即可完成 单片机通过函数 ZLG7290 ReadMessage SubKey 就能对会这个键值 完成 后续操作 这个过程中采用的是 I2C 总线协议 I2C 总线是由数据线 SDA 和时钟 SCL 构成的串行总线 可发送和接收数据 在 CPU 与被控 IC 之间 IC 与 IC 之间进行双向传送 最高传送速率 100kbps 各种被控制电路均并联在这条总线上 每个电路和模块都有唯一的地址 在信 第 18 页 共 30 页 息的传输过程中 I2C 总线上并接的每一模块电路既是主控器 或被控器 又 是发送器 或接收器 这取决于它所要完成的功能 CPU 发出的控制信号分 为地址码和控制量两部分 地址码用来选址 即接通需要控制的电路 确定控 制的种类 控制量决定该调整的类别 如闪烁时间 及需要调整的量 这样 各控制电路虽然挂在同一条总线上 却彼此独立 互不相关 4 3 2 主要显示部分主要显示部分 显示相关编程主要是 12864LCD 的底层驱动 和 GUI 界面的设计 液晶与单片机的数据传输有两种方式 并行和串行 系统通过命令指令将 液晶设置在并行模式下 经过液晶初始化液晶的工作状态为 整体显示打开 无光标状态 采用基 本指令操作 设定 DDRAM 地址 显示位址 第一行 80H 87H 第二行 90H 97H 脱离睡眠模式 绘图开关关闭 底层驱动函数主要有 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 个界面分别是 主界面 设置界面和运行状态界面 第 19 页 共 30 页 初始化 开始 主界面 设置界 面 界面标 志判断 运行状 态界面 键值判 断处理 欢迎界 面 图 21 显示界面结构 主界面有两个选项 设置界面 运行状态界面 选择界面后点确定键即可 进入 设置界面 设置界面是用于设置滤波器各类参数 主要有 3 个参数的设置 操作分别是 高低通 截止频率 前级放大倍数 参数设置操作是选择好参数 后点确定然会点你要设置的数据比如要设置 Fc 为 35000hz 对应的操作如下 选 择参数 fc 即箭头指向它 然后点确定 这是箭头消失 分别点下数字键 3 5 0 0 0 显示上会相应的出现这些值 输入最后一个值后箭头自动重新出现并 闪烁这时说明设置好这个参数 界面共有 2 页 操作简单 返回其他界面是即 可将设置好的参数赋值到滤波芯片 MAX262 去 运行界面 运行界面用于观察滤波器运行状态 和当前设置的参数 4 4 主控模块与显示模块的通信主控模块与显示模块的通信 4 4 1 串口通信方式串口通信方式 串口通信在数据格式上分为异步通信和同步通信两者对比如表 7 同步传输方式比异步传输方式速度快 这是它的优势 但同步传输方式也 有其缺点 即它必须要用一个时钟来协调收发器的工作 所以它的设备也较复 杂 异步通信具有更高的可靠性 2 第 20 页 共 30 页 表 7 串口通信方式 传输单位时钟源速度可靠性 复杂度 同步通信数据块同一个时钟快相对低 复杂 异步通信字节各自的时钟相对慢相对高 简单 本系统对速度要求不高 且为了简化硬件设备最终决定两个模块间的通信 采用的异步串口通信方式 4 4 2 串口配置初始化串口配置初始化 该系统中的单片机工作在串口方式 1 无多机通信 允许接收数据的状态 下 那么 SCON 的值被设定为 0 x50 在异步通信中 两个通信器之间必须具有相同的波特率 波特率 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 0 x21 T1 定时方式 TH1 0 xfd 设定波特率 9600 TL1 0 xfd TR1 1 启动 T1 ES 1 SCON 0 x50 串口方式 1 4 4 3 通信的实现通信的实现 上位机的设置数据要发送到下位机 这个发送采用查询的方式 只需将要 发送的数据写入 SBUF 寄存器即可 串口发送数据的程序实现 void SendChar uchar send char SBUF send char while TI 等待数据发送完 第 21 页 共 30 页 TI 0 下位机接受数据是通过中断的方式 接收的数据是在中断服务函数中实现 的 根据数据标号 将数据赋入相 应的数组 chang flag 1 begin flag 1 begin flag 0 数据传入触发串 口中断 不是开始 位 并且 begin flag 0 是数据开始 位 begin flag 1 是否是结 束位 N N N 返回 Y Y Y Y N 串口中断服务 函数 图 22 串口中断服务程序 相关函数如下 定义标志位 define ready0 xaa 地址位数据开始位 define end0 x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自行车的局部课件
- 饲料安全培训内容记录课件
- 2024电工经典例题及参考答案详解【考试直接用】
- 难点详解浙教版七年级下册数学第五章分式同步训练试卷(含答案详解)
- 自然博物馆解读课件
- 2023年度计算机操作员考试彩蛋押题(典优)附答案详解
- 自来水厂净水过程
- 自招保安岗前安全培训课件
- 2025年省交通控股集团有限公司人员招聘笔试备考试题及1套参考答案详解
- 2023年度计算机四级常考点试卷A4版附答案详解
- 全过程工程咨询服务大纲
- T-GDPA 3-2021 奥利司他胶囊质量标准
- GB/T 31586.2-2015防护涂料体系对钢结构的防腐蚀保护涂层附着力/内聚力(破坏强度)的评定和验收准则第2部分:划格试验和划叉试验
- GB 21258-2007常规燃煤发电机组单位产品能源消耗限额
- GA/T 1499-2018卷帘门安全性要求
- 2型糖尿病的综合管理课件
- 马克思主义政治经济学第2章-货币课件
- 学术规范与论文写作讲述课件
- 七年级数学学习·探究·诊断上册
- 弹簧设计基础知识概要课件
- GB∕T 17794-2021 柔性泡沫橡塑绝热制品
评论
0/150
提交评论