产品概述

pic单片机can PIC单片机的CAN总线扩展

小编 2025-06-04 产品概述 23 0

PIC单片机的CAN总线扩展

CAN总线是一种串行多主站局域网总线,被广泛应用于汽车控制系统、自动控制、楼宇自动化、医学设备等各个领域。其传输距离远,最远可达10km,传输速率高,最高可达1Mb/s,容错性能好,可靠性能高。但是由于CAN驱动器的驱动能力有限,CAN总线能够驱动的节点数有限,一般在100个左右,同时会随着传输距离的增加,最高传输速率会下降,如果距离过长会引起信号丢失、反射等故障。在实验室条件下测得在5Kb/s的通信速率下最远通信距离能达到10km;在18Kb/s的通信速率下最远通信距离只能达到2km;而在42b/s的通信速率下,最远通信距离只能达到1km。测试条件:线缆采用线径为0.75mm2的屏蔽双绞线,线缆为盘装,室内测试。在实验中,发现随着随着通信距离的增加,通信速率迅速下降,而CAN总线的驱动节点数量也次第下降。而在通信距离远,通信节点多的大空间场所,比如矿井、电力监控等系统需要CAN总线来传输数据和监控信息的场所,CAN总线不能满足要求。

如果要实现通信距离远、通信速率高、总线节点数量多CAN总线系统,实现CAN总线的扩展,就需要一个CAN网关进行桥接,把CAN总线划分为几个子网,增加CAN总线通信节点,延长CAN总线的传输距离,提高CAN总线的传输速率。在研究基于PIC单片机的CAN网关设计和扩展的CAN总线网络拓扑结构。

1 CAN网关总体设计及总线拓扑结构

1.1 CAN网关总体设计

CAN网关作为一种转发设备,连接在两个不同的CAN网络中,能够实时接收来自两个子网中的信息,根据需要筛选或者无条件地把接收到的信息转发到另外一个网络中。CAN总线层次结构分为物理层、数据链路层和应用层,工作于ISO/OSI参考模式下。CAN网关在物理层和数据链路层完成两个CAN网的连接。CAN网关结构图如图1所示。

CAN网关可以作为透明网关和源路由网关。透明网关完全按照接收到的帧格式转发,不改变帧结构,对于用户,网关相当于透明的。而源路由网关由用户提供路由信息,网关按照路由信息对消息进行过滤和有选择性的转发。

1.2 CAN总线网络拓扑结构

带有网关的CAN网络拓扑结构如图2所示。在这个网路中,PC机为主节点,而CAN节点作为从节点。在网络的顶层,由PC机和网关构成一个主网,在这个主网中PC机和CAN网关作为CAN节点,总线驱动器驱动能力可以带100个cAN节点左右。主网中的CAN网关再作为下一个子网中的主节点,而其他CAN网关或是CAN节点作为从节点,构成一个子网。这样通过CAN网关可以逐环把网络扩展下去,直到最底层的CAN节点。而在应用层上,用户可以把网关配置成透明网关或是源路由网光。透明网关不影响网络结构,CAN拓展网络形成一个多节点,远距离的网络。源路由网关对消息具有过滤性,根据用户的配置信息把CAN网络在应用层上划分为几个小网。

这样,解决了节点容量、通信距离、通信速率的问题。

2 网关的硬件设计

硬件电路开发采用集成电路,开发周期短,成本低。CPU采用Microchip公司的16位单片机dsPIC30F6011作为核心部件,其内部集成了两个CAN控制器,支持CAN2.0A/B协议,CPU的速度可以达到30 MIPS,程序存储器空间有132 KB,内部RAM有6144B,数据程序存储器有2048B,集成的功能强大,体积小,性价比比较高。物理层采用两个CAN驱动器PCA82C250。其中一组的PCA82C250的RXD,TXD引脚不是和CPUdsPIC30F6011直接连接,而在中间用光速光藕6N137隔离。

单片机dsPIC30F6011有两个通用的UART口,可以作为和PC机或其他上位机通信的接口来用。另外,dsPIC30F6011采用TQPF封装64引脚,利用通用I/O驱动LED灯作为指示灯,预留并行液晶显示器和 4×4行列式键盘的接口。

CAN控制器和驱动器部分采用了光电隔离器,因此电源设计部分要求有两个隔离的5V电源。考虑到可以会用到液晶显示器,因此一路电源设计采用输出容量1A的开关电源LM9076,而另外一路采用隔离DC/DC模块电源。这样CAN子网之间实现了电气隔离,如果一个网络出了问题并不影响另外一个网络的正常工作,提高了CAN网络的抗干扰性能。硬件电路设计外围电路少、设计简单、成本低。设计的CAN网关硬件设计系统框图如图3所示。

