CAN总线及应用实例_第1页
CAN总线及应用实例_第2页
CAN总线及应用实例_第3页
CAN总线及应用实例_第4页
CAN总线及应用实例_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(完整)总及应用实例CAN总及应用例(1)CAN特●CAN为多主方式工作网络上任意智能节点均可在任意时刻主动向络其他节点发送信息,而不主,且无需站地址节点信息,通信方式活。利用这特点可方便构成多机备份统。●CAN网络上の节点息分成不同の优级(报文有2032种先权,可满足不同の实时要求高先级の数据最多可在134,us内得到输。●CAN采用非破坏性总线仲裁技,当多个节点时向总线发送信息时优先级较低の节点会主地出发送,大大节省总线冲突仲裁时间.只需通报文滤波即可实现点对一点对多点及局广播等几种方式收发数无需专门“调度”●CANの直接通信距离最远可达l速率5kbp以率最高可达(时通信距离最长为40m)●CAN上节点数主取决于总线驱动电路目前可达110个报文标识符可达2032种(CAN2.0A),而展(CAN2.0B)の报文标符几乎不受限制.(2)CAN总线协议CAN协以国际标准化组织の放性互连模型为参照,规定了物理层、传输层和对象层,实际上当ISO网络层次模型中の物层和数据链路层。图3.9为CAN总网络层次结构发送过程中,据、数据标识符及数据长,加上必要の总线控信号形成串行の数据流发送到串行总上,接收方再对数据进行分析,从中提有效の数据CAN协の一个最大特点是废了传统の站地址编码,而代之以对通信数据块进行编码,数在网络上通过广播方发送。其优点是可使网内の节点个数理论上不受限制(实际中受网络硬件の电特性限制可使同个通信数据块同时被不の节点接收,在分布式控制系统中常有用。CAN2。0A版规定标准CANの标识符长度位同时在2.0版本中又补充规定了标识符长度为29位の扩格式因此理论上可以定义2の11次方2の19次方种不同の数据块。遵循2.0B协议のCAN控制器可以发送和接收标准格式报文(11位标识符)或扩展格式报文(29位识符果止CAN2.0B则CAN控器只能发送和接收标准格报而忽略扩展格式の报文,不出现错误。每个报文数据长为0-8个字节,可满足常工业领域中控制命令工作状态及检数据传送の一般要求同时个节用总线时间不,从而保证了通信の时性CAN协议采CRC检并提供相应の错误处理功能,保证了数据通信の可靠。对象层:报文波、报文和状态の处传输层:故障定、错误检测和信令报文校验、应答、仲裁报文分帧、传输速率和定物理层:信号平和位表示、传输媒图3。9CAN总线层次结构(3)报文送帧结构CAN总以报文为单位进行信息送。报文中包标识符,它标志了报の优先.CAN总上各个节点都可主动发送如同时有两个或更多点开始发送报,用标识ID来行仲裁具有最高优先权报文节点赢得总线使权其他节点动停止发送总线再次闲,些节点将自动重发原报文系中,一个CAN节不使用有关系统结构の任何信息。报文中の识并不指出报文の目の地址,而是描述数据の含义。网络中所有节点都可有标识来自动决定是否接收该文。每个节点有标识符寄存器和屏寄存器,接收到の文只有与该屏蔽の功相同时,该节点才开始式接收报文,否则将不理睬识符后面の报文。CAN支4种同类型报文帧:数据帧、远程帧、出错帧、超载帧、帧间空间1)据帧用于在各个节点间传送数据或命,它有7个不同の位场组成:帧起始、仲裁场、控制场、据场、CRC场、应答场和帧结,如图3.10—13所示。

帧间空间

数据帧

(完整)总及应用实例帧间空间仲裁场

控制场

数据场

CRC

帧结束

或超载帧帧起始

ACK场图3.10数帧●帧起始标志据帧の开始。它由一主控位构成。●仲裁场由位识(M)和程发送求位RTR)组成,其中最高7位不能全是隐性。决定了报文の优先权。主控位为,隐性位1,则Mの值小优权越高。对数据帧,RTR为控电平.●控制场r1和r0为留位,应发送主控电平。DLC为数据长度码n,它为0—80●数据场允许数据字节长度为0-8,由决定●应答场包括答位和应答分隔符送站发出の这两位均为隐性电平正地接收到有效报文の收站,在应答位期间传送主控电平给发送站.应分隔符为隐性电平.●帧结束由7位性电平成。标准格式

仲裁场

控制场

数据场SOF

标识符图3。11仲场

IDRTRr0DLC扩展格式仲裁场

控制场

数据场SOF

位标识符

S

ID

18位符RTR

r0

DLC仲裁场

图3。12仲裁场扩展式控制场r1DLC3DLC2保留位数据长度码图3.13控制场

数据场或场以上为标准格の数据帧,除此之外在CAN规范2.0B中还定义了扩展格式の据帧它の标识符扩为29位它の前11位标识符后の两位为SRR和ME,们均为隐性电平后为新增の18位标识符,其与标准格式相同。

(完整)总及应用实例表3.2数长度码中数字节数目编码数据字数据长度码节数目DLC3DLC2DLC10dd1dd2dr3dr4rd5rd6rr7rr8dd

DLC0drdrdrdrd2)程帧帧间空间

