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

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

3天内不再提示

解读关于CAN总线的数据采集器的设计

电子工程师 来源:《电子元器件应用》 作者:李新军 2021-04-07 15:30 次阅读

介绍了一种通用CAN节点数据采集器的设计方法,该数据采集器采用12位精度的模数转换器,具有4路模拟量输入和2路输出;其开关量为四路输入和四路输出,并有1个可作为通用CAN总线接口的CAN通信口用于自动控制系统中的数据采集口,并以CANOPEN协议进行通信。

0 引言

现代工业生产过程一般都是连续或成批的工作,故需要严格的过程控制和安全措施。数据采集系统就是对生产环节的数据进行实时采集,并对数据进行处理,从而实现提供生产过程数据和动态监控等功能。在整个生产过程中,数据采集系统发挥着非常重要的作用。为此,本文给出了一种数据采集器的设计方法,本设计采用CAN(Controller Area Network,控制器局域网络)总线,具有智能程度高、传输效率高、实时性强、适用面广等特点。

1 CAN总线简介

CAN(Controller Area Network)为局域网控制总线,符合国际标准ISO11898。CAN总线最初是由德国的BOSCH公司为汽车的监测、控制系统设计的,属于总线式通讯网络。CAN总线规范了任意两个CAN节点之间的兼容性,包括电气特性及数据解释协议。CAN协议分为二层:物理层和数据链路层。物理层用于决定实际位传送过程中的电气特性。在同一网络中,所有节点的物理层必须保持一致,但可以采用不同方式的物理层。CAN的数据链路层功能则包括帧组织形式、总线仲裁和检错、错误报告及处理、对要发送信息的确认以及确认接收信息并为应用层提供接口等。

其主要特点是:

(1) 能够以多主方式工作,网络上的任意节点均可成为主节点,并可向其它节点传送信息;

(2) 非破坏性总线仲裁和错误界定,总线冲突的解决和出错界定可由控制器自动完成,且能区分暂时和永久性故障并自动关闭故障节点;

(3) CAN节点可被设定为不同的发送优先级。以满足不同的实时要求;

(4) 采用差分驱动,可在高噪声干扰环境下使用;

(5) 通信距离可达lO km(5Kbps),速率可达1Mbps(40m以内)。

2 数据采集器的结构原理

本文设计的数据采集器综合考虑了各种现场需求以及线路的优化等因素。设计时选用了专用元器件,以尽量简化电路,提高电路的可靠性。该数据采集器电路有4路模拟量差分输入(信号范围为0~10 V)和2路输出;开关量则是四路输入和四路输出,并有1个CAN总线通信口;CAN通信采用CANOPEN协议方式。

本数据采集器采用单片微机C8051F005作为控制核心,与CAN控制器SJA1000、CAN驱动器82C250及两片TLP521-4等器件共同组成具有模拟/数字量输入输出的接口电路。将C8051F005的P1口的全部口线同两片TLP521-4的输入或输出连接,以作为开关量的数据接口;P0的全部口线则作为与CAN控制器SA1000接口的地址/数据复用总线;P2口的部分口线用于对CAN控制器SJA1000的控制。该数据采集器的结构如图1所示。

o4YBAGBtXhCADQZkAACLjUwmcUs333.png

2.1 模拟量采集模块的设计

模拟量的采集是本系统的关键,为了提高数据采集的精度和抗干扰性,模拟量采集模块采用差分形式。其中4路模拟量输入通过模拟多路开关进行分时切换。本系统选用高速模拟多路开关DG529,并共用一个前置电路数据送入C8051F005的A/D转化器进行转换,这种方案可以大大简化电路结构,提高效率。具体的前置电路如图2所示。

o4YBAGBtXh6AZQ6jAAEusXTVmzE557.png

该前置电路采取浮动差分形式来提高数据采集的稳定性。先将DG529切换过来的信号送到AD620进行阻抗匹配,之后采用高精度运放OP07并叠加一个1.2 V的电平到信号中间,使之形成浮动差分形式,再经过R7~R10的电阻网络衰减以及运放LM258的缓冲,送到C8051F005的AIN0、AIN1进行相差之后,进行A/D转换。二极管D1~D4可保护单片机的口线。

模拟量的输出则直接用C8051F005的DAC转换器再经运放放大来实现。

2.2 开关量采集模块的设计

开关量的输入采用光耦进行光电隔离,以隔断前后通道的电磁联系,提高抗干扰能力,同时把输入的开关量转化为C8051F005的3.3 V的电平标准。开关量的输出同输入一样仍然采用光电隔离。具体电路如图3所示。