3 网关的软件设计

CAN网关作为消息的转发器,要准确、实时地接收两个CAN发送的信息,并且要实时发出去。对于不断发出信息的问题节点要及时屏蔽,避免错误信息蔓延到另一个CAN网络。如果CAN网关被设置成透明网关则直接把一个CAN网络的信息转发到另外一个网络中即可,如果CAN网关被设置成和某个区间ID相关,则要做一些信息过滤和屏蔽处理。当CAN网关检测到总线有错误时,要通过备用的UART口将错误信息上发到上位机或其他信息处理主机。

CAN网关的信息接收通过硬件中断来完成。当总线上有消息时,引起硬件中断,进入中断程序后根据中断标志位的区别把接收到的信息存放到相应的缓冲区中。缓冲区是一个FIFO的存储区。而主程序则一直检测两个CAN控制器对应的两个接收缓冲区,当检测到缓冲区不为空时则把缓冲区内的信息顺序发送到另一个网络中。从而形成一个具有一定的错误检测能力的双向通道,完成了两个CAN网络的信息转发。CAN网关的主程序框图如图4所示,中断程序框图如图5所示。

4 结语

本文详细介绍了CAN总线扩展技术的网络拓扑结构和系统构成,给出了CAN网关的硬件设计原理及软件设计框图。这样的CAN总线扩展网络,因为引入CAN网关而增加了消息的传递时间,但是这个增加的时间很小,是微秒级的,可以忽略不计。而带来的优势明显,因为把CAN网络在物理层上划分为几个网络,彼此之间不相互影响,因而增加了CAN网络的抗干扰性,同时,扩展灵活,只需要增加一个CAN网关来增加子网即可;通信速率可通过增加网关来提高,通信距离可以扩展到很远。通过CAN网关增加了CAN总线的容量、提高了CAN总线的通信速率、扩展了CAN总线的传输距离。

物联通讯硬件产品

单片机哪家强?实力大比拼,你用的是哪家单片机

单片机从当初的4位发展到8位、32位,甚至更高,到现在可以说种类繁多而且齐全,数量庞大,在不同的领域主流的单片机有不同,很多设计开发有时候要面临很多选择。下面介绍几种常用的单片机

1、51系列单片机

51单片最初是由Intel始创的8004单片机开始,这是8位的单片机,特点是:寄存器少,.很多功能需要外部扩展,像AD转换、PWM专门输出信号等、I/O口输出能力不强、运行速度慢、抗干扰能力差、功耗高、不具备自编程能力。但是它的外围电路相对简单,上手容易,适合入门级,很多高校单片机都是以51单片机教学为主,在工业测控系统应用很广泛。 目前生产51单片机的厂家有:英特尔、艾德梅尔、西门子、华邦以及国产的宏晶等

2、AVR系列单片机

AVR单片机是由Atmel公司最初提出,也是8位单片机,后来也有16位的,但是与51不一样,它内部指令大大简化,同时内部结构精简,因此速度更快,功能更加强大,驱动能力比51的强,功耗也很低,抗干扰能力更强,内部有强劲的Flash程序存储器,烧录快捷方便,内部集成多种频率的RC振荡器、PWM输出、AD转换、看门狗、上电自动复位等功能。

AVR单片机有三种系列:

tinyAVR,这种主要被用于需要性能不是很高、效率低下以及在小封装中使用

megaAVR,这种主要是针对需要加额外外围电路设计的理想选择,自编程能力强

Xmega AVR,这种主要是在高集成度和低功耗使用

AVR单片机主要应用在打印机、空调、电表等控制电路板当中

3、STM32系列单片机

STM32系列单片机是有ST公司推出的,表示ARM Cortex-M内核的32位微控制器,这个芯片功能就更强大了,光是学习起来就有厚厚的一本书,这还不包括实际操作实践,从事软件开发的网友,特别是设计大型系统对这个芯片一定不陌生。这是一款高性能高性价比的芯片,特点是拥有双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻转速度,待机功耗低至2μA,复位电路、低电压检测、RC振荡器等电路高度集成化。到目前为止,ST已经推出了基本型、增强型、USB基本型 系列、互补型等一系列芯片,功能越来越强大,主要交通运输、UPS电源、充电桩、功率转换器、计算机等方面。 

4、MSP430系列单片机

· MSP430单片机TI德州仪器公司推出的,有时候也成为混合信号处理器,这种单片机是16位超低功耗芯片,它的内部指令集也极具精简,内部集成了较为丰富的片内外设,有各类定时器各种通讯协议、液晶驱动器、高精度数模转换、USB控制器等,这种单片机特点是运算速度快、处理能力强、功耗低等。这种芯片主要是针对实际应用需求场合应用 ,主要应用在智能电子锁、键盘门禁、读取器、电梯轿厢呼叫按钮、无线扬声器、可视门铃等

