首页> 中国专利> 串行编码器的自动识别和统一协议装置

串行编码器的自动识别和统一协议装置

摘要

本发明公开了一种串行编码器的自动识别和统一协议装置,属于伺服电机控制领域。包括协议调度控制模块、多个串行编码器协议接口和通用接口转换模块;协议调度控制模块分别与多个串行编码器协议接口连接通讯,协议调度控制模块可分别对各个串行编码器协议接口进行调度;协议调度控制模块并连接串行编码器接口;多个串行编码器协议接口均与通用接口转换模块连接通讯。采用本发明的伺服驱动器可自动识别编码器类型,使之与对应的串行编码器匹配,快速、实时、高效,大大地提高了伺服电机的控制效率,避免资源浪费;软件开发人员只需知道一套并行的访问接口协议,而不必关心繁多的各家串行编码器的协议,进行软件的协议模拟工作,减轻开发负担。

著录项

  • 公开/公告号CN104850025A

    专利类型发明专利

  • 公开/公告日2015-08-19

    原文格式PDF

  • 申请/专利权人 南京埃斯顿自动控制技术有限公司;

    申请/专利号CN201510257952.6

  • 申请日2015-05-20

  • 分类号G05B19/04(20060101);

  • 代理机构32237 江苏圣典律师事务所;

  • 代理人程化铭

  • 地址 211100 江苏省南京市江宁经济开发区将军大道155号

  • 入库时间 2023-12-18 10:31:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-19

    专利权的转移 IPC(主分类):G05B19/04 登记生效日:20190329 变更前: 变更后: 申请日:20150520

    专利申请权、专利权的转移

  • 2017-12-26

    授权

    授权

  • 2015-09-16

    实质审查的生效 IPC(主分类):G05B19/04 申请日:20150520

    实质审查的生效

  • 2015-08-19

    公开

    公开

说明书

技术领域

本发明涉及一种编码器的识别装置,具体讲是一种串行编码器的自动识别和统一协议装置,属于伺服电机控制领域。

背景技术

目前,在根据伺服电机控制过程要根据不同类型的串行编码器的电机分别采用不同类型的伺服驱动器,以适应不同的编码器的各种协议的解析。这就造成伺服驱动器制造商与客户在使用伺服驱动器及厂家电机之前,首先要知道电机所带编码器的型号,然后在伺服驱动器及电机整体配套使用前在伺服驱动器上设置对应电机的编码器型号,才能识别使用。更有甚者,同样的伺服驱动器对应不同型号编码器的电机需要烧写不同的软件程序。即:相同的物理结构,却使用不同的软件程序,这给伺服制造商的调试人员与伺服使用客户造成很大的麻烦与资源浪费。

此外,目前软件开发人员往往需要根据不同的编码器协议,模拟不同的串行协议。但在实际使用过程中,即使FPGA/CPLD等可编程逻辑器件帮助实现了一些接口的转换,但是往往由于各编码器厂家协议的差异,最终与CPU/DSP等处理器访问接口还是各有不同,所以造成了软件开发人员与硬件FPGA/CPLD开发人员都必须牢牢掌握各家编码器协议,才能“配合”工作。

以上不足给伺服电机控制带来诸多不便,降低了控制效率,加重了开发人员的负担且造成不必要资源浪费。

发明内容

本发明所要解决的技术问题在于克服现有技术缺陷,提供一种能快速识别不同类型的串行编码器,并对不同的编码器协议进行统一的串行编码器的自动识别和统一协议装置。

为了解决上述技术问题,本发明提供的串行编码器的自动识别和统一协议装置,包括协议调度控制模块、多个串行编码器协议接口和通用接口转换模块;所述协议调度控制模块分别与多个串行编码器协议接口连接通讯,所述协议调度控制模块可分别对各个串行编码器协议接口进行调度;所述协议调度控制模块并连接串行编码器接口;所述多个串行编码器协议接口均与通用接口转换模块连接通讯。

本发明的有益效果在于:(1)、采用本发明的伺服驱动器可自动识别编码器类型,省去需人工先知道编码器类型,然后通过参数设定伺服驱动器的步骤,使之与对应的串行编码器能快速、实时、高效地匹配,大大地提高了伺服电机的控制效率,避免资源浪费;(2)、软件开发人员只需知道一套通用访问接口协议,而不必关心繁多的各家串行编码器的协议,进行软件的协议模拟工作,减轻开发负担;(3)、本发明结构简单,使用方便,可扩展性强,能正确无误地识别出所连接的编码器类型,且支持热插拔。

