可编程逻辑电路

2024-06-28

可编程逻辑电路(精选10篇)

可编程逻辑电路 第1篇

信号的边沿抖动无论是在数字电路还是模拟电路都是经常出现的问题,常常对整个电路的正常工作产生不可预期的影响。在信号电平变化时常常出现多次的随机快速的变化,即,在极短时间内出现多次脉冲变化,在一些以信号边沿为工作准则的电路中,抖动现象是致命的,也是必须滤除的。例如,数字电路中C P U的复位信号愿,时序电路的时钟信号都不能容忍抖动现象的出现。

边沿抖动常规的解决办法有滤波、平滑以及触发器设计等等,但是,这些方法在某些场合是无能为力的。本文介绍在电路设计中应用可编程逻辑器件简单,可靠地滤除边沿抖动现象。

2 边沿抖动的产生原因

2.1 模拟电路中产生边沿抖动的原因

当模拟信号向数字信号转化时常常出现抖动现象,即,模拟信号离散成数字信号,主要有三种情况:一是转换电路本身产生;二是输入模拟信号失真;三是对摸拟信号采样时采样电平在数字电路的高、低电平的两极限值之间进入模糊区域[3]。

在数字电路中高、低电平有两个极限值分别为有效低电平的最大输入值Va,有效高电平的最小输入值Vb,例如,TTL电平:输出高电平>2.4V,输出低电平<0.4V。在室温下,一般输出高电平是3.5V,输出低电平是0.2V。最小输入高电平和低电平:输入高电平>=2.0 V,输入低电平<=0.8V,噪声容限是0.4V。CMOS电平:输出L:<0.1*Vcc;H:>0.9*Vcc。输入L:<0.3*Vcc;H:>0.7*Vcc[5].

当输入电平在逻辑模糊带(△V=Vb-Va)的时间(t2-t1)远大于门电路传播延迟时,其输出必将是前后沿都多次抖动的脉冲波形。对于比较器,△V一般为几毫伏,所以会更易出现边沿抖动。所以,模拟信号转化成数字信号的电路中抖动是常常存在的。

2.2 数字电路中产生边沿抖动的原因

数字电路中产生边沿抖动主要发生在以下几个方面:(1)不匹配终端长线效应;(2)逻辑设计的缺陷;(3)开关器件的多次触发。开关器件的多次触发是最常见的,如键盘按键的多次连接,继电器的触头多次接触等等,本来只有一次信号变化却形成了若干次变化。逻辑设计缺陷产生抖动的机理是:逻辑冒险或竞争,逻辑设计不合理造成瞬时毛刺,这种情况也是经常发生,很难完全避免。在无终端匹配的长线上,高频脉冲信号在线上多次往返传播,将在脉冲前后沿形成长长的余振,当余振幅度足够大时,对接收端门电路即成为沿抖动[6]。

3 边沿抖动的危害

对于控制信号、复位信号来说,边沿抖动会产生逻辑错误,产生误操作。对于时钟信号来说边沿抖动,将使依赖于时钟边沿工作的锁存器、定时器、计数器电路的工作结果完全错误。

4 基于CPLD去抖原理

我们经常用可编程逻辑器件,进行复杂的电路设计,这样可以使硬件软件化,降低了实现难度,增加了针对性,对特殊要求进行相应设计,使复杂电路实现起来变得简单可控。

对于抖动这个在电路中经常发生的现象我们可利用CPLD根据抖动的共同特征,进行相应的设计来解决问题。

无论是模拟电路还是数字电路中存在的抖动现象,它们有一个共同的特点就是时间短,连续多次。根据这个特点我们在可以在一定时间对信号电平多次采样,当电平值保持一致我们认为不是抖动,例如当信号电平从高电平变化成低电平时,只有对信号多次采样都为低电平时,才认为电平是低,否则保持原电平不变。

我们利用三个D触发器,一个三位或门,一个三位与非门,一个RS触发器来实现此设计消除抖动,原理如下:

对于RS触发器的两个输入端R、S,当R=0,S=1时,Q=0;

当R=1,S=0时,Q=1;

当R=1,S=1时,Q保持原值不变;

当R=0,S=0时,Q值不确定。

因此,在设计中应绝对避免R,S不能同时为零,否则输出端Q不可控。

D触发器在电路中的主要作用就是状态存储,此设计在中应用三个D触发器,用来保存三个连续的信号输入状态。

三个D触发器将三个连续的信号状态传递给“与非门”和“或门”进行逻辑判断,最终的判断结果作为RS触发器的输入。当三个D触发器状态值都为1时,“与非门”输出为0,即,S=0,或门输出为1,即R=1,结果RS触发器的输出为1;

当三个D触发器状态值都为零时,“与非门”输出为1,即S=1,或门输出为0,即R=0,RS触发器输出为0;

当三个状态值不同时,即(0和1)同时存在时,“与非门”的输出为0,即S=1,或门输出为1,即R=1,RS触发器的输出保持原值不变具体原理图如下:

在此设计中,3个D触发器和1个RS触发器用同一个时钟输入源作为他们的工作时钟,每个时钟的上升沿触发器开始工作,在一个时钟周期内,第一个D触发器对信号电平进行采样,由于信号传输固有的延时,上一时钟周期采集的电平状态作为第二个D触发器的输入,以此类推。三个D触发器保存了三个连续的电平状态,我们可以知道,此电路中,电平变化时将产生3个时钟周期的延时。我们可以根据实际中的具体要求来选择电路的时钟频率。同时,也可根据对可靠性的要求来增加D触发器的个数和“与门”、“或非门”的位数。

5 结束语

此电路在现实的电路设计中得以应用,而且效果很好,运行可靠。具有以下特点:

灵活,我们可以根据电路中所需精度来设定对外部的采样周期,例如我们希望电路中时间精度达到0.3那么我们根据此精度可以设置我们采用周期为15k。为增加可靠性我们可以增加D触发器的个数和或门,与非门的位数来达到。

实现简单,应用CPLD是硬件问题软件化,可控性得到加强,使用很少的器件资源就可实现功能。

摘要:随着可编程逻辑器件的发展,在一些电路设计中,电路设计人员普遍的利用可编程器件来设计一些逻辑电路来替代一些老的器件,例如,译码器,时钟发生器等等,同时,利用可编程逻辑器件针对特殊问题设计特殊电路。本文介绍一种应用CPLD解决电路中普遍存在的边沿抖动问题,同时也适用于解决电路中的毛刺问题。

关键词:可编程逻辑器件,抖动,D触发器,RS触发

参考文献

[1]John F.Wakerly.数字设计原理与实践[M].北京:机械工业出版社,2007.5

[2]James R.Armstrong.VHDL设计表示与综合[M].北京:机械工业出版社,2002

[3]赵鑫,蒋亮.VHDL与硬件电路设计[M].北京:机械工业出版社,2005.6

[4]侯伯亨,顾新.VHDL硬件设计语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社,2001

[5]游志刚,李小波,孙志勇.一种基于CPLD的智能宽带去边沿抖动技术[J].电子测量与仪器学报,2005(4):15-17

[6]杨泽林,郭中华.一种去抖动延时可调键盘电路的设计[J].电子技术,2004(9):26-32

可编程逻辑电路 第2篇

一、总学时:36(理论学时:20 实验学时:16)学分:2.0

