0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用双层CAN总线实现数字式声纳系统的通信设计

电子设计 来源:电子科技 作者:王丹,华红艳,赵 2020-04-11 08:03 次阅读

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

1、设计原理

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

利用双层CAN总线实现数字式声纳系统的通信设计

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控制器实现,只需将高速光耦HCPL0600与PIC18F4580的CAN控制器部分直接接口即可,不再赘述。为方便系统测设,设置了3个发光管指示灯,分别对CPU状态和两层CAN总线网络运行状态进行显示。

2.2 电源监测与隔离电路

电源是通信系统的能量保证,电源电路的可靠性和稳定性对系统能否正常工作起着至关重要的作用。为最大限度减小噪声和干扰,光耦部分采用的两个电源VCC与VDD必须完全隔离,否则采用光耦也就失去了意义。

系统采用ICL7665对5 V电源进行监测,当电源电压在4.8~5.2 V之间时,OUT1和OUT2均输出高电平;当电源电压高于5.2 V时,OUT1输出低电平,OUT2输出高电平;当电源电压低于4.8 V时,OUT1输出高电平,OUT2输出低电平。ICL7665的输出信号通过光电耦合器TLP281接入PIC18F4580的I/O口,实现对电源电压的监控,使电源电压误差《4%。TLP281通过电光和光电传递信号,在电气上隔离信号的发送端和接收端。这种隔离作用能有效抑制噪声,消除接地回路的干扰。电源监测与隔离电路原理图如图4所示。

2.3 软件设计

通信程序主要包括节点初始化程序、数据发送程序、数据接收程序以及CAN总线出错处理程序等。为便于移植和资源共享,系统软件设计采用C语言实现,软件遵循模块化设计思想,采用结构化程序设计方案,使其具有良好的扩展性。

在CAN通信过程中,初始化包括设置SPI接口的数据传输速率、CAN通信的波特率、MCP2510的接收过滤器和屏蔽器以及发送和接收中断允许标志位等。内部和外部CAN控制器在接收数据时采用中断方式,发送数据时采用查询方式。与内部CAN控制器不同的是,读、写MCP2510的发送和接收缓冲器必须通过SPI接口协议的读写命令来实现。写指令首先被发送到MCP2510的SI引脚,并在SCK的上升沿锁存每个数据位,然后发送地址和数据。指令执行完毕后,数据被写进指定的地址单元中,再通过SPI接口协议的写命令来设置发送位以启动发送。读操作时,首先将读指令和地址发送到MCP2510的SI引脚,并在SCK的上升沿锁存每个数据位。同时把存贮在这个地址单元中的数据在SCK的下降沿输出到SO引脚。当执行读写操作时,CS引脚应始终保持在低电平。外部扩展CAN总线软件设计的流程图,如图5所示。

3 、系统测试

CAN总线协议有很好的错误校验措施,当硬件检测到数据在传送过程中发生错误时,会自动重新发送数据,当某一节点的错误严重时,总线会自动关闭该节点,且不影响其他节点的数据传送。

为了验证系统数据采集及通信可靠性,分别对CAN总线上位机与各中间控制器节点、中间控制器与各采集单元节点进行实时仿真测试。仿真通信介质采用100 m长屏蔽电缆,采用多种数据帧结构,选用总线速率为20 kB/s,传送数据域长度为8 bit的数据帧。分别进行上位机与节点的单帧和多帧通信。从主控状态显示情况来看,无数据传送出错和数据丢失现象,性能稳定,验证系统具有一定的可靠性。

4 、结束语

本文结合CAN总线在航海领域的应用状况,在研究CAN总线技术PIC单片机功能的基础上,设计了一种基于双层CAN总线的声纳数据传输系统。本系统通过结合PIC18F4580内置CAN控制器及外扩展CAN控制器的方式,以具有双CAN总线接口的单片机中间控制器为核心,采用分级、分区域组合的思想实现两级、多区域数据信息的采集。系统充分融合了CAN总线传输距离远,传输速率高,抗干扰能力强的特点,通过实验检测,文中所提出的设计方案可行,完全满足声纳数据传输系统高稳定性、高可靠性的要求。系统不仅适用于船舶声纳数据的采集,而且可对CAN总线在航空领域的应用提供参考。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16197

    浏览量

    177393
  • CAN总线
    +关注

    关注

    145

    文章

    1936

    浏览量

    130627
  • 数据采集
    +关注

    关注

    38

    文章

    5903

    浏览量

    113512
收藏 人收藏

    评论

    相关推荐

    基于FPGA的CAN总线通信系统

    基于FPGA的CAN总线通信系统为了克服单片机固有的缺陷, 满足航天控制的需求, 文章提出了如何利用FPGA采用查询的方式控制
    发表于 08-11 11:55

    双通道数字式隔离器ADUM1201在CAN总线通信系统中的应用

    上电就能导致整个芯片无法正常工作。 ADUM1201在CAN总线通信系统中应用 在CAN总线
    发表于 08-17 17:23

    如何解决车内的数字式语音通信系统的接口转换问题?

    本文介绍的接口转换器解决了车内的数字式语音通信系统的接口转换问题。
    发表于 05-27 07:03

    双通道数字式磁隔离器ADUM1201在CAN总线通信系统中的应用是什么

    本文介绍双通道数字式磁隔离器ADUM1201在CAN总线通信系统中的应用,由于ADUM1201的优良特性,用ADUM1201代替传统的光电隔
    发表于 05-31 06:52

    Linux系统CAN总线通信的设计及实现

    本设计为光电稳定跟踪平台开发CAN 驱动,以实现CAN 总线上设备间的通信。分析了linux 下标准设备驱动机制和
    发表于 08-04 08:33 30次下载

    基于CAN总线和DSP的双层数据采集系统的设计

    介绍了CAN 总线在航天领域的应用状况,在对CAN 总线技术和DSP 芯片功能研究的基础上,设计了基于CAN
    发表于 09-26 09:11 23次下载

    基于CAN总线数字式自动找平控制系统设计

    对于沥青混凝土摊铺机自动找平控制系统来说,数字式控制系统的研制是目前的一个方向。介绍了一种基于CAN总线
    发表于 12-07 14:17 33次下载

    基于CAN总线数字式自动找平控制系统设计

    基于CAN总线数字式自动找平控制系统设计 随着微型电子技术的发展以及成本的降低,数字式控制系统
    发表于 10-17 09:35 641次阅读
    基于<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的<b class='flag-5'>数字式</b>自动找平控制<b class='flag-5'>系统</b>设计

    基于CAN总线和DSP的双层数据采集系统的设计

    基于CAN总线和DSP的双层数据采集系统的设计  1 引言   CAN(Controller Area Network)即控制器区域网
    发表于 11-25 11:00 864次阅读

    数字式声纳的机动目标跟踪的算法及实现

    摘要:介绍了ADSP-2106X的结构及性能,着重讨论了数字式声纳数据综合后置处理的方案,其中数据综合后置处理包括对目标距离、速度和方位的测量,以实现目标搜索,判断。并在此基础上,给出了多机动目标跟踪的算法模型及算法
    发表于 03-01 01:26 73次下载
    <b class='flag-5'>数字式</b><b class='flag-5'>声纳</b>的机动目标跟踪的算法及<b class='flag-5'>实现</b>

    CAN总线实现工业网络分布测控系统

    本文选用can总线设计了分布热电阻智能节点,利用can总线连接各个网络节点,可以直接与主控卡或
    发表于 09-08 15:19 1975次阅读

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

    系统以PIC18F4580单片机作为中间控制器,利用自身集成的CAN控制器与各采集单元节点进行通信,通过外部扩展CAN控制器MCP2510与
    发表于 02-07 12:01 43次下载
    基于<b class='flag-5'>双层</b><b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的<b class='flag-5'>声纳</b>数据<b class='flag-5'>通信</b><b class='flag-5'>系统</b>

    双通道数字式隔离器ADUM1201在CAN总线通信系统中的应用

    双通道数字式隔离器ADUM1201在CAN总线通信系统中的应用
    发表于 07-21 10:06 8041次阅读
    双通道<b class='flag-5'>数字式</b>隔离器ADUM1201在<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>通信</b><b class='flag-5'>系统</b>中的应用

    数字式快速测温系统的设计与实现_任勇峰

    数字式快速测温系统的设计与实现_任勇峰
    发表于 01-16 14:04 1次下载

    如何用FPGA实现CAN总线通信控制器

    CAN 总线插卡可以任意插在 PC AT XT 兼容机上,方便地构成分布监控系统。因此,用 FPGA 实现
    发表于 07-29 09:43 2718次阅读