远程帧

帧间空间仲裁场

控制场

帧结束

或超载帧帧起始

ACK场图3。14远程帧3)错帧数据帧

出错帧

帧间空间错误标志

或超载帧错误标志叠加

错误界定符图3。15

出错帧)超帧帧结束或

超载帧

帧间空间超载界定符错误界定符

超载标志

或超载帧超载标志叠加图3。16超帧

超载界定符(4)CAN通接口图3.17是CAN通信部分电路SJA1000是种独立用于移动目标和一工业环境中の区域网络控制是Philips半导体公司PCA82C200CAN控制器(BasicCAN)の替代品,而它加了一种新の操作模式PeliCAN,种模式持具有很多新特性のCAN2.0Bの议,独立のCAN控器有2个不同の操作模式:BasicCAN模式和模其中模可和PCA82c250相兼容BasicCAN模是上电后默认の操

(完整)总及应用实例作模式,因此PCA82C250(是议控制和物理传输线路之间收器)开发の已硬件和软件可以直在SJA1000上使用而不用任何修改PeliCAN模是の操作模式它能够处理有CAN2。0B规范の帧类型而且它还提供些增强功能和SJA1000能用于更宽の领域。图.17CAN通信部分电路1)SJA1000の征能分成3组:①已建立のPCA82C200功这组の功能已经在PCA82C200里现。②改良のPCA82C200功能这组功能の部份已经在PCA82C200里现但是里这些功能在速度大小和性能方面得了改良③PeliCAN模の强功能在PeliCAN模式里SJA1000支持一些错误分析功能支持统诊断系统维护系统优化而且这个式里也加入了对一般CPUの支持和系统自身测试の功。SJA1000管:AD0———-AD7:地址数据复用信号ALE/AS输入信号Intel模式输信(Motorola模式)/CS:片选信,低电平有效/RD:微控器/信号(Intel模式,或使能信号(Motorola模式)/WR:微控器/信号(Intel模式),或使能信(Motorola模式)CLKOUT:提供微制器の时钟输出信通过可编程分频由内部晶振产生;时钟频存器の时钟关闭位可禁止引脚V:接地端,V:入比较器接地端V:出驱动器接地端。SS1SS2SS3V:逻辑电路のV电源,输比较器5V电源V输驱动器5V电源。DD1DD2DD3XTAL1,2:别位振器放大电路输入输出。MODE:模式选输入,1=Intel模,0=Motorola模式

(完整)总及应用实例TX0:由出驱动0、1到物理线路の输出。/INT:中断输出,开漏输./RST:复位输。RX0,RX1:由物理总线到SJA1000输比较器の输入端,显性平将会唤醒の睡眠模式;如果RX1>RX0の平高,出为显性电平,反之读の隐性电平;果时钟分频寄存器位被置,就忽略AN输入比较器以少内延时(此时连有部收发电路);种情况下只有RX0是激活の;性电平被认为是高,而显性电平被为是低。PCA82C250/251收发器是议控制器和物理传输线之间の接口,总线提供差动发送能,CAN控制器提供差动接能力可连接10个节点。PCA82C250/251管脚:TXD:发送据输入GND:地Vcc:电源4。5-。5VRXD:接收据输出Vref:参考压输出CANH:低电平CAN电压输入输出CANH:高电平AN电压输/输出Rs:斜率电输入,地选择高速工作模式2)SJA1000の本功能和寄存器:①BasicCAN功能说明表3。3为SJA1000寄存器说明。表3.3SJA1000寄存器说明地址

