您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页基于FPGA的多路光电编码器数据采集系统

基于FPGA的多路光电编码器数据采集系统

来源:爱go旅游网
 2008年 第3期

仪表技术与传感器

Instrument Technique and Sensor2008 

No13 

基于FPGA的多路光电编码器数据采集系统

贾雅琼,俞 斌

(湖南工学院电气与信息工程系,湖南衡阳 421008)

  摘要:研究了能够同时对多路光电编码器脉冲信号进行细分、计数以及传输的数据采集处理系统。提出了以高度集成的FPGA芯片为核心的设计方式,实现6路光电编码器信号的同步实时处理。坐标测量仪的6个编码器传出的数据完全在FPGA芯片中进行细分、辨向、计数以及锁存传输处理,最后所得的数据以串行通讯的方式传送到PC机。设定了FP2

GA芯片外围电路和PC机数据接收程序的功能。

关键词:光电编码器;FPGA;细分辨向;VHDL语言;串行接口中图分类号:TN21   文献标识码:A   文章编号:1002-1841(2008)03-0057-03

DataAcquisitionSystemforMultipleEncordersBasedonFPGA

JIAYa2qiong,YUBin

(DepartmentofElectricsandInformation,HunanInstituteofTechnology,Hengyang421008,China)

Abstract:Thesystemofsignalacquisitionofthefourfold2frequencysubdivision,direction2judgment,countingandflip2latchofthedatawhichcamefromthesixencorderswasinvestigated.Thehigh2compositiveFPGA(filedprogrammablegatearray)chipwasusedasthecoretodealwiththesignalofthesixencodersinrealtime.Thefourfold2frequencysubdivision,direction2judg2ment,countingandflip2latchofthedatawhichcamefromthesixencordersweretotallytransactedintheFPGAchip.ThefinaldataweresenttothePCthroughtheserialinterfaceoftheFPGA.Afterthat,thehardwarecircuits,especiallysomeofthekeyparts,weredescribedindetail.

Keywords:encoder;FPGA;fold2frequencysubdivisionanddirection2judgment;VHDL;serialinterface0 引言

现在,对单路光电传感器数据信号进行四倍频以及辨向处理时,多采用门级电路搭建的电路板、单片机或FPGA编程来实现。其中使用电路板和单片机的方法通用性差、编译复杂、电路板庞大、而且响应其他事件的实时性变差,不适合用于运算速度快,且多路输入的数据采集计算任务。随着电子设计技术的飞速发展,用户现场可编程门阵列(FPGA)的复杂程度越来越高,其所具备的功能也越来越多,芯片也向小型化发展,逐步成为复杂数字硬件电路设计的理想首选[1]。FPGA/CPLD既继承了ASIC的大规模、高集成度、高可靠性的优点、又克服了普通ASIC设计周期长、投资大、灵活性差的缺点[2]。FPGA的集成度很高,可完成极其复杂的时序和组合逻辑电路功能,适用于高速,高密度的高端数字逻辑电路设计领域。

1 系统总体设计方案

图1 系统原理框图

以及各种开关的整体电路板设计;使用软件编程实现PC机对接收到的数据进行采集处理。

2 硬件逻辑设计

FPGA芯片内部逻辑程序的编写是设计的主体,主要分为

数据采集系统如图1所示,在设计过程主要分为3部分进行:FPGA芯片内部设计、芯片外围电路设计和PC机数据接收程序设计。

  其中A1~A6,B1~B6为6路光电编码器输出的相位差为

90°的方波信号,Z1~Z6为零位信号,FC-1、FC-2、FC-3分别是控

光电编码器信号的采集处理过程(如细分,计数等)和最后所得数据的串行输出2部分。

2.1 光电编码器信号的采集处理

制计数器在不同工作方式下进行计数的功能选择信号,OE输出使能信号控制锁存器锁存数据并输出。FPGA芯片为系统的核心,由它完成对光电编码器信号的四细分、辨向、计数、锁存以及串行输出;外围电路涉及到FPGA芯片的电源、稳压电路、

收稿日期:2007-05-08 收修改稿日期:2007-11-12

在对信号的细分、辨向、计数和锁存过程中,6路信号的

VHDL语言描述是相同的,故此以上过程可以以1路传感器信

号A1、B1和Z1为例,芯片内部工作的流程图如图2所示。

2.1.1 计数器工作模式选择

在开始时,首先要确定的是计数器的工作方式,FC-1、FC-2和FC-3这3个拨码开关的不同组合方式分别对应3种不同的

   58 

 

InstrumentTechniqueandSensor

 

Mar12008 

号。这里针对输出方波信号的光栅进行了讨论,而对于输出正弦波信号的光栅尺,经过整形可变为方波信号输出。

输出方波的光栅有A相、B相和Z相3个电信号,A相信号为主信号,B相为副信号,2个信号周期相同,均为W,相位差为

90°。Z信号可以作为校准信号以消除累积误差,如图4所示。

图2 FPGA芯片内部流程图

图4 光电编码器输出方波信号波形图

工作方式。计数器的工作方式只有在数据处理系统开始运行时确定,在系统运行的过程中无法改变。计数器工作模式选择部分的流程图如图3所示。

  由图4可知,在第1处虚线位置,信号A发生跳变,由

VHDL语言体现出来就是AπEVENTandA=′1′,而此时B=′0′,

由此可以判断出信号A超前信号B1/4个周期,其他虚线位置同理,由此实现辨向功能,计数器可根据判断条件做出加或减的操作。当信号A和B发生跳变时,对A和B进行同异逻辑运算,从结果中即可判断对计数器进行加操作还是减操作[2]。

2.1.3 数据锁存

在该设计中,锁存器是由VHDL语言描述的同步锁存器。所谓同步锁存器指的是复位和加载功能全部与时钟同步,复位端的优先级较高[4]。在数字系统设计时,采用完全同步的锁存器,可以避免时序错误,锁存器工作流程如图5所示。

图3 计数器工作模式选择流程图

当拨码开关组合为001时,计数器开始计数,开始图2所示的流程,此模式为最常用的模式;当拨码开关组合为010时,计数器继续等待状态,直到起始信号set-b=1时才开始计数,此模式用于移动机械臂而不需要计数的情况;当拨码开关组合为100时,计数器继续等待状态,直到起始信号set-c=1时计数器开始计数,此时的计数器不受输出使能信号OE的控制,只在编码器再次经过零位时,计数器停止计数并将数据输出。此模式用于测试计数器是否有漏数现象发生。

2.1.2 四细分、辨向和计数

在信号处理、测量电路中,用到了触发器、计数器等多种数字集成电路,测量分辨率为光栅栅距W.目前,计量用光栅的刻线一般为50~250线/mm,对应的栅距W为20~4μm,在精密测量中往往不能满足要求。每转动1个角度单位,光电编码器都会发出1个周期的完整的方波A和B,通过对A和B信号的全部上升沿和下降沿进行计数,不需要专用的细分模块,即可实现四细分;并通过在每个跳变沿判断A与B的电平高低来实现辨向。

目前使用的光栅的输出信号一般有2种形式,一是相位角相差90°的2路方波信号,二是相位依次相差90°的4路正弦信

图5 锁存器工作流程图

  当时钟信号clk上升沿到来时激活进程,如果此时零位信号Z有效(高电平),锁存器latch1被复位,输出信号为低电平;如果此时零位信号无效(低电平),并且输出使能信号OE有效

(高电平),锁存器latch1的输出信号data1为输入信号count1;

否则,锁存器输出data1保持原值,亦即数据锁存。fifo-wt为

FIFO的写使能信号,初始值为′0′,它控制将数据data1写入FIFO,再通过输出模块发送。其他5路信号处理方式相同。

   第3期

2.2 串口输出模块设计

 

贾雅琼等:基于FPGA的多路光电编码器数据采集系统

3.2 PC机接收程序设计

 

  59

