嵌入式can智能节点的软硬件设计

时间:2022-05-23作者:佚名

CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对数据的成帧处理。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块编码,采用这种方法可使网络内节点个数在理论上不受限制,还可使不同的节点同时收到相同的数据。

本文介绍了嵌入式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智能节点采用OCMJ4Χ8显示模块,该显示模块可以显示汉字、ASCII码等,其所有的设置初始化工作都可以在上电时自动完成。

OCMJ4Χ8显示模块的数据线DB0~DB7与单片机的D口相连,请求(REQ)脚、应答(BUSY)脚分别与单片机B口的RB4、E口的RE2相连。显示模块的RT1、RT2引脚外接可调电阻用于调节LCD的亮度。

显示模块接口协议为请求/应答(REQ/BUSY)握手方式。BUSY为高电平表示显示模块忙;当BUSY为低电平时表示显示模块空闲,等待接收命令。单片机先向显示模块发送命令或数据,然后发送请求信号,请求显示模块进行处理,显示模块置BUSY为高电平,对命令或数据进行处理,处理结束后置BUSY为低电平。

模拟量获取模块

PIC16F874单片机A口的RA0、RA1、RA3用于模拟量输入。嵌入式CAN智能节点的模拟量获取模块的主要功能是将需要采集的电流信号通过电流互感器转换为电压信号,将需要采集的温度信号通过温度传感器AD590转换为电压信号。

开关量输入/输出模块

嵌入式CAN智能节点通过I/O扩展提供了4路开关量输入和7路开关量输出。开关量输入用于电路的保护、故障报警、状态检测等,只要被控制对象拥有相应的检测元件,接入相应的接口即可。开关量输出用于驱动继电器,可以根据负载的大小确定是否需要连接接触器控制电机、阀门、泵等电器执行元件。根据用户的需求,此部分电路可以做相应的变化。

软件设计

嵌入式CAN智能节点的软件采用汇编语言编写,主要完成对PIC16F874(I/O口、定时器等)、SPI接口(串行口状态寄存器SSPSTAT、串行口控制寄存器SSPCON等)、显示模块、I/O扩展芯片8255和CAN控制器MCP2510(位定时配置寄存器、CAN信息接收过滤和屏蔽控制寄存器、接收发送缓冲区控制寄存器等)的初始化,设定发送、接收标识码(ID),读取A/D转换的数值,设置嵌入式CAN智能节点PWM波输出的脉冲宽度,处理、显示并发送采集的数据,接收、处理并显示由总线传来的数据等工作。

初始化系统

程序需要对PIC16F874单片机、显示模块、I/O扩展芯片8255和CAN控制器MCP2510进行初始化。其中对MCP2510初始化是非常重要的,主要包括设置数据传输的波特率,将标识码和屏蔽字写入CAN信息接收过滤和屏蔽控制寄存器。对PIC16F874进行初始化时,要特别注意定时器TMR2的初始化。

设定发送、接收标识码

PIC16F874单片机C口的RC0、RC1、RC6、RC7引脚连接了一个拨码开关。程序通过读取这四个引脚的状态为每个嵌入式CAN智能节点分配了发送、接收标识码的初始值。当网络中智能节点数目较多时,这种方法可以方便程序的编写。

读取A/D转换的数值

PIC16F874的A口和E口可以作为模拟量输入口,共有8个输入通道。A/D转换的结果存储于单片机的ADRES寄存器。程序首先设置单片机的A/D控制寄存器ADCON1的bit3~bit0,选择每个通道的输入/输出类型并设置参考电压为5V,然后设置单片机的A/D控制寄存器ADCON0的bit5~bit3选择通道,设置bit0打开ADC,设置bit2启动ADC,最后从单片机的A/D转换结果寄存器ADRES中读取A/D转换的数值。

相关阅读

商业广场灯光照明要怎么做?

商业广场一般位于城市的黄金地段,人流密集,商铺林立,生活气息浓厚。灯光照明是提升商业广场知名度、增加品牌曝光度的重要手段,能够吸引大量消费者,刺激夜景经济的发展。...
2022-08-18
商业广场灯光照明要怎么做?

小区住宅的灯光设计

以前小区住宅的灯光只起到照明作用,但随着时代的发展,人们对住宅景观质量的要求越来越高,每一个环节都要做成精品,所以灯光设计 成为小区住宅景观中的一部分,尤其是当夜幕...
2022-07-15

城市道路景观照明之灯具分析

随着城市经济的发展,城市道路的建设对灯具也提出了新的要求,总体看来,灯具正朝两个方向发展:一是注重观赏性;二是注重功能性。在住宅小区以及城市方面,一般大家比较偏重...
2022-07-15

市政灯光亮化工程是城市对外形象的展示

市政灯光亮化工程 在推进城市化进程中尤为重要,对城市发展具有不可替代的作用。有人认为,一个城市的经济实力可以决定其亮化工程的覆盖范围,以此来证明亮化工程在城市建设中...
2022-09-30
市政灯光亮化工程是城市对外形象的展示

FIBBR科普小课堂 | AOC有源光缆施工规范建议

AOC线缆施工 规范建议 由于工业应用布线环境复杂,且整个布线环境强电弱电均存在,对于有源光缆AOC(HDMI/DVI/DP/USB)来说,使用不规范会在一定程度导致线缆损坏。 FIBBR部分商用工程...
2022-11-17
FIBBR科普小课堂 | AOC有源光缆施工规范建议

热销商品

电工胶带绝缘胶带PVC电胶布防水阻燃超粘耐温黑胶布汽车线束胶带

电工胶带是一款专业的电力电工用材,具备绝缘、PVC材质特性,可有效保障电气线路绝缘性能,防止电流外泄引发漏电风险。其采用防水、阻燃、超粘、耐温等设计,能适应复杂...
¥ 2.4

氟胶O型圈耐高温密封圈线径1-10mm现货可订做大尺寸胶圈非标异形

氟胶O型圈采用高性能氟橡胶(FKM)材料制成,具有卓越的耐高温、耐油、耐化学腐蚀性能,长期使用温度可达200℃以上,短期可耐受250℃高温。线径规格覆盖1–10mm,现货充足,支...
¥ 0.4

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.91

100%桑蚕丝香云纱饰品发圈发夹口罩眼罩发带腰封直播专拍单拍无效

100%桑蚕丝香云纱饰品系列,精选天然桑蚕丝与非遗香云纱工艺匠心打造,质感柔滑亲肤,光泽雅致,尽显东方韵味。包含发圈、发夹、口罩、眼罩、发带、腰封等多款实用配饰,适...
¥ 1

橱柜灯层板柜子线型灯LED免焊接餐边柜子灯感应灯衣柜鞋酒柜灯带

橱柜灯层板柜子线型灯LED免焊接餐边柜子灯感应灯衣柜鞋酒柜灯带是一种用于家居照明的灯具,具有多种款式和功能。这些灯具通常采用LED光源,具有节能、环保的优点,且使...
¥ 4.4

网站栏目