【基于can总线的温度采集与显示系统】 can总线故障

  摘要: 介绍基于CAN总线的智能温度传感器DS10B20的设计。系统以单片机AT89S51作为处理器,DS10B20数字温度采集器采集温度数据。单片机接收并处理数据,LED数码管分时显示温度值。通过外扩的CAN总线控制器SJA1000和报文收发器PCA82C250,该控制器可直接作为CAN总线的一个从结点工作。
  关键词: CAN总线;温度采集;显示系统
  中图分类号:TP273文献标识码:A文章编号:1671-7597(2012)0320031-01
  1 硬件设计
  1.1 硬件技术方案。系统主要包括五大模块:通信、CAN总线控制、智能节点、显示。其中通信模块采用的是CAN总线通讯,CAN总线的控制模块主要由SJA1000控制器,82C250接发器组成,此外还有用于隔离的6N137光电耦合器;主控制器采用AT89C51芯片;温度采集部分采用温度传感器DS18B20;显示部分采用数码显示管。
  1.2 设计思想。系统采用主从分布的思想,系统上位机为人机交互界面,本文主要研究下位机的智能节点部分,主要由单片机及其外围电路组成。下图中所给出的是一个节点的示意图。图1是CAN总线与单片机的温度检测系统连接图。上位机部分CAN适配卡与上位机通过PCI总线通信。上位机与单片机通过通讯接口传输信息。CAN总线通讯控制模块控制单片机。下位机智能节点模块,温度传感器将输出信号传输给单片机,经信号处理电路变成0-5V直流信号,并且将直流信号送入单片机进行数据分析和处理。
  
  
  
  
  
  
  
  
  
  
  
  
  
  图1系统结构图
  1.3 CAN总线通讯设计。89C51作为CAN总线系统智能节点的微处理器,在CAN总线通信接口中采用的是PHILIPS公司的SJA1000和82C250芯片。SJA1000是CAN通信控制器,82C250是CAN总线的收发器。为了使总线上各个CAN节点之间实现隔离,SJA1000与P82C250之间要通过高速光电耦合器6N137相连。通讯电路主要由四部分所构成如图2所示:微控制器89C51、独立CAN通信控制器SJA100,CAN总线收发器82C250和高速光电耦合器6N137。此外,为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RXO通过高速光耦6N137后与82C250相连,以便实现总线上各CAN节点间的电气隔离。接发器与CAN总线的接口部分也需要采用抗干扰措施。
  1.4 采集与显示电路。本系统可实现多点温度测试。DS18B20采用外部供电方式,理论上一根数据总线上可以挂256个DS18B20,但在实际生产中,如果在一根数据总线上挂接25个以上的DS18B20就有可能产生功耗问题。另外单总线长度太长也会影响到数据的传输。由此在设计中采用单片机的多个I/O来驱动多路DS18B20。显示电路设计中采用共阴极七段数码管。显示方式有动态扫描和静态显示,由于静态扫描要用到多片串入并出芯片,考虑到成本问题,本设计采用是节约硬件资源的动态扫描方式。即用两块芯片就可以完成显示功能。
  2 控制器软件设计
  如图2所示,主程序调用了3个子程序,分别是CAN总线通讯程序、温度测试程序、温度显示程序。将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序即可。数码管显示程序完成向数码的显示送数,CAN总线通讯程序可以实现上位机与智能通讯,将温度数据传送给上位机。温度测试程序可以对温度数据进行处理,温度显示程序能够对温度芯片送过来的数据进行显示。
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  图2程序流程图
  2.1 CAN总线程序的设计。CAN节点的软件设计主要包括3部分:SJA1000初始化,报文的发送和接收。SJA1000的初始化主要完成对工作方式、接收滤波寄存器、接收屏蔽寄存器、接收代码寄存器、波特率参数等的设置。对SJA1000初始化成功后,就可以用它来传输报文。节点向总线发送报文的过程是:单片AT89C51将待发送的数据按CAN格式组成一帧报文,写入SJA1000的发送缓冲区,然后启动SJA1000,把报文发送到总线上去。
  2.2 温度采集与显示程序的设计。温度采集系统中使用的是数字型的温度传感器DS18B20,首先初始化传感器,并储存当时的温度数据,由于温度数据所需要的存储空间并不大,因此直接使用单片机内部的存储模块即可。此时传感器内部便有了温度的转换命令,将温度这个模拟量转化为数字信号,并放入存储空间。若此时键盘按键按下,便可将数据传到显示部分显示出来。DS18B20作为单片机AT89C51的外部信号源,把所采集到的温度转换为数字信号通过I/O接口传给AT89C51,AT89C51启动内的控制程序驱动数字显示管,把数据在通过I/O口和数据先(单片机和数字显示管的接口)传给数字显示管,把所采集到的温度实时显示出来。
  3 结束语
  本文结合温度采集与显示系统的原理和CAN总线的特点,提出了以单片机为控制核心,根据系统功能和CAN总线设计方法进行总体设计,确定系统方案,并完成硬件设计。
  
  参考文献:
  [1]朱飞、李恩、梁自泽、侯增广,基于CAN总线的智能温湿度传感器设计[J].自动化与仪表,2009(3).
  [2]杨慧、田亮、田敏,CAN总线协议分析[J].中国仪器仪表,2002(4):14.
  [3]李艾华、李涛,基于CAN总线的温湿度智能测控装置[J].兵工自动化,2004(02).

推荐访问:总线 采集 温度 显示