pIYBAGBtXjCADskmAAA4_wC4dDY430.png

2.3 通信模块的结构

本数据采集器通信系统主要由CAN通讯控制器SJA1000、CAN通讯驱动电路82C250和光电隔离部分构成。通信模块负责实现现场总线体系结构的逻辑链路控制(LLC)子层、媒体访问控制(MAC)子层和物理层的功能,完成具体数据的可靠接收和发送。CAN控制器SJA1000与物理总线接口芯片82C250连接。为了保护数据采集器内部的芯片并提高抗干扰能力,在SJA1000与82C250之间加入光耦进行隔离。

考虑CAN网络具有较高的传输速率,普通光耦的速度是不够的,所以,本设计选用高速光耦(6N137)作为隔离器件,而且光耦部分电路所采用的两个电源也必须完全隔离,否则光耦也就失去了意义。SJA1000与82C250的电路连接如图4所示。

o4YBAGBtXj6ABU_IAAEh5q9nNaI611.png

3 CAN通信的设计

CAN总线的通信采用CANopen协议来实现。CANopen是基于CAN串行通讯的网络系统,CANopen规范覆盖了应用层和通讯协议子集、程序设备的构造、推荐的电缆和接头形式、SI单位和前缀解释等,因而可保证不同厂家CAN控制器在通讯、联接和具体控制以及软件开发方面的一致性,从而给系统的使用和维护带来极大方便,图5是其参考模型。

pIYBAGBtXlOAJFrxAABrrV4hluo724.png

在CANopen应用层中,设备通讯和应用程序对象将得到交换,所有这些对象均可通过16位索引和8位子索引进行访问,这些对象(COB)将会被映射到一个或更多的已经预定义和配置好的帧中。图6是CAN各协议层的访问方式示意图。通过对象索引,数据对象在应用层进行处理和访问将更加方便和直接。

pIYBAGBtXmKAL_g2AABvTTnOXt8614.png

CAN协议具体包括如下几个方面:

(1) 标识符

采用11位标识符,数据链路层与CAN2.0A相同。

(2) 网络中的主从节点关系

一个CANopen系统必须有一个且仅有一个主节点,但可以有多个从节点(0~126),其中主节点具有启动网络、停止网络、节点检查、网络引导等特殊功能。

(3) PD0协议

在CANopen协议中,CAN的数据信息可被看作是一种过程数据对象PDO (Process Data Ob-ject),它是设备传送处理信息的标准方式。PDO发送端可看作为PDO生产者,而PDO接收端则可比喻成PDO的消费者,这种通讯为一点对多点的方式。

(4) SDO服务

SDO(Services Data Object服务数据对象)可提供一种获得指定节点相关状态数据的手段。当SDO客户端发送一个数据请求后,服务端便发送相应的数据回应,这与原CAN协议中的远程数据帧类似。

(5) 预定义连接集

CANopen规定了预定义的连接集,以简化网络的配置和使用。

(6) 发送和接收PDO

CANopen规定了相应的内存区以用于发送和接受网络上的数据。这相当于c语言中直接对地址进行操作,因而可实现PDO数据的完全透明传送,从而给程序编制带来极大方便。

4 结束语

现场总线技术是自动化控制领域的一次重大变革,本文所设计的系统正是为适应这一变革所做的积极的探索。应用实践证明,基于CAN现场总线的数据采集器不仅可靠性高,而且比通常采用PLC系统配置更为灵活,相信该系统将更加广泛的应用于工业生产的各个方面。

编辑:jq

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

    关注

    144

    文章

    8988

    浏览量

    161231
  • 驱动器
    +关注

    关注

    51

    文章

    7291

    浏览量

    142830
  • CAN总线
    +关注

    关注

    145

    文章

    1809

    浏览量

    129571
