系统;RS-449、RS-422及RS-423等通信标准,实时性不强;RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;且当系统出现多节点同时向总线发送数据时,会导致总线呈现短路,从而损坏某些节点的现象。
CAN(Controller Area Network)总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点是使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据。数据段长度为8个字节,不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
2 系统设计
远程数据采集系统要求传感器与测量装置位于测量现场,计算机系统在岸上或船上,它们之间距离经常在几百米,有时甚至达到几公里。因此,连接导线少,维护费用低就显得尤为重要。本文中测量系统针对磁场(3分量)、电场(3分量)、倾角参数(2分量),用CAN来构建远程水下数据采集系统,采用3个测量节点,分别对上述8路传感器信号实现实时采集与传送。远程水下数据采集系统的结构框图如图如图1所示。
远程数据采集系统主要由两部分组成:岸上接收处理部分和水下测量装置。为了延长电池的使用时间,从岸上来控制水下测量体部分电池电源的通断。数据采集系统使用的是四芯纵向密封海水电缆,两路传输数据,另两路控制电池电源。
2.1硬件电路设计
传感器采用磁场三分量测量模块,电场三分量测量模块,倾角2分量测量模块。信号处理电路中将各信号进行放大和滤波,放大采用两片LM148四运放,滤波器是由运算放大器构成的两个有源低通滤波二阶节的级联。单片机系统将电场三分量信号、磁场三分量信号和两个姿态角信号共8路信号轮流选通送入A/D进行转换,A/D转换选用B-B公司生产的16位芯片ADS7805,其输入电压范围为±10V,输出16位和8位可选,这里使用16位并行输出,其控制信号由单片机的口线P1.0、P1.1和P1.2产生,单片机系统的结构框图如图2所示。单片机采用PHILIPS的是有再片CAN功能的微控制器P87C592,晶振频率为16MHz, P0口和P2口用作数据线和地址线,P4口和P5口用作16位模数转换器的高8位和低8位并行数据线。P1.6、P1.7用于CAN总线,P1.2、P1.3和P1.4控制八选一多路转换器MAX308的通道。PC82C250为CAN总线收发器,是CAN控制器和物理总线间的接口,提供对总线的驱动发送能力 、对CAN控制器的差动发送能力和对CAN控制器的差动接收能力。它有很强的抗瞬间干扰和保 护总线的能力;有3种不同的工作方式即高速、斜率控制和待机。总线上的某节点掉电不会 影响总线,在40 m内实现高速应用可达1 Mbps。主机接收端使用PCL-841 ,PCL-841可直接插在计算机的ISA扩展槽内,计算机为PCL-841分配内存地址,并将其作为标准内存进行读写,内存地址可通过跳线设置为C800H至EF00H中40个基地址中的任一个。是内置CAN控制器的CAN总线通信卡,它提供总线仲裁和错误检测并自动重发送功能,从而避免了数据丢失,保证了系统的可靠性。
2.2系统软件设计
要实现有效、实时通信,软件的设计是关键,也是难点。本系统软件设计包含两部分即单片机程序和主机控制和数据处理程序。
单片机程序主要包括节点初始化程序、报文发送程序、报文接收程序以及CAN总线出错处理程序等。单片机主程序流程图见图3,程序用C51语言编写。