摘 要: 以DSP TMS320F28335为核心设计了数据通信及处理模块。该模块采用硬件协议栈芯片W5300实现与上位机的TCP/IP通信,同时利用双口RAM实现与电控系统主控板的数据通信,与主控板通信的实时性由同步时钟触发外部中断的方式实现。根据误差补偿算法,该模块可实现对激光跟踪测量系统所测量的大气参数、激光干涉测距、激光绝对测距、方位角和俯仰角信息的误差补偿。
关键词: 激光跟踪仪;TMS320F28335;W5300;双口RAM
便携式、多功能精密激光跟踪测量系统可用于超大尺寸空间几何测量,它具有测量功能多(三维坐标、尺寸、形状、位置)、测量精度高(±5 μm/m)、测量速度快(动态测量、采点速率>1 000点/s)、量程大(半径35 m)、可现场测量(便携)等特点。测量效率比传统的大型CMM、经纬仪测量系统和摄影测量系统等提高数倍[1]。
数据通信及处理模块属于激光跟踪仪电控系统,电控系统的作用是系统数据交换和实时控制。
本文主要介绍激光跟踪仪电控箱中数据通信及处理模块的设计。选用TI公司的浮点型DSP TMS320F28335(以下简称F28335)做主控芯片,硬件协议栈芯片W5300用于实现TCP/IP通信。
1 模块功能及总体设计
数据通信及处理模块是电控系统的重要组成部分,完成数据通信、误差补偿及断光续接等功能。数据通信包括与上位机的TCP/IP通信以及与电控系统主控板的数据通信。图1为数据通信及处理模块的功能示意图。
激光跟踪仪数据通信及处理模块的组成结构如图2所示。模块主要由F28335及其附属电路、TCP/IP通信模块以及与主控计算机接口电路组成。F28335作为主控芯片控制W5300与上位机的TCP/IP通信;与主控板的数据交换是利用双口RAM实现存储器共享;外扩SRAM用于数据缓存;EEPROM保存误差补偿参数,在程序运行过程中可对其进行读出和修改操作。
2 模块实现
2.1 TCP/IP通信的实现
2.1.1 W5300简介
W5300是WIZnet公司开发的具有内部硬件协议栈的网络接口芯片,利用该芯片可大大减小硬件接口设计和网络编程的工作量,实现可靠稳定运行的远程数据通信系统,可广泛应用于各种安全检测、电力系统的测量监控、音视频传输、远程信息传输等领域[2]。本项目选用WIZnet公司的TCP/IP硬件协议栈芯片W5300实现TCP/IP通信功能。
W5300的以下特点使其易于实现与Internet连接[3]:
(1)W5300内部集成10/100 M以太网控制器、MAC和TCP/IP协议栈;
(2)W5300使用方便、稳定可靠,广泛应用于高性能、低成本的Internet嵌入式领域;
(3)W5300与主机(MCU)采用总线接口,通过直接访问方式或间接访问方式,W5300可以很容易地与主机接口,就像访问SRAM存储器;
(4)W5300的通信数据可以通过每个端口的TX/RX FIFO寄存器访问。
2.1.2 W5300硬件设计
将W5300配置为16 bit数据总线宽度,选择内部以太网PHY,选择以太网自动握手模式。W5300与主机接口模式采用直接地址模式。F28335与W5300之间连线有16 bit的数据线和10 bit地址线,以及/WR、/RD、/CS、 /INT、/RST控制线。初始化硬件时,W5300的各个寄存器和地址映射到F28335的zone6区。TMS320F28335与W5300的硬件接口如图3所示。
2.1.3 W5300软件设计
F28335控制W5300与上位机的TCP/IP通信。此模块设置为服务器模式,等待上位机发送的连接请求。
主机获取W5300的状态有两种方式,分别为中断方式和查询端口状态寄存器的方式。中断方式可以节省系统资源,在大多数情况下选用这种方式。使用中断方式时,需要注意GPIO口鉴定选择寄存器(GPxQSEL)和鉴定控制寄存器(GPxCTRL)中的QUARPRD位的配置,这两个寄存器分别配置鉴定需要的采样次数和采样间隔。若采样次数或间隔被配置得过大,可能导致主机无法采集到W5300发送的中断信号。
2.2与电控系统主控板的通信
数据通信及处理模块与电控系统主控板的通信利用双口RAM,使它们共享这一段存储空间。双口RAM可以用于多处理器接口技术的实现[4]。主控板将采集的数据存入这段RAM中,数据通信及处理模块从中读回数据进行处理,并根据处理结果执行相应的操作。
与主控电路板的接口采用自定义总线接口:8 bit数据线,8 bit地址线,1 kHz同步时钟,读使能,写使能,片选信号,地线。
将双口RAM通过两片双电压转换芯片(16t245)接到F28335的外部扩展接口(XINTF)zone0。需要注意的是,16t245上控制同步时钟的输出使能引脚(/OE)要一直接地,使能同步时钟信号输出,若与其他接口信号一样将输出使能引脚接在片选信号上,会导致F28335无法识别同步时钟信号。
2.3 误差补偿及误差补偿参数的载入
2.3.1 误差补偿
电控系统主控板采集的数据主要包括大气参数、激光干涉测距(IFM)、激光绝对测距(ADM)、方位角和俯仰角。结合激光跟踪测量系统的内部设备选型和几何结构,整个激光跟踪系统的误差可分为测距误差和测角误差两大类。在影响激光跟踪仪测量精度的因素中,测角误差最为显著,而跟踪仪部件之间几何位置不正确则是测角误差的重要来源[5]。
对采集的数据进行误差补偿需要依照一定的流程进行。首先补偿大气参数,然后补偿IFM测量距离和ADM测量距离,最后补偿方位角和俯仰角。影响测量数据的误差来源如表1所示。
2.3.2 误差补偿参数的载入
误差补偿参数是误差补偿算法表达式中引入的一系列参数,将其载入外扩EEPROM中。EEPROM中的内容掉电不丢失,且在程序运行过程中可以对其进行读写操作,满足此模块对误差补偿参数载入的要求。F28335通过I2C总线与EEPROM连接。
2.4 断光续接
在激光跟踪仪操作过程中,由于采用跟踪球实现测量,丢光和挡光会造成断光现象,断光时,ADM和IFM均没有输出,从而造成测量中断。当系统恢复跟踪后,ADM可以很快恢复距离输出,IFM也可以恢复工作,但后者输出的距离值实际上不正确,需要对激光干涉设置初始距离。跟踪头控制单元需要根据一定的判据输出清零脉冲,将IFM当前距离值清零,同时将ADM输出值赋予IFM,作为干涉测距的起始距离,使IFM恢复正常的距离输出。
数据通信及处理模块的断光续接功能就是要在确定恢复跟踪后,对ADM测得的距离进行误差补偿,用ADM测距值代替IFM测距的基准距离以进行后续测量。
3 模块控制程序流程
模块的嵌入式程序存储在主控制芯片F28335中。为了能够与主控板实时交换数据,通过1 kHz同步时钟的上升沿和下降沿触发外部中断4、5。为了避免W5300产生的外部中断与外部中断4、5冲突,将F28335获取W5300状态的方式设为查询端口状态寄存器的方式,运行外部中断4中断服务程序时进行查询。外部中断4的服务程序包含与主控板的数据通信以及与上位机的TCP/IP网络通信;外部中断5的中断服务程序包含对跟踪头测得数据的误差补偿和协助跟踪头实现断光续接功能。在程序初始化部分载入EEPROM中的误差补偿参数。在程序运行中,若检测到上位机载入现场校准参数的命令,则禁止外部中断4、5,将从上位机读入的参数写入EEPROM中。嵌入式软件的流程图如图4所示。
本文介绍了激光跟踪仪数据通信及处理模块的软硬件设计,其中,与上位机的TCP/IP通信以及利用双口RAM实现与电控系统主控板的数据通信,已经通过实验证明了其正确性,以期对研究与开发精密测量仪器系统提供参考。
参考文献
[1] 张春富,张军,唐文彦,等.激光跟踪仪在大尺寸工件几何参数测量中的应用[J].工具技术,2002(5):26-27.
[2] 邹依依,郭灿新,黄成军,等.W5100在DSP远程以太网数据通信系统中的应用[J].工业控制计算机,2008,21(8):20.
[3] WIZnet Co., High-performance internet connectivity solution W5300 version 1.1.1[R]. 2008.
[4] MORRISON S B, GIBSON J R. High speed data acquisition system with a dual port RAM microprocessor interface[J]. Microprocessors and Microsystems, 1991: 155-159.
[5] 周维虎,费业泰,李百源,等.激光跟踪仪几何误差修正[J].仪器仪表学报,2002,23(1):56.