当前位置:首页 > 工业控制 > 工业控制
[导读]针对电工实验指导系统的具体案例,对基于CAN(控制器局域网)总线网络软、硬件系统进行了研究与设计。确定智能节点所选择的数据传输模型,在用户协议层(应用层)通信协议中,采用一种由数据帧和远程帧ID(标识符)的格式定义来实现"主-从"式通信。介绍了系统的硬件组成,结合传输等模块的硬件设计,定义了相应模块的访问地址和实验数据的采集方式,阐述了系统中所使用的两种帧格式ID的含义及其定义方法,利用PCI5121接口卡实现各工位从机与上位主机的通信,并给出了智能节点程序的运行框图。

引 言

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

本文通过对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所示。

2.1.2 数据转换与采集部分

1)数据转换电路的设计

根据电气控制原理的分析与研究,从中优化出一种比较通用的接线方法,让对应的点按操作顺序依次向CPU的I/O口提供一定规则的+5 V电平,即可完成采样和数字量的转换。学生操作工位的正面为与实际接线端子插孔,其背面为与之相连的信号线,信号线的另一端与8255的某一固定的端口相接。

2)采样电路的设计

工位面机采用4片8255作为I/O口的扩展,并通过20 kΩ下拉电阻与操作工位后端对应的接线端子相接。在8255初始化时,让其工作于普通读方式,此时,如果某端子为高电平,则在对应的8255 I/O口可采集到高电平。如果所有接线端子均为高电平,则总电流会接近7805的最大输出电流。因此,需采用分相、分电路的方法进行实验指导操作,完成实验的指导任务。 2.1.3 单片机对硬件电路各部分访问的地址

硬件电路原理图设计好后,其访问地址即可根据具体的情况予以确定。本文采用P2.5~2.7口控制74LS138,分别对4片8255和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所示。

3.2 通信软件的设计

本文中主站采用PC15121接口卡作为接口设备,在通信方式与协议确定后,主站与从站的通信可调用该产品的接口函数来实现。从站(工位)CAN节点的控制软件采用模块化设计方法。主要有5个模块:SJA1000初始化模块、SJA1000接收数据模块、SJA1000发送数据模块、SJA1000错误处理模块;系统的其他任务模块。

3.3 智能节点程序的运行

从机的主要功能为硬件的初始化、进入正常的显示、等待中断事件的发生、接收数据帧、数据处理并送显、等待接收远程帧并返回所需的数据帧和数据的采集等。其主程序流程如图2所示。外部中断服务程序流程如图3所示。

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

4 结束语

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Holtek专注于无线通信技术持续强化产品研发,宣布新推出Sub-1GHz OOK/GFSK Transceiver Flash MCU BC66F3653和BC66F3663。二款MCU较前代产品增强抗干扰能力、提升传...

关键字: MCU 数据采集 自动化

CAN总线是一种串行通信协议,是ISO国际标准化的。它最初设计用于汽车内的多路电气布线以节省铜线,但也可以用于许多其他环境。在CAN总线中,所有的单元都可以发送和接收信息,且所有与总线相连的单元都可以开始发送新消息,但如...

关键字: CAN总线 CAN总线故障分析

CAN通信是一种控制器局域网络(Controller Area Network)通信协议,是由德国BOSCH公司开发,并最终成为国际标准(ISO 11898)。它是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率...

关键字: can通信 CAN总线

CAN总线通信是一种用于解决汽车众多控制部件之间的数据交换而开发的一种串行数据通信总线。它的英文全称是Controller Area Network,即控制器局域网。CAN总线通信的特点包括多主控制、通信速度快、通信距离...

关键字: CAN总线 CAN故障维修

太阳能供电应用系统的设计需要考虑多个方面,包括太阳能电池板、储能装置、控制模块等。本文将介绍一种基于太阳能供电的应用系统设计方法,并从这几个方面进行详细阐述。

关键字: 太阳能 系统设计

北京2023年8月15日 /美通社/ -- 日前,在第五届OCP China Day 2023(开放计算中国技术峰会)上,浪潮信息正式推出融合架构3.0原型系统,以开创性的系统架构设计实现了计算资源、存储资源、...

关键字: 系统设计 内存 软件定义 数据中心

北京2023年8月7日 /美通社/ -- 随着大模型智能水平的提升,AIGC所需要的算力在不断增长。大模型的参数量超过千亿,甚至突破万亿级别,预计智算中心将迎来更快发展。IDC预测,2022-2026年,全球AI计算市场...

关键字: CHINA 数据中心 AI 系统设计

无论是CAN总线还是485总线,实际应用中经常会出现各种异常,常因总线组网后,波形边沿出现过缓、呈“镰刀”状的现象,导致数据丢失或出错,那么这现象前因后果大家是否真正的了解呢? 

关键字: CAN总线 485总线 机器人

Holtek针对无线通信领域,新推出Arm® Cortex®-M0+ 为核心的Sub-1GHz GFSK Transceiver MCU HT32F67233。适用于免执照的ISM Band(315/433/470/86...

关键字: 无线通信 数据采集 MCU
关闭
关闭