单片机脉冲信号源的CPLD实现方案

发布者:朱颜素韵最新更新时间:2011-05-27 来源: 与非网关键字:CPLD  单片机  脉冲信号源 手机看文章 扫描二维码
随时随地手机看文章

  单片机产生的脉冲信号源由于是靠软件实现的,所以输出频率及步进受单片机时钟频率、指令数和指令执行周期的限制。文中介绍了一种以CPLD为核心的脉冲信号源,脉冲信号源的参数(频率、占空比)由工控机通过I/O板卡设置,设定的参数由数码管显示,这种脉冲信号源与其它脉冲信号发生电路相比具有输出频率高、步进小(通过选用高速CPLD可提高频率及缩小步进)、精度高、参数调节方便、易于修改等优点。

  1 系统组成及工作原理

  脉冲信号源电路核心采用一片可编程逻辑器件EPM7128SLC84—10,它属于Ahera公司MAX7000系列产品,MAX7000系列产品是高密度、高性能的CMOS EPLD,是工业界速度最快的可编程逻辑器件系列,它是在Ahera公司的第二代MAX结构基础上采用先进的CMOS EEPROM技术制造的。MAX7000系列产品包括MAX7000E、MAX7000S、MAX7000A,集成度为600~5 000可用门,有32~256个宏单元和36—155个用户I/0引脚。这些基于EEPROM的器件能够组合传输延迟快至5.0 ns,16位频率为178 MHz。此外,它们的输入寄存器的建立时间非常短,能够提供多个系统时钟且有可编程的速度/功率控制。

  MAX7000S是MAX7000系列的增强型,具有高密度,是通过工业标准4引脚JTAG接口实现在线可编程的,在线编程电压为5 V。EPM7128SLC84—10有128个逻辑宏单元,2 500个门电路,8个逻辑阵列块,68个L/O管脚,速度等级为一6(传输延迟6 ns),最高时钟频率为147.1 MHz。整个信号产生及数码显示控制电路(不包括驱动)集成在一片中。脉冲信号源电路由时钟源、锁存器、计数器、控制电路、驱动电路以及数码管动态扫描显示电路组成,电路框图,如图l所示。

脉冲信号源电路框图

  时钟电路采用80 MHz有源晶振,它为系统提供时钟信号;锁存器1及锁存器2用于保存频率及占空比数据,为16位计数器提供预置值,锁存器位数为8位,设定的数据通过工控机输入,由于计数器位数为16位,故需分两次打人数据;计数器1及计数器2作为定时器,按锁存器1、2设定的值计时,两个计数器交替工作,即一个计数器工作而另一个计数器不工作。当工作的计数器到达计时时间后,向控制电路发出时间到信号。控制电路接收计数器发出的信号,停止计数器工作,并重新装载计时数据,同时启动另一个计数器工作,从而产生规定频率、占空比的脉冲信号,并输出两路脉冲信号,如图2所示。为了提高信号源带负载能力,输出使用了7417367驱动芯片增加驱动电流。

输出两路脉冲信号

  显示电路图,如图3所示,其中需要显示的数据代码通过工控机输入。缓冲器74LS244用做多路开关,当选通信号有效时,该路锁存数据有效,数码管显示相应的数据。

显示电路图[page]

 

  频率及占空比数据按如下方式计算:

  设要输出的频率为f,占空比为D,则锁存器1、2要设定的值分别为

公式

  其中fOSC为系统时钟,C1、C2采用2进制补码。由式(1),式(2)式可得到频率及占空比计算式

公式

  由上式可以看出信号源最高输出频率取决于系统时钟频率,最高频率为系统时钟频率的一半(C1、C2均为1),要提高信号源输出频率必须提高系统时钟频率,既采用高频晶振或倍频电路。占空比取决于C1与C1+C2的比值,输出频率为最高频率时,占空比为50%;同样最小步进也取决于系统时钟频率,提高系统时钟频率,就可使步进缩小。

  如果要信号源输出频率为500 kHz,占空比为0.5的脉冲波,则按式(1)、式(2)可以算出,C1=C2=HB0(16进制数)。将C1、C2通过工控机置入CPLD中。如果C1、C2为小数,则需取整,取整后需按式(3)、式(4)重新计算频率和占空比,算出的值为实际的频率与占空比。

  2 硬件编程

  开发软件采用Max PlusⅡ10.2,编程采用VHDL硬件描述语言。

  编程采用层次结构,整个程序采用顶层模块和底层模块。顶层模块,如图4所示。底层模块包括系统包含的各组件。