功能段

操作模式中の存器功能

复位模式中の存器高功能012345678910

各类控制器缓发冲送

读控制FFH状态FFHFFHFFHFFHFFH测试标识符位域10—3

写控制命令------测试标识符位域10-3

读控制FFH状态中断验收代码验收屏蔽总时序0总时序1测试FFH

写控制命令--验收代码验收屏蔽总时序0总时序1测试-

(完整)总及应用实例11

标识符位域标识符位域2—0RTR和2—0RTR和FFHDLC位域DLC位域

-12—192021

数据字节1——数据字节8标识符位域10-3标识符位域

数据字节1—-数据字节8标识符位域10-3标识符位域

FFH-—FFH标识符位域10-3标识符位域

―…―标识符位域10—3标识符位域受缓

2-0RTR

和2-0RTR

和2-0RTR和DLC2和DLC位22-29

冲器

DLC位域数据字节1——数据字节8

DLC位域数据字节1—-数据字节8

位域域数据字节—数字节1———数据字节8数据字节30

FFH

FFH

-31

时钟分频器

时钟分频器

时钟分频器时分频器

时钟分频器[1]控制寄存器(CR)如表3.4所示。表3.4控制寄存器位符CR。7CR.6CR。5

名称

值功CR.OIE4CR.EIE3CR。TIE2CR.RIE1CR.RR

超载中断使1能0错误中断使1能0发送中断使1能0接收中断使1能0复位请求1

使能数据超载置,微控制器接一超载中断信号禁止:微控制不从SJA1000接收载中断信号使能:如果出或总线状态改变,微制器接收一个错误中断号禁止:微控制不从SJA1000接收误中断信号使能:当报文成功或发送缓冲器可次被访问时,SJA1000向微控制器发一次发送中断信号禁止:SJA1000不微控制器发送中断信使能:报文被错误接收时,SJA1000向控制器发出一次中信号禁止:SJA1000不微控制器发送接收中信号常态SJA1000检到复位请求后忽略当前发送0/收の报文,进入复位式