二、教学目的:

现代电子设计技术的核心是EDA(Electronic Design Automation)技术,而EDA的技术基础是PLD(Programmable Logic Device)和EDA软件平台。通过本课程的学习使学生基本掌握在EDA软件平台上,利用硬件描述语言HDL(Hardware Description Language)进行数字系统设计,完成系统的逻辑描述,完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合以及逻辑优化和仿真测试,下载到PLD中,实现既定的逻辑电子线路系统功能。

通过学习这门课程,使学生掌握利用软件设计开发硬件电路的基本技能,为以后在电子产品设计和科学研究工作中的应用打下良好基础。

三、课程内容及学时分配

第一章 概述(2学时)1.1 EDA技术及其发展 1.2 EDA技术实现目标 1.3 硬件描述语言VHDL 1.4 VHDL综合

1.5 基于VHDL的自顶向下设计方法 1.6 EDA技术与传统电子设计方法的比较 1.7 EDA的未来发展趋势

第二章 EDA设计流程及其工具(2学时)2.1 FPGA/CPLD设计流程 2.2 ASIC设计流程 2.3 常见EDA工具 2.4 Quartus II概述 2.5 IP核

第三章 FPGA/CPLD结构与应用(4学时)3.1 PLD的发展历程及分类 3.2 简单PLD原理 3.3 CPLD结构与工作原理 3.4 FPGA结构与工作原理 3.5 FPGA/CPLD测试技术 3.6 FPGA/CPLD产品介绍 3.7 CPLD/FPGA的编程与配置 第四章 原理图输入设计方法(2学时)4.1 原理图设计输入

4.2 编译设计项目 4.3 设计仿真 4.4 器件编程 4.5 波形输入设计方法 第五章 VHDL语言(10学时)5.1 VHDL源程序的基本结构 5.2 VHDL语言的语法规范 5.3 VHDL语言的主要语句及其应用 5.4 用VHDL语言设计组合电路 5.5 用VHDL语言设计时序电路 第六章 状态机的设计(4学时)6.1 一般有限状态机的设计 6.2 Moore有限状态机的设计 6.3 Mealy有限状态机的设计 6.4 状态编码

6.5 状态机剩余状态处理

第七章 设计优化和设计方法(2学时)7.1 面积优化 7.2 速度优化

7.3 Quartus II的优化设计 7.4 其它设置

第八章 EDA工具软件接口(2学时)8.1 EDA软件接口流程 8.2 Synplify与Quartus II的接口 8.3 ModelSim与Quartus II的接口 第九章 EDA系统设计(2学时)9.1 高速A/D采样控制设计

上机实验(16学时)根据实际情况选做5~6个实验 1.原理图输入方法练习: 1.1 简单电路的设计 1.2 利用宏功能模块的设计 2.VHDL语言练习:

2.1 用VHDL语言设计移位寄存器 2.2 用VHDL语言设计高速A/D采样控制 2.3 用VHDL语言设计实时时钟 2.4 汽车尾灯设计 2.5 序列检测器的设计

2.6 正负脉宽数控调制信号发生器的设计 2.7 数字频率计的设计 2.8 秒表的设计

2.9 MCS–51单片机与FPGA/CPLD总线接口逻辑设计 2.10交通灯信号控制器的设计 2.11语音信箱控制系统的设计 2.12 PID控制器的设计

2.13 空调系统有限状态自动机的设计 2.14 闹钟系统的设计

(注意:上机实验2.1---2.14根据所教专业不同选择不同题目)

四、适用专业

控制理论与控制工程、通信工程、电子信息工程、现代电子技术等专业

五、先修课程

数字电子技术、模拟电子技术、电路

六、教材及主要参考书

1.潘松,黄继业.EDA技术与VHDL(第三版).清华大学出版社,2009.9 2.李景华,杜玉远.可编程逻辑器件与EDA技术.东北大学出版社,2000 3.陈琼,潘礼. FPGA系统设计与实践 电子工业出版社,2005

可编程逻辑电路 第3篇

1 工艺流程

艾码吊具由吊具泵、旋锁机构、伸缩机构、侧移辅助机构等组成。吊具泵由2台电压、功率的电机驱动2台派克液压泵,为其他机构运行提供液压动力;电机的启动和停止主要由轮胎吊AC80 PLC控制。旋锁机构的主要功能是在装卸集装箱时完成对集装箱的锁紧和释放。该装置分为开锁和闭锁状态,由电磁阀驱动开闭锁油缸,油缸通过拉杆的拖动改变锁头位置,锁头到位后由开锁和闭锁限位检测锁头状态。伸缩机构的主要功能是根据集装箱的尺寸调整吊具伸缩梁。该装置分为20英尺、40英尺、45英尺等3个工作尺寸,靠电磁阀驱动伸缩油缸,油缸通过伸缩拉杆的拖动改变伸缩梁位置;限位检测伸缩梁到位后,由进退销锁住,以免伸缩梁位置改变。侧移辅助机构能够微调吊具位置,以便司机抓箱。该机构依靠电磁阀驱动液压油缸实现动作控制,无限位检测,由司机根据需要操作。

艾码吊具可以左右平移各,左右旋转各5€埃舷乱贫鳎视糜谧靶?0英尺、40英尺和45英尺集装箱。

2 控制方案

2.1 控制系统

艾码吊具原电控系统中的电磁阀控制主要由8块逻辑电路板实现,PLC控制系统设计采用PLC替代电路板来控制吊具各机构电磁阀。由于电磁阀的工作电流较大,为保护PLC,在PLC输出点与电磁阀之间使用中间继电器,并采用独立电源为PLC和电磁阀等提供电压为的电源。

2.2 输入输出信号

(1)命令信号 命令信号指司机发出的请求信号,其经过AC80变频器和中间继电器后,由垂缆传输到吊具控制箱内;采用交流电,包括开锁、闭锁、20英尺位置、40英尺位置、45英尺位置等5种命令信号。

(2)检测信号 检测信号指吊具各机构的限位信号,采用直流电,包括左右闭锁、左右开锁、顶销信号、左右20英尺、左右40英尺、左右45英尺、左右进销、左右定位销退销、1号吊具泵运行、2号吊具泵运行等共计20种信号。

(3)电磁阀驱动信号 电磁阀驱动信号包括左右闭锁、左右开锁、左右快伸、左右慢伸、左右快缩、左右慢缩、左右定位销退销等共计14种开关信号,采用直流电。

(4)显示信号 显示信号指吊具反馈到轮胎吊司机室的信号,用于指示吊具状态和控制轮胎吊运行。该信号需将直流电转换成交流电信号,包括开锁指示、闭锁指示、左侧顶销、右侧顶销、20英尺位置、40英尺位置、45英尺位置等7种信号。

3 硬件选型和设计

3.1 PLC选型

鉴于三菱PLC具有通信简单、编程方法直观、尺寸较小、安装灵活、运算速度较快、性能稳定、价格低廉等优点,选择三菱FX2N系列PLC。

(1)数字量输入点 命令信号和检测信号输入点共计25个,考虑到20%的扩展余量因素,故选择32个,采用24 V直流电。

(2)数字量输出点 电磁阀驱动信号和显示信号输出点共计21个,考虑到20%的扩展余量因素,故选择32个,采用24 V直流电。

