基于VHDL的多功能可变模计数器设计方案

发布者:快乐奇迹最新更新时间:2009-09-30 来源: 屈宝鹏 张喜风关键字:VHDL  CPLD  可变模计数器 手机看文章 扫描二维码
随时随地手机看文章

  0 引 言

  随着电子技术、计算机技术和EDA技术的不断发展,利用FPGA/CPLD进行数字系统的开发已被广泛应用于通信、航天、医疗电子工业控制等领域。与传统电路设计方法相比,FPGA/CPLD具有功能强大,开发周期短,投资少,便于追踪市场变化及时修改产品设计,以及开发工具智能化等特点。近年来,FPGA/CPLD发展迅速,随着集成电路制造工艺的不断进步,高性价比的FPGA/CPLD器件推陈出新,使FPGA/CPLD成为当今硬件设计的重要途径。在FPGA/CPLD的应用设计开发中,VHDL语言作为一种主流的硬件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,并在语言易读性和层次化、结构化设计方面。表现出了强大的生命力和应用潜力。

  QuartusⅡ是Altera公司在21世纪初推出的FPGA/CPLD集成开发环境,是Altera公司前一代FPGA/CPLD集成开发环境Max+PlusⅡ的更新换代产品,其界面友好,使用便捷,功能强大,为设计者提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。

  计数器是数字系统中使用最多的时序电路之一,不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。可变模计数器由于计数容量可以根据需要进行变化,为其广泛使用创造了便利。这里在QuartusⅡ开发环境下,用VHDL语言设计了一种具有清零、置数、使能控制、可逆计数和可变模功能的计数器。

  1 基本可变模计数器设计

  可变模计数器是指计数/模值可根据需要进行变化的计数器。电路符号图1所示,clk为时钟脉冲输入端,clr为清零端,m为模值输入端,q为计数输出端。

电路符号图

  基本可变模计数器的VHDL代码如下所示:

程序

程序

  说明:上述代码设计采用了常用的if语句结构,即“if条件句then顺序语句elsif条件句then顺序语句else顺序语句end if”结构,实现模值小于99的可变模计数。[page]

  从上述的代码可以看出,基本的可变模计数器的功能单一。仿真验证则表明在进行模值变换时,基本的可变模计数器存在一些功能上的缺陷:计数器若是由较小的模值变化为较大的模值时,能正常的进行变模计数;但当其由较大的模值变化为较小的模值,则可能出现计数失控,如图2所示,图中显示了当模值由12变换为7时,即发生了计数失控。失控的原因是大于当模值由12变换为7时,计数输出为q为11,大于当前模值7的计数最大值6,由此产生了计数失控。

基本可变模计数器的功能仿真波形

  2 改进的多功能可变模计数器

  为了克服上述基本可变模计数器的缺陷,并增加更多的控制功能,在此设计了一种改进的多功能可变模计数器,具有清零、置数、使能控制、可逆计数和可变模功能。其电路符号如图3所示,clk为时钟脉冲输入端,m为模值输入端,clr为清零控制端,s为置数控制端,d为置数输入端,en为使能控制端,updn为计数方向控制端,q为计数输出端,co为进位输出端。

电路符号

  这里所设计的多功能可变模计数器的VHDL代码如下所示:

程序

程序

LIBRARY IEEE;[page]

  值得注意的是,这里所设计的多功能可变模计数器具有如下特点:

  (1)该设计的多功能可变模计数器具有多个功能控制端。因此各个控制端的优先权顺序就成为设计的关键,经过理论分析和仿真调试,最终确认的优先权顺序为:clr(清零)→clk(时钟触发)→s(置数)→en(使能)→updn(计数方向)。这个优先权顺序可以有效地保证各个功能的完整实现,以及技术器的稳定运行。

  (2)为了防止出现计数失控,大多数计数器采用给计数器增加一个复位控制端的办法,当发现计数输出q发生了计数失控时,通过复位控制端将计数器复位来排除计数失控。这种方法虽然有效,但是每次出现计数失控都要手动控制复位,给实际使用带来了不便。该设计的多功能可变模计数器中,将当前的计数输出q与当前的计数最大值m_temp进行比较,如果q比m_temp大,则强制将m_temp赋给q,这样就可以自动避免计数失控,不必再增加手动的复位控制端。

  3 仿真结果分析

  该多功能可变模计数器在QuartusⅡ开发环境下进行了仿真验证,功能仿真波形如图4所示,时序仿真波形如图5所示。

功能仿真波形

时序仿真波形

  仿真结果分析如下:

  (1)clk为时钟信号,由时钟信号的上升沿触发计数;

  (2)m为模值输入端,当其变化时,计数容量相应发生变化;

  (3)clr为清零控制端,当其为高电平时清零;

  (4)s为置数控制端,当其为高电平时将置数输入端d的数据加载到输出端q;

  (5)en为使能控制端,当其为高电平时正常计数,当其为低电平时暂停计数;

  (6)updn为计数方向控制端,当其为高电平时计数器加法计数,当其为低电平时计数器减法计数。

  4 结 语

  这里所设计的多功能可变模计数器在QuartusⅡ开发环境下进行了仿真验证后,下载到湖北众友科技实业股份有限公司的ZY11EDA13BE实验箱中进行了硬件验证。该实验箱使用ACEX1K系列EP1K30QC208芯片作为核心芯片.实验证明设计正确,功能完整,运行稳定。另外,该设计的多功能可变模计数器可根据需要将模值的最大值由99进一步扩展,获得更高的计数模值。

关键字:VHDL  CPLD  可变模计数器 引用地址:基于VHDL的多功能可变模计数器设计方案

上一篇:基于FPGA的高速SDRAM控制器的视频应用
下一篇:基于FPGA的简易频谱分析仪的设计方案

推荐阅读最新更新时间:2024-05-02 20:53

基于CPLD/FPGA的多串口设计与实现
摘要:在工业控制中如何提高一对多的串口通讯可靠性和系统的集成性成为研究热点。本文利用嵌入式技术,提出基于CPLD/FPGA的多串口扩展设计方案。实现并行口到多个全双工异步通讯口之间的转换,并根据嵌入式系统实时性的需要,在每个UART接收器中开辟了8个接收缓冲单元,实现高速嵌入式CPU与RS232通讯设备之间的速度匹配,同时,串行口波特率等参数可根据需要进行设置。通过实践证明,本文设计的基于CPLD/FPGA的多串口完全符合工业控制中一对多串口通讯的要求。 关键词:CPLD/FPGA;多串口扩展;全双工;异步通信;嵌入式系统 在工业控制中,设备的通讯与控制主要采用简洁高效的串口方式进行。工控机通过PCI扩展卡方式进行串口的
[嵌入式]
基于<font color='red'>CPLD</font>/FPGA的多串口设计与实现
激光扫描车身坐标测量数据采集系统的设计
随着汽车的普及和维修业的不断发展,人们对汽车车身在维修中的检测系统提出了越来越高的要求。传统的机械式测量系统已经不能满足现代汽车测量和维修检测的要求。在国外,意大利的Spanesi公司、瑞典的Caroliner公司开发的车身电子测量系统在测量精度、操作性方面虽有一定的优势,然而它们不能进行同时多点测量,已不能适应现代汽车维修业对检测技术的要求。利用激光扫描技术可实现对车身三维尺寸的测量,满足了现代汽车维修业对检测技术的新要求。对于激光扫描测量的方法,国内还鲜有相关的报道 。  基于合作靶标的激光扫描车身坐标测量系统,是运用四光束激光扫描测量原理,综合运用激光、光电、精密测量等技术进行非接触二维或者三维坐标测量的检测系统。它具有
[单片机]
基于STM32和CPLD可编程逻辑器件的等精度测频技术
在电子工程、资源勘探、仪器仪表等相关应用中,频率测量是电子测量技术中最基本最常见的测量之一,频率计也是工程技术人员必不可少的测量工具。但是,传统的频率测量方法在实际应用中有较大的局限性,基于传统测频原理的频率计的测量精度将随被测信号频率的变化而变化,传统的直接测频法其测量精度将随被测信号频率的降低而降低,测周法的测量精度将随被测信号频率的升高而降低。本文中提出一种基于ARM与CPLD宽频带的数字频率计的设计,以微控器STM32作为核心控制芯片,利用CPLD可编程逻辑器件,实现闸门测量技术的等精度测频。 本设计的技术指标: 测频范围:1Hz~200MHz,分辨率为0.1Hz,测频相对误差百万分之一。 周期测量:信号测量范围与精度要求
[单片机]
基于STM32和<font color='red'>CPLD</font><font color='red'>可编程逻辑器件</font>的等精度测频技术
采用CPLD的专用键盘接口芯片的方案设计
在单片机应用系统中,存在多种形式的外部数据输入接口界面,例如RS-232C串行通信、键盘输入等 。其中利用键盘接口输入数据,是实现现场实时调试、数据调整和控制最常用的方法。单片机的外围键盘扩展电路有多种实现方式,例如直接利用I/O接口线或外接8255A接口芯片,配合适当的接口管理程序,就可以实现外围键盘扩展功能。但是,在这些方法中,键盘扩展电路需要占用单片机的资源对按键进行监控和处理,这对要求高实时性处理的单片机系统是不现实的。 为了解决这一问题,可以使用专用键盘接口芯片(例如Intel8279) 来组建键盘子系统。然而,这类专用键盘接口芯片在使用灵活性方面尚有欠缺,尤其当用户需要实现某些特定功能时,其缺点更为明显。针对上
[工业控制]
采用<font color='red'>CPLD</font>的专用键盘接口芯片的方案设计
基于DSP+CPLD的嵌入式高速图像通信系统设计
   1 引言   随着现代的图形采集技术发展迅速,各种基于ISA,PCI,USB1.1等总线的图形采集卡速度已经不能满足用户的需求,而采用 USB2.0以后就可以解决这个传输速度上的瓶颈,USB2.0的速度是480Mbits/s,完全可以满足图像采集、传输以及后续处理的要求。系统中采用 DSP+CPLD的硬件设计方案,采用现场可编程芯片 CPLD及两片 SRAM构成的图像采集和存储系统,可以根据不同的需要进行现场编程,具有通用性好、价格相对便宜,易于系统调试,升级等特点。系统中 CPLD选择的型号是 ALTERA公司的MAX7000系列低功耗芯片EPM7128A。片外大容量 SRAM是DSP与 CPLD的联系桥梁,系统设计也利
[嵌入式]
基于FPGA的微流控芯片电泳控制系统设计
   1 概 述   微型全分析系统的概念由Manz于20世纪90年代初提出,是集进样、样品处理、分离检测为一体的微型检测和分析系统。微流控芯片是其主要部件,采用微电子机械系统技术集成了微管道、微电极等多种功能元器件。微流控芯片的电泳技术是指以电场方式驱动样品在芯片的微管道中流动,然后再通过光电倍增管(Photo Multiplier Tube,PMT)将被测试样品所产生的微弱信号转换为电信号,并对该信号进行采集与处理。与常规毛细管电泳系统相比,该技术具有分离时间短、系统体积小、集成度高等优点,被广泛应用于药品筛选以及I临床诊断中。聚合酶链式反应(Palymerase Chain Reaction,PCR)是一项在短时间内体外大
[嵌入式]
基于FPGA的微流控芯片电泳控制系统设计
基于DSP和CPLD的智能相机系统设计与研制
       引言:        在工业生产中,生产设备的自动化程度在很大程度上决定着生产的效率。同时,高技术高科技的生产设备,对提高产品的档次也有很大的作用。在工业生产现场,有许多工作是重复简单的劳动,或工作环境是不适合人进行处理的。这时,可以设计一种智能仪器,代替人进行这种简单重复的工作或在恶劣的工作环境下进行工作。智能相机系统就是这样的一种自动化仪器。它以其工作效率高、性能稳定、能适合复杂和恶劣的工作环境而越来越受到工业生产的重视。本文将介绍一款用于工业生产现场产品质量控制的智能相机的设计方案,并给出该相机的实际工作情况。        1、系统整体设计:        进行相机系统设计,首要考虑的问题是工业现
[嵌入式]
高密度在系统可编程逻辑器件在数字I/O电路中的应用
    摘 要: 介绍了在系统可编程(ISP)技术及ISP器件的特点。分析了变M/T转速测量电路的工作原理。并由高密度ISP器件设计了位置控制系统单片I/O电路。运行结果表明所设计的电路完全达到设计要求。     关键词 在系统可编程 高密度逻辑器件 变脉冲数/脉冲周期 数字I/O电路     在系统可编程(ISP)技术及其器件是90年代迅速发展起来的一种新技术与新器件。它使我们能在产品设计、制造过程中对产品中的器件、电路板乃至整个电子系统的逻辑和功能随时进行组态或重组。采用这种器件开发的数字系统,其升级与改进是极其方便的。由于采用先进的 技术,就保证了这种器件具备10000次以上的擦写能力。     高密度
[半导体设计/制造]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved