通过ENDAT接口获取****编码器位置
刘琳,陈建平
(上海交通大学机械与动力工程学院,上海200240)
摘要:利用DsP的SPI接口实现与编码器的通信;而ENDAT接口为数据传输和信号发送提供了便利。通过开机前获取****位置值,工作时读取增量脉冲,不仅减少了断电干扰,省去开机归零,而且避免了使用大体积码盘,使得计算读取位置值更加简易,精确。
关键词:****编码器;DSP;串行通信
0引 言
伺服系统需要测量系统为位置和速度控制器提供反馈信号和电子换向信号。光电编码器具有精度高、惯量小、稳定性好的优点,广泛应用于数控机床、回转台、伺服传动、机器人、雷达、军事目标测定等需要检测角度的装置和设备中。
旋转式增量编码器一般需要通过归零动作找到机械原点后才能进行工作,因此使用上有局限性。****编码器的抗干扰特性和数据的可靠性大大提高了。但是当****编码器精度增加,线数也增加,码盘增大,导致体积很大,安装不便,无法在小型伺服系统上使用。电子式****编码器以内置低功耗电路来进行位置计数,采用电池来保持内部计数值的数据,不仅体积小巧,而且抗干扰性强。
1 Endat2.2编码器双向数据接口
本文采用的编码器是Endat2.2编码器双向数据接口,即可传输****编码器位置值也可传输增量式编码器位置值,还能传输或更新保存在编码器中的信息或保存新信息。它只需一个接口就能适用于所有****编码器和增量式编码器,方便用于小型电机和减小系统尺寸。cRc循环冗余检验更提高了数据传输的可靠性,对于****编码器位置值的传输十分方便。本文设计DsP与****编码器,通过Endat之间的通信,获取****位置值。
2数据传输
2.1初始设置
设置DsP的串行外设接口操作控制寄存器(sPIcTL),使DsP处于主动方式工作状态。主动工作方式中,串行外设接口时钟由DSP串行外设接口产生并由sPIcLK引脚输出。该时钟信号用于编码器同步数据传输。不传输数据时,时钟信号默认为高电平。
2.2编码器选型
海德汉提供了多种****编码器类型,产品主要分为单转和多转以及内置定子联轴器和分离定子联轴器等型号。输出方式包括ENDAT和常用的SSI(串行同步传输),能够满足不同需求。2.3选择传输类型
海德汉的****编码器传输数据类型分为位置值和附加信息及参数,需要通过模式指令用以选择编码器数据传输类型。两个时钟脉冲(2T)后.DSP发送3位模式指令给****编码器,来选择所需的数据类型。每位均采用冗余发送(反向或两次)。
2.4数据格式
1)错误信息l和2
一旦编码器发生可能导致不正确位置值的故障时,它将立即发出错误信息;同时错误原因保存在编码器上。为安全起见,必须独立产生第二个错误检测信息。错误信息2用反相电平发送。
2)位置值数据
位置值数据以一个完整数据字形式传输,其长度取决予编码器的分辨率。数据发送从****有效位(LsB)开始(第一个LsB、。
3)附加信息
根据发送类型,可以随位置值发送一个到两个附加信息。每条附加信息长度为30bit并以低电平位开始,每条附加信息均以cRc结束。相应码器所支持的附加信息保存在编码器参数中。附加信息包括状态信息、地址和数据。状态数据中,wRN一报警表示编码器的某公差是否已达到或超出;RM一参考点表示是否已执行参考点回零操作;BusY一参数请求用于在低电平时可以请求发送参数。
2.5数据传输过程
编码器传输周期从第一个时钟脉冲下降沿开始。编码器保存测量值并计算位置值。
两个时钟脉冲(2T)后,DSP发送模式指令。模式指令用以选择编码器数据传输类型。DsP发送模式指令给编码器,编码器发送位置值(带或不带附加信息)。
编码器成功计算****位置值后,由起始位开始由编码器向DsP传输数据后续“错误位”一“错误1”和“错误2”是监测类信号,用于检测故障。
然后编码器从****有效位(LSB)开始发送****位置值。其长度取决与所用编码器。发送一个位置值所需要的时钟脉冲数保存在编码器制造商参数中。
循环冗余检验后发送附加信息1和2。每个都以cRc结束。附加信息内容由存储区选择决定,并在下个采样周期中发送附