(3)存储容量 存储容量原则上以数字输入输出点数量的15倍加上模拟输入输出点数量的100倍作为内存总字数,并额外考虑25%的余量。据此,该系统PLC存储容量大约为862.5个字,即位。

(4)运算功能 运算功能包括数字信号的逻辑运算和计时器功能。

(5)输入电源 输入电源为24 V直流电。

基于上述要求,最终选定三菱FX2N-64MR-D型PLC,采用直流输入电源,输入点和输出点各32个,最大存储位。

3.2 电 源

PLC控制系统采用原逻辑电路板控制系统电源。型号为SL20;输入端为三相交流电,电压,电流;输出端为直流电,主要提供给吊具电磁阀、限位机构和PLC。

3.3 电气信号流程

PLC控制系统电气信号流程见图1,采用绘图软件PCsELcad绘制设计电控原理图。

3.4 电控盘

根据电控原理图,制作艾码吊具PLC控制系统的电控系统(见图2)。

4 软件设计

采用三菱PLC编程软件GX Developer Version 7 开发PLC控制系统程序,操作系统为Windows 2000 SP4,程序结构主要功能块包括开闭锁功能块、伸缩功能块和侧移功能块(见图3)。

4.1 开闭锁功能块程序

4.1.1 开闭锁工作原理

吊具接到司机命令(开锁或闭锁)请求后,检测吊具顶销到位和吊具工作尺寸位置,旋锁开始动作到请求位置;检测锁头到位后将信号反馈到司机室,动作结束。

4.1.2 开闭锁程序流程

PLC控制系统开闭锁程序流程(以闭锁为例)如图4所示。

4.1.3 创新功能

在作业过程中,开闭锁限位自检模式会出现开锁和闭锁灯同时亮的情况,导致操作人员难以判断吊具的开闭锁状态。PLC控制系统通过程序实现自动显示开闭锁限位状态的功能,便于维修人员检修,对码头生产和人员安全起到一定保障作用。

4.2 伸缩功能块程序

4.2.1 伸缩工作原理

艾码吊具具有慢伸和慢缩功能,伸缩到位后,退销油缸控制金属销插入工字箱梁和伸缩梁的圆孔内,将伸缩梁定位。伸缩梁受到外力作用时,吊具尺寸不会发生改变。要改变吊具尺寸,需要将插入伸缩梁和工字箱梁圆孔内的金属销退出来,然后吊具才能进行伸缩动作。以40英尺缩20英尺为例:初始状态的吊具在40英尺位置,接到20英尺位置指令(脉冲信号)后,吊具左右两侧做退销动作,进销限位关断;检测退销到位后,左右两侧的快缩和慢缩同时得电,吊具做快缩动作;吊具离开40英尺位置后,40英尺限位断开,当吊具接近20英尺位置时,左右两侧的快缩阀和退销阀失电,慢缩阀继续得电,进销动作;油缸将销顶在伸缩梁上,吊具缓慢缩进(以免吊具进销后产生巨大冲击),直到缩至20英尺定位孔;进销到位,进销限位闭合,吊具缩动作结束。

4.2.2 伸缩程序流程

PLC控制系统伸缩程序流程如图5所示。

4.2.3 创新功能

PLC控制系统不允许吊具长时间伸缩,以免吊具在伸缩过程中卡塞后继续动作,从而起到保护吊具泵、油阀和油管的作用。

5 联机和测试

三菱FX2N PLC编程口使用圆8针通信口,通信形式为串行通信。程序下载时,将PLC电源开关调至“OFF”状态,打开对应的吊具程序,选择“PLC写入”选项。程序下载结束后,将PLC电源开关调至“ON”状态,选择“监视写入”模式即可在线观看吊具运行状态,同时可对程序进行在线修改,修改后须将程序变换后再保存。

测试系统时,首先在模拟操作台上对硬件线路和程序功能进行测试,然后在吊具上进行程序伸缩功能测试,最后在轮胎吊上进行程序全部功能测试和调试,经过空载试车、重载试车后正式投入使用。

测试结果表明,PLC控制系统不仅能够实现吊具的开闭锁、定位伸缩和侧移功能,而且能够实现开闭锁限位自检模式等新功能;系统性能稳定,故障率低,能为码头生产提供可靠保障。

6 结束语

轮胎吊艾码吊具PLC控制系统利用PLC软件程序系统取代集成电路板的硬件控制系统,有助于降低设备故障率,提高设备运行的稳定性和可靠性;同时,该系统抛弃昂贵的艾码逻辑控制板,大大降低维修成本,在吊具控制系统中具有良好的推广价值和应用前景。目前,该控制系统已成功应用于青岛前湾集装箱码头的18台艾码吊具上。与原逻辑电路板控制系统相比,PLC控制系统每年可为每台艾码吊具节约维修成本元人民币,增收利润约元人民币。

参考文献:

[1] 李琳,徐笑梅,程文明,等. 集装箱吊具的型式和应用[J]. 铁道货运,2003(1):33-36.

基于可编程逻辑器件的数字电路设计 第4篇

可编程逻辑器件PLD (Programmable Logic Device) 是一种数字电路, 它可以由用户来进行编程和进行配置, 利用它可以解决不同的逻辑设计问题。PLD由基本逻辑门电路、触发器以及内部连接电路构成, 利用软件和硬件 (编程器) 可以对其进行编程, 从而实现特定的逻辑功能。可编程逻辑器件自20世纪70年代初期以来经历了从PROM, PLA, PAL, GAL到CPLD和FPGA的发展过程, 在结构、工艺、集成度、功能、速度和灵活性方面都有很大的改进和提高[1]。

随着数字集成电路的不断更新和换代, 特别是可编程逻辑器件的出现, 使得传统的数字系统设计方法发生了根本的改变[2]。可编程逻辑器件的灵活性使得硬件系统设计师在实验室里用一台计算机、一套相应的EDA软件和可编程逻辑芯片就可以完成数字系统设计与生产[3]。

1 Max+plus Ⅱ简介

Max+plus Ⅱ是一种与结构无关的全集成化设计环境, 使设计者能对Altera的各种CPLD系列方便地进行设计输入、快速处理和器件编程。Max+plus Ⅱ开发系统具有强大的处理能力和高度的灵活性, 其主要优点:与结构无关、多平台、丰富的设计库、开放的界面、全集成化、支持多种硬件描述语言 (HDL) 等。

数字系统的设计采用自顶向下、由粗到细, 逐步分解的设计方法, 最顶层电路是指系统的整体要求, 最下层是具体的逻辑电路的实现。自顶向下的设计方法将一个复杂的系统逐渐分解成若干功能模块, 从而进行设计描述, 并且应用EDA 软件平台自动完成各功能模块的逻辑综合与优化, 门级电路的布局, 再下载到硬件中实现设计[4], 具体设计过程如下。

1.1 设计输入

Max+plus Ⅱ支持多种设计输入方式, 如原理图输入、波形输入、文本输入和它们的混合输入。

1.2 设计处理

设计输入完后, 用Max+plus Ⅱ的编译器编译、查错、修改直到设计输入正确, 同时将对输入文件进行逻辑简化、优化, 最后生成一个编程文件, 这是设计的核心环节。

1.3 设计检查

