CAN总线是一种多主站的协议,不依赖某个节点的正常运转而存活。 CAN总线有一套有效地判别出错节点并无需改变软件就能将其从总线网络中剔除的机制[2],以此来保证整个网络的稳定性。CAN总线理论上探测不到的传输错误比例仅有 1×10-13,这对于电机监测设计的高可靠性要求是很有利的。考虑到 CAN总线是单总线设计,为满足电机监测设计的可靠性要求,除恰当选择网络的拓扑模式外,还可以设计为双总线冗余设计[3]。
另外,本设计通过单片机软件上的防护措施和多种中断复位措施,既有效降低功耗,又提高信号传输的可靠性。 2监测系统总体及节点模块硬件设计
基于 CAN总线的模块化电机磁场监测系统数据采集与传输网络结构如图 1。
节点模块化设计。每一路传感器采用独立的采集系统、信号处理系统、数据存储系统和数据传输接口,整个节点电路模块化,便于调试、安装、置换,以及数字化和融合算法的软件升级。
2.1网络节点接口设计按照功耗分析对元器件从优选择,设计基于 CAN总线的模块化实时磁场监测系统节点的接口电路,如图 2所示。
MCP2510作为一款独立的 CAN控制器,是为简化连接 CAN总线的应用而开发的。 MCP2510主要完成三个部分功能:① CAN协议引擎;②用来为器件及其运行进行配置的控制逻辑和 SRAM寄存器;③SPI串口通信模块。 CAN协议引擎的功能是处理所有总线上的报文发送和接收。
单片机 MSP430F169作为控制核心( MCU),具备双 SPI串口,通过 SPI接口与器件进行串口通信。使用标准 SPI读写命令对寄存器所有读写操作。所提供的中断引脚提高了系统的灵活性。器件上有一个多用途中断引脚,以及各接收缓冲器专用的中断引脚,可用于指示有效报文是否被接收和载入各接收缓冲器。也可用通用中断引脚和状态寄存器(通过 SPI接口访问)确定有效报文是否已被接收。
CAN驱动器 TJA1040是一个物理层的器件,作为 CAN总线控制器和物理总线之间的接口,器件提供对总线的差动发送能力和对 CAN总线控制器的差动接收能力。