微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于CAN总线的数据采集器的设计

基于CAN总线的数据采集器的设计

时间:03-17 来源:互联网 点击:
引言

现代工业生产过程一般都是连续或成批的工作,故需要严格的过程控制和安全措施。数据采集系统就是对生产环节的数据进行实时采集,并对数据进行处理,从而实现提供生产过程数据和动态监控等功能。在整个生产过程中,数据采集系统发挥着非常重要的作用。为此,本文给出了一种数据采集器的设计方法,本设计采用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所示。

2.1 模拟量采集模块的设计

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

该前置电路采取浮动差分形式来提高数据采集的稳定性。先将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所示。

2.3 通信模块的结构

本数据采集器通信系统主要由CAN通讯控制器SJA1000、CAN通讯驱动电路82C250和光电隔离部分构成。通信模块负责实现现场总线体系结构的逻辑链路控制(LLC)子层、媒体访问控制(MAC)子层和物理层的功能,完成具体数据的可靠接收和发送。CAN控制器SJA1000与物理总线接口芯片82C250连接。为了保护数据采集器内部的芯片并提高抗干扰能力,在SJA1000与82C250之间加入光耦进行隔离。考虑CAN网络具有较高的传输速率,普通光耦的速度是不够的,所以,本设计选用高速光耦(6N137)作为隔离器件,而且光耦部分电路所采用的两个电源也必须完全隔离,否则光耦也就失去了意义。SJA1000与82C250的电路连接如图4所示。

3 CAN通信的设计

CAN总线的通信采用CANopen协议来实现。CANopen是基于CAN串行通讯的网络系统,CANopen规范覆盖了应用层和通讯协议子集、程序设备的构造、推荐的电缆和接头形式、SI单位和前缀解释等,因而可保证不同厂家

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top