Max+plus Ⅱ为设计者提供完善的检查方法设计仿真和定时分析, 其目的是检验电路的逻辑功能是否正确, 同时测试目标器件在最差情况下的时延, 这一查错过程对于检验组合逻辑电路的竞争冒险和时序逻辑电路的时序、时延等至关重要。

1.4 器件编程

当电路设计、校验之后, Max+plus Ⅱ的Programmer 将编译器所生成的编译文件下载到具体的CPLD器件中, 即实现目标器件的物理编程[5]。

2 以计数器为例介绍具体的设计方法

计数器是非常常用的时序逻辑电路。计数器类型有多种, 实现计数器的方法也有很多。可以买到大部分类型的中规模集成的计数器直接使用, 也可以用触发器搭建符合要求的计数器。但是采用以上方法实现的计数器灵活性不够, 不能随时进行修改, 通用性差。这里介绍基于可编程逻辑器件的实现方法。

2.1 设计输入

采用原理图输入的思维方式比较适合一直采用传统设计方法人的使用。原理图输入如图1所示。

采用硬件描述语言输入的方法对于没有传统设计方法经验的人更容易入门, 修改起来也更方便。给出了一个可逆计数器的实现实例[6], 程序的核心部分如下[7]:

PROCESS (clk)

VARIABLE cnt:INTEGER RANGE 0 TO 255;

VARIABLE direction:INTEGER;

BEGIN

IF (updown=′1′) THEN

direction:=1;

ELSE

direction:=-1;

END IF;

IF (clk′EVENT AND clk=′1′) THEN

cnt:=cnt+direction;

END IF;

qd <= cnt;

end process;

2.2 设计处理

原理图或程序完成之后, 选择好器件并进行引脚定义, 然后编译优化得到编程文件的界面如图2所示[8]。

2.3 设计检查

编译结束后, 建立波形文件进行仿真, 注意波形文件需要先保存, 保存文件名和源文件一致才能进行仿真[9]。结果如图3所示。

仿真结果达到设计目的, 符合设计要求。这时可以把编译生成的*.pof文件下载到选定的器件使用。用以上方法实现的器件, 修改起来非常方便, 只需要修改程序重新编译下载即可, 任何类型的计数器都可以在可编程逻辑器件实现。

3 结 语

随着电子技术的高速发展, CPLD 和FPGA 器件在集成度、功能和性能 (速度及可靠性) 方面已经能够满足大多数场合的使用要求。用CPLD, FPGA等大规模可编程逻辑器件取代传统的标准集成电路、接口电路和专用集成电路已成为技术发展的必然趋势。

可编程逻辑器件是逻辑器件家族中发展最快的一类器件, 它出现使得产品开发周期缩短、现场灵活性好、开发风险变小, 随着工艺、技术及市场的不断发展, PLD产品的价格将越来越便宜、集成度越来越高、速度越来越快, 再加上其设计开发采用符合国际标准的、功能强大的通用性EDA工具, 可编程逻辑器件的应用前景将愈来愈广阔[10]。

参考文献

[1]徐伟业, 江冰, 虔湘宾.CPLD/FPGA的发展与应用之比较[J].现代电子技术, 2007, 30 (2) :4-7.

[2]郑宝华.基于CPLD的大屏幕扫描电路设计[J].现代电子技术, 2008, 31 (24) :17-19.

[3]赵延, 葛利嘉, 双涛.基于FPGA的UART设计实现及其验证方法[J].现代电子技术, 2008, 31 (17) :162-164.

[4]王淑文.基于CPLD的数字系统设计[J].现代电子技术, 2007, 30 (12) :184-186. (下转第194页)

[5]杨晖, 张凤言.大规模可编程逻辑器件与数字系统设计[M].北京:北京航空航天大学出版社, 2001.

[6]潘松.VHLD实用教程[M].西安:西安电子科技大学出版社, 2000.

[7]宋万杰.CPLD技术及其应用[M].西安:西安电子科技大学出版社, 2000.

[8]林明权.VHDL数字控制系统设计范例[M].北京:电子工业出版社, 2003.

[9]曾繁泰, 陈美金.VHDL程序设计[M].北京:清华大学出版社, 2000.

学习编程逻辑思维很重要 第5篇

我进入甲骨文培训的时候对编程说实话知识了解而已,由于我是理工科毕业的,经常用到数学等知识,所以对数学逻辑方面还是比较不错的,而且毕业后发现IT行业的前景非常好,经过咨询发现我可能也挺适合编程的,所以就决定来盈佳科技试试。

通过盈佳科技这四个月的学习,我觉得自己收获不少。本来我就是一个对数学逻辑方面的东西和能自己动手做出来的东西感兴趣,真正的接触到c++之后才发现这才是我要找的东西,这就是我所谓的对口学习的东西。我觉得来甲骨文学习c++的话最好逻辑思维能力。比如我吧,我来学习c++之前就自学c编程基础,因为有一点c++的基础,刚开始学可能有点摸不着头脑,但渐渐的随着不断的模仿操作,和大量的练习也就习惯了这种思维方式,也许这就是编程语言的奥妙所在吧!后来,我也把学习c++基础的学习方式运用到的学习其它的课程上去效果也算不错,呵呵。学习c++开发一定要把基础打好,只有基础打好了,才有可能把所学到的运用自如,心情发挥,这种所谓的打好基础就包括,掌握这种编程的语法结构,和这种语法结构上所包含的思想,要跟着这种思想去编程,刚开始不习惯,但慢慢的习惯了就好了。

经过在盈佳科技这四个月的学习之后,我找工作的目标更明确了,我也有自己的一技之长了,也更有自信心了。我会把我在盈佳所学习到的知识真正的运用到工作中去,证明一下自己的能力,但我知道学到的这一点c++开发知识是远远不够的,所以工作以后我还会继续努力,直到自己在这行做出点名堂来为止。

浅谈可编程逻辑器件 第6篇

1 八位全加器

八位全加器是由一位全加器来实现的。首先来看看一位全加器。一位全加器有三个输入, 两个输出。假设输入分别为a、b、ci, 输出的分别为sum、co。其中a、b为加数, ci为低位的进位位, sum为该位加数的和, ci为加数的进位位。首先a与b异或得到n1, ci与n1异或得到结果sum, n1和ci按位与得到n3, a和b按位与得到n2, n2和n3按位或得到进位位co。以上便是一位全家器的具体实现。现在要根据一位全家器来实现八位全加器, 当然是二进制的全加器。顾名思义, 八位全加器是由八个一位全加器来实现的。八位全加器的输入和输出分别由参数下标来区别。第一个加数的八位依次接入输入参数a1、a2、a3–a7、a8的八位, 第二个加数的八位依次接入输入参数b1、b2、b3–b7、b8的八位, 第一个全加器的低位输入进位位应置0, 其它前一个全加器的输出进位位连接到之后一个全加器的输入进位位, 每一个全加器的输出sum1、sum2–sum7、sum8构成了八位的输出结果。以上便是由一位全加器构成的八位全加器, 同理, 可由一位全加器构成十六位、三十二位全加器。

2 双向移位寄存器

