全球领先的IT技术网站 |首页 |Tags |网站地图

来吧程序猿_新闻资讯

RSS

您现在正在浏览:首页 » 新闻资讯 » 组网 » 基于CAN总线的电工实验指导系统设计

基于CAN总线的电工实验指导系统设计

摘要:基于CAN总线的电工实验指导系统设计,引 言在生产现场控制系统中,智能设备与常规电气设备的安装、调试与维护需要相当数量的电气技术人员,如何高效、批量、规范地培

基于CAN总线的电工实验指导系统设计

引 言

在生产现场控制系统中,智能设备与常规电气设备的安装、调试与维护需要相当数量的电气技术人员,如何高效、批量、规范地培养高级电气操作人员是教仪厂商急需解决的问题。它要求设备具备通信功能,让教师能掌握训练过程的动态指标,从而了解学员的实际实验情况,可对实验过程进行控制,实现分类指导。

本文通过对CAN(控制器局域网)协议及其应用的研究,利用CAN通信控制器、CAN收发器以及增强型微控制器等元器件,研制并开发一种基于CAN总线的应用系统--电工实验指导系统,在电工实验室开出网络化实验教学课程,从而改变常规教学方法的不足,让学生更加自主、灵活地完成其实验任务,并可根据自己的情况进行扩展实验,为建立开放性实验实训设施基地打下良好的基础,还能使学员体会到网络实验的实际价值,了解CAN总线控制技术的基本知识。

1 CAN总线网络通信层的模型与协议

针对不同的应用领域可选择不同的应用规范,对于一般的应用领域,采用"命令-响应"模式的通信协议,就可以实现可靠而有效的"主-从"式通信网络。如果需要进行大量数据交换或通信方式灵活的CAN网络,则可采用一些标准的多主通信协议,如HilonB协议,或者采用CAN2.0协议中远程帧定义。在汽车电子产品领域,通常参考或直接采用J1939等标准规范。在电力通信设计领域,则常采用DeviceNETV2.0规范,该规范己被我国采纳国家标准。在智能楼宇通信领域,一般使用Modbus协议或延用RS-485模式的"主-从"协议。

本系统在建立实际CAN总线通信网络时,使用CAN底层硬件来实现对物理层、数据链路层的控制。应用CAN2.0A/B协议规定的通信检错等机制保证CAN总线通信网络的可靠性,建立了用户协议层的通信协议,并对网络上的通信数据流进行解释与管理。其用户协议层(应用层)通信协议由数据帧和远程帧格式定义来实现,属于"主-从"式结构。

2 硬件系统的组成与模块硬件的设计

基于现场总线的电工实验指导系统的硬件主要由主机、接口卡、智能节点(从机)组成。主机中有应用程序和数据库等文件;接口卡是CAN实现通信的桥梁,同时,在网络中它也作为一个节点;智能节点由基于现场总线、单片机技术的数据采集与传输模块以及实际操作接线装置等组成。节点能够在计算机的控制下对学生的电工实验进行智能指导。

2.1 数据采集与传输模块的设计

数据采集与传输模块可分为5个主要部分,即:由单片机AT89S52组成的主机部分;由SJA1000、PCA82C250、光电隔离电路等组成的CAN总线控制及接口部分;由+5V基准电压源、驱动三极管LED指示灯、数码管组成的电源与显示部分;采用4片8255作为I/O口的扩展,并与操作工位后端接口等电路组成的数据转换与采集部分;实际操作工位。

AT89S52单片机作为主机,负责对SJA1000进行初始化,通过控制SJA1000实现数据的接收和发送等通信,实施对实验数据的采集,采用P1口控制动态扫描显示与指导实验相关的数据等。选用74L,S373作为地址锁存器,用74LS138对8255、SJA1000进行片选。

2.1.1 CAN总线控制及接口部分