串口模块向PC机发送数据的总体流程如图6所示。串口模块始终处于等待状态,当接收到数据锁存模块发来的信号后,就开始将锁存器中的数据串行发送给PC机。

PC机程序实现接收FPGA芯片串行发送的数据;设置串口

的波特率、奇偶校验、数据位以及停止位;将接收的数据发送给空间坐标计算程序等功能[3]。PC机数据接收程序运行流程图如图8所示。

图8 PC机数据接收程序运行流程图

图6 串口输出流程图

4 结束语

针对基于FPGA的数据采集、处理与传输系统进行了深入

3 外围电路与数据接收程序设计3.1 FPGA芯片外围电路设计

FPGA芯片及外围电路框图如图7所示。电路主要包括FPGA芯片EPF10K20TC144-3、配置芯片EPC1441、晶振、电

的理论分析和应用研究,采用将绝大部分处理工作集中在FP2

GA芯片中的方法,具有实现小型化、集成化,同时能够进行较

高频率的数据处理等优点。参考文献:

[1] 亿特科技.FPGA/CPLD应用系统设计与产品开发.北京:人民邮

源、串行输出端口、拨码开关以及编码器脉冲输入接口等。

电出版社,2005:23-26.

[2] 徐新,于红旗.基于FPGA的嵌入式系统设计.北京:机械工业出

版社,2005:78-85.

[3] 许兴存.实用、精确、可靠的数据采集法.计算机应用研究,1994

(5):13-15.

[4] 曾繁泰.VHDL程序设计.北京:清华大学出版社,2001:56-58.[5] 张宝宜.基于CPLD的高精度位移测量电路的设计与实现.仪表

技术与传感器,2006(7):35-37.

作者简介:贾雅琼(1982—),硕士,主要研究方向为电路与系统和DSP

图7 FPGA芯片及外围电路框图

技术。E-mail:yaqiongjia@163.com

(上接第56页)

[2] AD5570single16-bitserialinput,voltageoutputDAC.Rev.0.7.

USA:AnalogDevices,2002.

[3] 杜海波,江培华,刘国满,等.基于PMC标准的四路通用DA板设

计实现.微计算机信息,2006(26):304-307.[4] 朱海生,赵洪亮,杜晓辉,等.基于DSP的多通道信号处理平台的

  该设计方法现已应用于大庆油井氧活化测量仪的相关设

备控制。经高温环境作业验证,电路性能良好。4 结束语

基于一阶RC积分电路设计的多路D/A控制信号具有设计简便,输出调节易控制,成本低廉的优点。积分电路RC时间常数越大,输出电平越接近振荡信号的直流分量值。将数字信号处理器的PWM模块与该电路相结合投入应用,能较容易实现输出具有高线性度的可调D/A信号,且信号的调节分辨率可自由设置。应用该方案实现多路信号输出,不对DSP产生中断请求,因此不会给DSP系统的整体设计造成冗余负担。在高温环境下作业,该设计方案仍然具有等同常温环境条件下的可靠性。参考文献:

[1] C8051F120/1/2/3/4/5/6/7mixedsignalISPflashMCUFamily.

Rev.1.4.USA:SiliconLaboratories,2005.

设计.仪表技术与传感器,2007(3):59-61.

[5] 张秀丽,李萍,陆辉.TMS320VC02与串行AD/DA转换器的接

口设计.电子工程师,2003,29(8):21-23.[6] TexasInstrumentsIncorporated.TMS320C28X系列DSP的CPU与

外设.张卫宁译.北京:清华大学出版社,2005:295-301.

[7] 李青.电路与电子技术教程.北京:中国计量出版社,2003:28-35.

[8] 苏奎峰,吕强.TMS320F2812原理与开发.北京:电子工业出版社,

2005:423-438.

作者简介:何平(1962—),博士,教授,博士生导师,主要研究方向为工

业过程检测与控制,信号检测与自动化装置。

E-mail:daipeng6071@hit.edu.cn

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务