双向移位寄存器具有异步清零, 双向移位, 置数的功能。如下图所示, 输入端分别为时钟脉冲clk, 异步清零clr, 置数load, 控制左移还是右移方向位left_right, 4位置数端DIN[0], DIN[1], DIN[2], DIN[3]。输出端分别为DOUT[0], DOUT[1], DOUT[2], DOUT[3]。置数时为并行置入, 输出时为并行输出。开始时, 置数端为1000, clr为低电平, left_right为低电平, 为左移, load为高电平时进行并行置数, 此时输出为1000。当load为低电平时, 将按着之前的设置在每一个时钟脉冲clk的上升沿进行移位, 输出分别为0100, 0010, 0001, 0000。当load为高电平时, 再次置数为0001, 此时left_right为高电平, 即右移。同理, 当load为低电平时, 将按着之前的设置在每一个时钟脉冲clk的上升沿进行移位, 输出分别为0010, 0100, 1000, 0000。当clr为高电平时, 将异步清理。

3 三位加计数器

同理, 三位加计数器的输入分别为复位信号clr, 时钟信号cp, 使能信号en。输出为三位结果和q[0], q[1], q[2]和进位q[3]。易知只有在clr和en为高电平时, 计数器在时钟脉冲的作用下开始工作。en为低电平时, 此时的输出端会保持不变。当clr为低电平时, 则清零。

以上通过实验, 可以看出可编程逻辑器件很灵活, 通过编程实现不同的功能, 极大地提高了电子系统的通用能力, 大大缩短了产品开发、上市的时间, 降低了开发成本, 已成为现代高层次电子设计方法的实现载体。

摘要:电子技术是20世纪发展最迅速、应用最广泛的新兴技术之一, 它成为近代科学技术发展的一个重要标志。所以现代电子设计技术是一个未来电子设计工程师必须掌握的技术。EDA是电子设计自动化 (Electronic Design Automation) 的缩写, 是由CAD (计算机辅助设计) 、CAM (计算机辅助制造) 、CAT (计算机辅助测试) 和CAE (计算机辅助工程) 的概念发展起来。可编程逻辑器件 (Programmable Logic Device) 的功能不是固定不变的, 它可根据用户的需要进行改变, 由编程的方法来确定器件的逻辑功能。由于FPGA技术的快速发展, FPGA产品在逻辑密度、性能和功能上有了极大提高, 同时器件成本也大幅下降, 可编程逻辑技术已经能与专用集成电路和专用标准产品争夺市场, 并逐渐呈现代替专用集成电路和专用标准产品的趋势。

关键词:Quartus II,编程,八位全加器

参考文献

[1]陈赜, 邹道胜, 朱如琪.CPLG/FPGA与ASIC设计实践教程 (第二版) [S].北京:科学版社, 2010.

[2]贺本涛.机械加工表面质量及影响因素[J].高科技与产业化, 2008 (08) .

可编程逻辑控制器实践探讨 第7篇

关键词:PLC,控制,胶带运输,应用

可编程控制器 (Programmable Controller) 是专门为工业控制应用而设计制造的, 称可编程逻辑控制器, 简称PLC, 它主要用来代替继电器实现逻辑控制, 具有运动处理、过程处理、通信功能等作用, 其发展为社会的工业带来了大大的有利之处。

一﹑可编程控制器的特点

可编程控制器在智能自动化的运用中具有可靠性强、适用性强、易学易用以及能耗小等特点。PLC采用现代大规模集成电路技术, 加以严格的生产工艺制造, 内部电路也采取了先进的抗干扰技术, 因此, 该技术具有十分有保证的可靠性。由于是可编程的。因此在应用中, 还可以编入外围器件的故障自诊断程序。因为已经经过一定时间的发展与摸索实践, 可编程控制器已经形成了大、中、小各种规模。在此基础上, 还具有标准化、系列化、模块化的特征。

PLC实质就是通用工业控制计算机, 它的定位就是面向工矿企业的工控设备。由于接口容易, 工程技术人员对其编程语言可以很好的接受。甚至于不熟悉电子电路、不懂计算机原理和汇编语言的人都可以通过梯形图语言的图形符号与表达方式等进行操作运用, 使用时十分近便的。在使用可编程控制器时, 无论是系统的设计、安装、调试的工作还是其工作维护, 都是比较方和容易的。由于PLC梯形图程序多数采用顺序控制设计法, 有规律, 易掌握使其最大的特点。因为相较于复杂的控制系统, 梯形图的设计时间比设计继电器系统电路图的时间要少得多。以超小型PLC为例, 新近出产的品种底部尺寸小于100mm, 仅相当于几个继电器的大小, 因此可将开关柜的体积缩小到原来的1/2~1/10。它的重量小于150g, 功耗仅数瓦。由于体积小很容易装入机械内部, 是实现机电一体化的理想控制设备。

二﹑PLC的应用举例

2.1主机应用。PLC控制主机可以采用PLC多重处理器, 并且在此基础上能能够行处理技术, 多重抗干扰技术, 软件采用模块化设计等工作。使配置应用灵活, 便于扩展维护, 易于编程, 加上可编程控制器的体积小, 耗能少, 不为是一个好的应用之选。在该运用中, 其方法有以下几种选择:实验操作方式下, 对任意一种传感器进行实验, 并确认是否完好运转正常;集控操作方式下, 可以对某种故障传感器进行解除和投入;工作操作方式下, 根据点动启动方式, 先让输送带得到缓冲, 然后第二次按启动按钮使输送机正常运转, 既减轻了胶带撕带接头的缓冲压力, 避免了胶带断带撕带现象, 有效地遏止了事故的发生。

2.2烟雾传感器。众所周知, 烟雾传感器的运用能能够达到很好的使用效果。传感器输出与烟雾信号成正比的电压信号, 经电压比较器及数字电路处理输出烟雾超限报警信号。这种方法尤其适用于工业生产和加工, 能够起到高温报警的作用。

2.3速度传感器以及防跑偏装置。速度传感器具有发光管和光电接收管, 通过接收滚筒上的磁脉冲, 通过在标准时间内计数脉冲次数得到轮的转速, 从而得到轴转速。通过可编程控制器编程之后, 能够有一个较好的抗干扰能力。由接线箱和传动杆两部分组成, 导杆采用高速轴承接触与皮带同步运动, 减少了皮带磨损, 选用行程开关, 传动导臂大于设定时停机。 (下转30页) (上接14页)

2.4温度传感器以及语音控制器。采用专用温度集成电路和高精度转换器、V/V转换、电压比较器、报警器及输出电路。具有精度高, 免校准, 工作稳定可靠, 设定容易等优点。语音报警信号装置集信号传递、发光显示、通话为一体。通过电压放大器与输送机综合保护装置主机相连接。在全巷道内安设多个该装置, 并通过电缆串联连接, 从而在全巷道内实现了报警功能。当输送带要启动时, 它与胶带综合保护装置主机启动信号同步响起, 在全巷道内发出启动预警信号, 提醒周围职工远离输送带, 确保人员安全。

2.5急停开关。传送装置的应用中, 急停是不可避免的安全保护措施。作为沿线维修及系统异常事故的安全锁定, 复位后方可开机。可采用行程开关设计。输送机巷道每个紧停开关用拉绳进行连接, 信号接入带式输送机控制开关, 实现在输送机巷道内任何一点都能紧急停车的功能。

结束语

计算机控制是实现工业自动化和智能化的一个重要手段, 而PLC的应用也使计算机控制的便捷和智能化更加深入。本文主要介绍了PLC可编程控制器的一些具体的特点以及应用选择等, 希望能够对以后的工作需要有一个具体的作用。

