CN108155910B - 一种基于fpga的高速正余弦编码器解码方法 - Google Patents

一种基于fpga的高速正余弦编码器解码方法 Download PDF

Info

Publication number
CN108155910B
CN108155910B CN201711397068.8A CN201711397068A CN108155910B CN 108155910 B CN108155910 B CN 108155910B CN 201711397068 A CN201711397068 A CN 201711397068A CN 108155910 B CN108155910 B CN 108155910B
Authority
CN
China
Prior art keywords
sine
fpga
coarse
cosine
encoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711397068.8A
Other languages
English (en)
Other versions
CN108155910A (zh
Inventor
吴国强
屈建龙
宋魁
刘宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
707th Research Institute of CSIC
Original Assignee
707th Research Institute of CSIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 707th Research Institute of CSIC filed Critical 707th Research Institute of CSIC
Priority to CN201711397068.8A priority Critical patent/CN108155910B/zh
Publication of CN108155910A publication Critical patent/CN108155910A/zh
Application granted granted Critical
Publication of CN108155910B publication Critical patent/CN108155910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/64Analogue/digital converters with intermediate conversion to phase of sinusoidal or similar periodical signals
    • H03M1/645Analogue/digital converters with intermediate conversion to phase of sinusoidal or similar periodical signals for position encoding, e.g. using resolvers or synchros
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/245Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains using a variable number of pulses in a train
    • G01D5/2451Incremental encoders

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)

Abstract

本发明涉及一种基于FPGA的高速正余弦编码器解码方法,其技术特点在于:包括以下步骤:步骤1、对正余弦编码器输出的两路正余弦信号和一路零位信号作编码器信号处理;步骤2、FPGA实现粗级角度信号测量,获得粗级脉冲边沿计数值;步骤3、FPGA实现精级角度信号测量,获得精级角度值;步骤4、根据步骤2的粗级脉冲边沿计数值以及正余弦编码器的转向和步骤3的精级角度计算值,粗精耦合解算得出当前编码器角度值。本发明在使用低成本、小体积编码器的情况下实现了角度的高速高精度测量。

Description

