栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > 学术 > 学术期刊 > 电子世界

CAN总线在智能仪表中的应用研究

CAN总线在智能仪表中的应用研究

孔祥斌 郑宾 李向楠

【摘要】本文详细介绍了仪表的CAN总线通信的实现过程,对MSP430FG4618单片机、CAN控制器SJA1000、以及CAN收发器82C250进行了探究,并以它为处理器进行硬件设计,使CAN总线的通讯更加直观。本文在分析论述了现场总线技术的有关性能特点及CAN协议规范后,完成了CAN通信卡的电路设计;在软件上实现了PC机通过CAN通信卡对CAN现场总线仪表实现远程管理等功能。

【关键词】CAN总线;智能仪表;SJA1000;数据记录仪

1.引言

CAN现场总线技术是一个控制技术新时代的开端,现场总线控制系统采用双线制、多回路的全数字化信息传输,不仅提高了整个系统的可靠性和抗干扰能力,同时也可以大大节省控制系统的投资、安装及后期的维护费用。现场设备的智能化及可互连和互操作性,有助于CAN现场总线控制系统进一步向分散化、智能化、网络化方向发展。开展CAN总线在智能仪表系统中的应用的课题研究,具有重要的学术价值和实际意义。本设计在硬件上采用了单片机MSP430FG4618作为仪表的CAN总线的控制核心,成功地运用了CAN收发器82C250连接CAN总线,使仪表具有通讯的功能。

本设计采用微处理器作为仪表的核心,设计出的数据记录系统,能完成数据记录的功能和实时数据的转存等功能。此外,仪表采用目前较为流行的CAN总线接口来实现通讯功能,使得仪表的性能得到提高。本设计在硬件上采用了单片机MSP430FG4618作为仪表的CAN总线的控制核心,成功地运用了CAN收发器82C250连接CAN总线,使仪表具有通讯的功能。研究的内容包括仪表的硬件电路设计,软件设计和上位机(PC)能实时地显示数据等多方面的研究,为实际CAN总线在智能仪表中的应用提供了多种解决方案和实例,可供在真正的实际应用中进行选择使用[1,2,3,4]。

2.CAN总线的体系结构

CAN总线是开放系统,但没有严格遵循国际标准化组织工SO的开放系统互连的七层参考模型OSI,处于对实时性和降低成本等因素的考虑,CAN总线只采用了其中最关键的三层,即物理层,数据链路层和应用层,其中数据链路层又进一步分为逻辑链路控制子层LLC和媒体访问控制子层MAC,而应用层则包含了ISO/OSI模型中物理层和数据链路层外其余各层的功能。CAN总线的体系结构如图2.1所示。

图2.1 CAN总线的体系结构

3.系统硬件设计

本文所述系统是一个典型的CAN总线在智能仪表应用系统,针对CAN总线在智能仪表系统中的应用进行了多方面的研究,除利用SJA1000构成CAN总线的控制系统外,对MSP430的通讯、FLASH的读写、日期和时间的获取等都进行了成功的的实践,完成了实际硬件电路的设计和软件编程,为实际CAN总线在智能仪表中的应用提供了多种解决方案和实例,可供在真正的实际应用中进行选择使用。总的电路框图如图3.1所示。

图3.1 总电路框图

3.1 MSP430FG4618单片机外围电路

MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在8MHz晶体驱动下指令周期为125ns,这些特点保证了可编制出高效率的源程序。

图3.2 单片机外围电路

3.2 CAN控制器SJA1000

SJA1000是一种CAN独立控制器用于移动目标和一般工业环境中的区域网络控制。它是PHILIPS半导体PCA82C200 CAN控制器(BasicCAN)的替代产品而且它增加了一种新的工作模式PeliCAN,这种模式支持具有很多新特性的CAN 2.0B协议。SJA1000是一种I/O设备基于内存编址的微控制器。双设备的独立操作是通过像RAM一样的片内寄存器修正来实现的。