参考文献

[1]于海生.计算机控制技术[M].北京:机械工业出版社, 2007.

[2]王建华, 黄河清.计算机控制技术[M].北京:高等教育出版社, 2003.

可编程逻辑电路 第8篇

1控制要求分析

当生产开始以后, 液压缸在一个工作周期过程中应该完成如下动作:①活塞向下运动到指定位置下腔压缩排气②活塞向上运动到指定位置上腔压缩排气, 共两个顺序动作。这个问题是一个经典的顺序位置控制问题, 应用可编程逻辑控制器实现液压缸的自动循环控制, 应该在一些特定动作位置处安装线性传感器或者行程开关, 用其来判断活塞的运动是否到达位置, 而且同时断定从上一个动作转到下一个动作的要求[3,4]。由于该系统进行二级压缩, 所以, 选用两个液压缸, 四个位移传感器, 每个液压缸装两个位移传感器LT01、LT02、LT03、LT04。按照压缩机的工作需求, 编制了液压系统的程序控制流程图, 如图1所示:

2液压系统图

按照液压缸的动作需求和工作循环设计的液压系统图, 如图2所示:

1, 2三位四通电磁换向阀;3, 4液控换向阀;LT01, LT02, LT03, LT04位移传感器;5, 6液压缸;PT01, PT02, PT03压力传感器;TIT01, TIT02, TIT03温度传感器按下开始按钮进行通气, 当供气压力>3MPa时, 传感器PT01触发, 可编程逻辑控制器控制电磁铁1DT得电, 电磁阀1从左位接入, 液压油经过单向阀流向控油口K1, 进而推动阀芯向右移动, 把右腔中的油推出, 流进油箱, 同时液压缸C1腔进油, D1压缩气体排气, A1吸气, B1排油, 在液压缸上腔活塞与LT01触碰时信号传递, 可编程逻辑控制器接收信号控制电磁阀1左边1DT断电, 电磁阀1切换到中位 (Y型中位机能) , 液压缸5停止下限位, 当右边2DT通电, 电磁阀1从右位接入并换向, 活塞向上运动B1腔吸油, C1腔排油, A1腔压缩排气, D1腔吸气, 当液压缸下腔活塞与LT02接触时传递信号, PLC接收信号控制电磁阀1右边2DT断电, 电磁阀1切换到中位 (Y型) , 液压缸5停止上限位。液压缸6的控制原理同液压缸5相同。此时, 完成了液压缸的2个动作控制, 进行下一个动作循环。电磁铁动作表 (“+”代表得电, “—”代表失电) 如表1所示。

在这个液压系统之中, 使用电液换向阀1和3, 2和4控制液压缸5和6的运动方向, 使用液控单向阀控制回路中液压缸活塞的位置, 使用单向节流阀控制液控换向阀的阀芯运动速度, 每个输入输出量在PLC的精确控制下完成上述动作。

3 PLC选型及I/O分配

目前, 常见的可编程逻辑控制器品牌型号有很多, 而且也各有各的控制功能特点, 全面考虑液压缸的工作需求, 在工作过程中, 需要可编程逻辑控制器控制精确度比较高, 运算速度和效率比较快, 而且具有非常高的处理任务能力, 以及较低的经济成本和较高的技术工艺指标[5]。由于可编程逻辑控制器的输出电流较少, 选用西门子—200, 其I/O都满足要求[6]。可编程逻辑控制器的输入端和各个传感器、控制按钮直接连接, 可编程逻辑控制器输出端与各个电磁阀直接连接, 使用可编程逻辑控制器上带的电压为24V的电源或者外置的电压为24V的电源来使其运动, 使用编辑程序的软件来实现程序编辑和运行的监控, 图3所示为PLC的I/O地址接线图以及外部接线图。

4结语

使用可编程逻辑控制器来对液压控制系统的液压缸进行控制, 使液压系统和设备的体积减小, 实现模块化运行, 而且运行时稳定性好、可靠度高, 并且各个I/O指示简单、清楚, 使安装、调试、维修、改制液压系统和设备所需要的时间极大缩短。避免了使用继电器控制器所需消耗大量的时间、人力以及物力的不足, 也避免了使用继电器控制器对系统进行控制的响应速度慢、控制过程繁琐、可靠性差、安全性低等不足。用可编程逻辑控制器控制液压缸的液压控制系统, 可以实现工作精准、稳定, 对降低工人工作时的噪音、提高工作效率、节约能源、减少不必要的浪费更有利, 并且使液压系统的工作性能得到提高, 液压设备的使用寿命得到延长, 自动化程度和传输效率得到极大的提升, 尤其是仅需要对程序进行调整就可以改变液压缸的一些动作。

总而言之, 基于可编程逻辑控制器的液压控制系统对液压缸实现控制, 可缩小设备的体积, 使设备的控制结构得到极大的精简, 降低能耗, 使生产稳定、可靠、安全, 使设备的工作效率和智能化程度得到了提高。

摘要:使用可编程逻辑控制器 (简称PLC) 对液压系统的液压缸进行控制, 代替传统的继电器控制器, 通过可编程逻辑控制器的输入和输出接口, 与液压系统中液压缸的模拟量和开关量建立关联, 就可以完成液压缸的顺序动作, 实现智能化控制, 从而达到操作简单方便、控制精确度高、可靠度高、安全性好的目的, 在很大程度上降低了液压系统的故障率, 而且极大地提高了工作效率和智能化程度, 具有很高的使用价值。

关键词:可编程逻辑控制器,液压控制,液压缸

参考文献

[1]黄志昌, 黄鹏.液压与气动技术[M], 北京:电子工业出版社, 2006:80-100.

[2]陈在平, 赵相宾.可编程控制器技术与应用系统设计[M].北京:机械工业出版社, 2002:15-30.

[3]刘俊, 李文.基于PLC的液压机控制系统设计[J].机械制造与自动化, 2011 (1) :157-160.

[4]刘辉, 林玲.基于PLC控制的液压控制系统[J].科技经济市场, 2006 (8) :20-21.

[5]高钦和.可编程控制器应用技术与设计实例[M].北京:人民邮电出版社, 2004.

可编程逻辑电路 第9篇

可编程逻辑控制器实验课是单独设置的一门具有12个学时的实验课, 如何在课时总量限定的前提下, 合理有序地安排实验课的教学环节, 一直是我们在思考的问题。实验课程的安排、教学内容的侧重都应以培养学生的动手能力、自主创新能力出发, 贯彻培养人才的原则, 研究确定实验中的每一个环节的地位、作用以及彼此的关系, 做好突出重点和平衡全局, 使得每一个实验都具有独立性, 同时又能够衔接为一个较完整的整体。

1 培养学生的设计和动手能力

本实验课程主要教学方法分为:验证型实验、设计应用型实验、综合应用型实验。在整个实验过程中, 主要是以验证型试验和设计应用型实验为主, 综合性实验为辅。这三种实验验证型实验和设计应用型实验分布在实验课程的初期, 而综合性实验主要安排在实验课程进度的后半程, 这样可以让学生能够由浅入深的掌握课程内容和理论知识。