一种基于FPGA的高速正余弦编码器解码方法
技术领域
本发明属于旋转式惯性***控制与测量技术领域,涉及高速正余弦编码器解码装置,尤其是一种基于FPGA的高速正余弦编码器解码方法。
背景技术
旋转式惯性导航***中,***姿态是最重要的输出指标之一,而***姿态是由IMU解算姿态和旋转机构的角度叠加而成,因此高速高精度的角度测量装置是***设计的保障。常用的角度测量装置有旋转变压器和光电编码器。旋转变压器精度和可靠性表现都比较良好,但其价格高昂,常用在超高精度惯性设备中;与旋转变压器相比,光电编码器造价较低,结构形式多样,安装简便,尤其是正余弦编码器,因其特定的信号输出形式,编码器在刻线数一定的情况下,可以通过后续信号处理获得更高精度的角度信息,因此在旋转式惯性***中有较为广泛的应用。
目前,现有的正余弦编码器解码装置多采用单片机或DSP完成,虽然易于实现,但是数据采集速度很难提升,同时传统的低精度AD转换方式很难发挥正余弦编码器的信号细分性能。因此,研发一种高精度高速正余弦编码器解码方法是本领域技术人员迫切需要解决的一项技术难题。
发明内容
本发明的目的在于提供一种设计合理、采样速度快且采样精度高的基于FPGA的高速正余弦编码器解码方法。
一种基于FPGA的高速正余弦编码器解码方法,包括以下步骤:
步骤1、对正余弦编码器输出的两路正余弦信号和一路零位信号作编码器信号处理;
步骤2、FPGA实现粗级角度信号测量,获得粗级脉冲边沿计数值;
步骤3、FPGA实现精级角度信号测量,获得精级角度值;
步骤4、根据步骤2的粗级脉冲边沿计数值以及正余弦编码器的转向和步骤3的精级角度计算值,粗精耦合解算得出当前编码器角度值。
而且,所述步骤1的具体步骤包括:
(1)两路正余弦信号依次通过差分放大、低通滤波、零电压比较器和光耦隔离电路,产生A和B两路相位相差90度的TTL电平脉冲信号输出至FPGA;
(2)所述两路正余弦信号还依次通过差分放大和低通滤波电路后,分别输出至两路高精度AD采集电路,该两路高精度AD采集电路将AD的数据通过SPI总线输出至FPGA;
(3)一路零位信号依次通过差分放大、零电压比较器和光耦隔离电路,将一路零位信号转换为TTL电平窄幅零位脉冲信号输出至FPGA。
而且,所述步骤2的具体方法为:根据步骤1第(1)步产生A和B两路相位相差90度的TTL电平脉冲信号的相位关系,确定当前正余弦编码器的转向;并在FPGA中创建粗级脉冲边沿计数器,根据两路增量脉冲信号关系,完成粗级脉冲边沿计数值计算。
而且,所述步骤3的具体方法为:将A路正弦信号的一个周期划分为四个象限,根据正反转条件下的两路脉冲信号关系,确定当前所处象限数;并利用FPGA实时采集AD转换器测得的两路正余弦信号电压值,通过查找事先编制的数组表,获得当前的精级角度值。
而且,所述步骤4的粗精耦合解算得出当前编码器角度值的计算公式如下:
θangle=Kcorse·Δdegp+Dir·βfine
其中:θangle为当前实测角度值;
Kcorse为粗级脉冲计数值;
Δdegp为每个粗级单位计数所表示的角度值,采用5000线正余弦编码器,该值为360/(5000*4)=0.018°;
Dir为转向指示标志,正转为+1,反转为-1;
βfine为精级角度测量值。
本发明的优点和有益效果:
1、本发明提供基于FPGA的高速正余弦编码器解码方法,主要包括编码器信号处理、采用FPGA实现粗级角度信号测量、采用FPGA实现精级角度信号测量、粗精耦合解算当前编码器角度值四个步骤。本发明针对旋转式惯性***对旋转机构角度精度的要求,创新性地进行了电路功能模块设计和FPGA解码程序设计,经实际验证,角度更新频率可达32KHz,远高于采用单片机或者DSP实现的解码频率,在使用低成本、小体积编码器的情况下实现了角度值的高速高精度测量。
2、本发明实现了远高于采用单片机或者DSP实现的解码频率,在使用低成本、小体积编码器的情况下实现了角度的高速高精度测量。
附图说明
图1是本发明的本发明处理流程图;
图2是本发明的本发明处理流程图;
图3是本发明的正向旋转时A/B信号波形图;
图4是本发明的反向旋转时A/B信号波形图。
具体实施方式
以下结合附图对本发明实施例作进一步详述:
本发明提供了一种基于FPGA的高速正余弦编码器解码方法,采用差分放大、低通滤波等电路提高模拟信号的质量和抗干扰能力,采用比较电路和FPGA脉冲边沿捕获模块获得粗级角度信号,采用FPGA解析高精度AD所测得的模拟量获得精级角度信号。在以上功能模块的协作下,利用成本低、体积小、刻线数少的正余弦编码器即可输出较高精度的角度测量值,从而满足惯性***的需求。
在本实施例中,编码器以5000线正余弦编码器为例,2路正余弦信号和1路零位信号分别用A、B、Z表示。
一种基于FPGA的高速正余弦编码器解码方法,如图1所示,包括以下步骤:
步骤1、对正余弦编码器输出的两路正余弦信号和一路零位信号作编码器信号处理;
所述步骤1的具体步骤包括:
(4)两路正余弦信号依次通过差分放大、低通滤波、零电压比较器和光耦隔离电路,产生A和B两路相位相差90度的TTL电平脉冲信号输出至FPGA;
(5)所述两路正余弦信号还依次通过差分放大和低通滤波电路后,分别输出至两路高精度AD采集电路,该两路高精度AD采集电路将AD的数据通过SPI总线输出至FPGA;
(6)一路零位信号依次通过差分放大、零电压比较器和光耦隔离电路,将一路零位信号转换为TTL电平窄幅零位脉冲信号输出至FPGA。
在本实施例中,所述步骤1包括以下具体步骤:
1)编码器输出信号处理电路如图2所示。两路正余弦信号A、B依次通过差分放大、低通滤波、零电压比较器和光耦隔离电路,产生两路相位相差90度的TTL电平脉冲信号,该信号连接至FPGA的通用IO接口;
2)该两路正余弦信号还通过差分放大、低通滤波电路后,分别连接至两路高精度AD采集电路,FPGA通过通用IO接口连接到AD采集芯片的SPI数字引脚上;
3)零位信号Z依次通过差分放大、零电压比较器和光耦隔离电路,转换为TTL电平窄幅零位脉冲信号,该信号连接至FPGA的通用IO接口。图3和图4分别为正转和反转时A、B两路信号的正余弦模拟量与增量脉冲波形图。
步骤2、FPGA实现粗级角度信号测量,获得粗级脉冲边沿计数值;
所述步骤2的具体方法为:根据步骤1第(1)步产生A和B两路相位相差90度的TTL电平脉冲信号的相位关系,确定当前正余弦编码器的转向;并在FPGA中创建粗级脉冲边沿计数器,根据两路增量脉冲信号关系,完成粗级脉冲边沿计数值计算;
在本实施例中,所述步骤2包括以下具体步骤:
1)根据根据步骤1第(1)步产生A和B两路相位相差90度的TTL电平脉冲信号的相位关系(具体如图3和图4),确定当前正余弦编码器的转向;
2)在FPGA中创建粗级脉冲边沿计数器,根据两路增量脉冲信号关系,完成粗级脉冲边沿计数值计算,另外当FPGA捕获到正转时零位脉冲信号的下降沿或反转时的上升沿后,将该计数值清零。信号状态为输入、编码器转向和计数值为输出时,其逻辑关系如表1所示。
表1正反转条件下粗级脉冲计数值计算表
Figure BDA0001518742210000061
步骤3、FPGA实现精级角度信号测量,获得精级角度值;
所述步骤3的具体方法为:将A路正弦信号的一个周期划分为四个象限,根据正反转条件下的两路脉冲信号关系,确定当前所处象限数;并利用FPGA实时采集AD转换器测得的两路正余弦信号电压值,通过查找事先编制的数组表,获得当前的精级角度值。
在本实施例中,所述步骤3包括以下具体步骤:
1)将A路正弦信号的一个周期划分为四个象限,根据正反转条件下的两路脉冲信号关系(具体见图3和图4),确定当前所处象限数,具体如表2所示,然后分别编制四个象限对应的数组参照表。
表2正反转条件下单个周期象限对应表
Figure BDA0001518742210000071
2)利用FPGA实时采集AD转换器测得的两路正余弦信号电压值,通过查找事先编制的数组表,获得当前的精级角度值。
步骤4、根据步骤2的粗级脉冲边沿计数值以及正余弦编码器的转向和步骤3的精级角度计算值,粗精耦合解算得出当前编码器角度值。
所述步骤4的粗精耦合解算得出当前编码器角度值的计算公式如下:
0angle=Kcorse·Δdegp+Dir·βfine
其中:θangle为当前实测角度值;
Kcorse为粗级脉冲计数值;
Δdegp为每个粗级单位计数所表示的角度值,采用5000线正余弦编码器,该值为360/(5000*4)=0.018°;
Dir为转向指示标志,正转为+1,反转为-1;
βfine为精级角度测量值。
采用本发明所述的方法,进行了试验验证,试验中采用精度为1”的徕卡经纬仪作为基准,通过多点重复采样的方式记录经纬仪示数和本发明装置的读数,通过10次角度值采集,统计本发明装置的采样误差最大最小值小于10”,同时角度更新频率最快可设置为32000Hz,充分验证了本发明的优势。
需要强调的是,本发明所述实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

