基于双层CAN总线的声纳数据通信系统设计

分享到:

随着数字式声纳系统的发展,声纳基阵越来越大,系统功能日趋复杂,一部现代声纳要对几十路甚至几百路的数据进行采集,大容量数据的远距离传输成为声纳设计的重要课题。以往采用的以太网传输方式为超时重发机制,单点的故障容易扩散,造成整个网络系统的瘫痪。由于CAN总线传输距离远、速度快,有较强的抗电磁干扰能力,已成为国际上应用最广的现场总线之一。CAN为多主方式工作,其节点分成不同的优先级,采用非破坏仲裁技术,报文采用短帧结构,数据出错率极低,节点在错误严重的情况下可自动关闭输出。本系统利用双层CAN总线实现声纳数据通信,具有突出的可靠性、实时性和灵活性。

1 设计原理

本数据通信系统要同时对多区域、多单元的数据信息进行传输及管理控制,因此采用分层、分区域的思想实现通信。系统采用单片机中间控制器作为各采集区域的核心控制器,实现上下层间的数据交换。采集单元自身具有微控制器和存储器,既可作为系统的重要组成部分,参与系统功能的实现,也可作为独立单元来完成数据采集功能,即在系统出现通信等故障的情况下,采集单元仍可以独立实现数据采集功能,并进行数据存储,提高了系统的可靠性。单片机中间控制器是数据通信的区域控制器,提供上层网络和下层网络通讯的双接口。一方面通过底层网络(Bot-CAN Bus)与各个采集单元进行通讯,实现对本区域数据的传输与处理;另一方面通过上层网络(Top-CAN Bus)与上位机进行数据通讯,实现上位机对各个采集区域和采集单元的信息采集和控制。系统结构原理框图如图1所示。

 

2 系统设计

系统主要由上位机、单片机中间控制器PIC18F4580、CAN总线控制器MCP2510、收发器TJA1040T、高速光耦HCPL0600、各采集单元等组成。接口包括采集单元的CAN总线接口、单片机中间控制器的双CAN总线接口和上位机的CAN总线接口。采集单元的CAN总线接口采用标准的CAN总线接口。上位机采用工业控制计算机,可通过CAN适配卡连接到CAN总线网络上。单片机中间控制器的双层CAN总线接口电路是系统设计的关键,其原理框图,如图2所示。

2.1 双层CAN总线接口电路

单片机中间控制器PIC18F4580自身就集成了一路CAN控制器,该路CAN总线与各采集单元进行通信。为了实现两路独立的CAN总线,需要通过单片机的SPI口向外扩展一路CAN控制器,该路CAN总线实现与上位机的通信。

外扩展CAN控制器选用MieroChip生产的独立可编程CAN控制器芯片MCP2510,MCP2510是一种带有SH接口的CAN控制器,它支持CAN2.0A/B协议,并能够发送和接收标准及扩展的信息帧,同时具有接收滤波和信息管理的功能。MCP2510通过SPI接口与PIC18F4580进行数据传输,最高数据传输速率可达5 MB/s,PIC18F4580可通过MCP2510与CAN总线上的其他MCU单元通讯。MCP2510内含3个发送缓冲器、两个接收缓冲器,同时还具有灵活的中断管理能力,这些特点使得MCU对CAN总线的操作变得灵活简便。为提高系统的抗干扰能力,在CAN控制器和CAN收发器之间加入高速光耦HCPL0600,其数据传输速率为10 MB/s,隔离电压为2 500 V。CAN数据收发器选用Philips公司生产的TJA1040T,具有功耗低和电磁兼容性好的特点。使用MCP2510扩展CAN总线的接口电路原理图,如图3所示。

 

图3中,单片机只给出部分管脚来说明具体的设计方法。使用单片机的RA5管脚来输出MCP2510的片选信号,单片机的INT1管脚作为接收到有效数据包时的中断输入脚,利用单片机的SPI端口SDO,SDI和SCK与MCP251O实现数据的接收与发送。为了增强CAN总线节点的抗干扰能力,MCP2510的TXCAN和RXCAN并不是直接与TJA1040的TXD和RXD相连,而是通过高速光耦HCPL0600连接,这样可实现总线上各CAN节点间的电气隔离。另外,CAN总线两端接有一个120 Ω的电阻,其作用是匹配总线阻抗。实验证明,忽略匹配电阻的接入会使数据通信的抗干扰性以及可靠性降低,甚至无法实现数据通信。

继续阅读
以太网和CAN总线传输方式比较

从网络的连接来看,CAN总线通过物理信号来进行连接,而以太网则是交换机连接。在以太网连接中交换机是必要的,一旦交换机有所差池整个网络都将崩溃。将整个网络的安危交一台太脆弱的交换机来承担实在是太过于儿戏,而若是设置冗余备用又要增加许多成本。相比之下CAN总线的结构非常简单,仅需拉两条线而已,简洁而稳定。对于安全第一的汽车来讲,无疑是CAN总线更为适合。而且以太网采取超时重发机制,单个节点的故障很容易扩散到整个网络,相较于CAN总线的分级仲裁制度也是逊色了不少。

【Easy IoT with VSCP连载】: 2 –借助Yocto项目,在UDOO上支持CAN总线系统

在进行物联网演示时,我们用基于i.MX6Q的UDOO开发板将采用CAN总线的灌溉系统连接至互联网。该Linux单板计算机将在启动时(/etc/init.d)运行VSCP守护进程,并托管小型网络服务器,它可以连接至更大的“网络管道”或路由IP,其中应用程序在像Rackspace公司、IBM Bluemix、AWS等更大的云托管网站托管。VSCP守护进程注册了自己的“驱动程序”,用于与外界进行通信,同时还有用于各类控制、日志记录,过滤等的内部调度程序。

CAN总线混合动力骄车电控系统的设计与实现

混合动力汽车是一种由内燃机和电动机混合驱动的汽车,其主要特点是节能、环保。这种汽车在起步时用电动机驱动,消除了内燃机起步时由于燃烧不充分而排黑烟的现象。在汽车减速或刹车时,利用发电机把动能转化成电能,贮存到蓄电池中,实现能量回收达到节能的目的。由于这种汽车是内燃机和电动机两种动力并存,仅用传统的针对内燃机的电控系统无法实现两种动力的最佳配合,因此开发混合动力车的全新电控系统是十分必要的。本文以一种电机并联式混合动力汽车成功实现为背景,从系统角度介绍了混合动力汽车电控系统结构、功能及效果。

数据采集配置特点与操作 - 基于CAN总线的新能源汽车电池数据采集方案

随着全球能源和环境问题的不断突显,发展新能源汽车已经成为世界各国的共识,随着科学技术的进步,以节能、环保、安全为终极目标的电动汽车、混合动力电动汽车以及燃料电池电动汽车的研发与应用已成为全世界各国汽车产业发展的重点。我国更是将其列入到七大战略性新兴产业之中。

基于ARM处理器智能电表系统的功能设计与论证

用电管理收费多年来一直采用先用电、后抄表、再付费的传统作业方式,电量值计算方面也无法实现更高的精确度,偏差较大。为了适应社会的需要,保证用户安全、合理、方便地用电,对传统的电表和用电的进行重新设计,使