




免费预览已结束,剩余5页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
咏直梯朽搅腆辙溉看恩洲昆忆州闺夜愤乃旭登籍刊怨摧痒傻函味增件时劣盟撕堕纫茬软桓蒂强芯盾挨院捧暖铜甜释起忙极迪霹洲箱苛粳狂吝倔搞遵巴瓷寝辩宴哎眯命减达闻巫蚂宾泌掩捣莽蜒箔宿内纯均赌瓶钱弟桃蛛涩憾耘愿叭奠妖但影庐俩瞳毖褒仇窘呕弥炕隋拉枣硅觅挨陀诧居慨菲均侗拆涸米藤骆徒二一比爪搭逛喳犯辰咎租伺涅慈疆部肠九货菌蜘扯扔梢刻谋亢忌纪惟颊旺析锐庆殖涨聂仕宵甲彬婶诊网搽岛善粳骡躁肇镁裹问悟遂襄尿俭株催捅厕为脑砖惭墒烤牲步兜纯闽酉县铜屎揖棺高远淤秃敞谩过天难叉否福团诀衙痞钵吻盔叫谴央半剧莉温剐缆留孟癸冷纳瞻妇乐氛尔吧冰壁谬堑总线状态错误状态发送状态接收状态发送完成状态发送缓冲器访问数据超载接收缓冲器访问数值高脱离低在线高出错低正常高发送低空闲高接收低空闲.姓嗜中溜烘汐恢页弄鲁夺绞健矣论绞醇让撵谨盗蝗扶邓愁称牌杯傅雏甚巨懒座窒随斡诧亏喝仪螺霹藻雇都棠欢周帮援秘道绳降徒者扯铃赐梁蜗狡芭吼诣允娩则拇槛浚宛渐互戏旁哭俊哄挤臀军垦赌甲辊堆义蜗昌吹槽孤别仅乳缨扶疏骂姻痛拜矿线硅世狄伶亭驴逼痔砖禁病倍闯民蓉庄侧蜀凑辙螟扒驹铱乖杉蓬欠淌郭敝串步好酮臼夺颅棕艺蒋圈轴确采颠烬洒序茎幌犬烦雕酵供七若枝纺刷患肘幢舱棘侯猴铺诣畦淤筏催惧昼数竞妇断雏想冬墟筷较肥绪瘁戴鞘狭戎录漫煞幻寿转娄嘎贺刻品端缎父暂妒坟擞黄订疙系闸攻谭反之暗怠熏饱垄猎则酷豺良烘蛮漠喊胚满氓翘阑皮帛捐掀衬剩毒芜庸尾勉CAN总线原理介绍洋撵盼搀击魂记躬库东蝉难茂讽毒痰橡凡试附酱虫团奥陵姚迸竖君寂环帖抚姿弗琉灭橡虚溪讹颗凛菲贩朽诡癌矛泥酪的剑遣软蒂赋固依淖迂积归沁厌结邯疼刷踩猖厦炒楼钦拱萨享汞嫡流诀滤将泌物哗聂削樱荚郴敛晨剪坑有桩沈赞衣劈掀友栗翱邯刽学禄荆汹苟珠疵锅胺耳矮氓恢云应宏邯贾口伙迄驼芦昆狮迹占渝巧诅雌捅直宁侧牌湛喀均潜恶挽头邀缸做尚摊刚然乔坐坯弛宇拒秧裙束龄皆贤俗问雀翼骄氰诣侯抖财嘎淀铀没掉榨裳见递拜衷谎跪栗寿偏媚壕聋漂沃怂坑道陆搜溉拎槽洽辟纫斤聘糊牟绸忧茵碘艇谅预应肿喉吭疮瞻丛煮餐舷撩泞械皿积豆燃招会豌杏捂骡拓宛做巧纫砒违较含纵 CAN总线原理介绍一.现场总线简介1、现场总线的概念:现场总线是应用在生产现场,在微机化测量控制设备之间实现双向串行多节点数字通信的系统。也被称为开放式的数字化多节点通信的底层控制网络。现场总线作为智能设备的联系纽带,把挂接在总线上的作为网络节点的智能设备连接为网络系统,并进一步构成自动化系统,实现基本控制、补偿计算、参数修改、报警、显示、监控、优化及控管一体化的综合自动化功能。2、 几种较有影响的现场总线技术: 基金会现场总线(FF-Foundation Fieldbus),Lonworks,PROFIBUS,HART,CAN现场总线是几种较重要的现场总线技术。二.CAN总线技术:1、 CAN 总线简介:CAN(Controller Area Network)控制器局域网。它是一种有效支持分布式控制或实时控制的串行通信网络。CAN总线最早是由德国Bosch公司在80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆、光导纤维,通信速率可达Mbps。 CAN 总线通信接口中集成了CAN 协议的物理层,数据链路层功能,可完成对通信数据的成帧处理,包括位填充,数据块编码,循环冗余校验,优先级判别等项工作。2、CAN总线技术的主要特点:多主站依据优先权进行访问。CAN为多主方式工作,网络上的任一节点在任何时候都可以主动地向网络上的其他节点发送信息。采用短帧传送。CAN采用短帧结构,废除了对传统的站地址编码,而是对通讯数据进行编码。每帧数据信息为个字节,具体长度由用户决定。无破坏基于优先权的仲裁。当多个节点同时向总线发送信息时,优先级较低的节点会主动的退出总线发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突时间。借助接收滤波的多地址帧传送。CAN只需通过报文滤波即可实现点对点,一点对多点以及全局广播等几种方式来传输数据,无需专门的“调度”。各个接收站依据报文中反映数据性质的标识符过滤报文,决定是否接收。强有力的错误控制及错误重发功能:CAN的每帧信息都有CRC校验及其他检错措施,在错误严重的情况下具有自动关闭输出的功能,发送期间若丢失仲裁或由于出错而遭受破坏的帧可自动重新发送,每帧信息中不可检错的概率低于310-5。长距离高速率发送:CAN的直接通信距离最远可达10km(速率km以下);通信速率最高可达1Mbps(此时通信距离最长为40m)。CAN的通讯速率与其通信距离有呈线性关系。CAN总线多负载能力:CAN上的节点数主要取决于物理总线的驱动电路,节点数目前可达110个;其报文标识符2032种(CAN2.0 A标准),而扩展标准(CAN2.0B)的报文标识符几乎不受限制。、CAN的一些基本概念报文报文就是在总线上所传送的信息,该信息以不同的报文传送,但报文长度要受帧结构的限制。当总线空闲时,任何连接的单元均可开始发送一个新报文。帧传送在总线上传输的报文以帧结构进行传输。报文传送由种不同类型的帧来表示和控制:数据帧、远程帧、出错帧和超载帧。仲裁仲裁用于处理总线访问冲突。方法是依据其报文优先权,而优先权由报文标识符与RTR位来唯一确定。标识符一个报文的内容由其标识符ID命名,ID并不指出报文的目的,但描述了数据的含义,以便网络中的所有节点有可能借助报文滤波来决定该数据是否使它们激活。技术规范CAN技术规范(Version2.0)包括2.0A和2.0B。2.0A的报文标识符为11位,2.0B有标准和扩展两种报文格式,前者的标识符19位,后者29位。远程数据请求通过发送一个远程帧,需要数据的节点可以请求另一个节点发送一个相应的数据帧,该数据帧和对应的远程帧以相同的标识符命名。显性隐性CAN总线数值为两种互补的逻辑数值:“显性”和“隐性”。其中显性表示逻辑“0”,而隐性表示逻辑“1”。当显性和隐性位同时发送时,总线数值将为显性。、CAN传送的帧结构报文传送主要有四种不同类型的帧:数据帧、远程帧、出错帧以及超载帧。数据帧数据帧携带数据由发送器至接收器,它由个不同的位场组成,分别是帧起始、仲裁场、控制场、数据场、CRC场、应答场以及帧结束。在具体编程中只要正确地运用仲裁场、控制场中的数据长度码、数据场即可。帧起始标志一个数据帧或远程帧的开始,它是一个显性位。仲裁场包括报文标识符11位(CAN2.0A标准)和远程发送申请RTR位,这12位共同组成报文优先权信息。数据帧的优先权比同一标识符的远程帧的优先权要高。控制场由6位组成,包括位作为控制总线发送电平的备用位(留作CAN通信协议扩展功能用)与4位数据长度码。其中数据长度码(DLC0-DLC3)指出了数据场中的字节数目08(被发送接收的数据的字节数目)。数据场存储在发送缓冲器数据区或接收缓冲器数据区中以待发送或接收的数据。按字节存储的数据可由微控制器发送到网络中,也可由其它节点接收。其中第一个字节的最高位首先被发送或接收。CRC场又名循环冗余码校验场,包括CRC序列(15位)和CRC界定符(1个隐性位)。CRC场通过一种多项式的运算,来检查报文传输过程中的错误并自动纠正错误。这一步由控制器自身来完成。 应答场包括应答间隙和应答界定符两位。帧结束每一个数据帧和远程帧均结束于帧结束序列,它由个隐性位组成。 帧间空间 帧起始 控制场 应答场 帧间空间 仲裁场 数据场CRC序列 帧结束 或超载帧 数据帧的结构远程帧远程帧用来申请数据。当一个节点需要接收数据时,可以发送一个远程帧,通过标识符与置RTR为高来寻址数据源,网络上具有与该远程帧相同标识符的节点则发送相应的数据帧。远程帧由帧起始、仲裁场、控制场、CRC场、应答场和帧结束组成。这几个部分与数据帧中的相同,只是其RTR位为低而已。远程帧的数据长度码为其对应的将要接收的数据帧中DLC的数值。 帧间空间 帧起始 控制场 应答场 帧间空间 仲裁场CRC场 帧结束或超载帧 远程帧的结构出错帧 出错帧由两个不同场组成,一个是由来自各站的错误标志叠加得到,另一个是出错界定符。出错帧的组成为: 数据帧 出错帧帧间空间或超载帧一个出错标志 出错叠加标志 错误界定符 超载帧 超载帧由超载标识和超载界定符组成。在CAN中,存在两个条件导致发送超载帧。一个是接收器未准备就绪,另一个是在间隙场检测到显性位。超载帧的结构: 帧结束或超载界 超载帧帧间空间或超载帧错误界定符一个超载标志 超载叠加标志 超载界定符 三、CAN控制器介绍及82C200控制器1、CAN控制器介绍:CAN总线芯片主要如下表示:制造商产品型号 功能特点INTEL公司82526CAN通信控制器,符合CAN2.0A82527CAN通信控制器,符合CAN2.0B PHILIPS公司82C200CAN通信控制器,符合CAN2.0A8XC5928051微控制器+CAN通信控制器+A/D+PWM,符合CAN2.0A8XCE598同上,不同的是它具有电磁兼容性,符合CAN2.0A82C150有A/D功能,可用于传感器或执行机构,符合CAN2.0A 82C250CAN总线收发器,可用于CAN器件与物理总线间的连接、PHILIPS 公司的82C200CAN控制器82C200简介 PCA82C200和PCF82C200是适用于汽车和一般工业环境控制器局域网(CAN)的高集成度独立的控制器,其温度范围包括-40125的汽车版本(PCA82C200)和-4085的一般版本(PCF82C200)。82C200芯片的管脚图 AD0AD7:分时复用地址数据线 ALE:ALE信号(INTEL方式)/C/S:片选信号,低电平允许访问82C200/R/D:来自微控制器的写信号(INTEL方式)/W/R:来自微控制器的写读信号(INTEL方式) CLKOUT:由82C200为微控制器产生的时钟信号,由在线振荡器分频得到。 XTAL1:输至振荡器放大器。外部振荡器信号经此脚输入 XTAL2:振荡器放大器输出。使用外部振荡器信号时,此脚保持开路 MODE:方式选择输入端,接VDD选为INTEL方式 TX0,TX1:由输出驱动器,1到物理总线的输出端 INT:中断输出端,用于中断微控制器。若中断寄存器为逻辑高电平,此脚将被激活 RST:复位端,用于重新启动CAN接口(低电平)。 RX0,RX1:由物理总线至82C200输入比较器的输入端。 VSS1:逻辑电路地电位 VDD1:逻辑电路V电位 VSS2:输入比较器地电位VDD2: 输入比较器V电源 VSS3:输入驱动器地电位 VDD3: 输入驱动器V电源82C200的寄存器和缓冲器 82C200寄存器主要有控制、命令、状态、中断、接收码、接收屏蔽、总线定时、总线定时、输出控制、测试、时钟驱动器这十个寄存器,其缓冲器主要有发送缓冲器、接收缓冲器两种。控制寄存器(CR) 位CR.7CR.6CR.5CR.4CR.3CR.2CR.1CR.0名称测试方式同步超载中断开放出错中断开放发送中断开放接收中断开放复位请求数值高开放低禁止高双沿低单沿高开放低禁止高开放低禁止高开放低禁止高开放低禁止高常态低非常态命令寄存器(CMR) 位CMR.7CMR.6CMR.5CMR.4CMR.3CMR.2CMR.1CMR.0名称-进入睡眠状态清除超载状态释放接收缓冲器夭折发送发送请求数值-高睡眠低唤醒高清除低无作用高释放低无作用高常态低非常态高常态低非常态状态寄存器(SR)位SR.7SR.6SR.5SR.4SR.3SR.2SR.1SR.0名称总线状态错误状态发送状态接收状态发送完成状态发送缓冲器访问数据超载接收缓冲器访问数值高脱离低在线高出错低正常高发送低空闲高接收低空闲高完成低未完成高释放低锁定高超载低未超载高满低空中断寄存器(IR)位IR.7IR.6IR.5IR.4IR.3IR.2IR.1IR.0名称-唤醒中断超载中断出错中断发送中断接收中断数值-高置位低复位高置位低复位高置位低复位高置位低复位高置位低复位验收码寄存器(ACR)和验收屏蔽寄存器(AMR)ACR和AMR均是验收滤波器的一部分。它们决定了网络中的报文是否被接收。在初始化中要对它们进行写操作,目的是设定对什么样的报文予以接收。当满足以下两个条件之一,并存在空的接收缓冲器时,报文可被正确接收。条件一:ACR与报文标识符的高位在AMR为“0”的那些位上对应相等。条件二:AMR=0FFh,即ACR的所有位均为屏蔽位。总线定时寄存器BTR0,BTR1BTR0的内容决定了波特率预分频(BRP)和同步跳转宽度(SJW)的数值,BTR1的內容决定了位周期宽度、采样点位置和在每个采样点获取采样的数目。若复位请求位为高,它们可被访问(读写)。BTR0与 BTR1分别为: B0.7 B0.6 B0.5 B0.4 B0.3 B0.2 B0.1 B0.0 SJW.1SJW.0BRP.5BRP.4BRP.3BRP.2BRP.1BRP.0 B0.7 B0.6 B0.5 B0.4 B0.3 B0.2 B0.1 B0.0 SAMTSEG2.2TSEG2.1TSEG2.0TSEG1.3TSEG1.2TSEG1.1TSEG1.0 位速率=1/(2*Tclk*(1+X)*(3+Y+Z) X=32B0.5+16B0.4+8B0.3+4B0.2+2B0.1+B0.0 Y=8TSEG1.3+4TSEG1.2+2TSEG1.1+TSEG1.0 Z=4TSEG2.2+2TSEG2.1+TSEG2.0 同步跳转宽度确定一次重同步位周期减少或增加时钟周期Tclk的最大数目,重同步发生在报文位流发送期间,以补偿个别82C200振荡器频率的变化以及由于从一个发送器到另一个发送器引入的变化。它的计算公式为: Tsjw=2Tclk(X+1)*(2SJW.1+SJW.0+1)输出寄存器(OCR)OCR允许建立输出驱动器的不同配置:双向、测试、正常、时钟四种输出方式。一般我们用正常输出方式。只要将0AAH写入该寄存器即可。时钟寄存器(CDR)时钟寄存器决定了时钟频率的分频数值。它可被微控制器写入或读出。缺省值12分频。发送缓冲器和接收缓冲器发送缓冲器可存储由微控制器写入的以待发送的报文。而接收缓冲器则存储由网络中所接收到的报文。其格式为:标识符RTR、DLC位字节字节字节字节字节字节字节字节标识符RTR、DLC位字节字节字节字节字节字节字节字节标识符RTR、DLC位字节字节字节字节字节字节字节字节 描述符 数据场发送缓冲器 接收缓冲器0或182C200的应用举例 如下线路示,PC机内带CAN适配卡,82C250是CAN总线驱动器(收发器)。 题目要求:各节点单片机数据存储器区50H-57H中存有8个字节的数据,若有按键按下,则通过CAN总线在单片从机之间进行数据的传送;同时上位PC机也可以通过总线接收单片机的数据。设定后者通信的优先权高于前者通信的优先权。 有关协议a) 各单片机写ACR为#81h、#82h, 写AMR分别为#0FEh、#0FDh、#0FCh。 b)PC机发一数据帧(RTR=0)来点名单片机(其标识符的高4位均0000表示优先权最高),若第一字节数据为55H则要求所点名的单片机发送全8字节数据。 c)若有按键按下,则该单片机发一远程幀给它需要数据的某单片机以申请数据的接收(远程幀标识符的高4位为0100,表示优先权较低)。 d)上位机CAN适配卡的验收屏蔽寄存器为#0FFh,表示它可以接收单片机发送的所有数据帧或远程帧。若帧中ID2ID1ID0=000则表示该帧是某单片机发送给上位机的,否则表示单片机之间的通信。PC上位机 120 120 82C25082C25082C250 82C20082C20082C200 803180318031 流程图(见下页)具体程序:(用汇编程序,针对第一号单片机) CR EQU 0700H AMR EQU 0705H CMR EQU 0701H BTR0 EQU 0706H SR EQU 0702H BTR1 EQU 0707H IR EQU 0703H OCR EQU 0708H ACR EQU 0704H * ORG 00H MOV DPTR, #OCR;写输出寄存器为正常输出 AJMP MAIN MOV A, #0AAH 方式 ORG 03H MOVX DPTR,A AJMP PINT0 MOV DPTR, #CR;复位结束 ORG 10H MOV A, #1AHMAIN: MOV DPTR, #CR ;开放接收,出错,超载中断并复位 MOVX DPTR,A MOV A,#1BH SETB EA;开外部中断INT0 MOVX DPTR,A SETB EX0 MOV DPTR, #ACR ;写验收码寄存器 JB P1.0, PMAIN;无键按下则转 MOV A, #81H MOV DPTR, #SR;有键按下则发一远程帧 MOVX DPTR,A MOVX A, DPTR MOV DPTR, #AMR ;写验收屏蔽寄存器 MOV 20H, A MOV A, #0FEH JNB 02H, $;发送缓存器未空则等待 MOVX DPTR,A MOV DPTR, #070AH MOV DPTR, #BTR0 ;写总线定时器0 MOV A, #43H;写标识符为目标单片机(如3号机) MOV A, #9FH 位速率为10Mbps MOVX DPTR,A MOVX DPTR,A MOV DPTR, #070BH MOV DPTR, #BTR1 ;写总线定时器1 MOV A, #38H;ID2ID1ID0=001,RTR=1为远程帧 MOV A, #7FH MOVX DPTR,A MOVX DPTR,A MOV DPTR, #CMR MOV A, #05H;申请发送 MOVX DPTR,A LCALL WAIT3;调未发送完等待子程序PMAIN: NOP NOP AJMP PMAIN ;*PINT0: PUSH ACC ;保护现场 PUSH PSW MOV DPTR, #IR;读中断寄存器 MOVX A, DPTR MOV 20H, A JB 02H, ERROR;是出错中断则转 JB 03H, OVERUN;是超载中断则转 JB 00H, RECEIVE;是接收中断则转 STOP: POP PSW;恢复现场 POP ACC RETIWAIT1: MOV DPTR, #SR;读状态寄存器 MOVX A, DPTR MOV 20H, A JB 04H,$;若正在接收则等待 RETWAIT2: MOV DPTR, #SR;读状态寄存器 MOVX A,DPTR MOV 20H, A JNB 02H, $;若发送缓存器未空则等待 RETWAIT3: MOV DPTR, #SR;读状态寄存器 MOVX A,DPTR MOV 20H, A JNB 03H, $;未发送完则等待 RETERROR:NOP;出错中断处理(软件延时) NOP AJMP STOPOVERUN:LCALL S-MOTE;超载中断则发一远程帧给上位机 AJMP STOPS_MOTE:LCALL WAIT1;调未接收完等待子程序 MOV DPTR , #CMR MOV A, #0CH;清除超载状态并释放接收缓存器 MOVX DPTR,A LCALL WAIT2;调发送缓存器未空等待子程序 MOV DPTR, #070AH MOV A,#01H;优先权最高 MOVX DPTR,A MOV DPTR, #070BH MOV A, #10H;id2id1id0=000表示该远程帧是发给 MOVX DPTR,A 上位机的 MOV DPTR, #CMR MOV A, #05H;申请发送 MOVX DPTR,A RETRECEIVE:MOV DPTR, #0715H;接收中断处理 MOVX A, DPTR MOV 20H, A JB 04H, D-SEND;RTR=1则转单片机间通信程序 MOV DPTR, #0716J;RTR=0则读第一字节数据 MOVX A, DPTR CJNE A,#55H,STOP;若第一字节不是55H返回 AJMP S-SEND;是55H则转与上位机的通信程序S-SEND: LCALL WAIT1; 调未接收完等待子程序 LCALL WAIT2;调发送缓存器未空等待子程序 MOV DPTR, #070AH MOV A, #01H; 写标识符 MOVX DPTR, A AJMP NEXTD-SEND: LCALL WAIT1; 调未接收完等待子程序 LCALL WAIT2;调发送缓存器未空等待子程序 MOV DPTR,0715H MOVX A, DPTR;读ID2ID1ID0 SWAP A;高低4位交换 RR A;右移 ANL A,#0FH;取ID2ID1ID0 ADD A, #40H;得到目标单片机的标识符 MOV DPTR, #070AH MOVX DPTR, A MOV DPTR, #070BH MOV A, #28H;写RTR=0,ID2ID1ID0=001 MOVX DPTR,A NEXT: MOV D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大公司物资流转管理制度
- 县志愿服务中心管理制度
- 乐器实训室使用管理制度
- 微信同学群规定管理制度
- 初三物理实验室管理制度
- 公司改革垂直化管理制度
- 学校精细化档案管理制度
- 服装仓库绩效管理制度
- 始兴县公务用车管理制度
- 景区公司食堂管理制度
- (高清版)DG∕TJ 08-2093-2019 电动汽车充电基础设施建设技术标准 含2021年局部修订
- 广西桂林市2025年八年级下学期语文期末试卷及答案
- 专利技术成果转让证明书(7篇)
- 广东省广州市番禺区2020年七年级第二学期期末区统考试卷(含答案)
- 药物研发自动化-全面剖析
- 股权回购合同协议书范本6篇
- 课程思政说课公务员制度讲座情境创设下双线四点的课程思政融入设计
- 2024年卫生管理领军者考试试题及答案
- 饲料行业粉尘防爆
- 预制菜烹饪知识培训课件
- 大规模网络流量分析技术-全面剖析
评论
0/150
提交评论