附图说明

图1为本发明串行编码器的自动识别和统一协议装置结构示意图;

图2为举例当识别到编码器1类型后的数据流向图。

具体实施方式

下面结合附图对本发明作进一步详细说明。

如图1、2所示,本发明串行编码器的自动识别和统一协议装置安装在伺服驱动器中,包括协议调度控制模块、多个串行编码器协议接口和通用接口转换模块。协议调度控制模块分别与多个串行编码器协议接口连接通讯,协议调度控制模块同时连接串行编码器接口,串行编码器接口用于各种串行编码器的接入。多个串行编码器协议接口分别与通用接口转换模块连接通讯,通用接口转换模块连接伺服驱动器的CPU/DSP等通用处理器。

协议调度控制模块:主要负责串行编码器协议的试探发送、接收等待以及枚举发送、以及各个串行编码器协议接口的调度。协议调度控制模块根据串行编码器反馈的信息,判定串行编码器有无识别成功,若成功,继续使能此模块,进入正常工作模式;若不成功则关闭此串行编码器协议接口的使能,打开下一个串行编码器协议接口的使能,继续逐步枚举。拔掉编码器后,由于通讯终断,会产生超时,相当于原来识别到的串行编码器类型丢失。一旦检测到编码器未连接,本发明的协议调度控制模块会再次进入自动识别状态,直到新的串行编码器接入后再次枚举成功。

  多个串行编码器协议接口:主要将各个编码器的具体串行协议翻译成对应的通用并行数据访问接口,用于与CPU/DSP等处理器芯片通讯。每个不同协议的串行编码器分别对应一个串行编码器协议接口;串行编码器协议接口的数量可以根据实际控制需要进行选择。串行编码器协议接口对其对应的串行编码器串行通讯协议进行解析(从编码器接收数据时)与转换(CPU/DSP向编码器发送数据时);

通用接口转换模块:主要负责把不同的串行编码器返回的信息转换成通用共同格式的输出接口,把CPU/DSP通用的发给编码器的命令接口翻译成对应编码器类型的专用命令接口。例如,编码器返回读到的位置信息有的是16位的,有的是24位的,本发明统一转换成32位的位置数据输出(有效数据在低位,高位无效常为0);发给编码器的命令,以“0x01”举例代表统一的读编码器位置信息命令,但是由于各家编码器协议不一样,比如编码器类型1的读命令可能是“0x02”,编码器类型2的读命令是“0x03”等等,这时通用接口转换模块会根据协议调度控制模块的编码器类型信息,如图1中enc_type,对应地把统一的读命令“0x01”转换成“0x02”还是“0x03”等等。

这样就方便CPU/DSP的软件开发,软件开发人员就不需要关注最底层的不同串行编码器的串行协议,只要知道对所有串行编码器的通用的统一操作即可,例如发起对编码器读位置的要求,只需发“0x01”,发起对编码器的写EEPROM要求只需发“0x11”(此数字举例,可根据需要改变),发起对编码器的读EEPROM要求只需发“0x21”(此数字举例,可根据需要改变)等。因此根据此发明,无论是哪家的编码器,即使不同的串行通讯协议,但CPU/DSP等处理器的软件开发人员侧的操作都是一样。对于CPU/DSP等处理器来看就是一个黑盒子,而硬件FPGA负责黑盒子里面的具体内容实现。

上电后,协议调度控制模块会按照顺序使用调度信号enc1_en,调度串行编码器1协议接口向编码器发出请求信号enc1_tx与enc1_oe,经协议调度控制模块转换为enc_tx与enc_oe,等待编码器的应答,若收到编码器的应答信号enc_rx,经enc1_rx反馈到调度串行编码器1协议接口,若应答内容正确,调度串行编码器1协议接口向协议调度控制模块发送信号enc1_hit,协议调度控制模块会判定所接编码器为串行编码器1类型,若一直等不到响应或收到响应内容不正确,协议调度模块会判断非编码器1类型,此时图1中enc_type等于1;协议调度控制模块会使用调度信号enc2_en切换至串行编码器2协议接口,调度串行编码器2协议接口向编码器发出请求信号enc2_tx与enc2_oe,经协议调度控制模块转换为enc_tx与enc_oe,等待编码器应答,若收到编码器的应答信号enc_rx,经enc2_rx反馈到调度串行编码器2协议接口,若应答内容正确,调度串行编码器2协议接口向协议调度控制模块发送信号enc2_hit,协议调度控制模块会判定所接编码器为串行编码器2类型,若一直等不到响应或则收到响应内容不正确,协议调度模块会判断非编码器2类型,此时图1中enc_type等于2;以此类推。

若协议调度控制模块若从串行编码器1到串行编码器N都未能识别到编码器类型,则会重复再次调度串行编码器1到串行编码器N进行识别,直到编码器接入,正确识别到为至。

对应的串行编码器协议接口识别成功后,会自动连接协议调度控制模块的编码器接口,如图1中enc_rx与识别到的串行编码器1协议接口-串行编码器N协议接口相连接。此时对应的图1中的enc1_en-encN_en高有效,从此串行编码器协议接口控制权交给通用总线转换接口,通用总线转换接口位于通用接口转换模块与CPU/DSP之间,等待通用总线转换接口发过来的通用统一命令,图1中enc_para,通用接口转换模块将其翻译成对应的编码器类型的专有命令,图1中enc1_para-encN_para,通用统一命令转换成专有对应命令后经各个串行编码器协议接口转换成对应的串行编码器的串行数据命令,图1中enc1_tx,enc1_oe-encN_tx,encN_oe。

本发明串行编码器的自动识别和统一协议装置的工作过程为:

1、在串行编码器未接入状态下,伺服驱动器始终处于自动识别状态,当任意一个串行编码器连接到串行编码器接口后,协议调度控制模块调度任一串行编码器协议接口根据各自编码器制造商提供的串行编码器通讯传输协议的格式要求向串行编码器试探发送请求信号,等待回应;串行编码器通讯传输协议的格式包括串行传输的格式要求和串行传输速度要求;

2、串行编码器返回信号,若串行编码器返回信号且满足规定的格式并校验通过,则串行编码器识别正确,枚举请求发送动作结束;

若串行编码器未返回信号,则串行编码器识别失败

若串行编码器返回信号,但其格式以及校验错误,则串行编码器识别失败;

串行编码器识别失败识别后,协议调度控制模块再调度下一个串行编码器协议接口继续向串行编码器试探发送请求信号,等待回应,直至识别到正确的串行编码器,枚举请求发送动作结束;

3、枚举过程结束,进入正常的工作模式。各个串行编码器协议接口对其对应的串行编码器解析串行协议接口进行解析,把解析出来的数据缓存在各自的存储区域中,等到所有的解析数据都准备好,然后转换成并行、通用的数据经通用接口转换模块传输到CPU/DSP等处理器。

现以多摩川17位串行编码器与尼康20位串行编码器为例,验证本发明技术方案。

在实际电路板上调试,让其自动显示编码器的角度信息,在未插入编码器任何编码器的时候,数码管显示A50(表示串行编码器未接);接入尼康20位串行编码后器,数码管显示一个初始角度信息,转动尼康20位串行编码器数码管立即显示0°-360°的角度信息;拔掉尼康编码器,数码管显示A50。换接入多摩川17位串行编码器,数码管立即显示某个初始角度信息,转动多摩川17位串行编码器,数码管同样显示0°-360°的角度信息;经多次反复试验,都能快速地准确地识别出对应的串行编码器型号,并利用其协议读出角度信息。

本发明不仅可支持多摩川17位串行编码器与尼康20位串行编码器等目前常见的串行编码器,也支持BISS协议、Endat协议的串行编码器,只是增加对应串行编码器协议接口与增加对应协议的枚举识别过程。当然每增加一种串行编码器的支持,会有相应的硬件资源的消耗,但是随着现在的可编程逻辑器件的发展,可编程逻辑资源已经不是制约开发成本的主要因素,况且每增加一种编码器的支持,消耗的可编程逻辑资源本身就很少。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下还可以做出若干改进,这些改进也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号