微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 基于CAN总线的装备器材库智能监控系统的设计

基于CAN总线的装备器材库智能监控系统的设计

时间:08-03 来源:互联网 点击:
软件的设计   

系统软件的设计采用模块化,主要分为上位机程序模块、数据采集处理模块和CAN通信模块等。在此主要介绍上位机软件模块与CAN通信模块的设计。

上位机软件的设计   

上位机软件以Borland公司推出的C++Builder6为开发平台,具有系统参数设置、监控状态设置、数据发送和接收、节点状态查询以及中断接收数据管理等功能。上位机首先对CAN总线及其自身初始化,然后发送命令通知特定的节点向CAN总线上发送数据,通过CAN总线上传到上位机,再由上位机处理。上位机采用定时轮循方式向各个节点发命令,采用中断方式接收数据。

相关编程如下:

首先用CreateFile( )打开通信串口,函数引用格式为:

CreateFile(lpFileName,dwDesiredAccess,dwShareMode, lpSecurityAttributes, ,dwCreationDistribution, dwFlagsAndAttributes,
hTemplateFile);

然后用BuildCommDCB( )和SetCommState( )函数,通过通信设备控制块DCB(Device Control Block)设置串口通信参数(如波特率、停止位、数据位、校验位等);

当有通信事件产生时,就可用函数ReadFile( )和WriteFile ( )直接对串口缓冲区进行读写操作。其引用格式分别为:

WriteFile(hFile,lpBuffer,nNumberOfBytesToWrite,lpNumberOfBytesWritten,lpOverlapped);
ReadFile(hFile,lpBuffer,nNumberOfBytesToRead,lpNumberOfBytesRead,lpOverlapped).

上位机软件的其它功能的实现,可通过调用相应组件的属性进行编程。
   
CAN通信模块设计   

CAN通信程序负责将采集到的数据发送到CAN控制器,再由其负责发送到CAN总线。

对于接收数据,本系统采用中断方式实现。一旦中断发生,即将接收的数据自动装载到相应的报文寄存器中,此时还可采用屏蔽滤波方式,利用屏蔽滤波寄存器对接收报文的标识符和预先在接收缓冲器初始化时设定的标识符进行有选择地逐位比较,只有标识符匹配的报文才能进入接收缓冲器,那些不符合要求的报文则将被屏蔽于接收缓冲器之外,从而减轻CPU处理报文的负担。此外,不同数据应放入不同的报文寄存器中,其程序流程图如图5所示。

图5 CAN模块通信流程图(略)   

结束语   

本系统基于CAN总线,采用了IBM-PC兼容机、单片机和SJA1000组成二级控制系统,实现了一体化的操作,可以实现部队装备器材库智能化监控。本系统结构简单,操作方便,安全可靠,造价低廉且运行稳定。

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

网站地图

Top