Claims (3)

1.一种基于FPGA的高速正余弦编码器解码方法,其特征在于:包括以下步骤:
步骤1、对正余弦编码器输出的两路正余弦信号和一路零位信号作编码器信号处理;
步骤2、FPGA实现粗级角度信号测量,获得粗级脉冲边沿计数值;
步骤3、FPGA实现精级角度信号测量,获得精级角度值;
步骤4、根据步骤2的粗级脉冲边沿计数值以及正余弦编码器的转向和步骤3的精级角度计算值,粗精耦合解算得出当前编码器角度值;
所述步骤1的具体步骤包括:
(1)两路正余弦信号依次通过差分放大、低通滤波、零电压比较器和光耦隔离电路,产生A和B两路相位相差90度的TTL电平脉冲信号输出至FPGA;
(2)所述两路正余弦信号还依次通过差分放大和低通滤波电路后,分别输出至两路高精度AD采集电路,该两路高精度AD采集电路将AD的数据通过SPI总线输出至FPGA;
(3)一路零位信号依次通过差分放大、零电压比较器和光耦隔离电路,将一路零位信号转换为TTL电平窄幅零位脉冲信号输出至FPGA;
所述步骤4的粗精耦合解算得出当前编码器角度值的计算公式如下:
θangle=Kcorse·Δdegp+Dir·βfine
其中:θangle为当前实测角度值;
Kcorse为粗级脉冲计数值;
Δdegp为每个粗级单位计数所表示的角度值,采用5000线正余弦编码器,该值为360/(5000*4)=0.018°;
Dir为转向指示标志,正转为+1,反转为-1;
βfine为精级角度测量值。
2.根据权利要求1所述的一种基于FPGA的高速正余弦编码器解码方法,其特征在于:所述步骤2的具体方法为:根据步骤1第(1)步产生A和B两路相位相差90度的TTL电平脉冲信号的相位关系,确定当前正余弦编码器的转向;并在FPGA中创建粗级脉冲边沿计数器,根据两路增量脉冲信号关系,完成粗级脉冲边沿计数值计算。
3.根据权利要求1或2所述的一种基于FPGA的高速正余弦编码器解码方法,其特征在于:所述步骤3的具体方法为:将A路正弦信号的一个周期划分为四个象限,根据正反转条件下的两路脉冲信号关系,确定当前所处象限数;并利用FPGA实时采集AD转换器测得的两路正余弦信号电压值,通过查找事先编制的数组表,获得当前的精级角度值。
CN201711397068.8A 2017-12-21 2017-12-21 一种基于fpga的高速正余弦编码器解码方法 Active CN108155910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711397068.8A CN108155910B (zh) 2017-12-21 2017-12-21 一种基于fpga的高速正余弦编码器解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711397068.8A CN108155910B (zh) 2017-12-21 2017-12-21 一种基于fpga的高速正余弦编码器解码方法

