在收到应用层的发送报文请求时,首先确定报文是否需要拆包,同时根据通信协议所规定的格式将报文转换成符合 CAN数据链路层格式的帧,并将其放在发送缓冲区。在定时器中制定相关的程序不断对循环队列进行扫描,若发现队列中有数据等待发送,调用帧的发送程序依次发送。
采用中断接收的方式将数据从 CAN总线上接收下来,每接收到一帧数据,将其存放于接收缓冲区中,当判别到接收缓冲区收到一包完整的报文后,用中断的方式通知单片机,将整理好的数据交付给应用层,当单片机将数据读走后,清空循环队列的相应部分,以备下次数据的存放。 4 实验结果及分析
实验通过构建两个节点组成的最小 CAN总线系统,完成节点程序编写、调试和数据通讯实验分析。在无磁实验水池完成测试,实验设置:分别放置三轴磁探头于水池中间试验台,水池中一磁性船模通过,节点单片机通过 SPI串口控制 PNI采样及三轴数据实时回传,主控模块通过 CAN总线控制节点模块上传采样数据。采样频率 3Hz,参考电压+5V。图 5是实验船从某个方向经过时传回的数据。
由大量实验数据分析可得本系统特点:系统有较大的磁场测量范围,较高的分辨率;磁滞低:磁传感器磁滞越小,重复性越好,探测精度越高;抗干扰性能好,抗电子干扰能力强。同时验证了基于 CAN总线的数据传输格式及部分通信协议的可行性和可靠性,为 CAN总线在大型电机状态监测系统的应用提供了可靠的依据。
5 结语
大型电机状态实时监测系统的研发,包括系统参数高效、高可靠度的获取与传输一直是的电机状态监测工作的重点。本文提出了具有 CAN总线结构的大型电机三轴磁场实时监测系统,采用低功耗芯片,模块化设计。完成三轴磁传感器模块及节点接口设计,对 CAN通信协议进行了设计和初编。通过实验验证了系统设计的可行性和合理性。监测系统的状态评估、故障检测等将在后续的整体系统研发中进一步研究。
参考文献
[1]陆继明,毛承雄,王丹等 .同步发电机微机励磁控制[M].北京:中国电力出版社, 2005。
[2]史久根,张培仁 .CAN现场总线系统设计技术[M].北京:国防工业出版社,2004:22-26。
[3]陈振宇.基于智能多代理技术的电力系统协调保护[J].微计算机信息, 2007,12-3:19-20。本文作者创新点:
1)设计系统架构; 2)设计、调试三轴磁模块、CAN节点模块;
3)编制 CAN总线上层传输协议; 4)设计实验,验证系统的可行性、实时性和可靠性。