logo资料库

基于CPLD的数字电压表的设计.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
科技广场 2008.10 基于 CPLD 的数字电压表的设计 Design of Digital Voltmeter Based on CPLD 孙艳菱 Sun Yanling 长江师范学院物理电子系 重庆 涪陵 , 408100) ( (Department of Physics and Electronic Information Engineering, Yangtze Normal University, Chongqing Fuling 408100) 摘 要:本文以可编程逻辑器件 为核心,采用 (CPLD) ADC0809 对硬件的测试表明:设计的数字电压表能测量 作为 A/D 转换器,使用 电压,测量精确度为 硬件描述语言设计了一种新 ,所设计的数字电压表有较高 VHDL 0.02V 0~5V 。 型的数字电压表 的灵活性和可扩展性 关键词:CPLD 中图分类号: TP331 。 ;数字电压表 ; VHDL 文献标识码: B 文章编号: 1671-4792-(2008)10-0226-03 Abstract: A new kind of DVM is designed in this paper, The DVM takes CPLD as control unit,ADC0809 is selected for the A/D converter, followed the hardware description language VHDL.Though test of the hardware:The digital voltmeter can measure voltage with a range from the 0 to 5V and a resolving power 0.02V, It features DVM with high flexibility and better expansibility. Keywords: CPLD; Digital Voltmeter; VHDL 0 引言 描显示 最终由 ), LED 数码管显示结果 。 传 统 的 数 字 电 压 表 采 用 模 / 数 转 换 器 件 和 通 用 集 成 逻 辑 器 件来 设 计 , 这样 的 设 计不 便 于 系统 的 修 改 和 升 级 缺 少 , 灵活性 接线复杂 体积大 , 。 核心 的 数 字电 压 表 的设 计 所 用器 件 少 , , 故障率高 另外 以单片机为控制 , 使用 灵 活 , , 是 目 前 使 用最为广泛的一种设计方式 [1]。 也出 现 了 一些 问 题 如工 作 速 度较 低 但是在设计和调试的过程中 , 功 能 修 改 及 调 试 都 需 , , 要硬件电路的支持等 在一定程度上增加了功能修改及系统 , 图一 系统原理框图 调试的困难 。 用可编程逻辑器件 (CPLD) 设计的数字电压表 模 / 数转换电路用于接受外 部 直流 电 压 并且 进 行 模拟 , 除了能完成数字逻辑的基本功能之外 优势 。 用硬件描述语言决定系统功能 , , 更具有系统级设计的 量向数字量的转换 , 将数字电压值送到控制电路以待运算和 可以在硬件不变的情 处理 ; 控制电路由能够 完成 逻 辑 功能 兼 具 存储 功 能 的 况 下根 据 需 要修 改 程 序 以 更 新 和扩 展 功 能 其 灵 活 性 和 适 , , 应性显著提高[2]。 1 系统设计 芯片担任 果及编码 收 CPLD ,CPLD 驱动显示 、 转换后的 ; 包括控制 转换动作 接收 A/D A/D 显示部分采用七段译码显示器 、 CPLD 转换结 用来接 , BCD 数据并显示 。 整个系统可分为三大 基于 CPLD 的 数 字电 压 表 由 三 大 部 分 组 成 [3], 如 图 一 所 模块 :A/D 控制模块 、BCD 码转换模块以及扫描显示模块 。 直流 电 压 输入 A/D 转 换 器后 转 换 为数 字 量 送入 经 过 , CPLD 的 逻 辑 控 制 (A/D 控 制 、BCD CPLD 码 转 换 和 扫 2 模块设计与防真 2.1 A/D 控制模块设计 示 。 芯 片 226
根据设计要求 模 / , 数转换 部 分 选用 ADC0809 作 为 转 至此 Q, ADC0809 的一次转换结束 。 换器 ,ADC0809 内部逻辑结构方框图如图二所示 。 故 码转换模块设计 ADC0809 要 将 能 提 供 精 确 到 两 位 小 数 点 的 数 字 电 压 , 位 数 字 量 输 入 电 压 转 换 成 输 出 电 压 表 示 成 2.2 BCD 由于 CPLD 位的 8 码形式 送到 BCD 12 码转换模块的 功 能 就是 将 , 位 3 A/D 数码管进行显示 LED 转 换后 的 。 BCD 位 数字 量 转 换为 8 位的 BCD 码 。 12 模拟电压值必须用 BCD 码表示才能便于用 数码管 LED 显示 。 如果 CPLD 从 即 ( 89H), 高四位 ADC0809 是 HB=1000B 接收到的 数据 是 2.56V, 写成 BCD 10001001B 码是 0010、 基 于 C P L D 的 数 字 电 压 表 的 设 计 0101、0110; 低四位 LB=1001 是 0.18V, 求得对应的 写成 BCD 码 是 BCD 码的运算如下 0000、 : 0001、1000。 其和是 2.74V, 并 使 ALE=1, 将 路模拟输入之 8 图二 内部结构图 ADC0809 首 先 输 入 位 地 址 3 , 此地址经译码选通 它 的 工 作 原 理 是 : 地址存入地址锁存器中 。 一到比较器进行模数转换 转换时间约为 , 100μs。 START 上 升沿将逐次逼 近 寄 存器 复 位 下降 沿 启 动 。 输出信号变低 指示转换正在进行 EOC 成 ,EOC , 变 为 高 电 平 指 示 , A/D 。 转 换 结 束 , A/D 直到 转 换 A/D 之 后 , 转换完 结 构 数 据 已 存 入 锁存器 当 。 OE 输入高电平时 , 输出三态门打开 转换结果的 , 数字量输出到数据总线上 这些端口必须与 。 CPLD 相应端口 从上式可见 在每位 , BCD 码的 才能得到正确的 码 BCD 和 ” 超过 时 , 9 必须进行 如上式的低四位是十进 “ 。 相加 , 8 结 果 应 为 4 并 且 向 高 四 位 产 生 一 个 进 结果调整 制数 的 6 , 和 位 , 即得到结果为 14。 但上 式 的 运算 1110, 如果在这个结果上再加入 0110 这样需在运算中判断是否有进位产生 不 加 进位 ( 进行调整 , 以确定 , 结 果 是 ) 结果就是 和 “ ” 的结 。 BCD 码模块的设计主要包括一个 12 码转换模块进行 连接 控制模 数转换过程中的不同状态 。 / , 根据 ADC0809 , 器进行数据采样控制电路的实现 的 工 作原 理 可 利用 状 态 机对 转 换 A/D 在 Quartus II 中进行文本 。 14。 果是否需要进行调整 编辑输入 编译 , 、 综合编译正确后进行功能仿真和时序仿真 , 位的加法器和与之对应的存储器 对 。 BCD 得到对 A/D 转换控制的仿真波形如图三所示 。 功能仿真 得到 , BCD 码转换的仿真波形如图四所示 。 图四 BCD 码转换模块功能仿真波形图 图三 A/D 控制模块功能仿真波形 D=11H, 则输出 Dout=0.34V。 图四 中 由 数 据 总 线 输 入 的 转 换 后 的 8 码 转 换 后 输 出 的 模 拟 电 压 的 数 值 , 位 数 据 Dout。 经 过 D, 如 输 入 BCD 图 三 中 ,CLK、EOC、D 是状态机的工作时钟 为 输 入 信 号 , 其 余 为 输 出 信 号 是转换启动信号 , 。 高电平 当模拟量送至 并由锁存信号 。 , IN1 ALE 通道选择地址 ADDA 是转换状态信号 为高 当启 , 锁存 。 EOC ;START 通道时 , CLK 有效 电平 扫描显示模块设计 2.3 选择 扫 描 显示 的 方 法 , 可以设计一段分频程序 , 管 。 避 免 驱 动 电 流 过 大 而 损 坏 数 码 降低 CPLD 主时钟的频率 只要 , 频率超过人眼的视觉暂留频率 以上就能够达到单个点 24Hz 动转换约 100μs 后 ,EOC 产生一个负脉冲 以示转换结束 亮 、 同时显示的效果 。 扫描程序采用逐次点亮的方式 使用 , 为 高电 平 ; 则 控制 , OE 个控 制 位 , 每次 只 有 一个 位 是 高电 平 , 3 将 相 应 的 七 段 数 码 管 , 在 EOC 的上升沿后 若输出使能信号 , 把 转 换 好的 打 开 三态 缓 冲 器 , 位 数 据 结 果 输 至 数 据 总 线 8 点亮 。 227
科技广场 2008.10 3 功能测试 完成三个主要功能模块的设计后 编写 , 来实现对底层模块的调用 , 同时建立反馈路径[4]。 中完成整个系统的仿真验证后 , 信号锁定在芯片确定的引脚上 , VHDL 在 Quartus II 通过引脚的设置将输入输出 编译后将程序下载到 芯片中 完成硬件测试[5], , 其完整的系统电路如图五所示 设计了数字电压表 。 比目前普遍采用的单片机控制的数字电 顶层文件 压 表 来 说 , 它 的 灵 活 性 更 强 , 具 备 系 统 可 编 程 能 力 便 于 扩 , 展 , 而且使用一块核心芯片就可以完成多项功能 另外 使用 , 。 VHDL 进行编程 易学易用 便于调试 , 。 , FPGA 。 参考文献 刘金贵 [1] .C2051 单片机在智能数字电压表中的应用 [J]. 仪表技术 ,2000,(5):22-23. 李 秀 梅 等 以 . CPLD 半导体技术 [2] [3] 电压表设计 [J]. 刘玉良 ,2003,(5):54-56. 刘国平 王世来 , .CPLD 在数字电压表设计中的 , 为 控 制 核 心 的 位 高 精 度 数 字 16 图五 数字电压表系统电路图 江思敏 [4] .VHDL 数字电路及系统设计 [M]. 北京 : 机 械 工 应用 [J]. 自动化与仪器仪表 ,2005,(6):68-69. 使用适配板 GWAC 对 系 统 进行 硬 件 测试 时 将 编译 产 , 生的 SOF 格式配置文件配置进 FPGA 中 , 成功下载 后 , 开始 对 硬 件的 测 试 在 : 0~5V 范 围 内 , dwatch. 改 变 输 入电 压 数码管显示值与万用表检测结果只相差在小数点后第二 sof 值 , 业出版社 ,2006. 郑亚民 董晓舟 [5] 北京 , . 国防工业出版社 可编程逻辑器件开发软件 Quartus ,2006. [M]. : 位 , 即相对精度为 2%。 当量程超出 5.00V 时 , 显示 “1.”。 作者简介 4 结束语 孙艳菱 (1980—), 女 , 硕士 , 主要研究方向 : 半导体 器件 及 本文运用一般的数字电压表设计原理 采用 , CPLD 器件 电子电路设计 。 228
分享到:
收藏