收藏 人收藏

    评论

    相关推荐

    虹科提供了一种高效、可靠的汽车CAN/LIN总线数据采集解决方案

    现代汽车配备了复杂的电子系统,CAN和LIN总线已成为这些系统之间实现通信的标准协议,为了开发和优化汽车的电子功能,汽车制造商和工程师需要可靠的数据采集解决方案。
    的头像 发表于 02-27 10:09 950次阅读
    虹科提供了一种高效、可靠的汽车<b class='flag-5'>CAN</b>/LIN<b class='flag-5'>总线</b><b class='flag-5'>数据采集</b>解决方案

    数据采集器是什么设备 数据采集器属于什么设备类型

    数据采集器是一种用于采集和记录数据的设备。它可以连接到各种传感器、仪器或其他数据源,收集数据并将其存储在内部存储器或外部设备中,以供后续分析
    的头像 发表于 02-04 10:27 748次阅读

    物联网数据采集器的工作原理和工作流程

    物联网数据采集器的工作原理和工作流程 物联网数据采集器是物联网系统中的关键组成部分,它负责收集、处理和传输设备所产生的数据。其工作原理和工作流程如下所述。 一、物联网数据采集器工作原理
    的头像 发表于 02-01 10:59 1497次阅读

    34970A数据采集器采集软件报错的解决办法#电路知识 #电工 #电路原理

    电路数据采集器
    安泰仪器维修
    发布于 :2024年01月22日 17:59:24

    谁会用到CAN总线数据采集器

    CAN总线数据采集器主要用于以下几类用户: (1)汽车制造商和供应商:汽车制造商和供应商使用CAN总线
    的头像 发表于 11-29 08:45 242次阅读

    LR8402-21日置数据采集器主机读不到模块维修

    近日某院校送修三台日置数据采集器LR8402-21,客户反馈数据采集器主机读不到模块,对仪器进行初步检测,确定与客户描述故障一致。本期将为大家分享本维修案例。
    的头像 发表于 10-25 17:30 316次阅读
    LR8402-21日置<b class='flag-5'>数据采集器</b>主机读不到模块维修

    电梯数据采集器的作用是什么?

    电梯数据采集器是一种装置,通常安装在电梯内部,用于实时监测电梯运行状态。这些采集器配备了多种传感器,可以检测电梯的速度、负载、温度、电力消耗以及各种机械部件的状态。通过这些传感器,电梯运行时的数据可以即时传输到中央系统,使操作员
    的头像 发表于 10-25 09:40 234次阅读

    基于ARM和CAN总线的分布式数据采集系统设计

    电子发烧友网站提供《基于ARM和CAN总线的分布式数据采集系统设计.pdf》资料免费下载
    发表于 10-13 11:30 0次下载
    基于ARM和<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的分布式<b class='flag-5'>数据采集</b>系统设计

    虹科方案 | 汽车CAN/LIN总线数据采集解决方案

    基于PCAN和PLIN设备,虹科提供了一种高效、可靠的汽车CAN/LIN总线数据采集解决方案,旨在帮助您轻松实现数据采集和分析,为您的汽车创新项目提供支持。欢迎联系虹科工作人员了解详情
    的头像 发表于 10-09 11:07 1171次阅读
    虹科方案 | 汽车<b class='flag-5'>CAN</b>/LIN<b class='flag-5'>总线</b><b class='flag-5'>数据采集</b>解决方案

    34970A维修安捷伦数据采集器开机报错,指标超差最新案例

    近日某院校送修安捷伦数据采集器34970A,客户反馈数据采集器开机报错,指标超差,对仪器进行初步检测,确定与客户描述故障一致。本期将为大家分享本维修案例。 下面就是安捷伦-34970A维修情况
    的头像 发表于 08-23 18:05 982次阅读
    34970A维修安捷伦<b class='flag-5'>数据采集器</b>开机报错,指标超差最新案例

    电梯数据采集器,实现智能化管理的关键

    随着现代城市的迅速发展,电梯的使用越来越普遍。然而,电梯的安全与管理一直是人们关注的焦点。为了提高电梯的安全性和运行效率,电梯数据采集器应运而生,下面将介绍电梯数据采集器的功能和作用,以及它在电梯
    的头像 发表于 08-23 10:25 322次阅读

    数据采集器板卡测试,你确定学的会吗? #电路知识 #电路原理 #维修

    电路数据采集器
    安泰仪器维修
    发布于 :2023年08月22日 09:57:54

    维修数据采集器是德34970A无法开机

    近日某院校送修是德数据采集器34970A,客户反馈数据采集器数据采集器开机后屏幕无显示。对仪器进行初步检测,确定与客户描述故障一致。本期将为大家分享本维修案例。 下面就是是德-34970A维修情况
    的头像 发表于 07-25 17:33 503次阅读
    维修<b class='flag-5'>数据采集器</b>是德34970A无法开机

    数据采集器安捷伦34970A维修不开机案例

    近日某院校送修安捷伦数据采集器34970AC,客户反馈数据采集器自检不过,进不了测试界面,后面烧了不开机,对仪器进行初步检测,确定与客户描述故障一致。本期将为大家分享本维修案例。 下面就是安捷伦
    的头像 发表于 05-10 15:36 814次阅读
    <b class='flag-5'>数据采集器</b>安捷伦34970A维修不开机案例