1 引言
空间光通信技术是当前研究的热点,可应用于众多领域,包括:低轨道卫星与高轨道卫星(LEO-GEO)通信、高轨道卫星与高轨道卫星(GEO-GEO)通信、低轨道卫星与低轨道卫星(LEO-LEO)通信、空间与地面的通信、深空探测、载人航天空间站通信等。尤其是近年来发展起来的星载合成孔径雷达、高清晰光学遥感图像等需要超大数据流传输的领域就更迫切地需要用光建立通信链路。
空间光通信的一个技术难点就是APT(Acquisition,Pointing and Tracking)系统的研究,该系统对实现空间通信链路的建立和维持起到关键性的作用。典型的APT系统主要由光学天线、图像处理单元和运动控制单元三部分组成。本文介绍的APT运动控制箱即是结合空间光通信的具体应用背景,采用模块化的设计思想,把APT系统中的运动控制部分封装成箱,既可作为电机控制系统单独使用,又可结合光学天线和图像处理单元实现整个APT系统的扫描和跟踪功能。
2 运动控制箱总体设计
运动控制箱是以TMS320LF2407A(以下简称为DSP)为核心处理器。它是TI公司主推的一款16位定点DSP,适用于电机控制和其他嵌入式控制应用。该款DSP片上集成有脉宽调制(PWM)电路,可用于控制电机驱动器,并由电机驱动器控制电机运动。这是由于脉宽调制电路输出的PWM波驱动电流不能驱动电机运动,需加入驱动器增大电流。
为实现步进电机的二维控制,运动控制箱内包含两个步进电机驱动器SH20403。该驱动器专用于驱动二相步进电机,可提供高达3 A的驱动电流,具有8种可选的输出电流和7种可选择的细分模式,并具有高可靠性和低成本特性。运动控制箱内同时还包含一个128×64位图形液晶显示器T6963和一个16位键盘以提供友好人机界面。运动控制箱整体结构框图如图1所示。
3 运动控制箱硬件设计
控制核心选用Study-2407A EVM板,与运动控制箱相关核心电路主要包含两部分。
3.1 串口通信硬件设计
DSP内部包含串行通信接口SCI模块,通过该模块的接口电路即可完成串口通信的硬件设计。其硬件电路如图2所示。
接口器件选用Maxim公司的MAX232。该器件主要用于串口通信的接口电路设计。图中,TX_232,RX_232分别为上位机的发送端口和接收端口。为了保证上位机与下位机的通信,串口通信的双方TX,RX信号必须反接。上位机TX_232端口连至DSP的SCIRXD端口。DSP的SCITXD端口经MAX232输出至上位机RX_232端口。
3.2图形液晶扩展接口设计
针对图形液晶显示器T6963设计扩展接口。该接口的数据线都经74LS245缓冲。读信号和写信号与DSP直接相连,片选端口CS与C/D通过DSP的I/O端口控制,这两个I/O端口分别为IOPF4和IOPF5。液晶亮度则通过电位器调节。图3是图形液晶扩展接口电路。
4 运动控制箱软件设计
4.1 系统初始化设置
DSP上电复位后要进行的初始化设置主要包括:系统设置、I/O端口设置、PWM(脉宽调制电路)输出设置、串口通信设置以及LCD初始化设置。其中,液晶初始化需设置:图形区首地址和宽度、文字区首地址和宽度,光标形状和是否闪烁、光标指针、地址指针。为了保证显示效果,还需执行一次清屏操作。由于清屏操作时间较长,将自动触发看门狗,导致系统初始化无法继续。故编写复位和中断向量文件vectors.asm,使DSP上电后直接进入DisableWatchdog()函数。该函数的功能为禁止看门狗,并跳转到复位向量处。下面给出了该函数的核心代码:
4.2扫描算法实现
扫描算法的核心是如何在最短时间内扫描覆盖信标光的所有可能出现的区域。常见的扫描算法主要包括矩形扫描、螺旋扫描、矩形螺旋扫描、玫瑰形扫描及李萨如形扫描等。综合考虑扫描性能与DSP实现难度,确定采用光栅螺旋扫描算法和蜂窝螺旋扫描算法。这两种算法都能以较小的扫描步数实现大范围的扫描策略,扫描重叠区域小,可在短时间内实现高性能扫描,但算法实现相对复杂。以蜂窝螺旋扫描算法为例,其蜂窝螺旋扫描排列方式如图4所示。
图中小圆代表一个扫描子区,以蜂窝状六边形方式重叠。每个子区的直径为信标光发散角大小,从而得到相邻两个子区圆心间距离,即光栅螺旋扫描算法的扫描步长。根据该扫描步长分别得到水平和俯仰两个方向电机执行步长,从而通过控制电机运动实现蜂窝螺旋扫描算法,其程序代码如下:
4.3 精确跟踪实现
运动控制箱通过串口中断实现信标光的精确跟踪。计算机或其他处理器(如TMS320DM642)处理CCD(电荷耦合器件)采集到的图像,并提取出光斑坐标,以固定的格式通过串口发送到运动控制箱。DSP结合接收到的光斑坐标执行相应的跟踪操作。若当前坐标与设定位置之间存在偏差,则控制电机运行到设定位置。电机运行距离和运行方向由当前目标与设定位置之间的关系得到处理。跟踪精度由电机的执行精度和坐标提取精度共同决定。
5 人机交互界面设计
为了便于使用,采用人机交互界面完成功能选择、参数设置等操作还可选择使用APT功能或手动控制电机,并能设定电机运动速度、运动距离和运动方向,以及扫描算法的扫描步长和扫描速度。
5.1 人机交互界面程序设计
运动控制箱上电后,人机交互界面同步显示。进入用户欢迎界面,而后自动进入主菜单项。通过主菜单项,用户可选择使用APT功能或手动控制电机,然后跳转到相应的用户界面提示用户进行下一步的操作。APT功能菜单与手动控制电机菜单程序流程图分别如图5、图6所示。
图5的串口中断由外部设备引起。图6的垂直电机控制部分与水平电机控制部分流程相同。若无需与外部设备串口通信,可通过运动控制箱实现电机的二维控制和执行多种扫描算法。
5.2 液晶显示设计
在人机交互界面中,对液晶的操作就是写指令代码和读写数据。通过写指令代码可以设置液晶的工作状态,通过数据的写入可以在液晶上显示。为便于输入液晶指令、数据,编写相应函数。写指令函数代码如下:
写数据函数与写指令函数类似,只是数据/命令选择端输出低电平,且从I/O单元输出数据代码应分别改为asm("OUT 060h,8000h");和asm("OUT061h,8000h")。
6 结束语
结合空间光通信的具体应用,将APT系统中运动控制单元封装成箱,完成了空间光通信APT运动控制箱的设计。运动控制箱具有友好的人机界面,可通过该界面的汉字提示完成所需的操作。串口通信单元的设计增加了运动控制箱应用的扩展性。既可作为电机的控制机构实现步进电机的二维控制,也可接收外部设备的串口数据进行相应的控制。