JG京工科业-JGBK-09 型船舶 CAN-BUS 工控网络实验装置
注:根据船舶 AMS 系统设计
CAN 是 Controller Area Network 的缩写(以下称为 CAN ),是 ISO*1 国际标准化的串行通信协议。 在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应 “ 减少线束的数量 ” 、 “ 通过多个 LAN ,进行大量数据的高速通信 ” 的需要, 1986 年德国电气商博世公司开发出面向汽车的 CAN 通信协议。此后, CAN 通过 ISO11898 及 ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。
现在, CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。
CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一,发送方通过使总线电平发生变化,将消息发送给接收方。
一、 CAN 的特点
CAN 协议具有以下特点。
1. 多主控制
在总线空闲时,所有的单元都可开始发送消息(多主控制)。
最先访问总线的单元可获得发送权( CSMA/CA 方式 *1 )。
多个单元同时开始发送时,发送高优先级 ID 消息的单元可获得发送权。
2. 消息的发送
在 CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符( Identifier 以下称为 ID )决定优先级。 ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。
3. 系统的柔软性
与总线相连的单元没有类似于 “ 地址 ” 的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。
4. 通信速度
根据整个网络的规模,可设定适合的通信速度。 在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。
5. 远程数据请求
可通过发送 “ 遥控帧 ” 请求其他单元发送数据。
6. 错误检测功能
错误通知功能 • 错误恢复功能 所有的单元都可以检测错误(错误检测功能)。 检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。 正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。
7. 故障封闭
CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。
8. 连接
CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。
二、 PCB 说明
1. 概述
电路板(除通信电路板之外)采用核心板 + 地板的设计思路,核心板设计完全相同,只需要根据不同的底板焊接不同的功能模块。底板的电源部分及通信接口部分设计是完全相同的,其他部分电路实现具体的功能。
电路板分为:核心板、 DO (数字量输出)底板、 DIN (数字量输入)底板、 RO (继电器输出)底板、 AIN (模拟量输入)底板、 AO (模拟量输出)底板和通信板组成。
2. 核心板:
核心板资源介绍:
( 1 ) CPU 及最小单元。
( 2 ) 4 位八段数码管 2 个,用来指示当前板子名称:如 CanbusdO , CanbusrO , CanbusdI, CanbusAO , CanbusAI 分别代表数字量输出、继电器输出、数字量输入、模拟量输出、模拟量输入电路板。
( 3 )调试及复位接口。 ( 4 )底板接口。
( 5 )底板接口。
( 6 )底板接口。
( 7 )底板接口。
( 8 ) DA 单元。
( 9 ) AD 单元。
( 10 ) AD 单元。
( 11 )模拟量电源单元。
( 12 ) USB 转 TTL 接口单元。
( 13 ) CAN 接口单元。
( 14 ) RS485 接口单元。
( 15 ) RS232 接口单元。
( 16 )状态指示灯:针对输出( DO/RO/AO )类型的电路板,如果该区域指示灯有红色显示,代表软件控制输出功能,如果显示蓝色,代表硬件(其他输入电路板)控制器输出通道。
( 17 )功能选择开关。(固定设置,绝对不能更改。)
( 18 )掉电数据存储芯片。
( 19 )数码管驱动单元。
( 20 ) DA 单元。
( 21 )运行指示。(电路板运行指示灯,以 1hz 的频率闪烁。)
3. 底板共性资源介绍:
( 1 )电源输入接口,控制电路和数字量驱动电路建议分别单独供电,也可以共用一路电源。针对 DI/DO/RO 三块电路板,因为都涉及到外部数字量的驱动,全部采用光电隔离的形式,因此需要两路电源同时供给,对于 AI/AO 可以只提供控制电路 24V 。从上往下接口定义:控制电源 24V+, 控制电源 24V-,IO 电源 24V+,IO 电源 24V- 。
下面两个船型开关是电源开关,控制电源和 IO 电源分别控制,上面控制的是控制电源 24V, 下面控制 IO 电源 24V 。
( 2 )控制电源处理单元。
( 3 )内部输入 / 输出,外部输入 / 输出切换开关,有的电路板模块可以同时对内对外输出,比如 RO/DO 模块,这样的模块不需要切换开关,其他的都需要该开关来切换内外信号源及目标。在该开关附近都有 IN<--->OUT 字样的丝印,拨码开关朝向 IN 所指示的方向,代表使用内部的信号源或输出给电路内部,朝向 OUT 所示的方向,对标使用外部的信号源或者输出给外部电路。
( 4 )外部接线端子。
( 5 ) CANBUS 接口。
( 6 ) RS485 接口。
( 7 ) RS232 接口。
( 8 )控制位置选择开关,对于输出性质的电路板,可以选择软件控制或者硬件控制。在该开关附近有 BD Ctrl 和 SF Ctrl 的丝印,开关拨到 BD Ctrl 方向代表受硬件控制,对应核心板的状态指示灯显示蓝色;拨到 SF Ctrl 方向代表受软件控制,对应核心板的状态指示灯显示红色。
( 9 )核心板接入区域。
以上 9 个功能区域对应的功能每块电路板都一样,不再赘述。
4. 数字量输入电路板
( 1 )光电隔离单元。
( 2 )光电隔离单元。
( 3 )电压转化单元。 5V 转为 3.3V 输入到 CPU 对应的 GPIO 通道。
( 4 )输入船型开关。
在硬件控制模式下,改电路板的 1-10 通道控制 DO 通道的 1-10 ; 11-20 通道控制 RO 通道的 1-10 。
5. 数字量输出电路板
( 1 ) P-MOS 管单元。
( 2 )光电隔离单元。
( 3 )指示单元,双色 LED 指示,输出通道激活显示绿色,输出通道不激活显示红色。
( 4 ) CPU 电源转化单元。
( 5 ) PTC , 1A 自恢复保险丝。
( 输出极性请参考电路板丝印,以图 78 视角来看为左正右负 )
在硬件控制模式下,改电路板受电路板第 1-10 路输入信号控制。
6. 继电器输出电路板
( 1 ) P-MOS 单元。
( 2 )光电隔离单元。
( 3 )继电器单元。
( 4 )指示单元。继电器激活时显示绿色,继电器没激活显示红色。
( 5 ) CPU 电压转换单元。
(输出接线端子排布见电路板丝印,按照图 79 视角所示,下面一排从左向右分别是 NC/COM/NO. )
在硬件控制模式下,改电路板受 DI 电路板第 11-20 路输入信号控制。
7. 模拟量输入电路板
( 1 )电压表指示单元,指示 0-25.00 范围,内应的输入电压为 0-2.5V ,对应的外部输入电流为 0-25mA 。
( 2 )电位计单元。
( 3 )数码管驱动单元。
(端子接线定义具体根据电路板丝印来确定,按照图中视角,下方从左到右依次是:电流输入 +/ 电流输入 -/24V 电源 +/24V 电源 - , 该 24V 电源是电路板对外提供的,用来给外部传感器供电的,可以分别接入 2/3/4 线制的 4-20mA 电流输出传感器)
在硬件控制模式下,该输入信号控制模拟量输出对应的通道输出。
8. 模拟量输出电路板
( 1 )输出电流显示,对应显示 00.00-25.00 ,对应输出 0-25mA 电流。
( 2 )数码管驱动电路。
(端子接线定义具体根据电路板丝印来确定,按照图中视角,下方从左到右依次是:电流输出 +/ 电流输出 -/24V 电源 +/24V 电源 - , 该 24V 电源是电路板对外提供的,用来给外部执行部件供电,可以分别驱动 2/3/4 线制的 4-20mA 电流输入执行器)
在硬件控制模式下,该输出信号受 AI 电路板对应通道控制。
9. 通信电路板
( 1 ) CPU 及最小系统单元。
(2 ) Can 接口芯片单元。
(3 ) RS485 接口芯片单元。
(4 ) USB 供电处理单元。
(5) 指示单元。
(6) 掉电数据保存单元。
(7)RS232 单元。
(8) 调试单元。
(9)USB 接口芯片单元。
(10) 功能选择开关。
(11) 电源保护单元。
(12)USB 接口。
(13)Can 总线接口。
(14)RS232 接口。
(15)RS485 接口。
(10) 总结
该系统主要针对 Canbus 通信原理及通信应用进行演示,系统所有控制数据及反馈数据全部经过 Canbus 总线进行交叉传输。每一块电路板存储着在网所有数据,对两两之间的 Can 总线通信状态都有实时的记录,并且该记录也通过 Canbus 传输到网络上,数据在 DI/DO/RO/AO/AI 之间实时的周期性的交换(交换周期大约 0.7s ),通信电路板的作用是将 Canbus 网络上的数据通过 USB-TTL 路由到 PC 上,给 PC 软件提供数据源,同时通过 USB-TTL 接受 PC 软件的指令,并同步到 Canbus 网络上,实现软件的控制,因此通信电路板不仅仅默默地监视着 Canbus 网络上的数据,同时还要下发命令,与其他所有电路板产生交互,其在网状态也要受到监控,于是这 6 块电路板形成了两两交叉的 Can 数据交互模型。在软件中可以监视每两块电路板之间的 Canbus 联通情况。 
。