5、PIC系列单片机

较为出名的莫过于Microchip公司(中文名:微芯半导体)的PIC芯片,这家公司PIC系列出货量居于业界领导者地位。PIC芯片的指令集也较为精简。Microchip8位、16位和32位单片机,拥有功能强大的架构、灵活的存储器技术、通讯方式涵盖SPI、I2C、UART、CAN、USB、以太网等、内部集成了图形以及触摸传感控制器等电路、各类比较器、A/D转器等应有尽有,目前Microchip的PIC单片机8位的典型代表有: PIC10、 PIC12、 PIC16 、PIC18,PIC系列单片机主要是用来开发和控制外围设备的一种芯片,对于庞大的系统,有些场合如果用此芯片控制可以进行高度集成化,减少外围电路。主要应用在电机、医疗、家电、有限连通、汽车领域、电池管理方案、智能能源等

6、M68HC系列单片机

这是MOTOROLA推出的单片机,摩托罗拉作为单片机最大生产商之一,它的M68HC系列单片机特点是速度快、功能强大、功耗低等,带flash重复擦写且供电电源单一、支持在线编程,最主要的额是它内部采用的时钟频率很低,抗干扰能力很强,因此很适合在工控领域使用。

除了上述这几种其实还有很多单片机,比如NXP 51系列单片机、WINBOND51系列单片机、台湾义隆单片机、松翰单片机(SONIX)、Atmel的AT89系列单片机、华邦W78系列单片机、EPSON单片机、Scenix单片机等。

其实选择哪一种单片机要根据实际情况同时结合自身条件以及要求,一般来说,对于控制系统不是很复杂,I/O数量不是很多,可以采用精简指令集的单片机,这种单片机在读取指令和数据时候分开进行,因此单片机速递不是很高,例如可以用例如PIC系列单片机、SONIX单片机等;而对于系统较为复杂一点的可以采用速度快一点的,例如STM32系列等。

相关问答

什么是 单片机 ?

单片机不是执行特定逻辑功能的芯片,而是将计算机系统集成到芯片上的芯片。它等效于微型计算机。与计算机相比,单芯片计算机仅缺少I/O设备。简而言之:芯片变成...

pic 芯片是哪个国家的?

PIC芯片(PICmicrocontrollers)是美国Microchi科技制作的专业微控制器芯片的一种。它是小型的微电脑,用来管理不同设备中的嵌入式系统的运行。PIC单片机系列...

通俗的介绍一下 pic单片机 - CHERRY?BIUBO 的回答 - 懂得

为什么要和电脑类比呢?看来你没有用过单片机吧,单片机的结构都是大同小异的。那就象征性地类比下。pic是哈佛结构的,程序存在程序存储器,也就是ROM...

pic单片机 用mplab ide建立project的时候的选择?

要你看用的是什么单片机,如是果16系列的,可以装PICC,18系列的装C18,PIC24和DSC系列的装C30。要你看用的是什么单片机,如是果16系列的,可以装PICC,18系列的装C...

单片机 、光耦

那么针对粮食储藏的特殊性,我们选择了粮仓内的温度和湿度作为主要监测参数,把粮虫发生情况作为辅助参数。整个监测系统由上位管理主机(HOST)、USB/...

PIC单片机 中有固定参考电压是什么?

PIC某些型号的单片机内置参考电压,也就是基准源,这个电压相对电源电压精度更高,温漂小,一般通过内部设定,可以给ADC采样,DAC输出,或者比较器做参考使用而...

如何读出 pic单片机 的程序?

如果已经加密了,拷出来也看不了,黑客一不行,因为加密算法是不可逆的。如果程序原本是C语言写的,但C语言程序会被MPLAB先编译成汇编后才能烧写进单片机,所...

PIC单片机 指令周期怎么算的?

PIC单片机的时钟经过内部分频,实际的工作频率为晶振频率的四分之一,同时指令的执行采用流水线方式,大部分的指令的执行时间是一个周期,所以在用4MHz的晶振时...

PIC单片机 没法休眠-ZOL问答

你就可以使用这个脉冲来触发单片机的中断了。STC89c51的睡眠模式功耗并不低...pic16C54c是一次性烧录的单片机,即是OTPROM,这款单片机有FLASHROM形式的,型号...

PIC单片机 中PWM怎么实现DA转换?

PWM是通过改变占空比来改变输出电压的有效值的,即改变输出电压的大小.假设单片机的电源电压为5V,并假设输出高电平也为5V.当PWM的占空比为100%时,输出电压有效...

猜你喜欢