芯片j9九游会网


首页 -- 单片机j9九游会-- ICj9九游会-- 芯片j9九游会-- 新闻技能 --关于j9九游会
 

基于飞利浦P8XC591的CAN总线节点扩展

弁言

由于CAN总线具有通讯速率高、牢靠性高、毗连利便和功能代价比初等诸多特点,CAN的使用范畴普及从高速网络到低本钱的多线路网络。在主动化电子范畴的汽车发起机控制部件、传感器、抗滑体系、产业主动化、修建物情况控制、机床或电梯控制、医疗设置装备摆设等范畴失掉了较为普遍的使用。

CAN 的信号传输接纳短帧布局,每一帧的无效字节数为 8个,因此传输工夫短、受搅扰的概率低。当节点严峻错误时,具有主动封闭的功效以堵截该节点与总线的联系,使总线上的别的节点极端通讯不受影响,具有较强的抗搅扰才能和检错才能。CAN控制器支持四种差别的CAN协议范例:数据帧、近程帧、堕落帧和超载帧。

CAN支持多主方法事情,网络上任何节点均可在恣意时候自动向别的节点发送信息,支持点对点、一点对多点和全局播送方法吸收/发送数据。它接纳总线仲裁技能,当呈现几个节点同时在网络上传输信息时,优先级高的节点可持续传输数据,而优先级低的节点则自动中止发送,从而制止了总线抵触。

    CAN总线信号传输介质利用特征阻抗为120欧姆的双绞线,信号传输方法和RS485一样,也接纳差动发送和差动吸收的方法。实际上利用CAN2.0A总线的节点可到达2032个,CAN2.0B则可以到达5亿多个。利用PCA82C250作为CAN总线的收发器时,CAN间接通讯间隔最远可到达10km(传输率为5kbps),通讯速率最高可达1Mbps(传输间隔为40m);由于收发器的限定, CAN总线上节点数实践上最多可达110个。关于节点凌驾110个的CAN网络,可以利用CAN网关对CAN总线举行扩展,以到达用户的要求。

网关可以接纳特定的控制逻辑去控制一对背-背相接的收发器PCA82C250,毗连两个物理上完全独立的CAN网,双向传输数据,从物理层下去看,它完成了CAN总线信号的中继,也可以接纳P8XC591+SJA1000的布局去完成。上面将偏重介绍后者的硬件及软件完成。

P8XC591片上自带CAN的微控制器

P8XC591是一个高功能的微控制器,它的硬件接构及加强型的飞利浦“RX+内核”使得其可以普遍用于产业控制和汽车范畴。片上自带的CAN控制器为CAN的使用提供了很多公用的硬件功效。P8XC591完全实行CAN2.0B标准,并提供一个间接从SJA1000独立CAN控制器的软件移植途径。P8XC591具有CAN的扩展特征,此中包罗加强型吸收滤波器、支持体系维护、诊断、体系优化以及吸收FIFO特征等。P83C591 ROM或P87C591 OTP的方框图略(详见《电子设计使用》2003.3)。    

P8XC591除了尺度的核心功效以外,另有一个壮大的CAN控制器模块。该嵌入式CAN控制器还包罗了下列功效模块:CAN内核模块,依据CAN2.0B标准控制CAN帧的发送和吸收;CAN接口模块,包括5个完成CPU与CAN控制器毗连的特别功效存放器,对紧张CAN存放器的拜访经过疾速主动增长的寻址特征和对特别功效存放器的位寻址来完成;CAN控制器的发送缓冲区模块,可以保管一个完备的CAN信息扩展或尺度帧款式。只需经过CPU启动发送信息,字节就从发送缓冲区传输到CAN内核模块。当吸收一个信息时,CAN内核模块将串行位流转换成并行数据输出到吸收滤波器,经过该可编程滤波器,P8XC591确定实践收到的信息,一切由吸收滤波器吸收的数据都保管在吸收FIFO(64字节)中,由于操纵形式和数据长度的差别,该吸收缓冲区最多可保管21个CAN信息。这利用户在指定体系的中缀办事和中缀优先级时有更多的机动性,由于数据溢出的大概性大大低落。

除了平凡的CAN特征以外,P8XC591还提供加强型PeliCAN。PeliCAN具有4个独立可设置装备摆设的吸收滤波器组,每个组都有4个可选的吸收滤波器设置装备摆设;每个吸收滤波器都有32位区分符、32位代码和32位屏障;一切滤波器设置装备摆设都可在运转中改动;支持更高层的协议的吸收滤波器;吸收FIFO特征;只听形式及自检测形式;只要到达FIFO吸收中缀级才发生吸收中缀;在吸收到高优先级数据帧时立刻发生吸收中缀;体系维护诊断和优化特征。

    硬件电路设计

