l 无线信号发射站的研制
这里研制的动物机器人遥控刺激系统从整体功能上来说,由2部分组成:“遥控信号发射站”和“背负式微刺激器”(如图1所示)。
“无线信号发射站”是由安装“LabVIEW8.20程序操作界面的PC机”和“无线信号发射台”两部分通过RS 232串口线相连接组成。位于无线信号发射台上的Atmega8L微处理器,首先接收来自PC机串口的刺激参数信号,数据接收完毕后就根据作者规定的数据格式进行数据正误判断,如果数据正确,位于无线信号发射台上的ATmega8L微处理器就把这个命令字符串送入无线信号发送机(Transmitter),这些数据在送入的瞬间就发射出去,如果数据错误微处理器自动将其舍弃。在这个过程中的每一步,位于无线信号发射台上的2个发光二极管,以不同的点亮方式提示给操作者。
1.1 基于PC机的LabVIEW控制程序
在该系统中PC机和无线信号发射台的微处理器ATmega8L之间通过RS 232串口进行通信。在Lab-VIEW中使用串口通信的方法有2种:使用VISA和使用AxtiveX(采用MScomm)。使用AxtiveX编程相对来讲比较复杂,而使用LabVIEW中自带的VISA进行通信,既方便又不易出现错误。因此,在设计中采用了前者,既在虚拟环境中使用VISA功能模块向串行设备读写数据。LabVIEW8.20的串口通信VI位于“In-strlament I/O Platte”的“Serial”中,它包括8个VI节点。在使用VISA进行串行通信时需要安装相应版本的驱动,否则不能进行通信。
(1)调用“VISAConfigure Serial Port”完成串口参数的设置,包括串口资源分配、波特率、校验位等,在进行串行通信时波特率必须要设置正确,否则通信数据是错误的,在该系统中波特率设为9600 b./s;
(2)使用“VISA Write”发送数据,使用“VISARead”接收数据。在接收数据之前需要使用“VISABytes at Serial Port”查询当前串口接收缓冲区中的数据字节数;
(3)串口使用结束后,使用“VISA Close”结束与VISA resource name指定的串口之间的会话,关闭占用的串口资源。
刺激参数以双精度(DBL)数据格式在PC机的LabVlEW操作界面上进行设置,在单击“刺激”按钮后,这些双精度格式的数据便按照顺序创建一个包含所有刺激参数的数组,由于LabVIEw串口只能读写字符串,因此,必须把这个双精度数据格式的数组进行必要的变换才能通过串口进行传输,在此采用了“数组至字符串的变换命令”把双精度数据数组转换为相应的字符串。为了防止计算机向无线信号发射站传输数据出现错误,规定了串口通信的数据包格式:刺激参数数据字符串长度为24,数据的前2位和第24位字符都是“Y”。数据的正误由无线信号发射站的微处理器进行判断,数据判断无误后就发射出去,数据错误则自动舍弃。从使用安全角度着想,急停功能是背负式微刺激器必须具备的,为了实现该功能,给第23个命令字节赋予定义,如果第23字节为“Y”背负式微刺激器便认为是刺激命令;如果为“O”则是急停命令,背负式微刺激器的微处理器立即进入急停状态。在命令字节中,有一部分数据是为以后系统功能的扩充预留的,它们没有实际意义,以字符“0”传输。基于LabVIEw8.20的PC机与微控制器的通信程序如图2所示。