Publications (2)

Publication Number Publication Date
CN108155910A CN108155910A (zh) 2018-06-12
CN108155910B true CN108155910B (zh) 2021-11-09

Family

ID=62465050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711397068.8A Active CN108155910B (zh) 2017-12-21 2017-12-21 一种基于fpga的高速正余弦编码器解码方法

Country Status (1)

Country Link
CN (1) CN108155910B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108981765B (zh) * 2018-07-27 2021-03-26 上海航天控制技术研究所 一种绝对式光电编码器测量通道容错设计方法
CN112539771A (zh) * 2019-09-20 2021-03-23 九江精密测试技术研究所 一种多轴绝对编码器解算电路***
JP2021092493A (ja) * 2019-12-12 2021-06-17 日本電産サンキョー株式会社 エンコーダ
CN111811562B (zh) * 2020-07-22 2021-04-20 中国科学院长春光学精密机械与物理研究所 一种基于微控制器的增量式光电编码器精粗校正方法
CN112152540B (zh) * 2020-09-29 2024-05-24 中国船舶集团有限公司第七二四研究所 一种旋转变压器单绕组反馈全角度位置解算方法
CN112629570B (zh) * 2020-11-25 2022-04-08 武汉先同科技有限公司 一种基于fpga的编码器滤波算法
CN114499697A (zh) * 2022-01-05 2022-05-13 苏州伟创电气科技股份有限公司 一种电机编码器解码方法、装置、电子设备及存储介质
CN114608627B (zh) * 2022-03-14 2022-12-20 浙江大学 一种基于过象限检测的高精度大量程相位测量***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276633A (en) * 1992-08-14 1994-01-04 Harris Corporation Sine/cosine generator and method
CN101210821A (zh) * 2006-12-28 2008-07-02 中国航天时代电子公司第十六研究所 一种双通道轴角转换和测量中粗精耦合的方法
CN102111158A (zh) * 2010-11-23 2011-06-29 广州数控设备有限公司 对位置传感器的正余弦信号细分和数据编码的装置及实现方法
CN202041221U (zh) * 2011-03-02 2011-11-16 西安交通大学 一种正余弦编码器细分装置
CN102270961A (zh) * 2011-07-20 2011-12-07 深圳市海浦蒙特科技有限公司 正余弦编码器的信号细分方法及细分装置、电机控制装置
CN202171461U (zh) * 2011-08-24 2012-03-21 上海三一精机有限公司 一种编码器的高倍高速细分器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131793B2 (en) * 2006-11-09 2012-03-06 Pentomics, Inc. Efficient angle rotator configured for dynamic adjustment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276633A (en) * 1992-08-14 1994-01-04 Harris Corporation Sine/cosine generator and method
CN101210821A (zh) * 2006-12-28 2008-07-02 中国航天时代电子公司第十六研究所 一种双通道轴角转换和测量中粗精耦合的方法
CN102111158A (zh) * 2010-11-23 2011-06-29 广州数控设备有限公司 对位置传感器的正余弦信号细分和数据编码的装置及实现方法
CN202041221U (zh) * 2011-03-02 2011-11-16 西安交通大学 一种正余弦编码器细分装置
CN102270961A (zh) * 2011-07-20 2011-12-07 深圳市海浦蒙特科技有限公司 正余弦编码器的信号细分方法及细分装置、电机控制装置
CN202171461U (zh) * 2011-08-24 2012-03-21 上海三一精机有限公司 一种编码器的高倍高速细分器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
正余弦编码信号纠偏与细分技术研究;马泽龙;《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》;20130715;第37-44页 *
马泽龙.正余弦编码信号纠偏与细分技术研究.《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》.2013,第37-44页. *