在从机的运行过程中,由于主控CPU需完成多项工作任务,在要求具有一定的灵活性的同时,还需使系统具有一定的可扩展性,因此,从机中的CAN控制器选用Philips公司的SJA1000。选用PCA82C250作为CAN总线的收发器,它也是CAN协议控制器与物理层之问的接口,具有抗瞬变、抗射频和抗电磁干扰的性能,内部的限流电路具有电路短路时对传送输出级进行保护的功能。在节点(工位机)与介质之间加入光耦电路,即SJA1000的TX0和RX0并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82C250相连。6N137为高速光隔器件,作为外线路与系统之问的隔离,并采用两个完全隔离电源VCC和VDD分别对光耦两部分电路供电,从而达到信号之间的完全隔离,这样可有效地提高系统的抗干扰能力和内部系统的安全性。SJA1000的ADO~AD7连接到AT89S52的P0口,CS连接到74LS138的Y4端口,Y4为0时CPU片外存储器地址可选中SJA1000,CPU通过这些地址可对SJA1000执行相应的读写操作,SJA1000的RD、WR、ALE分别与AT89S52的对应引脚相连,可将INT接AT89S52的INT0或INT1。AT89S52可通过中断或查询方式访问SJA1000,也可将INT接AT89S52的其他端口,采用查询方式访问SJA1000。接口电路如图1所示。

3 CAN总线电工实验系统节点软件

3.1 数据采集与显示在节点中的实现

本文采用AT89S52单片机作为工位(节点)系统的控制、数据采集和显示的核心,使用Keil uVision2集成开发环境进行软件的开发与调试。

由于从机需要完成显示、数据采集与传输等功能,因此至少需采用2个中断源进行程序控制,即INT0和T0。其中:INT0用于指示CAN总线数据的接收与发送等进程的外部中断;T0控制显示扫描时钟等。数据采样过程分为两种情况:一是初始化时的自动初始采样;二是在程序的运行过程中,当接收到数据帧时,自动执行一次采样。

1)显示部分的功能与过程分析

显示电路的功能有3种:显示初始化成功、有关出错和对学生实验步骤进行指示等信息。这些信息可由用户根据硬件结构和软件的需要自行定义。本文采用74LS47译码驱动集成电路进行驱动与显示控制。通过软件的运行,使P1口分别控制6个数码管共阳端的通断,同时,由P0口向74LS47译码驱动电路提供数据,实现了显示的动态扫描控制。初始化正常时自定义显示为004321,正常运行时显示课题号、相号、接线步骤标号或出错时显示错误标志号。

2)数据采集的原理与过程分析

数据采集的原理是:CPU通过其P2口的相应引脚控制向与其对应的分相首端子提供+5 V电平,其余接点按一定规则用信号线相连,从而使每个端子上出现0电平或高电平,这样对应端子的状态可通过8255读取。即按一定顺序接线时,可在对应的8255口读到不同的采样数据。8255的每一个端口均可读到一个8位二进制数(1字节),将这些数据与实验操作步骤关联,从而使每次操作得到不同的数据。本系统需4片8255,一次采样可得到12个8位二进制数。

在单片机的RAM空间设置一个20字节的数组作为采集数据的存储空间。在上电复位时,使8255均初始化为普通读方式,并向数组中写入初始化数据。正常运行后,每接收到一个数据帧就进行一次数据的采集。所采集的数据直接按CAN总线通信的帧格式对数组中的内容进行更新,以备读取与上传。数据采集的存储地址与内容如表2所示。


在主机程序设计中,接口程序与数据处理的算法设计是关键。其中,主机接口卡可作为一个智能节点,网络中的数据通信主要是对该卡的操作。

4 结束语

本文对CAN总线网络的软硬件系统进行了分析与研究,采用了一种基于CAN总线的组网协议与数据传输方式,并将其应用于电工实验指导系统中,以"主一从"通信模式实现网络通信,达到了预期目标。设备能满足实验环境的需要。

基于CAN总线的电工实验指导系统设计,就简单的介绍到这里了,更多相关内容资讯请继续关注来吧程序员官方网站。文章部分内容来源于网络,涉及到版权问题请联系我们。

0 »

新闻专题

OS X Mavericks 欲与 Windows 8.1 试比高
OS X Mavericks 欲与 Windows 8.1 试比高

微软在美国旧金山举行的Build 2013开发者大会上推出Windows操作系统的下一代更新——Windows 8.1预览版。苹果在旧金山召开了盛大的本年度WWDC(苹果全球开发者大会)大会上推出OS X 操作系统的新版本Mac OS X Mavericks。本文针对这两个全新的系统进行10个回合的对比,看看谁才是目前最出色的桌面系统。

微软 Windows 8.1 毫无新意
微软 Windows 8.1 毫无新意

2013 年 10 月 17 日, 微软发布 Windows 8.1 更新,改进了一些 Windows 8 上饱受诟病的体验,但是毫无惊艳可言,只是在旧系统上的“缝缝补补”,总体来说,有惊喜,无惊艳。

最新资讯