第一个实验:LED数码显示控制。实验目的是熟练掌握移位寄存器位SHRB, 能够灵活的运用移位寄存器。针对学生第一次使用PLC编程软件和硬件平台, 我们给出了详细的实验指导方案和实验流程, 同时在实验课上积极辅导学生, 及时解答学生的疑惑, 尽快的让学生熟悉硬件和软件平台。

第二个实验:天塔之光模拟实验。实验目的是了解并掌握移位寄存器位SHRB的基本应用及编程方法。由于学生已经对实验软硬件平台基本熟悉, 那么这个实验我们给出了一个实验框架, 给定了实验要求, 但具体的实验步骤和试验方法由学生自定。当面板上的基本输入输出接线正确连接, 同时正确的编写应用程序并把程序下载到主机中后, 就可以完成实验任务, 达到实验的目的。

第三个实验:运料小车控制模拟。实验目的是用PLC构成运料小车控制系统, 掌握多种方式控制的编程。该实验依然是只给定实验要求和实验方案, 而具体的实验步骤和试验方法由学生自定。实验方法是通过选择手动方式按下四个开关, 进而决定小车的运行方式。小车的状态主要有装料、卸料、自动以及单周期工作方式。

第四个实验:十字路口交通灯控制。实验目的熟练使用基本指令, 根据控制要求, 掌握PLC的编程方法和程序调试方法, 了解使用PLC解决一个实际问题。本实验是课程中最重要的环节, 旨在培养学生的综合能力和创新能力, 属于综合性实验。在该实验的进行过程中, 我们只给学生设定大目标, 所有的实验步骤和实验规划都由学生自己制定。最终完成通过一个启动开关控制信号灯的功能。

在课程设计中, 要经历总体方案设计、指令设计、单指令调试以及总体调试等过程, 给学生一定的设计和发挥空间, 首先进行项目的可行性分析, 然后确定一个最佳的实践方案, 然后进行项目调试、运行和检查, 最后写出实验报告, 要求学生对整个实验的过程和结果能够进行有效的分析总结, 提出自己的看法和建议。

2 发挥学生的创造性和主动性

在整个实验过程中, 涉及多种控制电路和模型。如果仅仅按照实验指导书上给定的内容, 肯定会限制学生的创造性和主动性, 使学生在学习的过程中无法体会到学习的乐趣。为了提高学生学习的主动性和创造性, 在实验过程中, 从总体方案设计和实验调试应该更多的让学生自动动手完成。如:具体的实验指令由学生自己设计, 因此学生可以根据所学内容, 任意选择多种设计方案来完成具体的实验课题, 从而使得学生提交的实验报告出现多种设计方案, 重复很少, 大大增强了学生的学习兴趣和主动性。

在这个的实验课程教学中, 教师的作用应该仅仅是启发引导, 已达到让学生独立思考和完成的目的。在课程设计过程中, 遇到问题, 老师应该鼓励学生独立分析所遇到的难题, 使用所学到的各种技术手段去独立解决解决出现的问题, 同时鼓励学生多维思考, 是否能够使用不同的方法来解决同一种问题, 从而达到创新的目的。

从整个教学过程中来看, 学生能够很好的接受这种教学方式, 在教学过程中表现出很好的主观能动性和学习积极性, 有些学生的实验方案和建议具有很好的创造性和使用价值, 对课程的改进和发展起到了很好的促进作用。

3 引进新的教学模式和课程考核评分标准

在教学过程中, 结合国外的教学经验和模式, 实行了开放式教学。每个课程设计按照计划的课时数目进行, 但是做实验的时间由学生安排, 给学生们一定的自主权, 使得他们可以更好的查阅资料和做好实验的准备工作。

本课程在实验过程中为两人一组, 旨在培养学生的团队合作的精神, 在实验构成中可以相互探讨、共同商量。

通过评定成绩可以考核学生在实验过程中掌握知识的熟练程度。通过考察学生的总体设计能力、动手能力以及综合能力三个方面, 以分阶段打分、实验结果验收的方法, 综合全面考察学生的实际动手能力。

总结

在实验教学过程中, 我们深刻的体会到, 实验教学是培养大学生动手能力的重要途径和有效的方法。只有在实验教学过程中让学生亲自动手、勇于尝试, 才能够使得学生有效地吸收和掌握课本和课堂上的理论知识, 因此, 实验教学是大学可充中培养学生扎实的专业基础、良好的专业技能的关键所在。提高实验教学水平, 发展实验室的建设, 无疑对培养学生的素质和动手能力起到了积极的作用。

摘要:在结合教学实践的基础上, 从培养高质量人才的角度, 结合本专业特点, 对高校可编程逻辑控制器的实验教学体系的几个方面进行了探讨和改革, 主要包括实验方法、实验环节以及实验课程考核等几个方面。

关键词:可编程控制器,教学研究与改革,实验教学

参考文献

[1]卢立新, 陆佳平.包装计算机辅助设计课程教改的认识与实践.北京印刷学院学报, 2002, 10 (1) , 43~45

[2]王兆义.可编程控制器教程.机械工业出版社

[3]刘建英, 徐爱萍.计算机组成原理实验课教改方案的设计.实验室研究与探索, 2005, 24 (2) , 57~58

可编程逻辑电路 第10篇

关键词:等精度,频率计,单片机,FPGA

1 引言

频率检测是电子测量领域最基本也是最重要的测量之一, 频率信号抗干扰能力强, 易于传输, 可以获得较高的测量精度。所以测量频率方法的研究越来越受到重视, 设计中采用了模块化设计方法, 并使用了EDA工具, 提高了设计的效率, 各项实测表明, 等精度测频率、周期、占空比的原理是合理的、成功的, 本产品的研制解决了在测量系统中需要高精度测量的不便。

2 总体设计方案

传统的数字频率计一般是由分立元件搭建而成, 随着单片机的应用, 出现了不少用单片机控制的频率测量系统。相比分立元件构成的电路, 单片机频率测量系统在测量范围、测量精度和测量速度上都有了很大的提高。但是由于单片机固有特性的限制 (频率、内部计数器位数) , 使单片机控制的频率测量系统无法在频率测量范围、精度、速度上有更大突破[1]。

F P GA是新型的可编程逻辑器件, 具有集成度高、速度快、可移植性强、具备在系统编程等优点, 在测频精度和速度上有绝对的优势。但是, 等精度数字频率计涉及到的计算包括加、减、乘、除等, 以及对于显示和输入设备的控制, 耗用的资源比较大, 用一般的中小规模FPGA芯片难以实现。因此, 我们选择单片机和FPGA的结合来实现。电路系统原理框图如图1所示, 其中单片机完成整个测量电路的测试控制、数据处理和显示输出, FPGA完成各种测试功能。单片机接收红外遥控信号, 从FPGA读回计数数据并进行运算, 向显示电路输出测量结果。这样的设计充分发挥了单片机和FPGA的优势[2]。

3 等精度测频原理

等精度测频方法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定的值, 而是被测信号周期的整数倍, 即与被测信号同步, 因此, 避除了对被测信号计数所产生±1个字误差, 并且达到了在整个测试频段的等精度测量, 其测频原理如图2所示。在测量过程中, 由两个计数器分别对标准信号和被测信号同时计数。首先给出闸门开启信号 (预置闸门上升沿) , 此时计数器并不开始计数, 而是等到被测信号的上升沿到来时, 计数器才真正开始计数。然后预置闸门关闭信号 (下降沿) 到时, 计数器并不立即停止计数, 而是等到被测信号的上升沿到来时才结束计数, 完成一次测量过程。可以看出, 实际闸门时间T与预置闸门时间T0并不严格相等, 但差值不超过被测信号的一个周期[3]。