Also Published As

Publication number Publication date
CN108155910A (zh) 2018-06-12

Similar Documents

Publication Publication Date Title
CN108155910B (zh) 一种基于fpga的高速正余弦编码器解码方法
WO2021114419A1 (zh) 一种旋转磁电编码器的校准方法、装置及设备
CN101521480B (zh) 一种旋转变压器信号解算方法及解算器
CN109945819B (zh) 一种永磁同步电机转子位置测量方法
CN102624375B (zh) 兼容多种编码器与旋转变压器接口的信号处理装置
CN106706012A (zh) 编码盘、应用该编码盘的光电测角编码器及其工作方法
CN105978570A (zh) 一种正余弦编码器高精度信号处理***
US11073409B2 (en) SINCOS encoder interface
CN108181482A (zh) 基于虚拟正弦波的实时低速检测装置
CN104634367A (zh) 一种大中心孔结构的磁电式绝对位置传感器及测量绝对位置的方法
CN103557830A (zh) 一种兼容多种传感器的测角板卡
WO2021017074A1 (zh) 一种光磁混合编码器***
CN102879017B (zh) 双速轴角数字转换器粗精组合***
CN112945288B (zh) 一种旋转变压器全角度测量装置及方法
CN204392210U (zh) 一种编码信号转换电路
CN102636127A (zh) 轨迹跟踪式干涉信号计数细分装置及方法
CN110133316B (zh) 一种光电编码器精密测速***及方法
CN110375788B (zh) 一种四路正交差动信号解调仪表校准方法及***
Banerjee et al. A novel FPGA-based LVDT signal conditioner
CN106323277A (zh) 一种激光陀螺惯导仪表信号采集电路
CN202533042U (zh) 轨迹跟踪式干涉信号计数细分装置
CN105300353B (zh) 基于过采样技术的高精度倾角测量仪
CN112665531B (zh) 一种多对级旋变坐标变换解角方法
CN110243401B (zh) 光编码器的光电池和光磁编码器的解码装置
CN109581044B (zh) 应用于旋转变压器的电压检测装置及工作方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant