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

文档序号:8903426阅读:525来源:国知局
串行编码器的自动识别和统一协议装置的制造方法
【技术领域】
[0001]本实用新型涉及一种编码器的识别装置,具体讲是一种串行编码器的自动识别和统一协议装置,属于伺服电机控制领域。
【背景技术】
[0002]目前,在根据伺服电机控制过程要根据不同类型的串行编码器的电机分别采用不同类型的伺服驱动器,以适应不同的编码器的各种协议的解析。这就造成伺服驱动器制造商与客户在使用伺服驱动器及厂家电机之前,首先要知道电机所带编码器的型号,然后在伺服驱动器及电机整体配套使用前在伺服驱动器上设置对应电机的编码器型号,才能识别使用。更有甚者,同样的伺服驱动器对应不同型号编码器的电机需要烧写不同的软件程序。即:相同的物理结构,却使用不同的软件程序,这给伺服制造商的调试人员与伺服使用客户造成很大的麻烦与资源浪费。
[0003]此外,目前软件开发人员往往需要根据不同的编码器协议,模拟不同的串行协议。但在实际使用过程中,即使FPGA/CPLD等可编程逻辑器件帮助实现了一些接口的转换,但是往往由于各编码器厂家协议的差异,最终与CPU/DSP等处理器访问接口还是各有不同,所以造成了软件开发人员与硬件FPGA/CPLD开发人员都必须牢牢掌握各家编码器协议,才能“配合”工作。
[0004]以上不足给伺服电机控制带来诸多不便,降低了控制效率,加重了开发人员的负担且造成不必要资源浪费。
【实用新型内容】
[0005]本实用新型所要解决的技术问题在于克服现有技术缺陷,提供一种能快速识别不同类型的串行编码器,并对不同的编码器协议进行统一的串行编码器的自动识别和统一协议装置。
[0006]为了解决上述技术问题,本实用新型提供的串行编码器的自动识别和统一协议装置,包括协议调度控制模块、多个串行编码器协议接口和通用接口转换模块;所述协议调度控制模块分别与多个串行编码器协议接口连接通讯,所述协议调度控制模块可分别对各个串行编码器协议接口进行调度;所述协议调度控制模块并连接串行编码器接口 ;所述多个串行编码器协议接口均与通用接口转换模块连接通讯。
[0007]本实用新型的有益效果在于:(I)、采用本实用新型的伺服驱动器可自动识别编码器类型,省去需人工先知道编码器类型,然后通过参数设定伺服驱动器的步骤,使之与对应的串行编码器能快速、实时、高效地匹配,大大地提高了伺服电机的控制效率,避免资源浪费;(2)、软件开发人员只需知道一套通用访问接口协议,而不必关心繁多的各家串行编码器的协议,进行软件的协议模拟工作,减轻开发负担;(3)、本实用新型结构简单,使用方便,可扩展性强,能正确无误地识别出所连接的编码器类型,且支持热插拔。
【附图说明】
[0008]图1为本实用新型串行编码器的自动识别和统一协议装置结构示意图;
[0009]图2为举例当识别到编码器I类型后的数据流向图。
【具体实施方式】
[0010]下面结合附图对本实用新型作进一步详细说明。
[0011]如图1、2所示,本实用新型串行编码器的自动识别和统一协议装置安装在伺服驱动器中,包括协议调度控制模块、多个串行编码器协议接口和通用接口转换模块。协议调度控制模块分别与多个串行编码器协议接口连接通讯,协议调度控制模块同时连接串行编码器接口,串行编码器接口用于各种串行编码器的接入。多个串行编码器协议接口分别与通用接口转换模块连接通讯,通用接口转换模块连接伺服驱动器的CPU/DSP等通用处理器。
[0012]协议调度控制模块:主要负责串行编码器协议的试探发送、接收等待以及枚举发送、以及各个串行编码器协议接口的调度。协议调度控制模块根据串行编码器反馈的信息,判定串行编码器有无识别成功,若成功,继续使能此模块,进入正常工作模式;若不成功则关闭此串行编码器协议接口的使能,打开下一个串行编码器协议接口的使能,继续逐步枚举。拔掉编码器后,由于通讯终断,会产生超时,相当于原来识别到的串行编码器类型丢失。一旦检测到编码器未连接,本实用新型的协议调度控制模块会再次进入自动识别状态,直到新的串行编码器接入后再次枚举成功。
[0013]多个串行编码器协议接口:主要将各个编码器的具体串行协议翻译成对应的通用并行数据访问接口,用于与CPU/DSP等处理器芯片通讯。每个不同协议的串行编码器分别对应一个串行编码器协议接口 ;串行编码器协议接口的数量可以根据实际控制需要进行选择。串行编码器协议接口对其对应的串行编码器串行通讯协议进行解析(从编码器接收数据时)与转换(CPU/DSP向编码器发送数据时);
[0014]通用接口转换模块:主要负责把不同的串行编码器返回的信息转换成通用共同格式的输出接口,把CPU/DSP通用的发给编码器的命令接口翻译成对应编码器类型的专用命令接口。例如,编码器返回读到的位置信息有的是16位的,有的是24位的,本实用新型统一转换成32位的位置数据输出(有效数据在低位,高位无效常为O);发给编码器的命令,以“0x01”举例代表统一的读编码器位置信息命令,但是由于各家编码器协议不一样,比如编码器类型I的读命令可能是“0x02”,编码器类型2的读命令是“0x03”等等,这时通用接口转换模块会根据协议调度控制模块的编码器类型信息,如图1中enC_type,对应地把统一的读命令“0x01”转换成“0x02”还是“0x03”等等。
[0015]这样就方便CPU/DSP的软件开发,软件开发人员就不需要关注最底层的不同串行编码器的串行协议,只要知道对所有串行编码器的通用的统一操作即可,例如发起对编码器读位置的要求,只需发“0x01”,发起对编码器的写EEPROM要求只需发“0x11”(此数字举例,可根据需要改变),发起对编码器的读EEPROM要求只需发“0x21” (此数字举例,可根据需要改变)等。因此根据此实用新型,无论是哪家的编码器,即使不同的串行通讯协议,但CPU/DSP等处理器的软件开发人员侧的操作都是一样。对于CPU/DSP等处理器来看就是一个黑盒子,而硬件FPGA负责黑盒子里面的具体内容实现。
[0016]上电后,协议调度控制模块会按照顺序使用调度信号encl_en,调度串行编码器I协议接口向编码器发出请求信号encl_tx与encl_oe,经协议调度控制模块转换为enc_tx与enc_oe,等待编码器的应答,若收到编码器的应答信号enc_rx,经encl_rx反馈到调度串
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1