等精度测频原理框图如图3所示, C O N T 1和C ON T 2是两个可控计数器, 标准频率信号从CON T1的时钟输入端CLK1输入;经整形后的被测信号从CONT2的时钟输入端CLK2输入。当预置门控信号为高电平时, 经整形后的被测信号的上升沿通过D触发器的Q端同时启动CONT1和CONT2。CON T1, CON T 2同时对标准频率信号和经整形后的被测信号进行计数, 分别为Ns与Nx。当预置门信号为低电平的时候, 后而来的被测信号的上升沿将使两个计数器同时关闭, 所测得的频率为 (Fs/Ns) *Nx。则等精度测量方法测量精度与预置门宽度的标准频率有关, 与被测信号的频率无关。在预置门时间和常规测频闸门时间相同而被测信号频率不同的情况下, 等精度测量法的测量精度不变[4]。

4 系统设计及实现

4.1 FPGA内部功能模块设计

本设计中采用FPGA和单片机相结合来实现对频率的测量, 它们都是可编程芯片, 需要对其进行软件编程。FPGA是在Quartus II开发平台下运用V H D L语言进行编程、仿真与验证, 而单片机的程序是在Keil软件下运用C语言来编写。等精度频率计FPGA部分的RTL电路如图4所示。

S S1的逻辑功能为:当Q 2=‘1’, Q3=‘0’, 则PU L=‘1’, 否则PU L=‘0’。当Q2=‘1’, Q3=‘1’则EEN D=‘1’, 否则EEN D=‘0’。

根据RT L电路可以比较容易地写出相应的V H DL程序, 接下来在所建项目下建立一个波形文件, 进行仿真。所得到的波形结果如图5和图6所示。

4.2 单片机软件设计

系统软件的设计主要是和硬件电路相结合, 正确地实现等精度测量。单片机程序主要完成的任务包括:接收红外遥控信号, 从而控制FPGA执行测频或测脉宽功能, 并且从32位计数模块读取标准信号和被测频率信号的计数值, 然后进行数据处理, 把处理结果通知系统, 由系统根据数据的处理结果做出调整, 对运算后的结果用液晶12864进行显示。

在向液晶屏写指令和写数据时, 是严格按照时序来操作的, 所以要尽量少的运用中断程序, 或者使中断里的程序尽量简短, 这样才不至于干扰到液晶屏的显示, 否则很容易出现花屏现象。而对于红外数据的解码主要在于对数据“0”和“1”的判断, 当一个周期内高电平和低电平比例为一比一, 那么就判断为“0”, 而当在一个周期内高电平和低电平比例为一比三, 那么就判断为“1”, 这些在编程时都有一些小的技巧, 需要不断通过调试来完成。而在单片机与FPGA通信方面我们也下了不少功夫, SPI协议是一种串行协议, 我们这里却不是完全按照串行协议来使用, 而是用单片机模拟出来的一种改良后的协议, 可以很稳定的让单片机和FPGA之间传输信号[5]。

4.3 单片机与FPGA连接电路

单片机测频控制电路如图7所示, 由单片机完成整个测量电路的测试控制、数据处理和显示输出, FPGA完成各种测试功能[18]。当中由于单片机与F P GA在速度上存在不匹配的问题, 所以单片机与F P GA不能直接进行通信, 而是通过增加两根连接线, 在程序上模拟出SPI协议, 通过SPI协议可以很稳定的进行之间的通信, 这样就很好地解决了单片机和FPGA之间速度不匹配的问题[6]。

4.4 硬件实现

本实验在调试阶段中用到的主要硬件有MAX I I最小系统, LY-51S单片机开发板, 1286 4液晶屏, 红外遥控器。在寝室时, 由于没有标准信号发生器, 所以调试阶段, 单独用一个单片机最小系统产生一个固定信号, 作为信号源, 对此信号进行测量。通过这套系统把单片机和FPGA程序最终调试了出来。调试阶段整个硬件系统如图8所示。

在通过开发板调试完单片机和FPGA程序后, 接着对硬件的最终形式做了定夺。采用双层板结构, 把连线部分完全放在两层板子中间, 这样在外部看来不会显得很乱, FPGA和单片机插在下层板上, 上层板放置了12864液晶屏、红外接收头和红外信号接收指示灯, 这样的设计使整个系统简洁大方, 最终成品如图9~图11所示。

我们在这里设置了红外信号接收指示灯的主要目的是对红外干扰信号的探测, 因为当我们测频时外部有可能有红外干扰信号, 而红外接收芯片是与单片机的外部中断P3.2口相连, 且设置的是下降沿触发, 所以一旦有干扰信号, 单片机就会误进中断, 而12864液晶屏是按时序来控制的, 一旦误进入中断次数过多, 就会使12864液晶屏出现花屏现象, 降低了用户体验。所以设置了指示灯和一个可以切断红外接收芯片和单片机相连的开关, 当发现指示灯提示干扰过多, 可以手动关掉此开关, 单片机不再接收红外信号。

在基本功能实现的基础上, 出于对个性的追求, 最后又加入了点阵显示模块, 点阵显示模块是与主模块随时保持同步工作, 用于提示此时机器处于的状态, 从另一层面增加了用户体验。

4.5 技术指标

基于传统测频原理的频率计的测频精度将随被测信号频率的下降而降低, 在实用中有较大的局限性, 而等精度频率计不但具有较高的测量精度, 而且在整个测量频率区域内保持恒定的测试精度。本系统设计的基本指标如下:

⊙对于频率测试功能, 测频范围为270H z~50MHz, 对于频率精度, 测频全域相对误差恒为百万分之一。

⊙对于周期测试范围, 信号的测试范围与精度与频率测试功能相同。

⊙对于脉宽测试功能, 测试的范围为0.1μs~1s, 测试的精度为0.01μs。

⊙对于占空比测试功能, 测试精度为1%~99%。

5 结束语

在软件设计方面, 针对系统实际应用, 对系统的各组成模块进行程序设计并进行波形仿真, 简单介绍了单片机的工作过程。但是由于采用的单片机是中等档次, 在算数运算方面只支持单精度浮点运算, 因此在得到的测量结果中, 只能保证7位有效数字。最后通过系统的整体设计, 将各模块有机的连接起来。在硬件验证方面, 先是利用单片机程序开发板和FPGA最小系统进行调试, 验证硬件与软件的实现方案。然后通过手工焊板, 实现简洁的一体机结构。

参考文献

[1]黄任.AVR单片机与CPLD/FPGA综合应用入门.北京:北京航空航天大学出版社, 2004.8

[2]陈云.PLD应用技术与数字系统设计.北京:电子工业出版社, 2003:79-82

[3]曾任贤.基于FPGA的等精度数字频率计的研究与实现.科技广场, 2009, (5) :238-239

[4]林明权.VHDL数字控制系统设计范例.北京:电子工业出版社, 2003:83~114

[5]Altera Corp.Nios II Development Board Data Sheet.Altera, 2005.45-48

上一篇:激活策略下一篇:服务型党组织创建