程序

程序[page]

  整个程序编写完成后进行编译、仿真,仿真结果,如图5所示。编译、仿真通过后都正确,即可通过JTAG接口将程序下载到目标板CPLD中,目标板即可使用。

硬件编程

  3 系统控制软件

  系统控制软件采用LabWindows/CVI编写,为了给锁存器置数,可采用如下程序实现:

程序

  4 技术指标

  本脉冲信号源输出脉冲频率:20~700 kHz,占空比:1%~40%,时钟采用80 MHz有源晶振。在700 kHz时频率步进为6 kHz,20 kHz时频率步进为5 Hz。

  由于采用了EPM7128SLC84—10作为脉冲信号源的核心。电路结构简单,频率、占空比可任意设置,准确度高。同时操作简单方便,功能更易扩展。

关键字:CPLD  单片机  脉冲信号源 引用地址:单片机脉冲信号源的CPLD实现方案

上一篇:PLC在高温空气发生器控制中的应用
下一篇:基于PLC的水电站空压机控制系统

推荐阅读最新更新时间:2024-05-02 21:24

MSP430多处理器之间的通信方式及协议
在单片机系统中,多处理器是指多个相同类型或者不同类型的单片机协作处理同一个系统的不同工作。它们之间必须具备一定的数据交换和协作处理能力,共同完成一个系统化的工作。不同处理器之间可以采用数据交换方式、并行总线方式、串行总线方式进行通信。其中,数据交换方式又可以称为共享内存交换方式;串行总线方式又可以分为单总线方式、集成电路之间的通信方式和UART方式。 1 MSP430多处理器   MSP430是一款超低功耗的混合信号控制器,具有1 6位RISC结构,有着丰富的片内外设,主要包括有看门狗、定时器、比较器、硬件乘法器、液晶驱动器、ADC、I/0端口、串口(USART)等等,还集成有64 KB的Flas’E-ROM和2 KB的RAM。其
[应用]
51单片机C语言学习笔记5:include的区别
#include iostream.h #include myfile_h #include 是预处理器标识符。 表示是标准的工程、标准的头文件。查找过程检查预定义的目录。可通过设置搜索路径环境变量或命令行修改这些目录 则表明是用户提供的头文件。查找该文件从当前文件所在的目录开始。 关于C51的库函数可以参考下面文档 参考资料: 1)资料共享,KEIL C51库函数 http://blog.ednchina.com/IET/101947/message.aspx 2)第五章 Keil C51库函数参考(转帖) -- HotPower的文潭 http://blog.ednchina.
[单片机]
SX52BD单片机实现嵌入式因特网终端的设计
主要芯片介绍 ·SX52BD是Ubicom公司生产的一款RISC指令集的高速单片机。程序存储器采用Flash,片内容量为4096字节,重复写周期1万次以上;数据存储器是SRAM,片内容量为262×8位。SX52BD采用4个阶段传递(接收-解码-执行-写入),所以每一时钟周期执行1条指令。当最大操作频率达到100MHz时,指令以每10ns的时钟周期运行。通过串口或并口可以对芯片进行在线编程,芯片还有在线调试支持逻辑。该单片机的最大特点就是虚拟外设功能,即通过软件对I/O口进行灵活的配置, CPU通过执行虚拟软件模块直接驱动I/O口实现硬件外设功能(如UART、I2C、SPI、Caller ID、FSK等)。 ·Cir
[单片机]
基于51单片机实现无源蜂鸣器控制
前言 前篇教程我们已经介绍了如何控制51 单片机的IO 口输出高低电平,本章我们通过另外一个实验来讲述51单片机IO口的输出。通过单片机的一个IO口控制板载无源蜂鸣器,实现蜂鸣器控制。学习可以参考前面LED实验教程内容。 一、蜂鸣器介绍 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V 直流工作电压),多谐振荡器起振,输出1.5~
[单片机]
基于51<font color='red'>单片机</font>实现无源蜂鸣器控制
MCU到SoC:繁荣和现实
这篇,主要科普科普MCU和SoC的关系。 从2021年初开始的“缺芯”,到目前为止还没有完全缓解。而一辆传统汽车上少则有40多种芯片,多则达到150多种。此外,一辆新能源汽车上要超过300颗芯片。 那么,“缺芯”缺什么?恐怕很多人说不上来。 实际上,汽车上缺的主要是ECU,而从更基础、更微观的层面来说,缺的是MCU(Micro Control Unit,微控制单元),也就是所谓的单片机。 简单来说,MCU就是在CPU(这个就不用解释了吧?)的基础上,增加了存储器RAM和ROM、计数器/定时器及I/O接口,将它们集成在一块,形成“芯片级别的芯片”。所以说,MCU是传统汽车最为常用的芯片。 而随着计算需求越来
[汽车电子]
从<font color='red'>MCU</font>到SoC:繁荣和现实
MCU功能严重异常的几个常见原因
我们在从事MCU应用开发过程中,难免会碰到MCU芯片异常的问题。比如异常复位,表现为复位脚有电平跳变或者干脆处于复位电平;在做代码调试跟踪时,发现代码往往进不到用户main()程序;或者时不时感觉芯片死掉了,功能完全不可控等。 针对类似严重异常情况的原因我在这里大致总结下,与大家分享。 1、时钟问题。一般表现在时钟配置异常,比方配置超出芯片主频工作范围。【对于STM32系列MCU,如果使用STM32CUBEMX图形化工具做配置,基本可以回避这个问题】 2、电源问题。比方电源质量差,纹波过大,尤其开关电源供电时;或者供电芯片质量差,输出不稳定;或者系统供电能力不足而引起电源波动等。 3、BOOT脚配置问题。对于ARM芯片往往都有
[单片机]
MSP430单片机的BSL下载方法
简介: 1,三种下载接口介绍 2,MSP430F149核心板硬件连接 3,BSL驱动安装 4,下载软件使用方法 烧录第一个程序 1、MSP430单片机下载(烧写程序)方法 具体如何将编译好的TXT文件烧录到单片机里面呢? 对于MSP430来说,无论仿真还是烧写程序一般可以通过:JTAG、SBW、BSL接口进行。JTAG、SBW接口可以用于仿真接口,BSL接口不能用于仿真。而编程器则三种接口都支持。 所以并不能说JTAG只支持仿真不支持编程,这是概念错误,JTAG仅仅是一种接口协议而已。 下面简单描述一下三种接口的区别: 1、JTAG是边界扫描技术,其在430内部有逻辑接口给JTAG使用,内部有若干个寄存器连
[单片机]
MSP430<font color='red'>单片机</font>的BSL下载方法
如何用STM32单片机蜂鸣器来演奏音乐
本文用STM32单片机蜂鸣器来演奏音乐,用的开发软件是STM32CubeIDE。 蜂鸣器 有源蜂鸣器 内部有震荡源,只要通电就会有响声,但是声音频率固定。 无源蜂鸣器 内部不含振荡源,蜂鸣器管脚输出一定频率的信号,才能发声。 本实例中用到的是无源蜂鸣器,控制频率高低发出不同声调的声音。 电路原理图 由电路原理图可知,蜂鸣器在PB5管脚,以一定频率翻转PB5管脚的电平,可以使蜂鸣器发声。 STM32工程 打开STM32CubeIDE软件,新建STM32工程。关于STM32CubeIDE软件的使用方法,可以参考此文:STM32中PWM的配置与应用详解。 配置时钟。 项目设置。 设置调试模式。 开启PB5管脚。
[单片机]
如何用STM32<font color='red'>单片机</font>蜂鸣器来演奏音乐
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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