




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
应用应用 CPLD 解决信号跳变时的抖动问题解决信号跳变时的抖动问题 alZou XXXXXXXXXX 公司 摘要 数字信号在跳变时有时会出现抖动 本文介绍应用 XX 公司自主研发的 XXXXXXX 系列芯片开发电子产品时如何解决数字信号在跳变时出现抖动的问题 关键词 CPLD 抖动 1 问题的提出 2004 年下半年 公司先后给我下了两个开发任务 1 为配合公司市场部推销公司自主研发的 XXXXXXX 系列 CPLD 芯片 公司要求搞一个 CPLD 演示产品 2 针对公司自主研发的 EPROM 芯片 具体型号我忘了 请审稿的同志帮忙填上 另外 如果发现有需要修改的的地方 审稿的同志有自主修改权 修改后可以不用我再看了 公 司要求搞一个 EPROM 烧录器 我是个多一事不如少一事的人 就决定将两个项目合成一个搞了 市场上好一点的 EPROM 烧录器一般都是用单片机实现的 我决定用 XXXXXXX 代替单片机 开发一款 EPROM 烧录器 当然同时也可达到演示 CPLD 芯片应用的目的 EPROM 烧录器的原理框图如下 CPLD 与 PC 机之间通过并口连接 完成通信功能 由于 PC 机并口的资源有限 只有一个八位的数据端口 而 EPROM 芯片仅地址线一般就 有十几条 因此 需要进行端口扩展 将一个八位的数据端口扩展为两个地址端口 高八 位地址和低八位地址 和一个数据端口 数据端口和地址端口扩展的实现基本上是一样的 为了简化问题 本文只讨论一个 PC 机的八位数据端口扩展成两个地址端口的问题 我的基本思路是 为了节省并口资源 PC 机与 XXXXXXX 之间的地址下传用八条数据线 和一条控制线完成 PC 端 高八位地址和低八位地址分两次送出 每次地址上线时 通过控制线的下降沿 通知 CPLD PC 端的程序流程图如下 CPLD 端 在 CPLD 内部设置一个计数器 用于计下控制线下降沿到来的次数 如果是 第一次 就将数据线锁存到高八位地址 如果是第二次 就将数据线锁存到低八位地址 CPLD 端的程序流程图如下 CPLD 端的 VHDL 代码如下 library IEEE use IEEE std logic 1164 all use IEEE std logic unsigned all entity EPROM is port pc data in STD LOGIC VECTOR 7 downto 0 pc control in STD LOGIC reset in STD LOGIC eprom high address out STD LOGIC VECTOR 7 downto 0 eprom low address out STD LOGIC VECTOR 7 downto 0 end EPROM architecture EPROM of EPROM is SIGNAL count STD LOGIC VECTOR 1 downto 0 begin PROCESS reset pc control BEGIN IF reset 0 THEN count 00 ELSIF pc control EVENT AND pc control 0 THEN IF count 00 THEN eprom high address pc data count count 1 ELSIF count 01 THEN eprom low address pc data count 00 END IF END IF END PROCESS end EPROM 如此简单的问题加上如此简单的解决方案 我没想到在进行硬件调试时会出现问题 可是在进行硬件调试时 却怎么也达不到我的理想状态 比如 PC 机输出的两次地址是 0 x01 和 0 x02 CPLD 输出的地址要么是 0 x0202 总是重复两次低位地址 要么就是乱数 由 于公司没有带存储功能的示波器 我对数据传输过程中的具体情况无法了解 在此情况下 要解决问题 我所能做的唯一的事情就是 我猜 我猜 我猜猜猜 了 好在作为人类的 一员 我还没有失去联想 我猜想在控制信号跳变时 出现了抖动 具体波形如下 哥德巴赫因为猜想而名垂青史 可是作为公司的一名技术人员 项目研发如果只停留 在猜想阶段 可能月底领工资时就会打折扣了 事实上 那两个月我的工资也确实打了折 扣 XX 公司的办事作风向来是 有条件要上 没有条件创造条件也要上 作为公司的一员 我也不可能指望公司购买了高档示波器后再来验证我的猜想 一万年太久 只争朝夕 啊 没办法 只有响应毛主席的号召 自己动手 丰衣足食了 为了验证我的想法 我编写下了如下的 VHDL 代码 library IEEE use IEEE std logic 1164 all use IEEE std logic unsigned all entity EPROM is port pc control in STD LOGIC reset in STD LOGIC data out out STD LOGIC VECTOR 7 downto 0 end EPROM architecture EPROM of EPROM is SIGNAL count STD LOGIC VECTOR 7 downto 0 begin data out count PROCESS reset pc control BEGIN IF reset 0 THEN count 00000000 ELSIF pc control EVENT AND pc control 0 THEN count count 1 END IF END PROCESS end EPROM 这段代码的作用是记录控制线下降沿发生的次数 并把记录结果通过端口 data out 输 出 为了使输出可视化 我又在端口 data out 上焊了一排发光二级管 调试时看着不断 闪动的二级管 总让我想起一首老歌 红星照我去战斗 实验结果证实了我的猜想 PC 端发一条信号跳变指令 CPLD 端的计数值在 0 x05 到 0 x0C 之间随机变化 2 问题的解决 找到了问题的根源 解决问题就简单了 我在 CPLD 的外围电路中增加的一个 6M 的有 源晶振 用于去除信号跳变时的抖动 机加工工人把类似的加工工序叫作 打毛刺 由 于 PC 机的并口输出指令的执行时间大约为 1us 根据经验 有源晶振的频率选择范围在 5M 至 20M 之间都行 电路修改后最终的 VHDL 代码如下 library IEEE use IEEE std logic 1164 all use IEEE std logic unsigned all entity EPROM is port clk in STD LOGIC pc data in STD LOGIC VECTOR 7 downto 0 pc control in STD LOGIC reset in STD LOGIC eprom high address out STD LOGIC VECTOR 7 downto 0 eprom low address out STD LOGIC VECTOR 7 downto 0 end EPROM architecture EPROM of EPROM is SIGNAL intel clk STD LOGIC SIGNAL count STD LOGIC VECTOR 1 downto 0 begin p1 process clk begin IF clk EVENT AND clk 0 THEN intel clk pc control END IF end process p2 PROCESS reset intel clk BEGIN IF reset 0 THEN count 00 ELSIF intel clk EVENT AND intel clk 0 THEN IF count 00 THEN eprom high address pc data count count 1 ELSIF count 01 THEN eprom low address pc data count 00 END IF END IF END PROCESS end EPROM 在行家眼里 整个 EPROM 烧录器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火星建筑灵感配色方案设计
- 企业会计招考试题及答案
- 4.1.4 原子结构与元素性质(讲义)-2024-2025学年高一化学同步教学教学设计+讲义(人教版2019必修第一册)
- 12.2 逆向思维的含义与作用 教学设计-2024-2025学年高中政治统编版选择性必修三逻辑与思维
- 2021年中考数学试卷全真模拟题
- 会计学基础考试题及答案
- 砖瓦成型工突发故障应对考核试卷及答案
- 劳动法总论考试题及答案
- 出租房屋防灾减灾应急预案
- 公司法考试题及答案案例
- 培育和践行社会主义核心价值观的课件
- 交通标志牌工程施工组织设计(标准版)
- 展筋丹-中医伤科学讲义-方剂加减变化汇总
- 咪达唑仑说明书
- 第二章药物转运及转运体
- 全区建设工程质量检测人员岗位考试考核实施细则
- 【课件】《红烛》课件24张统编版高中语文必修上册
- 交通事故认定书复核申请书模板
- 装备外观代码
- “一机一档”范本(共12页)
- 长输管道施工工序
评论
0/150
提交评论