基于VHDL语言的简易逻辑分析仪设计

1 前 言

高校电气类及相关专业教学中,实践环节越来越被重视。在数字电路的实验及数字系统的设计中,示波器已远远不能满足教学要求。例如在一些数字电路的研究和实验中,往往需要同时查看多路数字信号的时序关系,甚至有时因为信号不会重复出现,因此只用示波器往往无法完整了解信号的相对关系,在这种场合有台逻辑分析仪就显得相当必要。然而自1973年世界上第一台逻辑分析仪至今,逻辑分析仪的普及率仍然很低,30%以上的数字设计师没有使用逻辑分析仪,80%的高校实验室没有普及逻辑分析仪。最重要的原因在于其高昂的价格。逻辑分析仪昂贵的价格和越来越广泛的应用前景之间的矛盾使逻辑分析仪高精度智能化方向以展,同时也催生了很多降低成本和拓展功能的方案。

逻辑分析仪的主要功能就是分析测量数字系统的逻辑波形和逻辑关系。它利用时钟脉冲采样,在达到预设的触发条件时,将触发前后的状态进贮存、显示和处理,展示数据流的内容,从而发现和解决故障。

本课程设计设想采用专用集成电路(ASIC[1],Application Specific Integrated Circuit)实现简易逻辑分析仪的功能。

在本次计中,系统开发平台为MAX+plusⅡ[2] 。MAX+plusⅡ是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。

在本次设计中,采用的硬件描述语言是VHDL[3](Very-High-Speed Integrated Circuit Hardware Description Language)。VHDL语言是一种用于电路设计的高级语言。 VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。

2 设计方案

总体设计方案

时钟信号CLK

图2.1 简易逻辑分析仪总系统实现框

触发条件

图2.2 总系统控制工作流程图

从整个系统的框图和功能要求可以看出,由VHDL语言组成的专用集成电路(ASIC[1],Application Specific Integrated Circuit)主要完成输入信号判断、比较、存储、采集和处理。

该系统组成主要主要对数据进行采集、存储、处理和输出、输入控制,其中START是对判断、比较电路使能,启动触发器全整运行,EOC是整个触电路最终产生的通知信

号,反馈到控制器,把所需的信号输入到电路中,进行处理、存储和输出显示。

3 系统实现与理论分析

3.1 总体模块

图3.1 模块总图

总体模块如图3.1所示。D是信号输入端,DATA是触发信号输入端,DATAOUT是

信号输出端,可接显示器件显示8路采集信号。图3.1由三个模块组成,分别是触发电路模块、数据采集和处理模块、存储器模块。当信号满足触发条件时,8路信号输入数据采集和处理模块,最后将采集处理后的信号储存在存储器中。

3.2 触发电路

(1)触发电路软件流程图和组成框图

触发字输入

送入控制信号

图3.2 实现的软件设计流程图

PEQ

图3.3 触发电路的逻辑框图

由于移位寄存器一次只能处理一路信号,四路信号需要4个移位寄存器,这就需要一个转换电路将四路由移位寄存器模块输出的信号进行处理,转换成可以和2个触发字同时进行比较。

该模块的作用:检测输入序列是否与触发字相同。四级的并行触发是在设置了2个按预定次序排列的触发字后,只有当四路信号同时满足所设的触发条件时,才产生触发信号。如图3.3可知首先由上位机向16b锁存器锁存由单片机预置触发字,分两次锁存2个

8b触发字。然后检测待测四路信号,待测四路信号分别通过一个4b数据移位寄存器同时与2个触发字进行比较,当两者完全相同时产生一个触发信号四路信号必须分别为1111,1111,1111,1010时电路才产生触发信号,整个过由EN作为最终的使能,由控制器控制,PEQ是启动控制器控制整个采集、处理等过程。

(2)四位移位寄存器的模块及其仿真图

图3.4 四位移位寄存器的模块

图3.5 四位移位寄存器的仿真波形图

仿真波形如图3.5所示。CLR是清零信号,低电平有效。当CLR是高电平时,每次

