[导读]本文介绍了基于PIC16F874单片机的嵌入式CAN智能节点的软硬件设计,同时应用PCL-841 CAN接口卡使嵌入式CAN智能节点与PC之间实现了通信,完成了电压、电流、温度等信号的实时采集、可靠传输和实时显示,实现了PC端对嵌入式CAN智能节点PWM波输出的脉冲宽度的控制。
引言
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转换的数值。
设置PWM波输出的脉冲宽度
PIC16F874的CCP1引脚用于PWM波输出。程序首先设置单片机的CCP1模块控制寄存器CCP1CON的bit3~bit0,定义工作方式为PWM,然后用从PC端接收到的用于设置嵌入式CAN智能节点PWM波输出的脉冲宽度的数据设置单片机的CCP1控制寄存器CCP1CON的bit5~bit4和CCPR1L寄存器,即实现了PC端对嵌入式CAN智能节点PWM波输出的脉冲宽度的控制。
发送数据
程序为每个需要传送到PC端的信号(电压。电流。温度。嵌入式CAN智能节点PWM波输出的脉冲宽度)都分配了一个标识码。发送数据时,首先向MCP2510发送写指令,再将标识码。帧格式和数据长度的定义。需要发送的数据依次写入MCP2510相应的寄存器中。
接收数据
程序读取CAN控制器MCP2510的中断标志寄存器的值,判断接收缓冲区中是否有数据,当接收缓冲区中有数据时向MCP2510发送读指令,依次将标识码。帧格式和数据长度。接收到的数据从MCP2510相应的寄存器中读出。
处理和显示数据
A/D转换的数值经过程序处理后得到信号的真实值并送显示模块进行显示,主要包括数值和汉字。英文字符的显示。同时完成了嵌入式CAN智能节点PWM波输出的脉冲宽度和从PC端接收到的数据的显示。
PC端功能的实现
硬件部分
PC端采用了研华公司的PCL-841双端口CAN接口卡,该卡具有两个CAN通信口,最高数据传输速率可以达到1Mbps。该卡采用内存映射机制,即将CAN接口卡上的内存映射至主存中,用户可以根据需要自己设定映射内存的基地址。
软件部分
PC端的软件采用C语言编写,主要完成CAN信息的实时读龋处理和显示,向嵌入式CAN智能节点发送数据和设置嵌入式CAN智能节点PWM波输出的脉冲宽度等工作。
设计。调试中应当注意的一些问题
硬件方面
嵌入式CAN智能节点
设计中应当注意处理好复位和时钟信号,包括不同器件之间复位的先后时序。在进行温度信号的采集时,要特别注意温度传感器AD590的调零。AD590是一个恒流源,它的特性是绝对温度每变化1℃电流增/减1mA,绝对温度0℃时为0mA。为抵消AD590在0℃时的电压,需要加入一个负电源使其在0℃时输出为0V,再选择合适的电阻把电流转变为电压,就可以把温度信号的采集变为0~5V电压信号的采集。
调试过程中应首先检查各芯片的工作电压是否正常,晶振是否起振,复位信号是否正确。要经常察看各芯片的发热状况,出现温度过高时应立即断电检查。必要时可使用示波器观测信号波形进行分析。
PC端
由于PCL-841双端口CAN接口卡占用PC的串口资源,因此在BIOS设置中应将串口设置为Disable,还应该特别注意CAN接口卡占用的内存资源是否被其它硬件占用,如果已经被占用,则应修改CAN接口卡内存映射的首地址,同时更改CAN接口卡上的跳线,否则CAN接口卡无法正常工作。
软件方面
嵌入式CAN智能节点
在编写嵌入式CAN智能节点的程序时,需要特别注意的是CAN控制器MCP2510的初始化,务必使一个系统中的所有智能节点的数据传输波特率相同,否则嵌入式CAN智能节点将无法和PC端进行通信。应当注意必须正确地将标识码和屏蔽字写入MCP2510的CAN信息接收过滤和屏蔽控制寄存器,否则嵌入式CAN智能节点将无法正确的发送和接收CAN信息。
调试过程中应注意通过查看各个寄存器的值来判断程序执行的程度。
PC端
在编写PC端的程序时,需要将PCL-841双端口CAN接口卡驱动程序库CAN841S.LIB嵌入到自己的工程中,驱动程序库中封装了直接操控CAN接口卡的函数。对CAN接口卡进行操控时必须按照规定流程进行,否则CAN接口卡无法正常工作或者无法正确的发送和接收CAN信息。
调试过程中应采取下断点和单步执行相结合的调试方法,注意根据函数的返值来分析出现问题的原因。
结语
本课题初步完成了基于CAN总线的数据采集和智能控制系统的设计,经过反复实验,系统采集数据准确。传输可靠,通过了有关部门的专业测试。同时设计的嵌入式CAN智能节点可以迅速。准确地接收到PC端发送的数据。
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
Canalys统计数据显示,2022年第三季度全球智能手机市场遭遇连续三季度下跌,同比下降9%。三星通过大力开展促销活动来减少渠道库存,市场份额达到22%,领先市场。在市场低迷期间,由于市场对iPhone手机的需求相对具...
关键字:
智能手机
CAN
iPhone
OPPO
广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...
关键字:
中国智造
BSP
手机
CAN
互联网内容的主要介质在过去的几十年中完成了从文字到图片再到视频的转变。在不断变化中,一以贯之的是人们对体验更好,更真实、更丰富网络生活的追求。如今,视频和游戏内容都在向着更高刷新率与分辨率的方向发展,终端设备也在积极普及...
关键字:
元宇宙
Wi-Fi 7
通信
此前,印度政府曾在推特上公布“国家宽带使命”计划,并表示将于今年10月1日在印度正式推出5G服务,引发了不少网友的关注。然而,近日CNMO了解到,此条推文现已被删除。业内人士表示,印度可能尚未准备好从10月1日开始推出5...
关键字:
印度
5G
通信
如果获批,百悦泽 ®将成为欧盟地区获批用于慢性淋巴细胞白血病治疗的布鲁顿氏酪氨酸激酶(BTK)抑制剂中唯一在头对头试验中较标准治疗获得优效性的药物 凭借较标准治疗显著更低的房颤和房扑发生率 ...
关键字:
神州
BSP
EMI
CAN
北京2022年10月8日 /美通社/ -- 日前,全球领先的IT基础设施提供商浪潮信息加入龙蜥社区并成为理事单位,致力于携手社区生态伙伴,共同推动开源操作系统的全产业链协同创新和产业化应用。 龙蜥社区成立于2020...
关键字:
开源
操作系统
通信
大数据
(全球TMT2022年10月8日讯)IT基础设施提供商浪潮信息加入龙蜥社区并成为理事单位,致力于携手社区生态伙伴,共同推动开源操作系统的全产业链协同创新和产业化应用。 龙蜥社区成立于2020年9月,是国内...
关键字:
操作系统
开源
通信
装机量
(全球TMT2022年9月30日讯)Tata Communications在印度浦那推出了专用私有5G"全球卓越中心"(CoE),为企业加速"工业4.0"应用和能力。这家新的CoE是一个敏捷、安全的室内设施,用来测试和...
关键字:
通信
5G
COMMUNICATIONS
图像分析
苏州2022年9月30日 /美通社/ -- 艺卓中国发布23.8英寸FlexScan EV2480–一款超窄边框全高清(1920 x 1080)IPS显示器,配备USB Ty...
关键字:
CAN
FLEX
显示器
USB-C
上海2022年9月29日 /美通社/ -- 9月26日下午,蓝科与普华永道共同策划的【日企财务沙龙】在位于上海湖滨路的普华永道创新中心顺利举办。 "CFO在未来应该被称作首席未来官(Chief Future...
关键字:
数字化
NET
CAN
FUTURE
厦门2022年9月27日 /美通社/ -- 近日,卓越职场研究机构(Great Place to Work®)公布了2022年亚洲最佳职场™(Best Workplaces in Asia™)榜单,铃盛(Ring...
关键字:
CENTRAL
BSP
通信
VIDEO
9月27日消息,据央视报道,今天7时50分,我国在太原卫星发射中心使用长征六号运载火箭,以“一箭三星”方式,成功将试验十六号A/B星和试验十七号卫星发射升空,卫星顺利进入预定轨道,发射任务获得圆满成功。该组卫星主要用于国...
关键字:
长征六号
卫星
通信
VPN是一种常用于连接中、大型企业或团体与团体间的私人网络的通信方式。它利用隧道协议(Tunneling Protocol)来达到保密、发送端认证、消息准确性等私人消息安全效果,这种技术可以用不安全的网络(例如:互联网)...
关键字:
vpn专线
通信
互联网
(全球TMT2022年9月20日讯)2022年9月16日,以"同心聚力、共创算网发展未来;创新合作、共享数字经济红利"为主题的2022浪潮通信产业联盟合作伙伴大会在济南召开。 在产业联盟合作伙伴大会上,浪...
关键字:
通信
网络
APPLICATIONS
POWER
我们学校的定位是给企业输送“运维”人员,至于“设计”人员不再考虑范围之内, 只需要学生明白设备的工作原理、流程即可,培养具备设计能力的学生即累老师也累学生。
关键字:
通信专业
通信
9月5日,卫星通信概念股继续活跃,波导股份、合众思壮、三维通信继续涨停,中国卫通、神宇股份、云鼎科技、通宇通讯、天奥电子等冲高。
关键字:
卫星通信
智能手机
通信
9月7日,紫光股份董事长兼新华三集团首席执行官于英涛一行前往中国电信股份有限公司陕西分公司(以下简称为“陕西电信”)拜访交流。中国电信陕西分公司党委书记、总经理上官亚非等组织会见,双方就当前通信和数字化变革领域发展,以及...
关键字:
新华三
数字化
通信
Gartner 的中期报告发布反映了供应商在功能提升方面有显著改善 厦门2022年9月16日 /美通社/ -- 全球企业云通信、视频会议、协作和联络中心解决方案的领先供应商RingCentral, Inc. (NYSE...
关键字:
CENTRAL
GARTNER
通信
VIDEO
5G基站是5G网络的核心设备,提供无线覆盖,实现有线通信网络与无线终端之间的无线信号传输。基站的架构、形态直接影响5G网络如何部署。
关键字:
5G
基站
通信
摘要:为了满足VLB1(甚长基线干涉测量)观测站的长期连续观测需求,实现对其电力系统的实时监测管理与快速故障排查,采用模块化设计方法,综合考虑精度、价格、通信、可靠性等因素,完成了观测站电力智能监测管理系统的硬件和软件设...
关键字:
无线数传
远程监测
通信