2.2 CAN通信模块设计
CAN通信模块是本设计的核心,它负责系统中主控机和执行器之间的数据通信。单个CAN总线节点由单片机、CAN总线控制器、高速光电耦合器及总线驱动器组成,可编程控制。故称之为智能节点。设计中CAN通信模块采用了独立式的CAN控制器,数据通过对控制器编程写入控制器芯片的发送缓冲区里发送出去,目的节点则负责把数据接收到数据接收缓冲区里,再通过CAN总线接口和单片机之间的数据总线,传递给单片机进行处理。设计方案如图3所示。
3 无线收发模块
无线收发模块采用nRF2401芯片,该芯片具有内置地址解码器、先入先出堆栈区、解调处理器、时钟处理器、GFSK滤波器、低噪声放大器、频率合成器、功率放大器等功能模块,只需要很少的外围元件,使用非常方便。硬件电路连接实现单片机与nRF2401芯片的接口连接。发送端与接收端硬件连接几乎一样,具有通用性,可以实现半双工通信。单片机使用的是STC89C52,成本低,控制简单,容易扩展。硬件电路如图4所示。
需要注意的是,nRF2401的供电电压范围为1.9~3.6 V,但引脚可直接收单片机5 V的I/O口相联。为了使nRF2401更好地工作,最好进行分压处理。
4 系统软件总体设计
根据设计要求,系统实现功能及软件总体设计如图5所示。系统包含两大部分,无线服务终端和CAN总线通信系统。无线服务终端由nRF2 401和STC89C52组成,可以向CAN总线通信网络中的任一节点发送和读取数据。CAN总线通信系统,由3个节点组成,一个节点上接无线收发器nRF2401负责与无线终端系统通信,另外2个节点由图5所示的单片机CAN总线收发系统构成。
无线服务终端主要起中心控制主机的作用,通过无线模块将指令发送到CAN总线无线接收控制中心,并接收该控制中心检测数据,显示到服务终端液晶模块中。指令信号可通过按键进行设置,其主程序流程图如图6所示。