时钟信号CLK的上升沿DATA_IN[3..0]的值赋给A,输出信号DATA_OUT一个时钟周期变化一个,输出A二进制值的最低位。如3的二进制最低位是1,2的二进制最低位是0。

(3)转换接口电路模块及其仿真图

图3.6 转换接口电路模块

图3.7 转换接口的仿真波形图

仿真波形如图3.7所示。输入信号DIN_[4..1]是四位输入,CQOUT是16位输出。

如输入4、B、4、B,倒序是2、D、2、D,将四次输入的数据连接起来就是2D2D。可知转换器完成了将4位输入转换成16位输出的功能。

EN是使能信号,EN是低电平时,START始终是S0状态。当EN变高电平时,同时在每个时钟CLK上升沿STATE从S0、S1、S2到S3状态变化,每次DIN_[4..1]都变化一次,从S0到S3,输入了四组数据。S0时,DIN_[4..1]倒序赋给THR_0; S1时,DIN_[4..1]倒序赋给THR_1; S2时,DIN_[4..1]倒序赋给THR_2; S3时,DIN_[4..1]倒序赋给THR_3。最后在STATE是S0时,将THR_0、THR_1、THR_2、THR_3连接起来赋给CQOUT。

(4)锁存器的电路模块及其仿真图

图3.8 锁存器的电路模块

图3.9 锁存器的仿真波形图

仿真波形如图3.9所示。CLR是异步清零信号,高电平有效。当CLR低电平时,每

次时钟信号上升沿锁存输入数据到R16S中,再赋给输出信号Q;当CLR高电平时,清零输出信号Q。

(5)比较器的电路模块及其仿真图

图3.10 比较器的电路模块

图3.11 比较器的仿真波形图

仿真波形如图3.11所示。GBAR是使能信号,低电平有效。当GBAR低电平时,只有输入信号Q、P相同时,PEQ输出低电平,否则输出高电平。

即在触发模块中,只有输入信号和触发信号完全相同时才输出触发使能信号。

3.3数据采集和处理

(1)数据采集和处理的软件流程图和组成框图

图3.12 数据采集控制系统的组成框图

上图中工作速率由时钟信号CLK的速率决定。

S1

(启动信号)

S2

EOC为触发电路反馈到控制电路信号

S3

OE=1(三态门使能)EN=1(寄存器使能)

S4

图3.13 系统控制器工作流程图

从系统示意图和功能要求可能性看出,该系统属于数据处理类型,其控制和数据处理器均可构造于一片单元型CPLD或FPGA系列芯片中,输入信号和RAM均在控制器

下控制运行。因此有如图3.13所示控制器工作流程图。

根据上述功能和控制器工作流程图,配置相应的控制器和数据处理器CODP的硬件结构图如3.14所示。CODP由存储器REGN,数据处理电路CALC和状态控制器CONTROL三个部分组成。图3.14给出了它们各自输入、输出和互联关系,以及整个CODP与外部的联系。

图3.14是CODP的最高层次的逻辑框图。图中,存储器REGN实现8路采集数据的绶冲,由控制器送出的EN作为存储器使能信号。数据处理电路CALC实现采样值和标准值(假设任意选择标准值为(18)10)的相减运算,并完成极性位的判断别(0为正极性,1为负极性)。状态控制器CONTROL是系统正确有交工作的指挥枢纽,它发出对输入信号、DAC、REGN和CALC的控制信号,并接收它们的反馈应答信号,做出判断和决策。

Q

图3.14 CODP的逻辑框图

(2)存储器REGN的电路模块及其仿真图

图3.15 存储器REGN的电路模块

图3.16 存储器REGN的仿真波形图

仿真波形如图3.16所示。EN是使能信号,低电平有效。当EN低电平时,无输出

信号;当EN高电平时,每次时钟信号上升沿输入信号DATA[7..0]的数据赋给输出信号Q。

(3)系统控制器CONTROL的电路模块及其仿真图

图3.17 系统控制器CONTROL的电路模块

图3.18 系统控制器CONTROL的仿真波形图

仿真波形如图3.18所示。输入信号EOC是控制信号,和触发模块的触发使能信号

