首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于总线的分布式水下航行器控制器设计

基于总线的分布式水下航行器控制器设计

摘要:提出了一种基于CAN总线的分布式水下航行器控制器的设计方法,主要描述了其硬件总体设计方案和实现办法。控制器作为分布式控制系统的一个节点,与其他节点之间以CAN总线连接并形成网络,相互传输数据和控制命令,每个节点都有主控计算机,以实现计算任务的分散化。控制器以基于ARM架构的MCU为控制计算机,搭载隔离模块、CAN控制器和收发器、数据存储模块、I/O接口模块、RS232模块等电路。该控制器的特点是体积和功耗小,通讯功能强,可实现智能控制、数据采集处理,故障发现等控制功能。
关键词:水下航行器;CAN总线;分布式控制;ARM

    水下自主航行器是可移动水下探测和水下作业工程装备的统称,是进行海洋考察与开发的重要工具。它能够完成水下地形勘探、侦测、水下危险环境作业等任务。它的控制器是其硬件的重要组成部分,其主要作用是根据其使命任务对运动参数的部分或全部进行控制,使其按规定的轨迹航行,并保证AUV运动的稳定性,满足AUV动态精度要求,其性能直接影响到AUV的总体性能。随着AUV技术的发展,对控制器提出了高可靠性、高实时性、精确定位、精确控制、维护简单等要求。本文提出了一种基于总线的分布式水下航行器控制器的设计方案,主要目的是实现以分布式控制系统总体结构为基础的控制节点设计。进而实现真正的分布式控制系统,减少中央处理机的运算负荷,将大量数据处理和分析在现场完成。该方案设计的控制器具有完善的智能控制和通讯功能,所选的CAN总线,相比其他总线协议,软硬件技术成熟、安全可靠、传输速度快且成本低廉、易于扩展和维护。

1 控制器的组成结构
   
水下航行器控制器由MCU最小系统(JTAG电路、复位电路)、外扩Flash存储模块、I/O接口、隔离电路模块、通讯电路等组成。其系统结构图如图1所示。整个控制器包含4大部分,第一是MCU最小控制系统,包括复位电路和JTAG调试电路。第二是数据采集部分,I/O接口和RS2 32串行接口用于与水下各种传感器相连接,收集传感器发送的实时数据,并传输至MCU进行分析融合。有的传感器送出的是模拟形式的信号,还要使用AD/DA转换模块加以转换后再进入处理中心。数据采集部分还包括一个温度数据收集电路,用作系统运行状态的监控。第三是数据存储模块,主要用于存储和输出实验数据。在水下航行器运行过程中记录航行数据,也可用于调试目的。第四是通讯部分,主要包括CAN总线接口电路,用于与其他节点之间互相传输被控过程的数据和其他控制命令。



2 MCU最小控制系统
   
文中采用基于ARM7-TDMI架构的NXP2478嵌入式微控制器作为主控计算机。NXP2478以ARM7为内核,它包括一个10/100以太网媒体访问控制器(MAC)、1个带4 kB终端RAM的USB全速设备/主机/OTG控制器、4个UART、两路CAN通道、1个SPI接口、两个同步串行端口、3个I2C接口和1个I2S接口。同时还带有一个4 MHz的片内振荡器、98 kB RAM,以及一个外部存储器控制器来支持上述的各种串行通信接口。以NXP2478为核心的最小系统主要包括电源模块、复位电路和JTAG模块,电源模块实现2个功能:1)电压转换功能,将输入为5 V电平的电压降至NXP2478的3.3 V工作电压。2)稳压稳流功能,微控制器需要纹波比较小的稳定电压供电,电压如果突然下降往往会引起程序的跑飞,因此,必须要有专门的电路来稳定工作电压。一般通过并联大电阻来稳定工作电压。复位电路则可以采用自带看门狗功能的复位芯片来完成。主要实现上电复位、掉电复位、人工复位等功能。看门狗电路可以在程序跑飞时提供自动复位的保护措施。JTAG电路主要实现程序的在线仿真和烧写功能。其电路如图2所示。



3 数据采集电路
   
数据采集是指从传感器中获取现场信息的过程。水下航行器控制器所用到的主要是GPS、MTI姿态传感器、深度等传感器。传感器输出信号的标准大多是RS232/485标准.有些传感器的信号需要经过数模转换。因此数据采集电路主要包括RS232/485、I/O接口电路、AD/DA转换电路和隔离电路。NXP2478自身带有4个串行端口,其中有一个为9线制端口,有完整的握手信号。但这些端口的工作电平为0~3.3 V。而RS232的电压约为±12 V左右,所以需要一个电平转换芯片,这里采用常用的MAX232芯片。I/O接口电路也需要进行兼容电平的转换,外部开关信号可能电压幅度比较大,采用隔离芯片既可以保护外部信号串扰对控制器的影响,又可以起到电平兼容的作用。I/O隔离模块如图3所示。


    温度监控作为数据采集的一部分,用作检测控制器运行时的温度状态,并提供报警功能。本文采用DS18B20作为温度数据传感器,DS18B 20是一种在分布式温度控制系统中广泛使用的直接输出数字信号的温度传感器,输出数据遵从one-wire bus协议。其采集温度的范围从-55摄氏度到125摄氏度,输出的数字信号可直接进入MCU的I/O口中。DS18B20只有三根信号线:地线,电源线和数据线。因此其接口电路非常简单,将数据线直接接入MCU的GPIO口即可。
4 数据存储模块
   
数据存储模块使用Nand Flash与微控制器接口来实现。Nand Flash内存是flash内存的一种,在嵌入式系统中的地位和PC机上的硬盘是类似的。具有容量大、改写速度快、系统掉电后数据不会丢失等优点,适用于大量数据的存储。Nand Flash的接口本质上是一个I/O接口,数据总线宽度8bit,没有地址总线。CLE和ALE这两条信号线用于区分总线上的数据类别。当系统对Nand Flash设备数据访问的时候,需要先向Nand Flash设备发出相关的命令和参数,然后再读出需要的数据。在连接中,注意用NXP2478的地址线A19与A20连接ALE和CLE引脚,这种连接方式必须在配置总线速度的时候使NXP2478总线速度和Nand Flash时序相匹配。电路中R/-(-相)引脚和写保护引脚直接接上拉电阻。此外还有一种方案是把R/-(-还)引脚与GPIO口相连,主要目的是当读写Nand Flash操作完成时,这可以通过中断来判断一次的读或者写完成的时刻。Nand Flash接口电路如图4所示。



5 通讯模块
5.1 CAN通信模块
   
CAN总线是目前广泛应用于汽车和飞机工业上的一种现场总线。具有以下特点:1)多主控制,在总线空闲时,所有单元都可以开始发送消息,通过冲突检测,最先访问总线的单元获得发送权。如果多个主机同时发送,则优先级较高的主机获得发送权,这就是CAN的仲裁机制。2)可发送远程帧,主动请求远程主机的数据。3)CAN协议具有完善的差错功能,帧格式中含有纠错编码,进一步增强容错性。4)错误发现功能,所有总线上的单元都可以检测错误,并且检测出错误的单元会立刻通知其他单元(错误通知功能)。正在发送消息的单元一旦检测出错误,会强制结束并重新发送。直到发送成功为止。5)故障关闭功能,CAN总线可以判断出错误的类型是总线上暂时的数据错误还是持续的数据错误(如某个节点硬件故障)。当总线上发生持续的数据错误时,可将引起故障的单元从总线上隔离出去。这些特点使得CAN特别适用于分布式现场控制。一个控制器要接入CAN总线,需要CAN控制器和CAN收发器。典型的CAN控制器有Philips公司的SJA1000,它支持CAN2.0协议,包括标准的和扩展的数据和远程帧;位速率可编程控制,有可编程时钟输出;有扩展的64字节FIFO接收缓冲器;除了BasicCAN操作模式以外,还增加了一种新的操作模式——PeliCAN。在电气特性方面,SJA1000的引脚特性与PCA200兼容,通信速率可达1 Mbps。CAN接口电路如图5所示。AD0—AD7与微控制器的数据端口连接,片选信号与GPIO口连接,晶振使用的是12M无源晶振,另外还要设置附加的滤波电容。SJA1000的输出还要接入CAN收发器PCA82C250,最后才接入CAN总线中。


5.2 无线通信接口
   
无线接口用于水下航行器的远程控制,当航行器浮上水面时可以使用。采用基于2.4 GHz射频收发芯片nRF2401的无线通讯子系统,工作时功耗低,所需外围元器件很少。可配置鞭型天线或者环形天线,通讯距离约为100 m左右。可良好的满足工作需要。无线通信芯片接口如图6所示。



6 结束语
   
文中讨论了一种以NXP2478为控制核心,扩展了多个I/O接口,基于CAN总线的分布式控制系统节点。搭载多种导航设备与传感器,有很强的数据处理和通信能力,系统功耗小、灵活性高、扩展方便。用于水下航行器的控制系统中,可作为主控节点或现场控制节点。
返回列表