




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学毕业设计 论文 1 目录 摘要摘要 2 Abstract 3 1 绪论绪论 4 1 1 前言 4 1 2 系统的功能和特点 4 1 3 系统的逻辑模型描述 5 1 4 系统的性能描述 5 1 4 1 电源电压及其波动范围 5 1 4 2 频率和幅度范围 5 1 4 3 环境要求 6 1 5 系统开发进度安排 6 2 系统开发中系统开发中的相关技术的相关技术 7 2 1 Embest EduKit IV 实验平台 7 2 2 Intel Xscale270 处理器介绍 7 2 3 DAC 模块详细介绍 8 2 3 1 主要芯片原理功能表述 8 2 3 2 内部功能模块图 8 2 3 3 芯片引脚排列 9 2 3 4 ADC 的硬件连接 10 2 4 Windows CE 操作系统 11 2 5 Visual Studio 2005 集成开发环境 12 3 系统总体设计系统总体设计 13 3 1 软件总体结构描述 13 3 2 软件各功能模块的描述 14 4 系统详细设计系统详细设计 18 4 1 系统人机界面设计 18 4 1 1 产生单一波形 模块界面及详细说明 18 4 1 2 产生组合波形 模块界面及详细说明 19 4 1 3 相关说明 模块界面及详细说明 20 4 2 算法说明 21 4 3 系统各个功能模块详细说明 28 5 软件测试软件测试 61 6 结束语结束语 62 参考文献参考文献 63 致谢致谢 64 摘要摘要 传统的函数发生器成本高 精度低 体积大 嵌入式产业的快速发展为设计成本低 精度高和体积小的便携性函数发生器提供了技术基础 本次毕业设计就是利用相关的嵌 入式技术设计一个成本低 精度高和体积小的便携性智能函数发生器原型 本次设计使用 VS2005 集成开发环境 英蓓特公司的 Edukit IV 开发板和 Intel PXA270 处理器 在 Windows CE 操作系统上 结合 Edukit IV 实验箱上的 DAC 模块 开发 了一个具有一定智能的函数发生器原型 该系统既能产生方波 脉冲波 正弦波 三角 波和锯齿波 5 种单一的周期信波形信号 又可以将上述 5 种波形信号中的任意两种信号 进行组合而得到新的波形信号 对于单一的波形信号 既可以在 LCD 屏上显示输出 又 可以在输出端子上显示输出 对于组合的波形信号 只能在 LCD 屏上显示输出 对于在 输出端子上显示输出的波形信号 可以调节波形信号的频率 幅度和通道值 而对于在 LCD 屏上显示输出的波形信号 可以调节波形信号的频率 幅度和相位值 本文主要介绍了智能函数发生器原型的设计方案及设计实现过程 其中需求分析阶段 主要说明了系统的功能 特点和性能 而总体设计阶段则阐述了系统的整体结构和模块 调用关系 在详细设计阶段详细地说明了各个模块的算法和数据结构 最后经过测试完 善了整个系统 除此 本文还详细地介绍了系统开发设计过程中所用的软硬件环境 特 别是 Edukit IV 实验箱上的 DAC 模块 关键字 关键字 函数发生器 DAC 模块 WinCE PXA270 Abstract Traditional function generators have the disadvantages of high cost low precision and big volume Fast development of embedded industry provides the technical basis for designing an intellective function generator which has the features of low cost high precision and small volume Using related embedded technology this graduation project designed an intellective function generator prototype with the advantages above The function generator prototype was developed on Windows CE operating system using Visual Studio 2005 IDE Embest s EduKit IV development board Intel PXA270 processor and DAC module The prototype not only can generate five kind of single waves square wave impulse wave sin wave triangle wave and sawtooth wave but also can combine two different waves in the five into a new wave For a single wave it can be showed on the LCD screen and an output device But for a combined wave it can only be showed on the LCD screen What s more the frequency range and channel of the wave shown on an output device can be adjusted while for the wave shown on the LCD screen the frequency range and phase of it can be adjusted This paper mainly introduced the design and the implementation process of the intellective function generator prototype Firstly the requirement analysis mainly explained the functions features and performance of the system Then the system design showed the overall structure of the system and the relation between modules and each other Besides in the detail design this paper accounted for the algorithms and data structures of each module At last the whole system was tested and improved In addition in this paper the software and hardware environments were introduced in detail during the design process especially DAC module on EduKit IV experiment box Keywords Function generator DAC module WinCE PXA270 武汉理工大学毕业设计 论文 4 1 绪论绪论 1 1 前言 随着世界高科技技术的发展 中国电子测量仪器走进了高科技发展的道路 作为基础 测量仪器的函数发生器 自从它问世以来 已被广泛应用于调试 自动控制系统和教学 实验等领域 随着电子 电力 通信行业的不断扩大 该仪器的应用领域也在不断地扩 大和深入 现已深入到人类经济发展的很多领域 函数发生器以往多由硬件组成 产品的体积大 精度低 系统结构比较复杂 可维护 性和可操作性也不佳 无法满足用户对精度和便携性的要求 同时 由于一般传统的函 数发生器都难以产生特别精确的波形 并且波形的种类也不够丰富 因此 迫切需要一 种体积小 功能强 精度高和便携性好的智能型函数发生器 本毕业设计利用 EduKit IV 型实验箱及该实验箱上的 DAC 模块 使用 Intel PXA270 处理器 结合 VS2005 集成开发环境 开发了一个便携的智能函数发生器原型 该系统具 有结构简单 成本低 使用方便和实用价值高等优点 1 2 系统的功能和特点 通过分析总结 本系统的功能和特点如下 1 可以产生正弦波 方波 三角波 锯齿波和脉冲波 5 种周期性信号 2 上述 5 种信号既可以在 LCD 屏上显示出来 又可以在实际的输出端子上输出 3 能够将上述 5 种信号任意两两组合 形成新的周期性信号 并在 LCD 屏上将新信 号显示出来 4 具有调节各种信号波形的幅度和频率大小的功能 5 对于在 LCD 屏上显示的波形信号 还可以调节波形的相位值 对于在实际输出端 子上显示的波形信号 还可以调节信号选择的输出通道 6 拥有专门用于显示系统目前在进行什么操作的状态栏 更详细的信息如下表所示 表 1 1 函数发生器功能详图 信号信号种类种类正弦波 三角波 方波 锯齿波和脉冲波信号 以及上述 5 种信号任意 两两组合而得到的新信号 显示形式显示形式输出端子上显示动态波形 利用 DAC 模块 LCD 屏上显示静态波形 能能选选择的参数择的参数对于在输出端子上显示波形信号的情况 可以控制波形的周期 幅度和 通道值的选择 而对于在 LCD 屏上显示波形信号的情况 可以控制波形 的周期 幅度和相位的选择 武汉理工大学毕业设计 论文 5 幅度幅度取值范围取值范围对于单一信号 应取 0 1643mV 之间的整数 对于组合信号 每个信号 应取 0 820mV 之间的整数 周期周期取值范围取值范围不论是单一信号 还是组合信号 都应取 1 8000uS 之间的整数 相位相位取值范围取值范围 0 度的整数 通道选择通道选择范围范围A 通道 B 通道 状态栏显示信息状态栏显示信息波形信号的种类 周期 幅度 通道和出错原因等等 1 3 系统的逻辑模型描述 弄清系统的功能和特点以后 就基本上明白了整个系统的逻辑模型 可以根据系统中 数据的流向画出数据流图 本系统的数据流图如图 1 1 所示 函数发生 器原型 输出端 子 LCD屏 送入 DAC 模块 数模 转换 内存 画图 内存 幅度 周期 相位 波形种类等信息 幅度 周期 通道 波形种类等信息数字信号 图片 图片 模拟电压 图 1 1 系统的数据流图 1 4 系统的性能描述 1 4 1 电源电压及其波动范围 电源 3 3V 5VDC 10 功耗 125mA 3 3V 70 90mA 省电状态 1 4 2 频率和幅度范围 输出频率 12 5Hz 2500Hz 输出幅度 0mV 1643mV 武汉理工大学毕业设计 论文 6 1 4 3 环境要求 储存温度 25 70 工作温度 0 70 相对湿度 5 95 1 5 系统开发进度安排 1 第 1 3 周 根据任务书作调研 根据调研的资料撰写开题报告 2 第 4 5 周 熟悉 VS2005 集成开发环境 Windows CE 操作系统和 EduKit IV 实验 平台 阅览关于 Windows CE 操作系统和 MFC 编程的资料 3 第 6 7 周 编写一些简单的应用程序 学会在 VS2005 中编程的技巧和调试的方 法 4 第 8 9 周 进行问题定义 弄清楚应该要做什么 接着进行需求分析和可行性 分析 初步确定系统应该要实现的功能 然后进行总体设计 构造整个系统的结 构和模块调用关系 5 第 10 12 周 进行详细设计 弄清楚每个模块的算法和数据结构 然后编写代 码 并进行调试和单元测试 6 第 13 15 周 进行集成测试和验收测试 分析整个系统的功能是否达到了预定 的要求和目标 分析系统的优点及不足之处 并进行必要的修改和补充 7 第 16 18 周 整理文档 完成论文 将毕业论文相关材料装订成册 准备论文 答辩 武汉理工大学毕业设计 论文 7 2 系统开发中系统开发中的相关技术的相关技术 2 1 Embest EduKit IV 实验平台 Embest EduKit IV 教学实验平台是一款功能强大的 32 位嵌入式 ARM 实验开发平台 是深圳市英蓓特信息技术有限公司推出的更具创新意识的 EduKit 系列第四代嵌入式教学 实验平台 Embest EduKit IV 嵌入式 ARM 教学实验系统采用了模块化的设计思路 整个硬件平 台的接口信号定义完整 包含各种功能模块的接口 如 GPRS PWM 电机 蓝牙 DAC 数模 转换等模块 用户可以方便地在平台上进行各种实验与实践 除了具有丰富的接口资源 外 该教学系统还具备了良好的扩展性 比如 EduKit IV 预留了 32 位扩展总线接口 从而大大减轻了用户扩展新功能的负担 方便用户开发自已的目标系统 该实验平台的 外观和各种模块如图 2 1 所示 图 2 1 EduKit IV 教学实验平台及模块图 本次毕业设计中采用的 CPU 核心模块是 Mini270 核心子板 该核心子板利用处理器 Intel Xscale pxa270 提供的各种控制接口扩展了功能模块 这些接口信号最终通过核心 板输送到主板上 比如 在核心板上可以通过 CPU 引出 LCD 控制信号 然后再将该信号 输送到主板上的 LCD 连接器上 而本次设计中采用的应用模块则是 DAC 模块 该模块能 够实现数模转换的功能 下面有关于本次使用的 CPU 模块和应用模块的更详细介绍 2 2 Intel Xscale270 处理器介绍 Intel PXA270 是 Intel 公司推出的基于 ARM 微处理核的嵌入式处理器 它被广泛地 应用于 PDA 智能手机等领域 这源于它具有卓越的性能 PXA270 具有较高的主频 最高可达 624MHz PXA270 最引人注目的是加入了 Wireless MMX 技术 大大提升了多媒体处理能力 同时 PXA270 还加入了 Intel SpeedStep 动态电 源管理技术 在保证 CPU 性能的情况下 最大限度地降低了移动设备功耗 SpeedStep 技 武汉理工大学毕业设计 论文 8 术原用于 Intel 移动处理器 这种技术用通俗的语言表述就是系统需要多高的主频 它 就调节到多高的频率 系统不需要时 它就将处理器主频调节到最低 从技术资料上可 以了解到 SpeedStep 技术可以将 PXA270 的主频在 26MHz 624MHz 最高 之间自由调 节 也就是说 在系统完全空闲时 PXA270 可以运行在 26MHz 的主频下 此时它的功耗 将低于 0 1 毫安 Mini270 核心子板使用的就是这种处理器 2 3 DAC 模块详细介绍 2 3 1 主要芯片原理功能表述 DAC 模块中的主要芯片是 AD7528BN 它是 8 位双通道的数字 模拟转换器 内部集成 了数据锁存器 数据通过 8 位数据线传送至两个 DAC 数据锁存器 控制输入端的 DACA DACB 以决定哪一个数据被装载 该器件的访问与随机存储器类似 能方便地与大 多数 MCU 相接 AD7528BN 工作电压 5 15V 功耗小于 15mW 2 或 4 象限乘法功能使这种 器件成为许多 MCU 控制的增益设置和信号控制应用的良好选择 与电流输出相比较 它 更适合于电压输出 2 3 2 内部功能模块图 图 2 2 内部功能模块图 武汉理工大学毕业设计 论文 9 2 3 3 芯片引脚排列 图 2 3 AD7528BN 引脚图 各引脚的功能说明如表 2 1 所示 表 2 1 AD7528BN 引脚功能说明 引脚引脚功能功能引脚引脚功能功能 OUTA DA 输出 A VDD 电源 OUTB DA 输出 B DGND 数字地 RFBA A 通道反馈 AGND 模拟地 RFBB B 通道反馈 WR 写信号 REFA A 通道基准电压 CS 片选信号 REFB B 通道基准电压 DB0 DB7 8 位数据线 DACA DACB A B 通道选择信号 AD7528BN 芯片 如图 2 3 所示 可根据一个输入数字量输出对应的模拟量 电压 其接口的逻辑信息为 DAC 选择 两个 DAC 锁存共享一个通用 8 位输入端口 通过控制输入引脚 DACA DACB 来决定哪个通道接受输入端口的数据 模式选择 输入引脚CS和WR控制所选择的 DAC 通道的操作模式 如表 2 2 所示 写模式 当和都为低电平时 所选择的 DAC 通道处于写模式 该通道所输入的 CSWR 锁存数据输出 输出电压大小与 DB0 DB7 引脚信号相关 保持模式 所选择的 DAC 所锁存的数据是或变高之前 DB0 DB7 的状态 CSWR 表 2 2 模式选择表 DACA DACB DACB CSWRDACDAC A ADACDAC B B LLLWRITEHOLD 武汉理工大学毕业设计 论文 10 HLLHOLDWRITE XHXHOLDHOLD XXHHOLDHOLD L 表示低电平 H 表示高电平 X 表示与高或低电平无关 2 3 4 ADC 的硬件连接 在本系统中 AD7528BN 的 DB0 DB7 连接到 Intel Xscale pxa270 处理器的数据总线 DB0 DB7 DACB 连到处理器的地址总线的 ADDR7 如图 2 4 所示 连到处理器 DACAWR 的 NWE 写信号 连到一个 3 8 译码器的输出引脚 Y0 3 8 译码器的输入为地址总线的 CS A18 A20 如图 2 6 所示 最后 daa 和 dab 连到两个 LED 灯上用来表示对应通道的电压 大小 如图 2 5 所示 图 2 4 AD7528BN 引脚连接图 武汉理工大学毕业设计 论文 11 图 2 5 AD7528BN 与 LED 连接图 图 2 6 3 8 译码器 2 4 Windows CE 操作系统 Microsoft Windows CE 是为各种嵌入式系统和产品设计的一种开放的 可升级的 32 位操作系统 是基于掌上型电脑类的电子设备操作系统 该系统的模块化设计使嵌入式系统开发者和应用开发者能够定制各种产品 例如家用 电器 专门的工业控制器和嵌入式通信设备等等 Windows CE 支持各种硬件外围设备以 及网络系统 包括键盘 鼠标设备 触摸屏 串行端口 以太网连接器 调制解调器 通用串行总线 USB 设备 音频设备 并行端口 打印设备及存储设备 例如 PC 卡等 武汉理工大学毕业设计 论文 12 此外 Windows CE 支持超过 1000 个公共 Microsoft Win32 API 和几种附加的编程接 口 用户可利用它们来开发应用程序 这些接口包括 组件对象模型 COM Microsoft 基础类 MFC Microsoft ActiveX 控件 Microsoft 活动模板库 ATL 等 2007 年 微软正式发布了自己的第六代嵌入式系统工具套装 Windows Embedded CE 6 0 并完全开放了其核心源代码 在 Linux 不断夺取嵌入式系统市场 生产商对透明度 的要求越来越高的今天 微软不但发布了自己的新系统 还宣布向消费者和 BSquare Centrality Micros Systems 等嵌入式厂商完全开放 CE 6 0 的核心源代码 并提供 Visual Studio 2005 Professional 的免费拷贝 使现有的 Platform Builder 集 成开发环境 IDE 成为 VS2005 的一个插件 Windows CE 5 0 发布的时候 微软根据资 源共享计划公开了 56 的核心源代码 而到了 Windows CE 6 0 微软将这一比例提高到 了 100 不过是核心源代码 而不是整个 CE 6 0 工具套装 Windows CE 6 0 的新核心 经过了重新设计 在性能上的改善非常明显 如并发进程数从 32 个猛增至 32000 个 每 个进程的最大虚拟内存利用量高达 2GB 可提供实时数据连接等 还有组件可以利用 Windows Vista 内建的新功能来遥控桌面并在投影仪上显示给观众 另外还增强了对多媒 体的支持 由于该操作系统的界面和 Windows 有很大的相似之处 因此使用起来非常方便 2 5 Visual Studio 2005 集成开发环境 Visual Studio 2005 包含了一系列高效的 智能的开发工具 不论是为开发初学者 还是为经验丰富的企业开发团队都提供了很多全新的 强大的功能 具体如下所示 1 全方位的工具平台 不论用户是一位编程初学者还是一个富有经验的企业开发团 队中的一员 都可以提供高效的开发工具 2 减少开发的复杂度 确保用户能更加轻松地发布基于 Framework 的解决方案 包括 Windows Web 移动和基于 Office 的应用 3 第三方的生态系统 允许用户利用来自 Visual Studio 行业合作伙伴参与研发的产 品 并体验用来补充 Visual Studio 2005 第三方解决方案的全面部署 4 改善团队的沟通 给用户提供高效智能的生命周期工具 通过使用 Visual Studio 2005 Team System 来增强 IT 周期参与者之间的交流与协作 武汉理工大学毕业设计 论文 13 3 系统总体设计系统总体设计 3 1 软件总体结构描述 智能型函数发生器原型比较庞大 其总体结构层次图如下所示 智能函数发生器原型 产生单一波形产生组合波形相关说明 方波 信号 正弦 波信 号 锯齿 波信 号 三角 波信 号 脉冲 波信 号 停止 信号 产生 选择2种波 形信号 组合信 号 判断参数显示新信号 图 3 1 智能函数发生器系统总体层次图 由该层次图可知 整个智能型函数发生器原型主要有三个功能模块 分别是 产生单 一波形 模块 产生组合波形 模块和 相关说明 模块 相关说明 模块相对比 较简单 描述了本系统主要能够实现的功能 而 产生单一波形 模块和 产生组合波 形 模块则需要调用各自的子模块才能实现产生波形信号的功能 下面将详细论述这两 个模块 产生单一波形 模块主要完成的功能有输出方波 正弦波 脉冲波 锯齿波和三角 波 5 种波形信号 并能实现停止波形信号输出的功能 需要说明的是 这些波形信号不 仅能够在实际输出端子上输出 还能够在 LCD 屏上输出显示 使用户不使用输出端子也 能够看到信号输出的效果 也就是说 对应于每一种波形信号输出需要调用两个子模块 这两个子模块分别完成在输出端子上显示波形和在 LCD 屏上显示波形信号的功能 以方 波为例 调用过程如图 3 2 所示 方波信号 输出端子上显 示方波 LCD屏上显示 方波 武汉理工大学毕业设计 论文 14 图 3 2 方波信号 模块的层次图 除此 该模块还能进行相关的选择与配置 即能调节波形信号的幅度和周期的大小 对于在 LCD 屏上显示的波形信号 还能控制信号的相位 而对于在输出端子上显示的波 形信号 可以控制信号输出的通道 通过对这些参数的选择 可以输出特定的波形 满 足更多用户的需求 产生组合波形 模块主要完成的功能是将方波 正弦波 脉冲波 锯齿波和三角波 5 种波形信号中的任意两种波形进行叠加得到组合波形 并在 LCD 屏上将组合波形显示 出来 对于该模块 首先要选择两种波形信号 然后设置这两种波形信号的周期 幅度 和相位 并对所设置的值进行判断 看是否合法 如果合法 则在 LCD 上显示组合后的 波形 因此该模块的层次图如图 3 1 中所示 3 2 软件各功能模块的描述 完成软件的整体结构设计以后 接下来需要对整体结构中所涉及到的各个模块进行设 计 以下是在系统总体设计中对各个模块的功能所进行的描述 以及它们的 IPO 图 1 产生产生单一波形单一波形 模块模块 1 功能描述 该模块的主要功能是在用户选择波形信号的种类 周期 幅度 相位和通道 值之后 在输出端子和 LCD 屏上正确地显示所选择的波形信号 2 IPO 图 输入 所选择的 波形信号 的种类 周期 幅 度 相位 和通道值 1 向DAC 模块输送 数字量 2 控制在 LCD屏上 画图 处理 在输出端 子上显示 波形信号 在LCD屏 上显示波 形信号 输出 图 3 3 产生单一波形 模块的 IPO 图 2 方波方波信号信号 模块模块 1 功能描述 该模块的主要功能是在输出端子和 LCD 屏上输出符合要求的方波信号 2 IPO 图 武汉理工大学毕业设计 论文 15 输入 所选择的 周期 幅 度 相位 和通道值 1 向DAC 模块输送 方波数字 信号 2 在LCD屏 上画模拟 方波 处理 在输出端 子上显示 方波信号 在LCD屏 上显示方 波信号 输出 图 3 4 方波信号 模块的 IPO 图 正弦波信号 模块 脉冲波信号 模块 三角波信号 模块和 锯齿波 信号 模块的 功能描述 和 IPO 图 与 方波信号 模块的类似 只是波形 种类不同而已 在这里就不再赘述了 3 停止停止信号产生信号产生 模块模块 1 功能描述 该模块的主要功能是使输出端子和 LCD 屏上无波形显示 即函数发生器原型 既不向 DAC 模块输送波形数据 又不在 LCD 屏上画模拟波形 2 IPO 图 输入 无 1 挂起在输 出端子上 显示波形 信号的线 程 2 清除LCD 屏上的波 形 处理 输出端子 和LCD屏 上均无波 形显示 输出 图 3 5 停止信号产生 模块的 IPO 图 4 产生组合产生组合波形波形 模块模块 1 功能描述 该模块的主要功能是选择 5 种单一波形中的任意两种波形信号进行组合 将 组合得到的信号显示在 LCD 屏上 2 IPO 图 输入 2种波形信 号的种 类 周 期 幅度 和相位值 组合2种波 形 处理 在LCD屏 上显示组 合好的波 形信号 输出 武汉理工大学毕业设计 论文 16 图 3 6 产生组合波形 模块的 IPO 图 5 选择选择 2 种波形信号种波形信号 模块模块 1 功能描述 该模块的主要功能是选择 2 种待组合的波形信号 确定哪一种信号是第一种 波形信号 哪一种信号是第二种波形信号 2 IPO 图 输入 选择2种波 形信号 对选择的 波形信号 进行计数 处理 得到要组 合的第一 种波形和 第二种波 形信号 输出 图 3 7 选择 2 种波形信号 模块的 IPO 图 6 组合信号组合信号 模块模块 1 功能描述 该模块的主要功能是设置两种波形的周期 幅度和相位值以后 在 LCD 屏上 显示两种波形叠加后的组合波形信号 2 IPO 图 输入 2种波形信 号的周 期 幅度 和相位 组合波形 处理 在LCD屏 上显示组 合后的波 形信号 输出 图 3 8 组合信号 模块的 IPO 图 7 判断参数判断参数 模块模块 1 功能描述 该模块的主要功能是判断所选择的 2 种单一波形信号的周期 幅度和相位值 是否合法 2 IPO 图 武汉理工大学毕业设计 论文 17 输入 2种波形信 号的周 期 幅度 和相位 判断参数 处理 参数不合 法 出现 提示信息 参数合 法 准备 在LCD屏 上画图 输出 图 3 9 判断参数 模块的 IPO 图 8 显示新信号显示新信号 模块模块 1 功能描述 该模块的主要功能是在 LCD 屏上显示出组合后的新波形信号 2 IPO 图 输入 2种波形信 号的合法 的周期 幅度和相 位值 在LCD屏 上画图 处理 LCD屏上 显示出组 合后的波 形信号 输出 图 3 10 显示新信号 模块的 IPO 图 武汉理工大学毕业设计 论文 18 4 系统详细设计系统详细设计 系统详细设计阶段的主要任务是设计出程序的详细规格说明 在这个阶段将详细地 设计每个模块 确定每个功能模块所需要的算法和数据结构 根据本系统的实际情况 本系统的详细设计主要分为系统人机界面设计 算法说明和系统各个功能模块详细说明 三个部分 4 1 系统人机界面设计 本系统主要由 产生单一波形 模块 产生组合波形 模块和 相关说明 模块三 个功能模块组成 为了使设计出来的界面简单明了 本系统采用选项卡的形式来分别说 明各个模块 选项卡中有三个页面 分别是 产生单一波形 模块的页面 产生组合波 形 模块的页面和 相关说明 模块的页面 具体如下所示 4 1 1 产生单一波形 模块界面及详细说明 产生单一波形 模块的界面如图 4 1 所示 武汉理工大学毕业设计 论文 19 图 4 1 产生单一波形 模块界面 该界面总体上分为 单一波形参数选择 波形种类选择 和 状态信息显示 三 个部分 各部分的详细说明如下 1 单一波形参数选择 部分 这部分要求选择波形的幅度 周期 通道和相位值 波形的幅度值在默认情况下是 1000 毫伏 用户可以根据需要输入 0 到 1643 毫伏之间的 数字 以此来控制波形的幅度 如果输入的幅度值不在 0 到 1643 毫伏之间 则会提示出 错 类似的 波形的周期值在默认情况下是 500 微秒 用户也可以根据自己的需要输入 0 到 8000 微秒之间的数字 由此控制波形的周期 如果输入的周期值不在 0 到 8000 微秒 之间 也会提示出错 而波形的相位值在默认情况下则是 0 度 用户也可以根据需要输 入一个非负的整数值 从而控制波形的相位 同时 由于 DAC 模块有两个通道 A 通道 和 B 通道 用户可以人为地选择使用哪一个通道 通过界面上的通道选择下拉列表来选 择合适的通道 2 波形种类选择 部分 这部分主要是选择要输出的波形的种类 本系统可以输 出方波 正弦波 脉冲波 锯齿波和三角波 5 种波形 用户可以根据需要选择其中的一 种输出 如果想停止目前正在输出的波形 选中 波形停止 单选按钮即可 3 状态信息显示 部分 该部分主要用于显示目前 DAC 模块的状态和系统所输出 的波形的种类 周期 幅度和通道值 并且也可以显示波形停止输出的情况 4 1 2 产生组合波形 模块界面及详细说明 产生组合波形 模块的界面如图 4 2 所示 武汉理工大学毕业设计 论文 20 图 4 2 产生组合波形 模块界面 该界面总体上分为 幅度 周期和相位选择 波形种类选择 状态信息显示 三个部分 各部分的作用与 产生单一波形 模块中对应部分的作用类似 下面详细介 绍与 产生单一波形 模块不同的地方 1 幅度 周期和相位选择 部分 这部分也是要选择波形信号的周期 幅度和相 位值 但是要选择两种波形信号的周期 幅度和相位值 每一种波形信号的幅度值在 0 到 820 毫伏之间 而周期值仍然是介于 0 到 8000 微秒之间 相位值为非负整数即可 由 于组合波形信号不需要被显示在输出端子上 因此 没有通道选择这一项 2 波形种类选择 部分 这部分需要选择任意两种将被组合的波形信号 如果选 择的波形种类没有两种或者超过了两种 则会提示出错 要求重新选择波形的种类 3 状态信息显示 部分 这部分主要用于显示组合状态 例如 开始组合了没有 哪种和哪种波形信号进行组合了等等 4 1 3 相关说明 模块界面及详细说明 相关说明 模块主要介绍了整个系统所能实现的功能 其界面如下所示 武汉理工大学毕业设计 论文 21 图 4 3 相关说明 模块界面 该界面主要分为 波形输出说明 和 幅度和频率的调节以及通道选择说明 两部 分 前一部分介绍了系统能输出的波形种类 后一部分则介绍了各个参数和它们的取值 范围 4 2 算法说明 本系统中的波形信号最终显示在输出端子或 LCD 屏上 因此 从某个角度来说 本 系统主要包括 向输出端子送波形信号 和 在 LCD 屏上画模拟波形 两个部分 由于 在本系统中 周期 幅度和相位的计算并不仅仅与单个模块相关 而是与系统里的很多 模块相关 因此在这里进行详细的说明 1 向输出端子送波形信号 部分主要是利用描点画图的方法 依次描出相应波形的 各个点 然后将各个点的数据依次送入 DAC 模块 再通过输出端子显示相应的波形 如 图 4 4 是一种斜三角波信号的形成原理 由于相邻点之间的时间差是微秒级的 即各个取 样点之间非常密集 因此在输出端子上显示出来的波形的锯齿状并不明显 武汉理工大学毕业设计 论文 22 图 4 4 斜三角波形成原理 在这里 为了便于说明 设周期值为 m cycle 幅度值为 m range 对于方波 如图 4 5 所示 图 4 5 方波波形示意图 由于每个周期内只有高 低两种电平的交替 并且这两种电平持续的时间相等 因此 每个周期 m cycle 时间内要向 DAC 模块输入两次数据 一次高电平数据和一次低电平数 据 间隔 m cycle 2 微秒的时间 在每输入一次数据后的 m cycle 2 微秒时间内 DAC 模块的电压持续为高电平或低电平 幅度方面 由于 DAC 模块的转换精度为 8 位 在软 件上的精度可达到 2 的 8 次方 范围从 0 255 即 DAC 模块理论上能输出的最大电压值 是 255mV 而实际所用的 DAC 模块能输出的最大电压值是 3 3V 鉴于理论上 DAC 模块 能输出的最大电压值与实际上的最大值不同 因此要做一个转换 转换公式如下 理论幅度值 实际幅度值 理论电压值 实际电压值 当实际幅度值 m range 时 理论幅度值 m range 255mV 3300mV 又由于 DAC 模 块的范围是 0 到 255 那么中间值就为 127 假设用中间值代表 X 轴所在的纵坐标位置处 因此对于方波 前半周期输送给 DAC 模块的数字量就是 127 m range 255 3300 而后 半周期输送给 DAC 模块的数字量是 127 m range 255 3300 注意 为了保证 127 m range 255 3300 不为负数 m range 255 3300 的最大值只能达到 127 最后就可以在 输出端子上看到方波了 关于 输出端子上显示方波 模块的幅度和周期的算法可以参 武汉理工大学毕业设计 论文 23 见算法清单 4 2 所示 对于脉冲波 如图 4 6 所示 图 4 6 脉冲波波形示意图 同样由于每个周期内只有高 低两种电平的交替 并且高电平占 1 4 个周期 而低电 平占 3 4 个周期 一种特殊的脉冲波 因此 一个周期 m cycle 时间内 当向 DAC 模块 输送代表高电平的数据以后 需等待 m cycle 4 微秒的时间 再向 DAC 模块输送代表低 电平的数据 并再等待 3 m cycle 4 微秒的时间 脉冲波幅度值的变化与方波的相同 因 此 在前 1 4 周期送入给 DAC 模块的数字量是 127 m range 255 3300 而在后 3 4 周期 输送给 DAC 模块的数字量是 127 m range 255 3300 最后就可以在输出端子上看到脉冲 波了 关于 输出端子上显示脉冲波 模块的幅度和周期的算法可以参见算法清单 4 4 所 示 对于正弦波 如图 4 7 所示 武汉理工大学毕业设计 论文 24 图 4 7 正弦波波形示意图 假设正弦曲线每变化一度描一个点 则一个周期内需描 360 个点 因此 一个周期 m cycle 时间内每次向 DAC 模块输入数据以后需要等待 1 360 m cycle 微秒的时间 而 正弦波的幅度值是不停变化的 和方波一样 需要做一个关于幅度的转换 即 m range 255 3300 再利用变化的 sin 值与 m range 255 3300 相乘 那么送入 DAC 模块 的数字量就会相应地变化了 同样也需要加上 127 即将 127 sin i m range 255 3300 送 入 DAC 模块 这样就可以在输出端子上看到正弦波了 关于 输出端子上显示正弦波 模块的幅度和周期的算法可以参见算法清单 4 6 所示 根据前面的叙述可知 在特定幅度 m range 下 波形的上边界是 127 m range 255 3300 下边界是 127 m range 255 3300 因此 对于三角波 当要画从 左下角到右上角的边时 波形的纵坐标需要慢慢地从 127 m range 255 3300 变换到 127 m range 255 3300 如图 4 8 所示 假设纵坐标每变化 1 就描绘一个点 则共要描绘 2 m range 255 3300 个点 而总周期为 m cycle 那么每一边就占 m cycle 2 个周期 假 设为等腰三角形 因此每次向 DAC 模块输送一个数据以后 需等待 m cycle 2 2 m range 255 3300 即 m cycle 4 m range 255 3300 微秒的时间 同样 当要画从 左上角到右下角的边时 波形的纵坐标需要慢慢地从 127 m range 255 3300 变换到 127 m range 255 3300 并且每次向 DAC 模块输送一个数据以后 需要等待 m cycle 4 m range 255 3300 微秒的时间 关于 输出端子上显示三角波 模块的幅度 和周期的算法可以参见算法清单 4 10 所示 武汉理工大学毕业设计 论文 25 图 4 8 三角波波形示意图 对于锯齿波 如图 4 9 所示 图 4 9 锯齿波波形示意图 该波形的画法与三角波的画法基本相同 不同的是 它只需要画一条从左下角到右上 角的斜边 该斜边的纵坐标也需要慢慢地从 127 m range 255 3300 变换到 127 m range 255 3300 同样假设纵坐标每变化 1 就描绘一个点 则共需描出 2 m range 255 3300 个点 而描这 2 m range 255 3300 个点需要 m cycle 的时间 因此 每次向 DAC 模块输送一个数据以后 需要等待 m cycle 2 m range 255 3300 即 m cycle 2 m range 255 3300 微秒的时间 关于 输出端子上显示锯齿波 模块的幅度 和周期的算法可以参见算法清单 4 8 所示 2 在 LCD 屏上画模拟波形 部分主要是根据各个波形的不同情况 选定在 120 像 素到 300 像素的范围内画波形 将 120 像素 即 crect left 5 由于将背景图放置在 115 165 位置处 并且背景图有个 5 像素长的边框 因此 120 像素即 crect left 5 位 置处 为了简便起见 在后面的图中省略了边框 作为画图的左边界 而将 300 像素作 武汉理工大学毕业设计 论文 26 为画图的右边界 这样相差 180 像素的距离有助于对幅度和周期 相位的计算 在这部 分中 同样设周期值为 m cycle 幅度值为 m range 而相位值则为 m phrase 为了确保输出的波形在 LCD 屏上清晰好看 可以人为规定当波形的周期值为 500 时 在屏幕上可以看到 2000 500 4 个周期的波形 每个周期波形长 180 4 45 像素 那么 当 波形的周期值为 1000 时 每个周期波形长就应该为 90 像素 此时 在屏幕上可以看到 2 个周期的波形 对于周期值为其它值的情况 可以依此类推 最后 根据数学归纳法 可以总结出 m cycle 与单个周期波形的长度的关系 单个周期波形的长度 180 m cycle 2000 而对于相位值 m phrase 由于理论上 x 度和 x 360 n 度 其中 x 为小于 360 的正整数 n 为正整数 的波形是一样的 因此 m phrase 需要做 模 运算 即 m phrase 360 这 样得到的相位值将在 0 到 360 之间 再将该值除以 360 就是该相位所占用的周期数 自 然地 我们可以想到 m phrase 360 360 180 m cycle 2000 是一个周期内相位差为 m phrase 360 的两点间波形在 LCD 屏上的所占有的水平长度 再将各个波形中点的横坐 标减去 m phrase 360 180 m cycle 360 2000 得到新的波形 改变 m phrase 的值就可 以改变波形的相位 因此就可以根据变量 m phrase 控制波形的相位了 对于方波 由于半个周期波形的长度是 90 m cycle 2000 因此 横坐标的值一直是 以 90 m cycle 2000 为单位进行变换 当 m cycle 变换时 波形在屏幕上显示的个数也会 变换 而方波的纵坐标只有两个值 分别是 crect top 60 m range 60 255 127 3300 和 crect top 60 m range 60 255 127 3300 如图 4 10 所示 其中 crect top 是画图区域的上 边界 crect top 60 是画图区域的中间线 整个画图区域长 180 高 120 由前面的描述可 以知道 m range 255 3300 的最大值可以达到 127 而在 LCD 屏上能显示的波形的最大 幅度值为 60 为了使波形能完全显示在屏上 m range 255 3300 需要乘以 60 127 即得 到 m range 60 255 127 3300 至于什么时候是加上 m range 60 255 127 3300 什么 时候是减去 m range 60 255 127 3300 这就需要看详细的算法说明 当 m range 变换 时 方波的纵坐标也会变化 这样就可以控制波形幅度的变化 关于 LCD 屏上显示方 波 模块的幅度和周期的算法可以参见算法清单 4 3 所示 武汉理工大学毕业设计 论文 27 4 10 画图区域示意图 对于脉冲波 它的周期与幅度的计算方法与方波的类似 只是 1 4 周期长的波形的纵 坐标是 crect top 60 m range 60 255 127 3300 3 4 周期长的波形的纵坐标是 crect top 60 m range 60 255 127 3300 因此 其算法与方波的略有不同 关于 LCD 屏上显示脉冲波 模块的幅度和周期的算法可以参见算法清单 4 5 所示 对于正弦波 由于单个周期波形长度为 180 m cycle 2000 假设横坐标每变化 1 就描 绘一个点 则共要描绘 180 m cycle 2000 个点 而正弦波一个周期需要达到 2PI 因此相 邻两个点之间的角度变化 2 PI 180 m cycle 2000 即 4000 PI 180 m cycle 设当前点 与第一个点间的角度差为 m1 初始值为 0 则当横坐标变化 1 时 将有 m1 m1 4000 PI 180 m cycle 由前所述可得 当前点到 X 轴的垂直距离将为 sin m1 m range 60 255 127 3300 那么可得当前点的纵坐标为 crect top 60 m range 60 255 sin m1 127 3300 关于 LCD 屏上显示正弦波 模块的幅度和周期的算法可以参见算 法清单 4 7 所示 对于三角波 如图 4 11 所示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖南邵阳城步县事业单位选调28人模拟试卷及答案详解(夺冠系列)
- 拓店佣金合同模板7篇
- 2025湖南邵阳学院招聘22人模拟试卷及一套答案详解
- 2025北京建筑大学附属中学第二批招聘教师3人模拟试卷及答案详解(典优)
- 2025年中共南平市委党校紧缺急需专业教师招聘模拟试卷含答案详解
- 2025年4月浙江嘉兴市海宁市中心医院(浙江省人民医院海宁医院)招聘高层次急需卫技人员4人模拟试卷及答案详解(新)
- 2025广东东莞市寮步镇人民政府招聘网格管理员10人模拟试卷完整参考答案详解
- 2025福建农信春季招聘考试服务热线模拟试卷及答案详解(考点梳理)
- 班组安全教育培训课题课件
- 2025年甘肃省卫生健康委系统招聘工作人员网上缴费考前自测高频考点模拟试题及答案详解参考
- 规模灵活资源广域接入的新型配电系统分层分群架构与规划技术研究
- WiFi6基础知识培训
- 2025年恒丰银行烟台分行招聘笔试参考题库含答案解析
- 中外建筑史课件
- 2024年度商业保理合同:保理公司与出口商之间的商业保理协议3篇
- 宣传网络安全文明上网
- 泡沫混凝土路基填筑施工方案
- 青岛 二年级 数学 上册 第4单元《8的乘法口诀》教学课件
- 大学化学第04章-能源化学基础课件
- 广东省东莞市五校2024-2025学年高一上学期第一次联考数学试题(无答案)
- PVC-地面中水泥基自流平找平层的施工作业指导书
评论
0/150
提交评论