PEQ连接。输出信号START是触发模块的启动信号,OE是输入信号的控制信号,NWR是随机存储器RAM的控制信号,EN1是存储器REGN的使能信号。

状态信号STATE起初是S0,变为S1时,START变高电平,否则为低电平。时钟

上升沿START变为S2时,判断EOC的值,如果EOC是高电平START则转为S3,否则维持S2状态。如果START是S3,则在每次时钟上升沿变化一次状态,直到S6时,又变回状态S0。状态S3时,OE为高电平,否则为低电平。状态S4时,EN1为高电平,否则为高电平。状态S6时,NWR为低电平,否则为高电平。

(4)数据处理器CALC的电路模块及其仿真图

控制器的功能即在不同时段产生不同的控制信号来控制其他模块,以实现整体功能。

图3.19 数据处理器CALC的电路模块

图3.20 数据处理器CALC的仿真波形图

仿真波形如图3.20所示。数据处理模块是将输入信号和一个设定的标准值18(十进

制)相减,大于标准值时产生一个极性位1,小于标准值时产生极性位0。

如输入信号为0(二进制补码位为256)时,输出信号为274(即为-18的二进制的

补码);输入100时,输出82。

(5)数据采集和处理CODP的顶层模块及其仿真图

图3.21 数据采集和处理CODP的顶层模块

图3.22 数据采集和处理CODP的仿真波形图

仿真波形如图3.22所示。CODP是顶层模块,输出信号OE高电平是控制模块

COUNTROL中S4状态,下一个即为状态S5,此时内部信号EN为高电平,在时钟信号上升沿输出信号DOUT变化为270(-14的二进制补码),即4-18=-14。

将输出信号DOUT展开,第一位是极性位,其他八位即8路信号的输出信号。

3.4、存储器RAM

该模块的作用:当使能信号有及时,对脉冲信号进行采样存储,存入RAM中,存储20bit每一路,然后结束存储,接着读出RAM中存储的数据。根据题目中对存储深度的要求,每次触发存储4页的数据,触发位置前后各存储2页数据,这样可满足基本和扩展要求。20bit⨯8⨯4=80byte。

FLEX 10K中的嵌入式阵列由一系列具有实现逻辑功能和存贮功能的FAB组成。EAB是在输入、输出口上带有寄存器的RAM块,利用它可以非常方便地实现一些规模不太大的ROM、RAM、双端口RAM和FIFO等功能。

数据存储读写的模块和仿真波形图

图3.23 数据存储读写的模块

图3.24 数据存储读写的仿真波形图

仿真波形如图3.24所示。输入信号oe是功能选择信号,高电平时是写数据,低电

平时是读数据。输入信号cs是片选信号。

ram1可看作是储存器,原先有数据在里面。前5单元里都是0,第6个单元开始是数据02、00、07、00、04、00等。所以当oe是低电平时,在每次时钟信号上升沿输出信号data_o是地址8、A和C中的数据07、04、00。

4 结束语

经过三周的努力,本次课程设计已经接近尾声。在这期间,我学到了很多不懂的知识,受益匪浅。虽然这次设计不是个人完全独立完成的,但是它让我认识到了实践给我们带来了无穷的理解,让我的想象和创造能力到了激发。

在第一个星期里,我自学了VHDL硬件描述语言。在这期间还学习了关于EDA技术的一些知识和MAX-plusII的使用方法,还有在网上搜索了一些关于自己设计课题的资料,了解了一下逻辑分析仪的基本原理,并对设计方案有了初步的想法。第二个星期里,我主要就自己的设计课题设计详细的实现方案,并用VHDL语言编程在MAX-plusII软件上编译仿真,观察分析仿真波形图是否符合要求。并不断改进设计方案,使其达到理想的效果。经过大概两周的时间,基本完成了设计部分。在第三星期主要是就前几周的设计写课程设计报告。用VISIO软件将设计时的原理草图转换成标准的原理图,按照标准课程设计模版写自己的报告。