图3.3 CAN总线控制器SJA1000部分原理图

SJA1000的地址区包括控制段和信息缓冲区。控制段在初始化载入是可被编程来配置通讯参数的(例如,位时序)。微控制器也是通过这个段来控制CAN总线上的通讯。在初始化时CLKOUT信号可以被微控制器编程指定一个值。微控制器和SJA1000之间状态、控制和命令信号的交换都是在控制段中完成的。初始载入后,寄存器的验收代码、验收屏蔽、总线定时寄存器0和1以及输出控制就不能改变了。只有控制寄存器的复位位被置高时,才可以访问这些寄存器[5]。

4.软件设计

本系统软件设计实现的功能是:通过SJA1000接收CAN总线其他节点传来得数据,将数据存到SJA1000的FIFO中,单片机MSP430把FIFO中的数据存到内存中。当内存中存储了500个字节数据后,MSP430把这些数据写入FLASH的一页中长期存储。当接入U盘时,MSP430能够自动判断出U盘已经接入,然后从FLASH中读出数据到内存,再将内存缓冲区中的数据写入U盘内。另外,系统装有时钟芯片DS1302,可以随时获取时间信息。软件设计中将接收数据的日期和时间与数据一起作为一个数据块写入FLASH或存入U盘中[6,7]。单片机MSP430的USART单元也可以把数据通过串口传给PC机。如图4.1所示。

图4.1 主程序流程图

图5.1 CAN总线通讯卡KPCI-8110

5.系统组合与测试

本设计中利用CAN总线通讯卡KPCI-8110通过CAN总线向记录仪发送数据,此卡由北京科瑞兴业科技有限公司制作,采用光电隔离技术,适用于各种工控机、兼容机(PCI总线)的长距离传输,传输速率高。CAN总线通讯卡KPCI-8110如图5.1所示。

测试界面如图5.2所示。

图5.2 用户界面

该程序的主要功能是对数据进行解码和显示。首先将存入U盘的数据文件拷贝到PC机上,此文件是.dat格式,需要对此文件进行解码,把它变为.txt格式。用户可以点击“打开”按钮添加要解码的.dat文件,然后点击“解码”按钮就可以将其转换为.txt文件。最后,再点击“显示”按钮就能够把.txt文件显示在用户界面的list control中。程序可以区分出数据的各部分信息,按照序号、时间标识、帧格式、帧类型、帧ID和数据的格式,将数据显示出来,方便用户进行分析[8,9]。

6.结束语

本文中给出了部分硬件原理图、实物图以及软件的流程图。此系统具有烧写简单,调试方便,抗干扰能力强等特点。且具备远程控制、数据存储、显示和传输的功能。此系统已在实验室通过测试,系统运行稳定、可靠。

参考文献

[1]郑琪.CAN总线智能采集卡的设计与实现[D].硕士学位论文:西安科技大学,2009.

[2]何立民编著.单片机应用系统设计[M].北京航空航天大学出版,2003.

[3]朱飞.基于CAN总线的智能温度传感器设计[D].硕士学位论文:电子科技大学,2008.

[4]向科.CAN总线在智能仪器中的研究与应用[D].硕士学位论文:贵州大学,2007.

[5]Stand-alone CAN controller.PHILIPS,2000.

[6]馬忠梅.MSP430单片机C语言编程宝典[M].北京:北京航空航天大学出版社,2003.

[7]谭浩强.C程序设计(第二版)[M].北京:清华大学出版社,2001,3.

[8]龚建伟编著.Visual C++串口通信编程实践[M].北京:电子工业出版社,2004.

[9]李朝青.PC机及单片机数据通信技术[M].北京:北京航空航天大学出版社,2009.

作者简介:孔祥斌(1987—),男,山东滕州人,中北大学硕士研究生在读,主要研究方向:动态计量测试技术。

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/xueshu/16618.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号