您的位置 首页 IC

根据EP1C6Q240C8的FPGA芯片完成电子测验体系的规划

基于EP1C6Q240C8的FPGA芯片实现电子测试系统的设计-本文采用的是ALTERA公司的EP1C6Q240C8型号的FPGA,整个体统采用模块化设计的思想,将各个模块用VHDL语言描述出来再进行连接。

导言

在大工业现场,常常会用到一些大型的吊车调运货品。这些吊车往往高达十几米乃至几十米。一般状况下,吊车司机往往是凭借着经历来判别吊钩所升的高度,或许通过地面上人员的指挥来判别上升的方位。这样作的缺陷是精度不行,因为凭借人的肉眼观测,会呈现很大的视觉误差,一起又要求别的装备人员指挥,添加了不必要的人力资源糟蹋。依据以上考虑,本文规划出一套用于测验吊钩上升高度的电子测验体系。

依据现场丈量,吊钩上升的速度较快,而且现场环境恶劣,用一般的单片机,一方面速度上跟不上,另一方面考虑到体系的稳定性,所以就挑选了现在使用越来越广泛的FPGA来规划。

1、体系的原理:

本体系是使用传感器检测脉冲的个数,然后将计数脉冲转化为长度单位,来完结对吊钩实践高度的丈量。详细进程如下:

首要由固定在主电动机上的光电码盘收集吊钩上升高度所转的脉冲数,该脉冲信号通过信号线送到FPGA通过处理之后开端计数,然后通过FPGA来完结脉冲到高度的换算,并将吊钩走的高度显现出来。体系组成框图如图1所示。

FPGA首要完结的使命是:(1)设定高度、主电动机轮的直径和滑轮组数。(2)高度丈量。(3)显现实践高度。

高度、直径和滑轮组的设定是通过波段开关来完结的。脉冲数的输入是通过光电码盘收集到的脉冲直接送入的。显现是用四位LED进行显现的。

2、FPGA完结

本文选用的是ALTERA公司的EP1C6Q240C8类型的FPGA,整个体统选用模块化规划的思维,将各个模块用VHDL言语描绘出来再进行衔接。

2.1 参数设定模块

该模块是将输入的高度、直径转化为十进制的高度值和单位脉冲的宽度。用于后边的核算。其间B1[11..0]和B2[11..0]是实践输入的二进制数,输入的量分别为高度和主电动机的轮直径,这些参数依据实践状况设定,通过波段开关手动输入,因为本体系用的是12位的波段开关,所以输入的最大整数为4095,直径的精度能够抵达毫米级,高度的精度能够抵达厘米级,因为本体系预先设定的高度为20米,所以确认的波段开关为12位,而实践中能够依据所使用的实践现场来详细设定波段开关的位数。

输入的二进制量通过该模块转化后变成单位脉冲的宽度(单位是十分之一毫米)和设定的高度值(单位是厘米)。

2.2 脉冲输入模块

因为在实践中为了削减电动机的负荷,往往用到一些动滑轮,那么所吊重物所走的实践高度与主电动机所转的圈数存在一个倍数联系,这个系数与滑轮组的个数有关,所以实践所计的脉冲数对应于重物走的高度之间也存在一个倍数联系,该模块的功用便是将前面输入的脉冲宽度和设定高度,以及滑轮组数通过运算转化成设定的主电动机所走的脉冲数。

在该模块中,在进行脉冲宽度和设定高度向脉冲数转化的进程中,因为FPGA不能进行浮点运算,所以要将其间的运算悉数转化为整数进行运算,在这里咱们选用的是最基本的四舍五入的运算办法,即当脉冲个数的十分之一位大于五时就将设定的脉冲数加一,若核算的脉冲数小于五,则舍掉。

2.3 计数模块

该模块是由四个最基本的双向加减计数器74193组成,输出值是16位,最大能够计数到65535,通过输入不同的端口来操控脉冲的加减运算,输入的是设定的脉冲数,是由脉冲输入模块输出,是通过参数设置而得到的计数脉冲的个数,实践的高度是这个设定脉冲的根底上进行相应的加减运算的。

2.3.1 数字滤波模块

现场环境要求信号线的传输间隔较大(50米),接收到的脉冲信号严峻畸变,如图2上面的波形所示。

