【前言】项目驱动——CAN-bus现场总线基础教程

合集下载

CAN-bus现场总线基础教程【第6章】CAN总线应用层协议(CANopen)-CANopen主站设备的实现(26)

CAN-bus现场总线基础教程【第6章】CAN总线应用层协议(CANopen)-CANopen主站设备的实现(26)

文库资料 ©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 性能;● 遵守工业应用规范。

CAN-bus现场总线基础教程【第8章】CAN总线设备及调试工具-概述(32)

CAN-bus现场总线基础教程【第8章】CAN总线设备及调试工具-概述(32)

广州致远电子有限公司
文库资料
©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 ,它具有物理层、数据链路层和应用层等层面的综合分析能力,可以大大提高问题的解决速度。

CAN-bus现场总线基础教程【第8章】CAN总线设备及调试工具-USBCAN-E-U(33)

CAN-bus现场总线基础教程【第8章】CAN总线设备及调试工具-USBCAN-E-U(33)

第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 。

CAN-bus现场总线基础教程【第6章】CAN总线应用层协议(CANopen)-CANopen主站设备及其应用(23)

CAN-bus现场总线基础教程【第6章】CAN总线应用层协议(CANopen)-CANopen主站设备及其应用(23)

文库资料 ©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 的应用层协议之一,除了支持上述服务类型外,还支持“客户端-服务器”通信模型。

CAN-bus现场总线基础教程【第3章】CAN控制器驱动-SJA1000初始化(11)

CAN-bus现场总线基础教程【第3章】CAN控制器驱动-SJA1000初始化(11)

文库资料 ©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)

CAN-bus现场总线基础教程【第8章】CAN总线设备及调试工具-CANScope(35)

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 。

CAN-bus现场总线基础教程【第1章】现场总线CAN-bus-CAN总线简介(1)

CAN-bus现场总线基础教程【第1章】现场总线CAN-bus-CAN总线简介(1)

第1章现场总线CAN-bus1.1 从“罐头”说起我们知道英文单词“can”有一个意思是罐头,那我们就借题发挥从“罐头”说起吧。

很多人小时候都自制过一种叫传声筒的玩具,就是在两个罐头的底部打孔后,用一根绳子将两个罐头系起来。

一旦绳子绷紧后,对这一个罐头喊话,另一罐头就可以传出声音。

它的原理很简单,对着喊话的那个罐头把声波产生的振动传导到绷紧的绳子上,绳子再将这种振动传导到另一个罐头上,这个罐头又把这种振动传导给空气形成声波。

这样就可以实现一侧说话一侧听了。

图1.1 童年的传声筒因为声音在传声筒中是以振动波的形式传递的,我们可以设想,如果要一人说话多人听那该怎么办呢?这很容易实现,只要在绳子上系上更多的传声筒,让振动波可以传到更多的罐头里,自然可以就可以实现“多方通话”了。

当然,因为声波能量有限,绳子上系的罐头越多,每个罐头分配到的能量就越少,收听到的声音也就越小。

其实本章要介绍的现场总线和传声筒这种原始通信工具的原理是相通的。

只不过电电缆取代了绳子,电信号取代了振动波,电路板取代了罐头,喊话的内容则由各种需要传递的数据取代了。

典型的现场总线应用如图1.2所示,和上面的传声筒是不是很相似呢?图1.2 现代的现场总线1.2 通信的层次通信是分层的,这个概念应该贯彻在我们学习任何通信系统的整个过程中。

我们仍以上面的传声筒游戏为例,假如小男孩想表达“你好”的意思,那他不会关心声音如何让罐头振动,更不会关心“你好”在绳子上是以横波还是纵波传输的,他关心的是自己表达的意思对方能不能理解。

在通信层次划分上来说,两个小朋友就处于“应用层”。

很显然,应用层是整个通信系统存在的唯一目的,任何通信系统都是为应用层服务的。

相对于“你好”这个想法,说出“你好”这个词就有很多种表达方法了,可以是中文、英文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.文、日文等等。

canbus现场总线

canbus现场总线

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个字节,传输时不会过长占用总线,保证了通信的实时性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

更多详细信息请查询

如果您有任何意见或建议,可发送邮件或关注新浪微博“ZLG-周立功”, 作者期待与您交流。
zlg3@
ZLG-周立功
通信速率最高1Mbps 通信距离最远10km 无损位仲裁机制
多主结构 ……
近年来,CAN-bus相关芯片价格 持续下降。另外,许多 MCU已集成CAN 控制器,例如:
项目驱这正是我们推出《项目驱动——CAN-bus现场总线基础教程》的原因所在。
理论学习与动手 实践并重。
CAN节点应用程序设计与组网 自定义一个CAN-bus应用层协议 CAN控制器SJA1000驱动程序设计 介绍一个CAN节点完整的硬件设计 介绍现场总线概念和CAN-bus规范
阅读提示与联系方式
CAN-bus是一项实用性很强的技术,要掌握它就必须动手实践。
CAN-bus是一项仍在不断发展的技术,需通过网络关注其发展动态, 包括新的标准、新的器件、新的应用领域和新的调试方法等。


历久弥新的CAN-bus
20世纪90年代,为解决汽车电气设备通信问题,
它就是
自问世以来,它以
一种极具生命力的现场总线就此诞生。
高效
CAN-bus 经济 可靠
灵活
等诸多优点在各行各业大展身手。
历久弥新的CAN-bus
CAN-bus有许多先进特性: 许多国际组织或公司机构推出基于 CAN-bus的高层协议:
项目驱动的概念
以一个多节点CAN-bus通信网络的实现 为主题来介绍CAN-bus各方面的知识。
从宏观概念到微观操作实践。
从自定义协议到国际主流标准协议。
从硬件设计到软件分层设计。
循序渐进,深入浅出。
本书章节安排
深入理解掌握 CAN-bus
从底层硬件到上层协议软件, 自底而上,循序渐进。
CAN总线设备与调试工具 DeviceNet简介与快速实现组网 CANopen简介与快速实现组网
相关文档
最新文档