微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络业界新闻 > CAN总线智能采集卡的设计与实现

CAN总线智能采集卡的设计与实现

时间:10-07 来源:通信产业网 点击:
控制器局域网CAN(Controller Area Network)作为一种多线路网络通信系统,以其时分多主、非破坏性总线仲裁和自动检错重发等灵活、可靠的通信技术,及低廉的价格,被广泛地应用于工业自动化生产线、汽车、传感器、医疗设备、智能化大厦、电梯控制、环境控制等分布式实时系统。本采集卡采用的是一款Atmel公司新近推出的带有CAN控制器的微控制器,是一款很有前途的新型芯片,其内部集成CAN控制器,用它来组建CAN总线实时监控系统,与传统的CAN总线组网方式相比,系统具有结构简单、设计容易、抗干扰性强等应用优势。

1.采集卡的功能描述

本采集卡完成的主要功能有:

1) 采集温箱里的温度数据,并对其进行滤波处理。

2) 监视温度信号的变化情况,实现报警功能。

3) 将采集到的数据通过CAN总线传给上位机及其它节点。

采集卡带有8279键盘/显示接口,可通过手工或上位机来设定各种采集用的参数。

2.总体组成

智能采集卡主要由单片机系统,8279键盘/显示控制芯片,译码驱动电路,LED,按键阵列,温度传感器DS18B20,光电隔离以及CAN总线物理接口等组成,其硬件组成原理图见图1。

采集卡的总体工作流程如下:

采集卡上电复位以后,首先根据默认的参数初始化CAN总线的各个寄存器及DS18B20,然后对8279及显示LED的状态进行初始化,接着给T0定时器装载初值及设置中断寄存器等。待初始化完成之后,就向主机发送控制帧,要求主机设定采样周期、发送时间间隔、当前时间、发送主机地址、本机标识符等参数。设定完之后,就根据不同的状态进入到不同的中断服务程序中。

数据类型根据传输方向可分为上行数据(采集卡→主机)和下行数据(主机→采集卡)。

上行数据主要是采集卡采集到的温度数据。它的处理主要经过以下几个步骤:T89C51CC01对温度传感器DS18B20执行一个其RAM存储器操作命令完成一次温度测量。测量结果放在DS18B20的暂存器里,然后CPU用一条读暂存器内容的存储器操作命令将暂存器中数据读出,存放在数据存储区中。到满足发送条件之后,短数据直接形成帧送到发送缓冲区,超过帧长的数据则要经过分解,打包后再送入CAN总线控制器发送缓冲区。CAN控制器通过CAN物理接口向CAN总线发送数据,总线的所有节点都侦听该数据,但并非所有节点都接收此数据,只有通过接收滤波的节点才接收此数据。采集卡的数据主要是发送给主机、监控节点和相关的控制节点。当采集卡采集到的温度数据超过报警上限、报警下限或变化速率过快的时候,采集卡还通过CAN控制器向主机发送报警信息。

下行数据主要是主机向采集卡发送的各种控制信息。虽然采集卡可以接收任何节点的信息,但它主要起的是智能传感器的作用,所以一般只接收主机来的各种控制信息。控制信息通过CAN物理接口进入到CAN控制器的接收缓冲器中,采集卡根据帧类型来区分不同的控制帧并设定相应的参数,并进行相应的接收、发送处理。


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

网站地图

Top