在这三周时间里,得到了老师和同学的帮助,基本圆满完成了课程设计。通过本次课程设计,让我对EDA技术有了一定的认识, VHDL语言设计的出现从根本上改变了以往数字电路的设计模式,使电路设计由硬件设计转变为软件设计,这样提高了设计的灵活性,降低了电路的复杂程度,同时也降低了设计的成本。


相关文章

  • 课程设计Ⅱ摘要正文
  • 汽车尾灯控制器的设计与实现 (陕西理工学院电信工程系通信083班,陕西 汉中 723003) 指导教师:侯宝生 [摘 要] 本课题主要是基于可编程逻辑器件,使用硬件描述语言VHDL.系统设计采用自顶向下的设计方法,顶层设计采用原理图设计方式,它由汽车尾灯主控模块,左边灯控制模块和右边灯控制模块三部分 ...

  • 出租车计费系统设计
  • 西 论 文 南大学网络教育学院 毕 业 论 文 题 目: 出租车计费系统设计 学 生 学 号 类 型 网络教育 专 业 电气工程及自动化 层 次 专升本 指导教师 日 期 西南大学网络教育学院 毕业论文(设计)评定表 出租车计费系统的设计 摘 要 随着我国市场经济的发展,交通也越来越便利,特别是计程 ...

  • 多路彩灯控制器
  • 目录 前 言---------------------------------------------------------------5 第1章 方案论证-------------------------------------------------------6 1.1 方案一------- ...

  • 出租车计费系统的设计
  • 设计目的 随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定,计费准确,有防作弊功能:同时还要求其具有车票资料打印.IC卡付费和电脑串行通信功能.不同国家和地址的计费方式存在差异,如有些地区有夜间收费及郊区收费等,而有些地区则无夜间收费和郊区收费.本次设计采用硬件和软件 ...

  • 基于VHDL语言的简易洗衣机控制器
  • 电子课程设计 --简易洗衣机控制器设计 学院: 班级: 姓名: 学号: 指导老师: 2013年12月 目 录 第一部分:设计任务与要求„„„„„„„„„„„„„„„1 第二部分:总体框图„„„„„„„„„„„„„„„„„„1 第三部分:选择器件„„„„„„„„„„„„„„„„„„2 第四部分:功能模 ...

  • 基于VHDL的三层电梯控制器的标准设计
  • 广西工学院 毕业设计(论文)任务书 课题名称 电梯控制器的VHDL实现 院 系 电气学院 专 业 电子信息科学与技术 班 级 电科113班 学 号 [1**********]3 [1**********]5 姓 名 莫中桥 李柳 指导教师 韦艳霞 教研室主任 梁程华 系 主 任 罗文广 2014年 ...

  • HDL的历史.现状与发展
  • HDL 发展的历史.现状和发展 成员 : 岳俊峰 3113032010 于洋 3113030021 一.HDL 简介 HDL(Hardware Description Language),是一种硬件描述语言.它是用来描述电子电路(特别是数字电路)功能.行为的语言,可以在寄存器传输级.行为级.逻辑门级 ...

  • 数控分频器
  • EDA 课程大作业 课程名称:EDA 技术实用教程-VHDL 版 成 绩: 设计题目: 数控分频器 院 系: 电子信息与电气工程学院 姓名学号: 专业班级: 指导教师 2013年5月 摘 要:随着EDA 技术的高速发展, 以大规模和超大规模器件FPGA/CPLD 为载体.以VHDL(硬件描述语言) ...

  • 数字秒表的设计与实现实验报告
  • 电 子 科 技 大 学 <数字秒表课程设计> 姓 名: xxx 学 号: 学 院: 指导老师:xx 1 摘要 EDA 技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性.文中介绍了一种基于FPGA 在ISE10.1软件下利用VHDL 语言结合硬件电路来实现数字秒表的 ...

  • 用PLC控制的交通信号灯
  • 用PLC 控制的交通信号灯 摘要:当今时代是一个自动化时代,交通灯控制等很多行业的设备都与计算机密切相关.因此,一个好的交通灯控制系统,将给道路拥挤.违章控制等方面给予技术革新.随着大规模集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现代科技发展的主 ...

© 2024 范文中心 | 联系我们 webmaster# onjobs.com.cn