CAN总线在升降横移式立体停车库的应用--控制网



CAN总线在升降横移式立体停车库的应用
企业:控制网 日期:2005-09-28
领域:PLC&PAC 点击数:1661



1  引言

    要保证汽车在立体车库中的安全运行,除了对设备及其控制的高要求外,还必须对车库中的各种信号(各种传感器设备)定时定点检测及维修。目前对这些信号的检测主要由微机监测系统完成。它可在信号主体设备运行中自动跟踪和采集有用信息,为管理人员和维修人员了解设备当前的运行状态,及时采取措施,减少故障的发生。但信号过多也存在一些缺点:

    (1) 传感器的引线多。传感器采用二线制的信号传输方式,每只传感器要2根引线。在大型库的系统中,往往有几百只到几千只传感器,需要的引线的根数是传感器的2倍,如此多的引线将给安装时的布线和日后维护带来困难。
    (2) 传感器的位置往往与控制器较远,模拟信号的长线传输会带来干扰。
    (3) 目前通信主控模块与上位机间的通信采用RS-232串行通信,其通信速率低,通信距离短,抗干扰能力较弱。
    (4) 从现场来的信号要经过唯一的微机进行分析,然后再返回到现场设备,不支持竞争。

    现场总线技术加实现现场设备与上位机之间的数字连接和现场设备的智能化,可克服上述一般微机监测系统中的缺点和不足。现场总线有很多种,笔者选用CAN总线,它是当今最为流行、使用较多的现场总线之一。它以其高性能、高可靠性以及灵活的设计受到人们的关注,并得到广泛应用。本文以CAN现场总线为基础,研究它在立体车库系统中的应用。

2  CAN总线在立体车库中使用的特点

    CAN总线最初是由德国BOSCH公司为解决汽车监控系统中的诸多复杂技术和难题而设计的数字信号通信协议,它属于总线式串行通信网络。由于采用了许多新技术和独特的
设计思想,与同类产品相比,CAN总线在数据通信方面具有可靠、实时和灵活的优点。

    为使设计透明和执行灵活,遵循ISO/OSI标准模型,CAN总线结构划分为两层:物理层和数据链路层(包括逻辑链路控制子层LLC和媒体访问控制子层MAC)。其中,LLC子层为数据传递和远程数据请求提供服务;MAC子层的功能主要是传送规则,即控制帧结构、执行仲裁、错误检验、出错标定和故障界定。

CAN总线在立体车库中应用的主要特点有:

    (1)  CAN可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。
    (2)  CAN网络上的节点可分成不同的优先级,可以满足不同立体车库中的实时要求。
    (3)  CAN采用非破坏性总线裁决技术,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,大大节省了总线冲突裁决时间;最重要的是在立体车库网络负载很重的情况下,也不会出现网络瘫痪的情况,可靠性高。
    (4)  CAN可以点对点、一点对多点及全局广播几种传送方式接收数据。
    (5)  CAN的直接通信距离最远可达10km(速率5KB/s以下)。CAN的通信速率最高可达1MB/s(此时距离最长40m)。特别适于立体车库。
    (6)  CAN上的节点数实际可达110个。可满足立体车库节点多的要求。
    (7)  CAN采用短帧结构。立体停车设备属于国家特种设备,对安全要求非常严格,采用短帧结构可满足其安全要求。因为短帧结构的每一帧有效字节数为8个,传输时间短,受干扰的概率低,且具有极好的检错效果。每帧信息都有CRC校验及其他检错措施,数据出错率极低。
    (8)  通信介质采用廉价的双绞线,无特殊要求,成本较低,便于在立体车库中推广。
    (9)  CAN节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。立体车库往往由不同组别的设备组成,当一组设备有故障时,可切断它与总线的联系,不会影响其他设备正常运行。
    (10)  NRZ编码/解码方式,并采用位填充技术。

    为了保证车辆在立体车库中的安全、正常放置,需要大量的传感器,网络上需要传递不同的信号,因而难免会发生抢占总线的情况,而CAN总线特有的多主方式和非破坏性总线仲裁技术能够克服这种情况,使通信方式更加灵活,并且节省了总线冲突裁决时间,保证了网络的运行质量。因而在立体车库中选择CAN总线作为现场级的网络是适宜的。

3  CAN总线在立体车库中的应用

3.1  微机监控系统总体设计

    笔者在立体车库CAN总线系统的设计中采用了上位机和节点的方式,上位机和节点之间采用CAN总线进行通信,由于CAN具有的多主方式,使得整个系统中的各个模块都可以互相通信。但在本系统中,通信主要集中在上位机与节点之间,节点与节点之间暂不进行通信。本系统中的上位机由一台计算机和一块CAN卡组成,主要负责监控各节点的状态和发出控制命令;而各节点由单片机+CAN控制器及其它外围电路组成,主要负责接收上位机发送的命令并执行,同时返回一些状态信息。图1为本立体车库系统总体结构示意图。