因为脉冲计数是对方波的上升沿进行辨认的,信号中的毛刺形成FPGA无法精确辨认脉冲的个数,所以有必要选用必定的滤波办法,传统的滤波办法多是选用模仿电路完结的,本文是在FPGA中选用数字电路滤波,真实完结了片上体系。

滤波的原理是选用“移动窗口”的采样办法,通过设定“窗口”的宽度能够很好地收集到方波的凹凸电平,将毛刺滤掉。通过滤波后的波形如图2下面的波形所示,通过波形仿真发现通过滤波后波形信号显着变好。一起,该滤波办法能够依据收集波形的宽度来设定“窗口”宽度,这样就很好地完结了通用性。

2.3.2 分频模块

在滤波的进程中,信号的采样频率是很要害的,一般的采样频率是依据香农采样规律来定的,本文是依据现场要求,为了进步精度,将采样频率设定为信号频率的100倍。体系供给的晶震频率是50M的,所需求的采样频率为10KHZ,所以通过两个分频模块来完结50MHZ的频率向10KHZ的频率的转化,本文是通过两个分频模块来完结分频,首要是将50MHZ的频率分为200KHZ的频率,然后进一步将200KHZ的分为采样所需求的频率10KHZ。

2.3.3 方向检测

因为吊钩在跋涉的进程中有或许向上,也或许向下,本体系选用了一个相位检测体系来检测吊钩的运动方向,再依据加减计数模块的特性来进行加减运算。如图3所示,图中的输入量A,B是通过滤波电路之后的脉冲信号。输出信号AOUT,BOUT是相位检测的成果,传感器送来的脉冲信号AB相位差90度,假如首要检测到的是A相的高电平,那么AOUT输出的是A相脉冲,BOUT则一向为高电平。反之,假如首要检测到B相的高电平,那么BOUT输出为B相的脉冲,AOUT则一向为高电平。将AOUT和BOUT送到计数模块就能够完结加减计数功用了。

2.4 脉冲-高度转化模块

该模块的功用是将实践核算的脉冲数转化为对应的实践高度值输出显现,输入量分别为单位脉冲宽度Cn[9..0],滑轮组的数目n[3..0]和核算的脉冲数load[15..0]。输出的是实践高度loadToBCD[13..0],实践的高度是重物所走的高度,而计数脉冲是主电动机转过的圈数,它们之间存在一个滑轮组倍数联系的转化,也便是:

重物所走间隔=(脉冲数×单位脉冲的宽度)/滑轮组数

在运算的进程中,为了进步精度,本文相同选用了四舍五入的算法,可是,精度的进步是建立在添加耗用FPGA中逻辑单元的根底之上的,一起也影响了运算的速度。

2.5 整数—BCD码转化模块

实践高度要送到四位LED数码管进行显现,由脉冲-高度转化模块输出的高度数是一个整数量,需求转化为BCD码之后才干送七段码驱动电路显现。

2.6 其他模块

2.6.1 报警高度设定模块

在现场为了确保司机在操作吊钩的进程中不会呈现以外状况,常常设有一个报警点,当吊钩抵达这个点时,蜂鸣器会发出声音报警提示。本文设定的报警高度是1米,体系能够依据实践状况恣意设定报警点。

2.6.2 报警高度输出模块

因为涉及到滑轮组,需求将设定的高度转化为主电动机所转的间隔,再将这个间隔与转化为相应的脉冲数alarmout[15..0]输出。

2.6.3 报警比较模块

此模块是将图12所示的模块所转化的脉冲数与实践所计的脉冲数进行比较,假如脉冲数对应的高度抵达设定的报警点,蜂鸣器发出声音,提示司机。

3、 定论

本文改变了传统的规划办法,选用了先进的FPGA规划,很好地处理了软件规划存在地速度慢,稳定性差的特色。将性能好、速度高和灵活性好的FPGA引进到规划中,规划出了一套能够使用于恶劣环境的方位丈量仪。

本文立异点: 选用了先进的FPGA规划,很好地处理了软件规划存在地速度慢,稳定性差的特色。规划出了一套能够使用于恶劣环境的方位丈量仪。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/86677.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部