【前言】项目驱动——CAN-bus现场总线基础教程
- 格式:ppt
- 大小:11.24 MB
- 文档页数:7
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第6章 CAN 总线应用层协议——CANopen1.1 CANopen 主站设备的实现上文介绍了CANopen 协议转换模块——XGate-COP10和基于该模块设计的I/O 设备,本章节中将介绍CANopen 网络中具有主站功能的设备如何开发。
尽管在CiA 组织的CANopen 规范中没有明确的定义主站设备和从站设备,但大家还是习惯把具有网络管理(NMT )能力的CANopen 设备称之为CANopen 主站设备。
除此之外CANopen 主站还应具有服务数据(SDO )客户端功能,这样CANopen 主站能够控制以及访问网络中的所有CANopen 从站。
PCI-5010-P 就是具有这些功能的CANopen 主站板卡(PCI 接口),下文将介绍如何基于该产品快速实现功能强大的CANopen 主站设备。
1.1.1 CANopen 网络的拓扑结构 一个CANopen 网络中的主站设备管理着其它的从站设备,而且一个网络只允许有一个CANopen 主站设备和最多127个从站设备存在。
图6.1所示为PCI-5010-P 在CANopen 网络中的典型应用形式。
1.1.2 PCI-5010-P CANopen 主站卡简介PCI-5010-P 系列工业级CAN 通信卡支持CANopen 主站协议,支持CiA 建议的标准波特率以及自定义波特率,并提供多个操作系统的设备驱动、工具软件等,能真正的满足客户的各种应用需求,为工业通信CANopen 网络提供了可靠性、高效率的解决方案,在计算机中的硬件与软件结构如图6.2所示。
图6.2 PCI-5010-P 在计算机中的硬件与软件结构PCI-5010-P 具有如下特性:用PCI 总线,兼容PCI 2.2规范;图6.1 PCI-5010-P 在CANopen 网络中的结构文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.● 支持CAN2.0A 协议; ● 支持CANopen 协议;● 符合ISO/DIS 11898-2 规范;● 集成1路电气完全隔离的CAN 通道; ● DC 2500V 电气隔离保护; ● 增强ESD/EMI 性能;● 遵守工业应用规范。
广州致远电子有限公司
文库资料
©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.
文章源自广州致远电子有限公司,转载或引用请注明出处
1 工业通讯-CAN bus 通信产品
第8章 CAN 总线设备及调试工具
1.1 概述
前面章节已经介绍了CAN 节点设计的相关内容,并且完成了一个CAN 总线节点的设计。
接下来就需要对这个节点进行调试,使其达到设计要求。
一个完整的CAN 网络是具有一定功能的,除了现场的各种执行器和传感器外,还需要一个指挥中心来控制整个网络有序的运行,这个指挥中心通常称为主控设备,可以由工控计算机、PLC 或其它功能较强的设备担当。
一般来说计算机本身不带CAN 接口,所以直接使用计算机和CAN 网络是不能互联的,CAN 接口卡的作用就是给计算机增加CAN-bus 现场总线接口功能,计算机就通过CAN 接口卡接入CAN 网络,通过PC 机测试软件可以观察到整个CAN 网络中的数据流,对CAN 节点进行调试。
常见的CAN 接口卡有USB 、PCI 接口,通过USB 或PCI 接口连接到PC 机,本章将介绍2款通用的CAN 接口卡:USBCAN-E-U (USB CAN 接口卡)、PCI-5010-U (PCI CAN 接口卡)。
在第1章我们说过解决通信问题时要先定位问题所在的通信层次,只有这样才能有的放矢。
本章还将介绍一款功能强大的CAN-bus 总线开发辅助工具CANScope ,它具有物理层、数据链路层和应用层等层面的综合分析能力,可以大大提高问题的解决速度。
第8章 CAN 总线设备及调试工具1.1 USBCAN-E-U1.1.1 概述USBCAN 设备根据CAN-bus 接口数量可分为单路和双路两种,在可靠性要求较高或数据量较大的CAN 应用中会使用双路USBCAN 设备。
双通道设备USBCAN-2E-U 的工作原理与单通道基本一样,本节以单通道设备USBCAN-E-U 为例讲解,USBCAN-E-U 是兼容USB2.0全速规范的,带有1路CAN 的工业级高性能CAN 接口卡,实物图如图8.1所示。
PC 机可以通过USB 总线连接至CAN 网络,构成实验室、工业控制、智能小区等CAN 网络领域中的数据采集与数据处理。
USBCAN-E-U 接口卡是CAN 产品开发、CAN 数据分析的强大工具;同时,具有体积小、即插即用等特点,也是便携式系统用户的最佳选择。
接口卡上自带磁耦隔离模块,使其避免由于地环流的损坏,增强系统在恶劣环境中使用的可靠性。
USBCAN-E-U 收发的数据均与计算机上的应用软件有关,USBCAN-E-U 除了支持自带的上位机软件外,还提供Win2000/XP/WIN7、Linux 下工作的驱动程序及详细的应用例程,支持用户在VC++,VB 以及Delphi 等开发环境下开发自己的应用软件。
1.1.2 主要特点USBCAN-E-U 接口卡的主要特点:● PC 接口:便携式USB2.0全速接口;● CAN 接口:OPEN5接口,符合DeviceNet 和CANopen 标准;● CAN 协议:完全符合CAN 2.0B 规范,兼容CAN 2.0A ,符合ISO/DIS 11898;● CAN 通道数:1通道隔离CAN 接口;● CAN 波特率:可编程任意设置,范围在5Kbps ~1Mbps 之间;● 最高帧流量:5000帧/秒(扩展帧);● 供电方式:USB 总线供电,或使用外接电源(+9V ~+25V ,200mA);● 磁耦隔离模块绝缘电压:DC 2500V ;● 工作温度:-25℃~+70℃;● 存储温度:-40℃~+85℃;● 物理尺寸:115mm×76mm 。
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第6章 CAN 总线应用层协议——CANopen1.1 CANopen 主站设备及其应用由于可靠性、实时性、低成本、抗干扰性、兼容能力等多个方面的优势,CAN-bus 与其高层协议CANopen 已成为了车辆数据通信系统的事实标准,并普遍应用于所有的可移动设施,例如船舶舰艇、客车火车、升降电梯、重载车辆、工程机械、运动系统、分布式控制网络等。
几乎所有的通用 I/O 模块、驱动器、智能传感器、PLC 、MMI 设备的生产厂商都提供有支持CAN-bus 与CANopen 标准的产品。
只要符合 CANopen 协议标准及其设备协议子集标准的系统,就可以在功能和接口上保证各厂商设备的互用性和可交换性。
1.1.1 CANopen 网络特点作为标准化应用,CANopen 建立在设备对象描述的基础上,设备对象描述规定了基本的通信机制及相关参数。
CANopen 可通过总线对设备进行在线配置,与生产厂商无关联,支持网络设备的即插即用("Plug and Play")。
CANopen 支持2类基本数据传输机制:PDO 实现高实时性的过程数据交换,SDO 实现低实时性的对象字典条目的访问。
SDO 也用于传输配置参数,或长数据域的传输。
CANopen 既规定了各种设备之间的通信标准,也定义了与其他通信网络的互连规范。
1.1.2 CANopen 网络中的设备分类在说明CANopen 网络设备分类之前,我们有必要先了解其网络通信模型。
CAN-bus 支持 “生产者-消费者”通信模型,支持一个生产者和一个或多个消费者之间的通信关系。
生产者提供服务,消费者接收则可以(消费)或忽略服务。
需要注意,CANopen 标准作为CAN-bus 的应用层协议之一,除了支持上述服务类型外,还支持“客户端-服务器”通信模型。
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第3章 CAN 控制器驱动1.1 SJA1000初始化1.1.1 初始化流程SJA10000在上电复位后处于复位模式,要使SJA1000能正常收发CAN 帧数据,必须对SJA1000进行初始化,SJA1000初始化流程详见图3.1。
1. 进入复位模式SJA1000的配置寄存器只有在复位模式下才能访问,所以必须首先置位模式寄存器的0位,以进入复位模式。
2. 设置模式寄存器模式寄存器用于设置SJA1000工作模式,定义详见表3.1。
表3.1 SJA1000模式寄存器定义RM :复位模式位,置位该位将使SJA1000进入复位模式,清零该位则退出复位模式返回工作模式。
LOM :只听模式位,设置该位后,SJA1000处于只听模式。
只听模式只从CAN 总线接收数据,不能向总线上发送数据也不会产生错误帧。
只听模式常用于自动波特率检测功能,例如在软件里预先定义一个包含所有可能的位频率以及它们的位时序参数的表格,使能SJA1000接收和错误中断,依次尝试表格中的位时序参数,如果在CAN 总线上产生了错误,软件转向下一个位时序参数,在一条信息的成功地接收后,表明软件已经检测到正确的位时序参数。
STM :只检测模式位,设置该位后,SJA1000在发送CAN 帧时不检查应答位,可以实现单个CAN 节点的发送功能。
AFM :验收滤波器模式,设置该位时使用单滤波功能;清零该位时使用双滤波功能。
SM :睡眠模式位,设置该位时,SJA1000进入睡眠模式,降低功耗。
3. 设置时钟分频寄存器时钟分频寄存器用于选择BasicCAN 模式还是PeliCAN 模式、CLKOUT 管脚控制、CAN 输入比较器控制,寄存器的位定义详见表3.2。
表3.2 SJA1000时钟分频寄存器定义4. 设置CAN 波特率波特率是异步串行通信中的重要参数,指每秒钟能发送的数据位元数量,只有相同波特率图3.1 SJA1000初始化流程图文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.的设备才能互相通信,CAN-bus 使用异步串行通信技术,同样需要遵守该规则。
CAN-bus现场总线基础教程【第8章】CAN总线设备及调试工具-CANScope(35)文库资料 ?2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第8章 CAN 总线设备及调试工具1.1 CANScope1.1.1 概述作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN 总线逐步被广泛应用到汽车电子、电力通讯、工业现场、电梯系统等控制领域。
常用的CAN 信号分析仪器有示波器、逻辑分析仪、CAN 分析仪,但远远满足不了CAN 总线开发工程师的需求。
CANScope 是广州致远电子股份有限公司最新推出的一款CAN-bus 总线开发辅助工具,内部集成了示波器、逻辑分析仪和CAN 分析仪的功能,分别从物理层、数据链路层、应用层深入分析CAN 总线信号,帮助用户快速而准确地定位错误,极大地提升了CAN 总线的开发与维护效率,是CAN 总线开发工程师的好帮手。
1.1.2 物理层在物理层应用中,CANScope 分析仪主要从波特率、波形、FFT 、眼图等方面对CAN 总线信号进行分析。
1.自动侦测波特率在开发CAN 底层驱动程序的过程当中,如果晶振选择和波特率计算方法存在问题,就会导致从CAN 控制器出来的实际波特率与理论计算值有所偏差。
当CAN 网络中CAN 设备的波特率不一致时,就会导致错误帧增多、通讯延迟等不确定问题,甚至会造成通讯失败。
CANScope 分析仪可以自动侦测CAN 总线波特率,帮助用户查找由于波特率不匹配造成通讯出错的问题。
下面我们利用CANScope 分析仪的自动侦测波特率功能进行测量。
首先将CAN 发送设备与CANScope 分析仪相连接。
然后设置CAN 发送设备的波特率为1Mbps ,发送CAN 报文数据到总线上,设置CANScope 分析仪的采样率为100Mbps 。
图8.1 CANScope 自动侦测波特率文库资料 ?2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.如图8.5所示CANScope 分析仪软件右下角自动侦测到波特率为996.677kbps 。
第1章现场总线CAN-bus1.1 从“罐头”说起我们知道英文单词“can”有一个意思是罐头,那我们就借题发挥从“罐头”说起吧。
很多人小时候都自制过一种叫传声筒的玩具,就是在两个罐头的底部打孔后,用一根绳子将两个罐头系起来。
一旦绳子绷紧后,对这一个罐头喊话,另一罐头就可以传出声音。
它的原理很简单,对着喊话的那个罐头把声波产生的振动传导到绷紧的绳子上,绳子再将这种振动传导到另一个罐头上,这个罐头又把这种振动传导给空气形成声波。
这样就可以实现一侧说话一侧听了。
图1.1 童年的传声筒因为声音在传声筒中是以振动波的形式传递的,我们可以设想,如果要一人说话多人听那该怎么办呢?这很容易实现,只要在绳子上系上更多的传声筒,让振动波可以传到更多的罐头里,自然可以就可以实现“多方通话”了。
当然,因为声波能量有限,绳子上系的罐头越多,每个罐头分配到的能量就越少,收听到的声音也就越小。
其实本章要介绍的现场总线和传声筒这种原始通信工具的原理是相通的。
只不过电电缆取代了绳子,电信号取代了振动波,电路板取代了罐头,喊话的内容则由各种需要传递的数据取代了。
典型的现场总线应用如图1.2所示,和上面的传声筒是不是很相似呢?图1.2 现代的现场总线1.2 通信的层次通信是分层的,这个概念应该贯彻在我们学习任何通信系统的整个过程中。
我们仍以上面的传声筒游戏为例,假如小男孩想表达“你好”的意思,那他不会关心声音如何让罐头振动,更不会关心“你好”在绳子上是以横波还是纵波传输的,他关心的是自己表达的意思对方能不能理解。
在通信层次划分上来说,两个小朋友就处于“应用层”。
很显然,应用层是整个通信系统存在的唯一目的,任何通信系统都是为应用层服务的。
相对于“你好”这个想法,说出“你好”这个词就有很多种表达方法了,可以是中文、英文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.文、日文等等。
canbus现场总线第三章 CANbus现场总线现场总线是安装在生产过程区域的现场设备仪表与控制室内的自动控制装置系统之间的一种串行、数字式、多点通信的数据总线。
现场总线(Fieldbus)技术是实现现场级控制设备数字化通信的一种工业现场层网络通信技术,可使用一条通信电缆将现场设备(智能化、带有通信接口)连接,用数字化通信代替4-20mA/24VDC信号,完成现场设备控制、监测、远程参数化等功能。
CAN,全称为“Controller Area Network”,即控制器局域网,由德国Bosch 公司最先提出,已成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。
CAN是一种多主方式的串行通讯总线,CAN的规范定义了OSI模型的最下面两层:数据链路层和物理层。
CAN 协议有2.0A和2.0B两个版本,CAN协议的2.0A版本规定CAN 控制器必须有一个11位的标志符,在2.0B版本中规定CAN控制器的标志符长度可以是11位或29位。
第一节 CAN通信协议3.1.0协议特点CAN总线是一种串行数据通信协议。
它有如下特点:1、CAN协议分层分为目标层、传输层、物理层。
目标层的功能:确定要发送的报文、确认传输层接收到的报文、为应用层提供接口。
传输层的功能:帧组织、总线仲裁、检错、错误报告、错误处理。
物理层的范围包括实际位传送过程中的电气特性。
2、CAN协议逻辑位使用2种逻辑位表达方式。
当总线上的CAN控制器发送的都是弱位时,此时总线状态是弱位(逻辑1);如果总线上有强位出现,弱位总是让位于强位,即总线状态是强位(逻辑0)。
上有强位出现,弱位总是让位于强位,即总线状态是强位(逻辑0)。
3、CAN协议校验.采用CRC校验并可提供相应的错误处理功能,保证了数据通信的可靠性。
4、CAN协议编码方式.使用了数据块编码方式,使得网络内的节点个数在理论上不受限制。
5、CAN协议数据块的长度.规定了数据块的长度最多为8个字节,传输时不会过长占用总线,保证了通信的实时性。
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.
文章源自广州致远电子有限公司,转载或引用请注明出处
1 第2章 CAN 节点设计
1.1 MCU 与CAN 控制器电路的连接
前面部分的内容已经单独介绍了CAN 控制器电路和MCU 电路的设计,但是却没有说明这两部分电路的具体引脚连接,于是决定单独使用一个小节来讲解MCU 与CAN 控制器电路的引脚连接关系,希望通过这样的方式可以帮助读者更清楚CAN 控制器和MCU 之间的关系,更好理解以后章节中出现的控制程序。
1.1.1 MCU 和CAN 控制器的引脚连接
由于在电路设计时已经把SJA1000当成了MCU 的外部RAM ,那么在电路连接的时候SJA1000的引脚也必须符合MCU 外扩RAM 的连接要求,具体的连接方法就是将错误!未找到引用源。
中接头CZ1和错误!未找到引用源。
中的接头CN1及CN2按表2.1所示的引脚对应关系连接。
表2.1 SJA1000模块和MCU 引脚的连接关系
INTCAN 是SJA1000的中断输出脚,所以将其接MCU 的外部中断输入引脚P3.2,这样可以让MCU 及时检测和响应SJA1000发生的各种中断异常,而RSTCAN (RSTCAN 与SJA1000的RST 脚相连)接单片机的P1.2则是为了方便MCU 控制SJA1000的复位信号。
WR 、RD 、和ALE 分别是写使能信号、读使能信号和地址锁存信号,在访问SJA1000的过程中主控制器会自动输出这些控制信号,SJA1000在接收这些信号后就会在其接口管理逻辑的控制下完成MCU 请求的各种功能。
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第1章 现场总线CAN-bus1.1 CAN-bus 物理层物理层主要是完成设备间的信号传送,把各种信息转换为可以传输的物理信号(通常为电信号或光信号),并将这些信号传输到其他目标设备。
基于该目的,CAN-bus 对信号电平、通信时使用的电缆及连接器等做了详细规定。
CAN-bus 由ISO 标准化后发布了两个标准,分别是ISO11898(125kbps~1Mbps 的高速通信标准)和ISO11519(小于125kbps 的低速通信标准)。
这两个标准仅在物理层不同,在数据链路层是相同的。
1.1.1 CAN 收发器与信号电平位于CAN-bus 物理层的器件要完成逻辑信号与电缆上物理信号的转换,该器件被称为收发器,其外形如图1.1所示。
图1.1 CAN 收发器的引脚与实物图CAN-bus 使用两根线缆进行信号传输,如图1.2所示,这两根线缆的名称分别为CAN_High 和CAN_Low (简称CAN_H 和CAN_L )。
CAN 收发器根据两根线缆之间的电压差来判断总线电平,这种传输方式被称为差分传输。
线缆上传输的电平信号只有两种可能,分别为显性电平和隐性电平,其中显性电平代表逻辑0,隐性电平代表逻辑1。
ISO11898和ISO11519-2电信号数据对比如表1.1所示。
表1.1 ISO11898和ISO11519-2电信号数据对比图1.2 双绞线文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.双绞线(屏蔽/非屏蔽)双绞线(屏蔽/非屏蔽)CAN-bus 采用双绞线连接,并配合差分传输方式,可以有效的抑制共模干扰。
共模干扰是指信号线上的干扰信号的幅度和相位都相同,如图1.3所示。
例如通信电缆被一个电磁脉冲辐射了,根据中学的物理知识我们知道交变的磁场能感应出产生交变的电场,反映在信号电位上就是出现了瞬间的电压跌落或尖峰。