图1  系统总体结构示意图



    本系统网络拓扑结构采用总线式结构,其特点是结构简单、成本低,并且采用无源抽头连接,系统可靠性高。选用CAN总线连接各个网络控制节点,形成多主机控制器局域网。信息的传输采用CAN通信协议,传输介质选用普通双绞线。为了提高系统的抗干扰能力,在控制器和传输介质之间进行光电隔离等。

    系统的工作过程如下:CAN适配卡上电复位和初始化后,等待PC机的命令和数据,当PC机发出命令和数据时,通过触发中断通知CAN适配卡。CAN适配卡上的微处理器分析命令并完成数据的发送和接收处理。当CAN适配卡完成一次通信后,通过中断通知PC机,PC机从双端口RAM中取出数据进一步处理。

3.2  系统硬件设计

    由图1系统总体结构可知,系统硬件主要包括上位机、CAN总线和数据采集节点三大部分组成。
    本系统上位计算机选择PC机,其优点是:PC机上面有多条扩展槽,利用局域网络通信适配卡,使得该系统很容易与其他生产管理部门联网,便于统一调度和管理。选用PC机,还可以充分利用先用软件工具和开发环境,方便快捷的设计功能丰富的应用软件。

    由于上位机负责整个系统的控制与调度,工作任务较重,因此采用PC+CAN总线适配卡的方案。CAN总线通信接口适配卡选择PCI-5110智能CAN接口卡,其结构如图2所示。由图2可见,CAN通信卡是以微控制器为核心,外加CAN控制器电路、双端口RAM电路、中断电路、复位电路和隔离电路构成的。PCI-5110接口卡上集成8KB高速双端口存储器,可有效提高数据吞吐率,适合用于立体车库需要进行大量数据传输的CAN通讯应用场合;硬件采用中断接收方式,可最大限度地减轻PC负荷;对PC的硬件、软件环境要求并不严格。



图2  CAN总线通信接口适配卡结构图




    数据采集节点是本系统中的重要部分,它的作用有两个方面:一是在上位机不存在或没有启动的情况下能独立指挥系统工作;二是能够接收上位机发来的命令,并且执行,同时还要作多点监控和状态报告。节点结构如图3所示。



图3  数据采集节点结构图




    它的核心部分是单片机和CAN总线控制器。在这里CAN总线控制器选用了与上位机相同的设计:采用PHILIPS公司的SJA1000 CAN控制器+PCA 82C250 CAN收发器组成。SJA1000 CAN控制器是PHILIPS公司新推出的CAN控制器芯片,它可以完成CAN协议所规定的物理层和数据链路层的所有功能,具有完成高性能通信协议所要求的全部特性。PCA 82C250是CAN控制器SJA1000与CAN物理总线的接口器件,它提供对总线的差动发送能力和对CAN控制器的差动接收能力。

    而单片机,笔者选用了ATMEL公司的ATMEL 89C51单片机。
    EEPROM可用于存储系统的初始化参数或者用户自定义数据。
    EPROM用来存放程序,它也是不同设备控制器的差异所在。
    RAM用来存放微处理器在运算、测量、控制时的有关数据。

在系统设计中要注意到两点:

    (1)  总线两端要接上120Ω的匹配电阻,以提高整个系统通信的可靠性和抗干扰能力。
    (2)  系统中的单片机时钟由SJA1000提供(将SJA1000的时钟信号分频得到),以便于两者之间同步。

3.3  系统软件设计

    本系统上位机监控及人机接口界面程序是在WINDOWS 98平台上采用组态软件iFIX编写的,它加快了开发速度,改善了人机界面。iFIX与常用的组态软件相比最大的优势在于它有强大的控制功能,这一点恰好满足本系统的要求。值得一提的是iFIX内嵌的VBA功能,VBA是Intellution Dynamics完全内置的一个强有力的编辑工具,可以快速方便的生成自动的操作任务和自动化解决方案。

    CAN总线智能节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接受。

    SJA1000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、接受滤波方式的设置、接受屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等。在完成SJA1000的初始化设置以后,SJA1000就可以回到工作状态,进行正常的通信任务。

    发送子程序负责节点报文的发送。发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入SJA1000发送缓冲区中,然后启动SJA1000发送即可。

    接收子程序负责节点报文的接收以及其他情况的处理。接收子程序比发送子程序要负责一些,因为在处理接收报文的过程中,同时要对诸如总线关闭、错误报警、接收溢出等情况进行处理。SJA1000报文的接收主要有两种方式:中断接收方式和查询接收方式,考虑到本系统对通信的实时性要求不是很强,采用了查询接收方式。

4  总结

    基于CAN控制器的应用系统,由于其效率高,抗干扰能力强,传输距离长,成本较低,以及它特有的多主方式,特别适合在中小型立体车库的分布式控制系统中使用。CAN总线的应用在我国立体车库中才刚刚开始,相信不久以后,CAN总线的使用会越来越多,它必将会成为现场总线的主流应用。

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: