前言
XY2-100及XY2-100-E协议被广泛地应用于激光振镜的控制中,本文将从激光振镜控制原理,接口引脚定义,协议时序,以及verilog代码实现实现这几个角度展开本文。本文参考RAYLASE的官方文档
一、 激光振镜的工作原理
激光振镜所使用的电机为检流式电机,检流式电机工作原理类似于电流计,电机的旋转角度会随着输入电压变化.当转动的电磁力矩与回复力矩平衡时,电机偏转到位,此时的偏转角与输入电压成正比。反射镜面固定在电机的转动轴上,通过电机的高速摆动来带动反射镜面的高速偏转,进而实现激光束的高速偏转。如图所示,1为激光入射处,2、3是两个激光振镜, 4为激光输出处,4处一般会放置场镜,作用是保证激光沿不同方向射出时,焦点处于同一平面。当2、3偏转的时候,激光会随之偏转,从而达到改变光斑位置的目的。
二、接口引脚定义
xy2-100协议一般使用DB25的物理接口,接口的引脚分布及含义如上图所示,对于振镜控制而言,我们所驱动的信号有思路,包括SENDCK(时钟信号)、SYNC(同步信号)、CHANNELX(X通道)、CHANNELY(Y通道),这些信号最终会以差分的形式传输给振镜。
三、 协议时序
如上图所示,将协议中的bit 分为三个部分:红色部分为控制字,不同控制字代表的含义需要参考具体厂家的振镜手册,蓝色部分为振镜角度坐标,绿色字为奇偶校验位。发送端在时钟上升沿更新数据。其中有一个问题,坐标与实际角度如何换算?振镜有一个能够张开的最大角度范围,这个角度范围被均匀地分为65536份,假设xy2-100协议中的坐标转换为十进制后的数值为N,则实际张开的角度为:
同理,假设知道了最小的角度步长,那么便能够求出振镜能够张开的角度
四、xy2-100协议编解码的verilog实现
后面补