微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于CAN总线的分布式网架健康状态监测系统的设计

基于CAN总线的分布式网架健康状态监测系统的设计

时间:02-11 来源:不详 点击:

4。在本设计中,A/D模块的功能是将外部模拟信号通过AD574转换成数字信号后并行输入到AT89C51,然后AT89C51将其打包,并行输出至CAN总线通信控制器SJA1000,经总线收发器至CAN总线。其监控电路采用DS1232,它具有电源监控、手动复位和看门狗功能,还能同时输出高低电平的两路复位信号,分别输出至AT89C51和SJA1000的复位端,以满足本次设计的要求。

2 软件设计

本健康监测系统要求软件部分具有现场数字信号显示、检测并驱动现场信号设备等功能。在本设计中主要完成两部分任务:第一是PC机部分的上位机显示,主要通过集成开发环境软件设计出上位机监视显示界面,其重点在于PC机与现场节点间的通信;第二是现场节点控制设计,即设备驱动功能的实现,目的是能接收上位机的控制信号,使现场节点按既定的工作方式工作。

根据系统的工作要求,工作重点包括CAN总线通信程序、看门狗的初始化、A/D采样控制程序、执行机构控制程序和控制算法等,主要流程如图4所示。限于篇幅,这里着重介绍SJA1000初始化程序设计、发送程序设计、接收程序设计以及A/D转换程序的设计。

2.1 SJA1000初始化设计

初始化流程图如图5所示。AT89C51上电或复位后,调用复位程序给SJA1000的复位端(RST)提供复位信号,使SJA1000进入复位模式。SJA1000的初始化只有在复位模式下才可以进行。初始化程序主要完成以下寄存器的设计:(1)通过对SJA1000的时钟分频寄存器定义,判断是使用BassicCAN模式还是使用PeliCAN模式;是否使能CLOCKOUT及输出时钟频率;是否使用旁路CAN输入比较器;TX1输出是否采用专门的接收中断。(2)通过写验收码寄存器和验收屏蔽寄存器定义接收报文的验收码,以及对报文和验收码进行比较的相关位定义验收屏蔽码。(3)通过写总线定时寄存器定义总线的位速率、位周期内的采样点和一个位周期内的采样数量。(4)通过写输出寄存器定义CAN总线输出管脚TX0、TX1的输出模式和输出配置。(5)清除SJA1000的复位请求标志,进入正常工作模式,这样SJA1000方可进行报文的发送和接收。

2.2 发送和接收程序设计

单片机将要发送的报文送到SJA1000的发送缓冲区,然后将SJA1000命令寄存器的发送请求标志位(TR)置位,发送过程由SJA1000独立完成。在新报文写入发送缓冲区之前,必须检查状态寄存器的发送缓冲器的状态标志位(TBS),若为"1",则发送缓冲器被释放,可将新的报文写入发送缓冲器;否则,发送缓冲器被锁定,新的报文不能被写入,发送程序可以采用中断方式和查询方式。在本次设计中,采用的是查询方式。

报文的接收也是由SJA1000独立完成的。收到的报文通过接收滤波器存放在FIFO中,第一条报文进入接收缓冲器,由状态寄存器的接收缓冲器状态标志位(RBS)和接收中断标志位(RI)标出。单片机从接收缓冲器取走一条报文后,要通过置位SJA1000的命令寄存器来释放接收缓冲器。在本次设计中,接收程序的设计采用的是中断方式。

    2.3 A/D转换设计

在本次设计中采用的是12位逐次逼近型A/D转换器AD574。以查询方式设计程序,通过连续查询A/D转换结束标志位判断转换是否结束。当转换结束时,将数据送人CPU中进行处理,并将处理后的数据保存至6264芯片。

基于CAN总线设计的高速分布式数据采集系统具有一定的使用价值,而且价格低廉、可靠性高。同时系统还具有可扩展性,在需要多通道采集的情况下只需添加少量的采样保持芯片即可。通过对该总线系统的通信能力进行测试,并将上述系统置于强干扰环境中进行连续实验,发现使用的通信速率完全可以保证数据的实时可靠传输,其通信效果完全满足要求,同时上位机和底层节点也能够保证相互间的协调工作。

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

网站地图

Top