硬件电路的设计接纳了飞利浦片上自带CAN控制器的单片机P8XC591和独立的CAN控制器SJA1000。两者都支持CAN 2.0B协议。P87C591片上自带的CAN控制器在软件上是向上兼容SJA1000的。硬件电路图略(详见《电子设计使用》2003.3)。

    P8XC591所毗连的CAN节点电路所必要的内部元件仅仅是一个晶振加两个电容驱动片内振荡器、一个毗连到复位脚的电阻、电容。利用片内上电复位电路以及一个收发器用于将P8XC591毗连到CAN总线。

    P8XC591经过对CAN的特别功效存放器,如地点存放器(CANADR)、数据存放器(CANDAT)、形式存放器(CANMOD)、控制存放器(CANCON)、形态存放器(CANSTA)、总线定时存放器(BTR0,BTR1)等的设置,以及对收发缓冲区的读写(吸收缓冲区为64字节的FIFO缓冲区,最多贮存21帧CAN信息),从而完成和别的CAN节点的数据互换。

 CAN的控制器辨别接纳了PXC591和SJA1000,可完成物理层和数据链路层的一切功效。CAN收发器利用飞利浦公司的PCA82C250,它是毗连CAN控制器和物理总线之间的接口,提供了对总线的差动发起和吸收才能。它与ISO11898尺度完全兼容,有三种差别的事情方法即高速、斜率控制和待机,可依据实践状况选择。为了进一步进步体系的抗搅扰才能,在控制器SJA1000和收发器PCA82C250之间,P87C591和收发器PCA82C250之间均增长了由高速断绝器件6N137 组成的断绝电路。硬件电路中利用PCA82C250是为了增长通讯间隔,进步体系的刹时抗搅扰才能,掩护总线、低落搅扰等。

微处置器P87C591和SJA1000均利用12MHz的石英晶体,以取得相反的时钟信号。由于 P87C591含有片上的CAN控制器,经过TXDC,RXDC两个管脚,P87C591就可和内部的CAN节点互换数据。另一方面,P87C591间接控制SJA1000的AD0~AD7, RD, WR, ALE, RST和INT管脚,SJA1000的MODE管脚接高电平,事情在Intel形式下;片选CS管脚接地,使SJA1000一直处于选通形态。P87C591对SJA1000的操纵次要是对存放器中的形式存放器(MOD)、下令存放器(CMR)、形态存放器(SR)、中缀存放器(IR)、中缀容许存放器(IEP)、总线定时存放器(BTR0, BTR1)、输入控制存放器(OCR)、时钟分频计数器(CDR)举行设置和检测,以及对收发缓冲区举行读写,从而完成和别的CAN节点的数据互换。

为了能使CAN网络1(最多110个节点)的信息和CAN网络2(最多110个节点)的信息共享,P87C591在软件上必需使得任何款式的数据能及时的从CAN网络1传送到CAN网络2,以及信息从CAN网络2传送到CAN网络1。如许,两个差别的子网就完成了互联,CAN网络的节点失掉了扩展。

    软件设计

*在初始化SJA1000时,必需设置吸收代码存放器ACRn,吸收代码屏障存放器AMRn的值为FF,以能收发一切的数据。由于P87C591片上自带的CAN控制器在软件上是向上兼容SJA1000的,以是对SJA1000的初始化,读、写的流程与P87C591根本相似。

*CAN网络1接点与CAN网络接点2信息互换的表示图略(详见《电子设计使用》2003.3)。

初始化局部的原步伐如下:

#include<reg591.h>

viod ini_can_controller (void)

{

CANMOD=0x01; /*进入复位形式,启动CAN初始化*/

P1M2=P1M2 I 0x02; /*管脚TXDC设置为推挽形式*/

CANSTA=0x03; /*使能吸收和发送中缀*/

CANADR=BTR0; /*BTR0和BTR1编程为125kbit/>###*/

CANDAT=0x45;

CANADR=BTR1; /*TSEG1=12, TSEG2=3, SJW=2*/

CANDAT=0x2B; /*用户可依据详细的CAN网络来调解BTR0, BRT1的参数*/

CANADR=AMR10; /*设定吸收屏障存放器的地点*/

CANDAT=0xFF; /*Bank1: 与吸收屏障存放器1有关,容许任何数据经过滤波器*/

CANDAT=0xFF; /*Bank1: 与吸收屏障存放器2有关,容许任何数据经过滤波器*/

CANDAT=0xFF; /*Bank1: 与吸收屏障存放器3有关,容许任何数据经过滤波器*/

CANDAT=0xFF; /*Bank1: 与吸收屏障存放器4有关,容许任何数据经过滤波器*/

CANADR=ACFMODE; /*设定吸收滤波器形式存放器的地点*/

CANDAT=0x01; /*设定BANK1为单滤波形式,尺度帧*/

CANADR=ACFENA; /*设定吸收滤波器使能存放器的地点*/

CANDAT=0x01; /*使能BANK1的滤波器1*/

CANMOD=0x00; /*哀求进入CAN的激活形式*/

while (CANSTA & 0x80); /*等候总线激活*/

}

相似以上的设置可以使得一切的CAN信息都经过CAN的毗连滤波器而抵达吸收缓冲区,从而为差别CAN网络信息的互换奠基了底子。

前往顶部


2013-2015 芯片j9九游会网 All Rights Reserved.
若有任何题目和发起请>###@qq.com

深圳市星光芯电子有限公司 版权一切

地点:深圳市龙岗区南湾街道平吉小道1号建昇大厦B栋1618(李朗软件园劈面)###
###QQ:498187676 联系:周工


站点舆图