下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于EP1C6Q240C8的FPGA芯片实现电子测试系统的设计引言在大工业现场,常常会用到一些大型的吊车调运货物。这些吊车往往高达十几米甚至几十米。通常情况下,吊车司机往往是凭借着经验来判断吊钩所升的高度,或者通过地面上人员的指挥来判断上升的位置。这样作的缺点是精度不够,由于凭借人的肉眼观测,会出现很大的视觉偏差,同时又要求另外配置人员指挥,增加了不必要的人力资源浪费。基于以上考虑,本文设计出一套用于测试吊钩上升高度的电子测试系统。根据现场测量,吊钩上升的速度较快,并且现场环境恶劣,用普通的单片机,一方面速度上跟不上,另一方面考虑到系统的稳定性,所以就选择了目前应用越来越广泛的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、结论本文改变了传统的设计方法,采用了先进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度物联网应用项目委托开发合同
- 2024年房屋装修合同:装修细节与质量要求
- 2024年度软件开发项目委托合同
- 2024年房地产交易与装修中介协议
- 2024年新劳动合同条款与实践指南
- 2024年投资融资协调合同
- 2024年数字媒体广告销售合同
- 2024年加工承揽合同标的加工要求与成品交付
- 2024年建筑工程职业责任保险条款
- 2024大数据分析服务合同内容
- 精品堆垛机安装指导书
- 前台月度绩效考核表(KPI)
- 鸡的饲养管理-优质课件
- 德育课(共19张PPT)
- 历史幽愤的现代回响——《记念刘和珍君》课堂实录
- 化学微生物学第7章 微生物转化
- 《少年正是读书时》-完整版PPT课件
- 四、贴标机基本调整法1
- 船舶建造方案
- 35KV集电线路铁塔组立专项方案
- 不锈钢管规格表大全以及理论重量表大全
评论
0/150
提交评论