本文介绍了嵌入式CAN智能节点,并且应用PC和嵌入式CAN智能节点组成了CAN通信系统,完成了电压、电流、温度等信号的实时采集、可靠传输和实时显示,实现了PC端对嵌入式CAN智能节点PWM波输出的脉冲宽度的控制。
基于PIC单片机的嵌入式CAN智能节点的设计
嵌入式CAN智能节点以PIC16F874单片机作为嵌入式微控制器,以MCP2510作为 CAN控制器,以PCA82C250作为CAN收发器,具有现场/远程控制功能。根据用户的需求,嵌入式CAN智能节点通过连接相应的传感器可以完成多种信号的实时采集、可靠传输和实时显示,PWM波输出可以用于控制相应的负载。嵌入式CAN智能节点通过外接电路可以实现电路保护、现场组态、自动调节、故障诊断报警、状态检测等功能,完成对电机、阀门、泵等电器的驱动和智能控制。
硬件设计
Microchip公司的单片机PIC16F874 采用RISC指令系统,哈佛总线结构,低功耗,高速度。内部集成了ADC、串行外围接口(SPI)和Flash程序存储器等,具有PWM输出、LCD驱动等功能。PIC16F874通过SPI接口可以实现与CAN控制器MCP2510的无缝连接。PIC16F874的I/O资源丰富,共有A、B、C、D、 E五个I/O口,每个I/O口除了基本用途外还有一些特殊功能。
基于PIC16F874的嵌入式CAN智能节点的硬件原理图如图1所示,主要包括以下四个模块:
CAN通信模块
嵌入式CAN智能节点的CAN通信模块由CAN控制器MCP2510和CAN收发器PCA82C250组成。MCP2510可以完成CAN总线的物理层和数据链路层的所有功能,支持高速SPI接口(最高数据传输速率可以达到5Mb/s),支持CAN2.0A/CAN2.0B协议。CAN收发器 PCA82C250是CAN控制器与物理总线之间的接口,对物理总线提供差动发送能力,对CAN控制器提供差动接收能力,同时它可以增大通信距离,提高嵌入式CAN智能节点的抗干扰能力。
PIC16F874通过SPI与CAN控制器MCP2510连接,其串行数据输入(SDI)脚与MCP2510 的SO脚相连,其串行数据输出(SDO)脚与MCP2510的SI脚相连,其串行时钟(SCK)脚与MCP2510的SCK脚相连。MCP2510的复位信号、片选信号由单片机A口的RA5、RA2提供,MCP2510的中断信号、接收缓冲区满中断信号输出到单片机B口的RB0、RB5。
通过设置 PIC16F874的SPI接口状态寄存器和控制寄存器使SPI接口工作于主动方式。PIC16F874与MCP2510进行通信时的时序是非常重要的。发送数据时,先发送写指令,再发送寄存器地址,最后发送数据。当MCP2510接收到由总线传来的数据时会产生中断,单片机响应中断,读取数据时先发送读指令,再发送寄存器地址,数据会自动写入单片机SPI接口的缓冲器中。
本文介绍了嵌入式CAN智能节点,并且应用PC和嵌入式CAN智能节点组成了CAN通信系统,完成了电压、电流、温度等信号的实时采集、可靠传输和实时显示,实现了PC端对嵌入式CAN智能节点PWM波输出的脉冲宽度的控制。
基于PIC单片机的嵌入式CAN智能节点的设计
嵌入式CAN智能节点以PIC16F874单片机作为嵌入式微控制器,以MCP2510作为 CAN控制器,以PCA82C250作为CAN收发器,具有现场/远程控制功能。根据用户的需求,嵌入式CAN智能节点通过连接相应的传感器可以完成多种信号的实时采集、可靠传输和实时显示,PWM波输出可以用于控制相应的负载。嵌入式CAN智能节点通过外接电路可以实现电路保护、现场组态、自动调节、故障诊断报警、状态检测等功能,完成对电机、阀门、泵等电器的驱动和智能控制。
硬件设计
Microchip公司的单片机PIC16F874 采用RISC指令系统,哈佛总线结构,低功耗,高速度。内部集成了ADC、串行外围接口(SPI)和Flash程序存储器等,具有PWM输出、LCD驱动等功能。PIC16F874通过SPI接口可以实现与CAN控制器MCP2510的无缝连接。PIC16F874的I/O资源丰富,共有A、B、C、D、 E五个I/O口,每个I/O口除了基本用途外还有一些特殊功能。
基于PIC16F874的嵌入式CAN智能节点的硬件原理图如图1所示,主要包括以下四个模块:
CAN通信模块
嵌入式CAN智能节点的CAN通信模块由CAN控制器MCP2510和CAN收发器PCA82C250组成。MCP2510可以完成CAN总线的物理层和数据链路层的所有功能,支持高速SPI接口(最高数据传输速率可以达到5Mb/s),支持CAN2.0A/CAN2.0B协议。CAN收发器 PCA82C250是CAN控制器与物理总线之间的接口,对物理总线提供差动发送能力,对CAN控制器提供差动接收能力,同时它可以增大通信距离,提高嵌入式CAN智能节点的抗干扰能力。
PIC16F874通过SPI与CAN控制器MCP2510连接,其串行数据输入(SDI)脚与MCP2510 的SO脚相连,其串行数据输出(SDO)脚与MCP2510的SI脚相连,其串行时钟(SCK)脚与MCP2510的SCK脚相连。MCP2510的复位信号、片选信号由单片机A口的RA5、RA2提供,MCP2510的中断信号、接收缓冲区满中断信号输出到单片机B口的RB0、RB5。
通过设置 PIC16F874的SPI接口状态寄存器和控制寄存器使SPI接口工作于主动方式。PIC16F874与MCP2510进行通信时的时序是非常重要的。发送数据时,先发送写指令,再发送寄存器地址,最后发送数据。当MCP2510接收到由总线传来的数据时会产生中断,单片机响应中断,读取数据时先发送读指令,再发送寄存器地址,数据会自动写入单片机SPI接口的缓冲器中。
举报