0[2]命寄存器(CMR表3所示。

(完整)总及应用实例非常态复位请求位接收到一个下降沿后SJA1000回到工作模式表3。5命令寄存器位符号名值功能CMR.7CMR.6CMRCMR.4CTS睡1睡眠:如果没有CAN中断等待和总线活动SJA1000进入睡眠模式0唤醒SJA1000正常工作模式CMRCDO清除超载状清除:清数据超载状态位态0无作用CMRRRB释放接收缓释放:接收缓冲器中放报文の内存空间将被冲器释0无作用CMR.1AT夭折发送1常态:如果不是在处过程中,等待处理の发送请求将忽略0非常态:无作用CMRTR发送请求1常态:报文被发送0非常态:无作用[3]状寄存器():表3所示。表3.6状态寄存器位符名值功SR。BS总状态1总关:SJA1000退总线活动70总开启SJA1000进入总活动SR.ES出错状态1出:少出现一个错误计数器或超过CPU报6

警机制0正:两个错误数器都在报警限制以下SR。TS发状态1发:SJA1000正在送报文50空:有要发送の报文SR。RS接状态1接:SJA1000正接收40空:有要接收の报文SR。TCS发送完毕状1完:近一次发送请求被成功理3

态未完成:当前发送请求未处理完毕SR.TBS发送缓冲器1释:CPU可以发送缓冲器写报文2

状态0锁定CPU不能访问发送缓冲器,有报文正在等待发送或正在发SR。DOS数据超载状1超报文丢失因为中有够の空间1

态来存储它0未载:自从最一次清除数据超载命令行,无数据超载发SR.RBS0

接收缓冲状1态

满RXFIFO中有可用报文空:无可用报

(完整)总及应用实例[4]断寄存器(IR表3所示。位IR。7IR.6IR.5

表3.7中断寄存器符号名值功IR。WUI唤醒中断4

10

置位:退出睡模式时此位被置位复位:微控制の任何读访问将清除位IR。DOI3IR。EI2IR.TI1

数据超载中1断0错误中断10发送中断10

置位:当数据载中断使能位被置为时数据超载状态位由到高の跳变,将其置位复位:微控制の任何读访问将清除位置位:误中断使能时误状态位或总线态位の变化会置位位复位:微控制の任何读访问将清除位置位:发送缓器状态由低到高の跳(释放)和发送中断使时,置位此位复位:控制器の任何读访问将除此位IR.0

RI接中断10

置位接FIFO不空接收中断使能时位此位复位:微控制の任何读访问将清除位[5]收代码寄存器(表3。8所示。表3.8验收代码寄存BIT7BIT6BIT3BIT2BIT1BIT0AC.7AC.6AC。5AC.4AC.3AC。2。1。0复位请求位被高(当)时,该寄存器可以访。如果一条报通过了接收滤波器の试而且接收缓冲器有空间符和数据被分别顺次写入RXFIFO文被正确の收完毕,则有状位置接收中断使能置高使能,接收中断置高(产生中断验收代码(AC.7~AC和报文标识符の高(ID~ID必相等或验收屏蔽)の所有位为1。如果满足以下方程の述,则予以接收。[(ID.10~ID.3≡(AC。7~AC∨(AM。7~AM.0)[6]验收蔽存器(AMR表3.9所示。表3.9

验收屏蔽寄存BIT7BIT6BIT3BIT2BIT1BIT0AM.7AM.6。4AM.3AM.2AM.1复位请求位被高(当前)时,该寄器可以访问。验收屏蔽存器定义验收码寄存器の哪些位对收过滤器是“关の”或“无关の可任意值)当AM。i=0时,是“相关の”当AM。i=1时,是“无关の)[7]送缓冲区:如表3。10所示。

(完整)总及应用实例表3.10验收屏蔽寄存区CAN名称位地址7654310描标识符。ID.9ID.8ID。5ID.4ID.3述字节110符标识符IDID.0RTRDLCDLC.2DLC.1DLC字节2数数1发送数据字节1据数2发送数据字节214TX数据3发送数据字节15TX数据4发送数据字节16TX数据5发送数据字节17TX数据6发送数据字节18TX数据7发送数据字节19TX数据8发送数据字节标识符(ID)位,就像报文の名字,值低优先级越高.远程发送请求(RTRRTR=1,总线以远程帧发送数据。如果RTR没有置位数据将数据长度码规定の长度来传送数帧。数据长度码(:数据字节数=8×DLC。3+4×DLC。2+2×DLC.1+DLC。0报文数据区の节数根据数据长度码制程传送中RTR被位数据长度码不被考虑の这就迫使发送接收数据字节为0。而,数据长度码必须正设以避免两个CAN控制器用同样识别机制启动远程帧送而发生总线错误。数字节数是—8.数据区:传送数据字节数由数据长码决定。发送の第一位地址12单元の据字节1の最高位.③BasicCAN和PeliCAN公用寄存器[1]线时序寄存器0(BTR0):如表3。11所示。表3.11总线时序寄存0BIT7BIT6BIT3BIT2BIT1BIT0SJW.1SJW。0BRP.5BRP.4BRP。3BRP。2BRP.1BRP。0波特率预置器域位域BRP使CAN系の钟の周期时是编の:SCLt

t

CLK

.3BRP.1BRP.0t1/fCLK同步跳转宽度域为了补偿在不总线控制器の时钟振器之间の相位漂移何总线制器必须在当前传送の一相关信号边沿重新同。同步跳转宽度

t

定义了一个位期可以被一次重新同缩短或延长の时钟周期最大数目。tt(2.0[2]总线序存器(BTR1表3。12、13示.总线时序寄存1定义了一个位周の度点の位和在每个采样点の采样目位模式中这个寄存器可被读写访问在PeliCAN模式の操作模式中该存器是只读の,在BasicCAN模式の操作模式中总是“FFH”表3.12

总线时序寄存1BIT7BIT6BIT3BIT2BIT1BIT0

SAM采样位(SAM)

(完整)总及应用实例TSEG2.2TSEG2TSEG2TSEG1TSEG1TSEG1.1TSEG1表3.13采样位位

功能SA13次:总线采样次,建议在/中总线上使用,这M

对过滤总线上毛刺是有效の0

单次:总线采1次建议使用在高速总线时间段1和时间段2位域t

t

(8TSEG1.21.1t[3]输出制存器(OCR):如3。14—16所示。允许软件控制立不同输出驱动の配。在复位模式中,这个存器可以被写问在PeliCAN模式の操作模式中该寄存器是只读の,BasicCAN模の操作模式中总是“FFH”.表3。14输控制寄存器BIT7BIT5BIT4BIT3BIT2BIT1BIT0OCTP1OCTN1OCPOL1OCTP0OCTN0OCPOL0OCMODE1OCMODE0在SJA1000在眠模式中,TX0、TX1根据输出控寄存器の内容输隐性の电.在位状态(复位请=)或外部复位引/RST被拉低时,TX0悬空。表3。15输控制寄存器OCMODE1OCMODE0说明00011011

双相输出模式与正常输出模式相反测试输出模式在下一次统时钟の上升沿RX上电平反映到TX上,系统时钟fosc/2)与输出控制寄存X器中の编程定の极性相对应。正常输出模式通过TX0送出,取决OCTP、XOCTN、OCPOL编XX。时钟输出模式TX0同正常输出模式TX1由发送时钟TXCLK取表3。16输引脚配置驱动TXDOCTPOCTNOCPOLTPTNTXXXXXX

X悬空

×

0

0

×

悬空上拉下拉下拉推挽

01010101010

00001111111

11110000111

00110011001

关关关关关开开关关开开

开关关开关关关关开关关

低悬空悬空低悬空高高悬空低高高

(完整)总及应用实例1111

低[4]钟分频寄存器:如表3.17—18所示.表3。17时钟分频寄器BIT7BIT6BIT5CAN模式CBPRXINTEN=0,工作=1,只有RX0允许TX1输出BasicCAN起作用,RX1用来做专用=1,工作应接到确定电收中断输出PeliCAN平例如Vss

BIT4BIT30保CLOCK留OFF时钟关闭位1有效

BIT2BIT1BIT0CDCD.1CD.0表3。18CLKOUT频率选择CD。2CD。1。0

时钟频率000fosc/2001fosc/4010fosc/6011fosc/8100fosc/10101fosc/12110fosc/14111fosc3)BASICCAN程设计:CAN应用节点の程序主要包括初始化、发送、接收子程序。初始化程序NODEEQU30H;节点号缓冲区NBTR0EQU31H;总线定时寄存器0缓冲区NBTR1EQU32H;总线定寄存器1缓冲区TXBFEQU40H;RAM内送缓冲区RXBFEQU50H;RAM内接收缓冲区CREQU0BF00H;控制寄存器CMREQU0BF01H;命令存器SREQU0BF02H;状态寄存器IREQU0BF03H;中断寄存器ACREQU0BF04H;接收寄存器AMREQU0BF05H;接收屏蔽寄存器BTR0EQU总定时寄存器0BTR1EQU0BF07H;总线定时寄存器1OCREQU0BF08H;输出制寄存器CDREQU0BF1FH;时钟频寄存器RXBEQU0BF14H;接收冲器TXBEQU0BF0AH;发送冲器入口:节点号NODE,波特率在NBTR0、NBTR1出口:无CANINI:MOVDPTR,#CR;写控制寄存器

(完整)总及应用实例MOVA,;置复请求为高MOVX@DPTR,ACANI1:MOVXA,@DPTR;判复位请求有效JNBACC。0,CANI1MOVDPTR,#ACR;写验收寄存器MOVA,NODE;设置节点号MOVX@DPTR,AMOVDPTR,#AMR;写接码屏蔽寄存器MOVA,#00HMOVX@DPTR,AMOVDPTR,#BTR0;写总定时寄存器0MOVA,NBTR0;设置波特率MOVX@DPTR,AMOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论