一种BiSS协议的编码器数据读取方法

设计应用陶瓷线路板
esign & Application
D
一种BiSS协议编码器数据读取方法
An encoder data reading method based on BiSS protocol高斯玻取样
李绍军,胡福东,李其昌,梁冬冬,夏伟光 (北方信息控制研究院集团有限公司,南京 210000)
摘 要:针对目前BiSS协议编码器数据读取多采用FPGA实现的实际情况,文中介绍一种基于XMC4500微控制器的BiSS协议编码器数据读取实现方案。采用该方案,可将使用BiSS协议编码器的伺服系统控制电路常用的DSP+FPGA双控制器架构方式简化为XMC4500单控制器方式,在一定程度上降低了硬件成本和开发难度。用该方案采集BiSS协议编码器数据的实物平台,使用LabVIEW显示对读取的数据,并与电机自带增量编码器值进行对比,同时记录BiSS协议编码器实际数据波形图,结果表明,该方案具有较高的采样速率和较好的读取效果,具有一定参考价值。
关键词:BiSS;XMC4500;DSP;FPGA;LabVIEW
0  引言
BiSS 协议是一种快速双向通信协议,具有通信速率高、抗干扰能力强、硬件电路简单等优点,在伺服系统位置传感器领域得到了越来越广泛的使用[1-2]。BiSS 通信协议物理接口采用全双工差分RS422方式,但由于其时序较为独立及长度不定,难以使用常用的通用异步串口直接对BiSS 协议编码器数据解码读取。实际使用中,BiSS 协议的编码器数据可通过编码器厂商提供的专用解码芯片、微控制器或FPGA 读取[3]。编码器厂商提供的专用解码芯片一般价格较高且功能单一;文 献[4]中提出使用CY8C29466微控制器对BiSS 协议编码器数据进行解码,以读取正确的解码值,但受限于微控制器功能及性能,只能实现较低的采样速率,难以满足高速、高性能伺服控制系统的要求;文献[5]提出使用A3P400型FPGA 对BiSS 协议编码器数据进行解码,以准确读取解码值且具有较高采样速率,但FPGA 只用于编码器数据采集,实际伺服电机由DSP 驱动,即伺服系统电路结构采用DSP +FPGA 方式实现。这种双控制器方式通过高性能DSP 实现控制算法的快速准确计算,同时利用FPGA 的并行机理完成信号采集[6]。如果可以使用较为简化的硬件电路实现对BiSS 协议编码器数据准确的解码,并具有较高的数据采样速率,这样的
方式显然具有更高实用价值。
1  设计方案
BiSS -B 在BiSS 协议中应用最为广泛,由于涉及专利保护问题,随之开发出BiSS -C 协议,BiSS -C 与BiSS -B 可实现物理接口兼容[7],不同点在于两者时序定义略有差异,文中编码器使用BiSS -B 协议。BiSS 协议具有传感器模式和寄存器模式两种不同工作模式,前者可实现编码器数据的快速读取,后者可实现编码器寄存器数据的读写双向访问[8],文中基于传感器模式对方案的可行性进行了验证。
BiSS 协议编码器使用Hengstler 公司的AD36-1213 AF .0RBI 多圈绝对式光电编码器,其具有500 kHz 带宽,适合作为无刷伺服电机位置传感器。
BiSS -B 协议传感器模式时序如图1
所示。
图1 BiSS-B协议传感器模式时序图
作者简介:李绍军(1989-),男,硕士,从事光电转台伺服控制技术研究。Email:****************。
电子产品世界
MA为BiSS总线的时钟线,SLO为Biss总线的数据线。当MA和SLO同为高电平状态时,总线处于空闲时间,不进行数据传送。非空闲时间BiSS-B协议编码器数据线SLO上的数据帧格式如图2所示,图中括号内的数字表示该段数据所占用的MA时钟个数,不带括号的表示与MA时钟个数无关。
图2 BiSS-B协议传感器模式时序图
根据3种不同BiSS协议编码器数据解码方式特点和BiSS-B协议编码器时序的分析,文中采用XMC4500微处理器实现对BiSS-B协议编码器数据的解码,该方案硬件电路组成如图3所示。
图3 系统硬件电路框图
XMC4500是Infineon公司推出的基于Arm Cortex-M4 内核的微控制器,主频可以达到120 MHz,其内部集成多种专用电机控制外设,有多达6个通信接口方面,分别用于UART、SPI、IIC和IIS等4种不同功能的通用串行接口。本文使用其SPI功能接口实现对BiSS-B编码器数据的解码。XMC4500的SPI接口MOSR引脚作为输出引脚,输出BiSS协议编码器时钟线MA信号;MRSO引脚作为输入引脚,采集BiSS协议编码器数据线SLO上的信号。LabVIEW是一种图形化编程的数据采集软件,具有数据读取、数据分析、数据管理等功能,可减少程序代码编写,缩短设计时间[9]。为方便对BiSS 编码器数据的观察,使用LabVIEW设计了对应的上位机,显示XMC4500通过UART接口定时发出的编码器解码数据。
XMC4500将BiSS-B协议编码器MA线状态由空闲时间的高电平状态置为低电平状态,以启动一次BiSS-B总线上的数据发送。作为回应,编码器会在一定时间后将SLO线状态由高电平置为低电平状态,并随后再次置为高电平,以表示开始传输位置数据。位置数据以Start位开始,后面依次为:12位多圈计数值用于记录编码器旋转圈数;13位单圈计数值用于记录编码器单圈位置;1位错误位用于监测光电编码器LED工作状态;1位警告位用于监测编码器内部传感器工作环境温度、6位CRC校验位和Timeout段。
2  软件设计
XMC4500的SPI接口有长达64位的FIFO存储空间,可以一次性存储全部BiSS-B协议数据帧。初始化时,应对SPI接口的波特率及FIFO存储空间进行相应设置。文中BiSS-B协议编码器数据通过定时中断来读取。根据BiSS-B协议编码器传感器模式时序,XMC4500的MOSR引脚先发送若干Ack位检测时钟,直到MRSO 引脚检测到Ack位为止。由于编码器输出SLO数据响应MA时钟和总线传输有一定延迟时间,需要测量并记录Ack位相对时钟延迟时间以进行补偿。然后,XMC4500的MOSR引脚根据数据帧有效位数不断发送其他数据位时钟,同时MRSO引脚将SLO线数据逐一存储。当有效数据位数计数完毕后,XMC4500读取存于FIFO中的数据帧位,并根据编码器Timeout延迟时间将MA线拉高直至数据帧结束。根据前面记录的Ack 位延迟时间,对读取的FIFO数据帧位逐一处理,并采用多数表决方式确定每位的准确值,完成编码器单圈和多圈位置值重组,并定时将通过CRC校验的正确位置值发送至上位机进行显示。CRC校验方式为BiSS-B协议编码器数据帧中的多圈值+单圈值+错误位+警告位。根据编码器CRC计算等式,将计算出的6位CRC 校验值与数据帧结尾处的6位动态随机CRC校验值比较,若两者相同则表示接收编码器数据正确,该读取值可以使用;否则应判定为错误值,予以忽略。编码器数据读取软件程序工作流程图如图4所示。
设计应用
esign & Application
图4 编码器数据读取软件流程图
3  实验结果与分析
使用安川公司SGMM-A2C312伺服电机配合AD36- 
接地线夹1213AF.0RBI多圈绝对值光电编码器搭建的实物平台对
该方案实际效果进行了测试,实物验证平台如图5所示。
图5 实物验证平台图
LabVIEW上位机分别显示编码器上传的单圈和多
圈位置值,如图6所示。编码器单圈位置值为13位,
最大值8 191,多圈值为12位,最大值为4 195。
图6 上位机显示效果图
将同步采集伺服电机自带的2 048线增量式编码器
位置值与采集到的13位绝对式编码器位置值进行对比,
对比效果如图7所示。
图7 编码器数据对比图
记录连续3个周期采集到的绝对式编码器和增量式
编码器输出的位置值,并计算每个周期的平均速度,对
比结果如表1所示。
表1 对比结果
编码器位置最小点值位置最大点值对应速度
绝对式
编码器
88 135249.75
68 143250.06
88 146250.09
增量式
编码器
48 175251.16
28 163250.80
38 159250.64
采用绝对式编码器和增量式编码器连续3个周期获
得的平均速度相比误差很小,可见采用XMC4500采集
的绝对式编码器值与增量式编码器相比具有较好的准确
度和线性度。
使用XMC4500的SPI接口对BiSS-B协议编码器
以传感器模式读取实际时序波形,如图8所示。图中通
道1为MA线波形,通道2为SLO线波形,与BiSS-B
协议传感器模式协议时序一致。
(°)·s-1
电子产品世界
图8 编码器实际时序波形图
机械原理模型局部波形如图9所示,图中可见,XMC4500的SPI 接口所提供的MA 线时钟频率大于5 MHz
图9 编码器局部时序波形图
基础桩综合图8和图9进行分析,使用XMC4500微控制器SPI 接口对该型编码器完成一次读取用时少于28 μs ,其中包含编码器厂商设定的Timeout 时间约(10~15)μs , 液晶白板
可实现较高的采样速率。
4  结束语
文中提出了一种基于XMC4500读取BiSS 协议编码器数据的方法,试验结果表明,该方法可替代FPGA 完成对BiSS 协议的解码,具有较高的数据采样速率。使用该方法可以用XMC4500单控制器替代DSP +FPGA 方式,实现对BiSS 协议编码器伺服系统的控制,简化
了硬件电路设计,具有较好的参考价值。
参考文献:
[1] 商怀昊,韩基鹏,肖鹏,等.基于BiSS-C协议的编码器接口技术及在伺服驱动系统中的应用[J].工艺技术创新,2014,01(02):211-215.
[2] 俞小露,赵志方,卢欣霁.BiSS-C绝对式级联光栅编码器在工业机器人领域的应用[J].世界制造技术与装备市场,2015 (2):119-120.
[3] 王希远,成荣,朱煜,等.基于FPGA的BiSS-C协议编码器接口技术研究及解码实现[J].液晶与显示,2016,31(4):386-391.
[4] 高长清,林辉,张辉.BiSS接口的光电编码器数据读出研究[J].计算机测量与控制,2009,17(5):957-958,961.
[5] 王列虎,皮佑国.基于BiSS协议的编码器接口技术研究及研究[J].机床与液压,2011,39(8):103-105,121.
[6] 李捷,卢子广,杨达亮.基于DSP/FPGA的级联型固态变压器控制研究[J].电测与仪表,2016,53(24):39-43,55.
孙彦超.基于XMC4500的PMSM的控制系统的设计[D].沈阳:沈阳航空航天大学,2016.
[8] 霍海龙.基于BiSS的编码器及其在伺服驱动系统中的应用[J].电气自动化,2011,33(3):12-14.
[9] 谢志远,魏佳红,时方,等.LabVIEW在中压电力线信道噪声发生器设计中的应用[J].电测与仪表,2014,51(14):120-124.
(上接第43页)
[3] 尹兴林,徐鑫.城市公交行车安全事故分析研究[J].城市公共交通,2019(07):26-28+30.
[4] 李梅.广西道路运输安全事故统计分析及对策建议[J]. 西部交通科技,2020(5):166-170.
[5] 陈立伟,仝盼盼,熊敏,等.24GHz盲区监测与变道辅助雷达系统的开发[J].汽车安全与节能学报,2019,10(2):200-210.
[6] 康莹莹.保障公交车安全的主动安全智能防控系统[J]. 城市公共交通,2019(11):38+41.
[7] 孙德生.基于ADAS的汽车倒车防碰撞系统设计与研究[J].电子技术应用,2021,47(1):28-30,35.
[8] 江苏省交通运输厅运输管理局.2017.道路运输车辆主动安全智能防控系统[S].
[9] 上海市交通运输行业协会新能源和节能减排分会. 基于视觉技术的公交主动安全预警应用现状及发展趋势[J].城市公共交通,2020 (08):42-45+49.
[10] 许翔,黄宏宏.一种基于全景影像技术的车辆盲区监测系统:中国,CN110920525A [P].2020-03-27.
[11] JT/T 1078—2016.道路运输车辆卫星定位系统视频通讯协议[S].北京:交通运输部,2016.

本文发布于:2024-09-22 13:25:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/170187.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:编码器   数据   协议   读取   解码
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议