当前位置:首页 > 工业控制 > 电子设计自动化

引言

在传统的控制系统中,通常将单片机作为控制核心并辅以相应的元器件构成一个整体。但这种方法硬件连线复杂、可靠性差,且在实际应用中往往需要外加扩展芯片,这无疑会增大控制系统的体积,还会增加引入干扰的可能性。对一些体积小的控制系统,要求以尽可能小的器件体积实现尽可能复杂的控制功能,直接应用单片机及其扩展芯片就难以达到所期望的效果。


复杂可编程逻辑器件(CPLD)具有集成度高、运算速度快、开发周期短等特点,它的出现,改变了数字电路的设计方法、增强了设计的灵活性。基于此,本文提出了一种采用Altera公司的CPLD(ATF1508AS)和Atmel公司的单片机(AT89S52)相结合的数字频率计的设计方法。该数字频率计电路简洁,软件潜力得到充分挖掘,低频段测量精度高,有效防止了干扰的侵入。独到之处体现在用软件取代了硬件。

CPLD开发环境简介

1 VHDL语言

VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言)是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE的一种工业标准硬件描述语言。相比传统的电路系统设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下和基于库的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。

2 Max+PlusⅡ开发工具

Max+PlusⅡ开发工具是美国Altera公司自行设计的一种CAE软件工具。它具有全面的逻辑设计能力,设计者可以自由组合文本、图形和波形输入法,建立起层次化的单器件或多器件设计。利用该工具配备的编辑、编译、仿真、综合、芯片编程等功能,将设计的电路图或电路描述程序变成基本的逻辑单元写入到可编程芯片中(如CPLD、FPGA),做成ASIC芯片。

它支持FLEX、MAX及Classic等系列CPLD器件,设计者无须精通器件内部的复杂结构 ,只需用自己熟悉的设计输入工具,如高级行为语言、原理图或波形图进行设计输入,它便将这些设计转换成目标结构所要求的格式,从而简化了设计过程。而且Max+PlusⅡ提供了丰富的逻辑功能库供设计者使用。设计者利用以上这些库及自己添加的宏功能模块,可大大减轻设计的工作量。使用Max+PlusⅡ设计CPLD器件的流程如图1所示。


图1 Max+PlusⅡ设计CPLD器件的流程图

等精度测频原理

本系统采用等精度测频的原理来测量频率,其原理如图2所示。


图2 等精度测频原理图

图2中的门控信号是可预置的宽度为Tpr的一个脉冲。CNT1和CNT2是两个可控计数器。标准频率信号从CNT1的时钟输入端FS输入,其频率为Fs;被测信号经整形后从CNT2的时钟输入端FIN输入,设其实际频率为Fxe,测量频率为Fx。

当门控信号为高电平时,被测信号的上沿通过D触发器的Q端同时启动计数器CNT1和CNT2。对被测信号Fx和标准频率信号Fs同时计数。当门控信号为低电平时,随后而至的被测信号的上沿将使这两个计数器同时关闭。设在一次门控时间Tpr中对被测信号计数值为Nx,对标准频率信号的计数值为Ns,则:
Fx/Nx=Fs/Ns(标准频率和被测频率的门宽时间Tpr完全相同)就可以得到被测信号的频率值为:
Fx=(Fs/Ns)×Nx

系统硬件电路设计

1 系统总体设计

本系统的硬件电路包括键盘控制模块、显示模块、输入信号整形模块以及单片机主控和CPLD模块。键盘控制模块设置5个功能键和3个时间选择键,键值的读入采用一片74LS165来完成,显示模块用8只74LS164完成LED的串行显示。

系统由一片CPLD完成各种测试功能,对标准频率和被测信号进行计数。单片机对整个测试系统进行控制,包括对键盘信号的读入与处理;对CPLD测量过程的控制、测量结果数据的处理;最后将测量结果送LED显示输出。被测信号整形电路主要对被测信号进行限幅、放大、再经施密特触发器整形后送入CPLD。用50MHz的有源晶振作为CPLD的测试标准频率。单片机由外接12MHz标准晶振提供时钟电路。系统组成原理如图3所示。


图3 系统原理框图

2 CPLD逻辑模块设计


根据等精度测频原理,利用VHDL实现的测频顶层电路模块逻辑结构如图4所示。


图4 系统顶层模块图

该模块由4个子模块构成。其中CONTROL1为测频或测周期控制模块;CONTROL2为测脉宽和占空比控制模块;CHOICE为自校与测量选择模块;COUNT为基准频率和被测频率计数器模块。

被测信号脉冲经CHOICE选择后,从控制模块CONTROL1的FX1端输入,基准频率信号从FS端输入,CLR是初始化信号。在进行频率或周期测量时,完成如下步骤:

(1)在CLR端加正脉冲信号完成测试电路状态的初始化。

(2)由预置门控信号将STROBE置高电平,预置门开始定时,此时由被测信号的上沿打开计数器COUNT,同时对基准频率信号和被测信号进行计数。

(3)顶置门定时结束信号把STROBE置为低电平(由单片机来完成),在被测信号的下一个脉冲的上沿到来时,COUNT停止计数。

(4)计数结束后,ED1端输出低电平来指示测量计数结束,单片机得到此信号后,即可利用SS0,SS1进行选择,四次分别读回COUNT中基准频率信号和被测信号计数值,并根据上述测量公式进行运算,计算出被测信号的频率或周期值。

系统软件设计

本系统的单片机主控及其外围电路模块用Keil C语言编写,软件模块对应于硬件电路的每一个部分,还包括部分数据计算和转换模块。CPLD模块用VHDL语言编写,并在Max+PlusⅡ平台上,完成CPLD的软件设计、编译、调试、仿真和下载。系统初始化后,主程序不断扫描键盘子程序,当其键按下时,程序跳转到相应的子程序执行其功能,然后返回继续执行键盘扫描主程序。其主程序流程图如图5所示。


图5 系统主程序流程

试验测试的结果如表1所示。

结论

本文将智能控制灵活、逻辑运算能力强的单片机和集成度高、运算速度快的CPLD相结合,突破了传统电子系统设计的瓶颈,使设计的系统具有结构紧凑、体积小,可靠性高,测频范围宽、精度高等优点。它可作为独立的仪表使用,也可用做其他仪器仪表的组成部分。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

在当前的科技浪潮中,单片机作为嵌入式系统的重要组成部分,正以其强大的功能和广泛的应用领域受到越来越多行业的青睐。在众多单片机中,W79E2051以其卓越的性能和稳定的工作特性,成为市场上的明星产品。本文将深入探讨W79E...

关键字: 单片机 w79e2051单片机

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备
关闭
关闭