CAN总线系统设计中的几个问题

合集下载

can总线解决方案

can总线解决方案

can总线解决方案
《Can总线解决方案》
Can总线是一种广泛应用于汽车、工业控制和其他领域的串行
通信协议,它具有高可靠性、低成本和实时性强的特点。

随着现代汽车和工业控制系统对通信效率和可靠性要求的提高,Can总线技术也不断得到改进和完善。

为了解决Can总线在实际应用中可能遇到的问题,人们提出了各种解决方案。

首先,Can总线解决方案的关键之一是网络拓扑结构的设计。

不同的应用场景需要不同的网络拓扑结构,如星型、环型、总线型等。

合理的网络拓扑结构可以提高系统的稳定性和可靠性,降低通信延迟。

其次,Can总线解决方案还包括通信协议的优化。

Can总线通
信协议本身具有一定的帧格式和传输速率,但在实际应用中可能需要额外的协议或协议栈来满足特定要求。

例如,对于高速高精度的工业控制系统,可能需要使用Canopen或DeviceNet
等协议来实现更复杂的通信功能。

此外,Can总线解决方案还涉及硬件和软件方面的优化。

在硬
件设计上,可以采用抗干扰性能更好的芯片和模块,增强系统的抗干扰能力;在软件开发上,可以采用更高效的通信协议栈和驱动程序,提高数据传输的速度和稳定性。

总之,Can总线解决方案是一个综合性的工程问题,需要考虑
硬件、软件、通信协议等多个方面的因素。

只有在这些方面都
得到合理的设计和优化,才能实现Can总线系统的高效、稳定和可靠运行。

汽车CAN总线技术及故障分析

汽车CAN总线技术及故障分析

汽车CAN总线技术及故障分析随着汽车电子技术的不断发展,CAN总线技术已经成为了现代汽车电子系统的核心之一。

CAN总线技术的出现,不仅使汽车电子系统的通讯更加快速和可靠,同时也提升了汽车电子系统的整体稳定性和可靠性。

本文将对汽车CAN总线技术进行介绍,同时也会对CAN总线技术常见的故障进行分析和解决方法进行探讨。

一、汽车CAN总线技术简介1.1 CAN总线技术的概念CAN(Controller Area Network)总线技术是一种串行数据通信协议,是由德国Bosch公司在上世纪80年代提出的一种用于现代汽车电子系统中的通讯技术。

1.2 CAN总线技术的特点CAN总线技术采用串行通信方式,能够通过两根通信线实现多个控制单元之间的通讯,从而降低了汽车电子系统的布线复杂度和成本。

CAN总线技术具有高速通讯、抗干扰能力强、可靠性高等特点,极大地提升了汽车电子系统的整体性能。

1.3 CAN总线技术的应用CAN总线技术在现代汽车电子系统中得到了广泛的应用,它可以用于发动机控制单元、变速器控制单元、车身控制单元、空调控制单元等各种控制单元之间的通讯,使得这些控制单元能够相互之间进行数据交换和共享,从而协调各个系统的运行状态,提升汽车整体性能。

1.4 CAN总线技术的发展趋势随着汽车电子技术的不断发展,CAN总线技术也在不断完善和升级,新一代的CAN总线技术如CAN-FD技术能够实现更高的通讯速率和更大的数据传输容量,满足了汽车电子系统对数据通讯的更高要求。

二、汽车CAN总线技术的常见故障及解决方法2.1 CAN总线通讯故障CAN总线通讯故障是汽车CAN总线技术中比较常见的故障之一,通常表现为汽车的仪表显示异常、发动机无法启动、变速器无法换挡等故障现象。

这些故障可能是由于CAN总线通讯线路断开、控制单元损坏、通讯速率不匹配等原因造成的。

解决方法:- 检查CAN总线通讯线路是否正常连接,包括主电器连接和地线连接是否良好;- 对CAN总线通讯速率进行调校,确保各个控制单元的通讯速率相匹配;- 对CAN总线控制单元进行检测,确认是否存在故障单元,并进行更换或维修。

CAN总线接口电路设计注意事项

CAN总线接口电路设计注意事项

CAN总线接口电路设计注意事项CAN(Controller Area Network)总线是一种广泛应用于汽车电子、工业自动化等领域的串行通信协议。

CAN总线接口电路设计的关键因素包括信号线路、电源与地线路、保护电路等部分。

以下是设计CAN总线接口电路时需注意的几个方面:1.信号线路设计信号线路的设计应考虑信号的稳定性、抗干扰能力和传输速率。

首先,应尽量降低信号线的长度以减小信号传输的延迟。

同时,为保证信号的稳定性和抗干扰能力,应使用屏蔽线缆,并正确接地以防止地回流问题。

另外,为提高传输速率,可采用信号差分传输方式,即CAN-H和CAN-L两个线进行差分传输。

2.电源与地线路设计电源与地线路的设计应考虑到CAN总线工作的稳定性和可靠性。

首先,电源线路应提供稳定的电压,以满足CAN总线的要求。

此外,地线路应设计合理,确保地的连续性和低阻抗。

同时,为降低地回流对信号传输的干扰,应采用低阻抗地连接方式,即在CAN控制器和每个节点上都连接一段短接电阻。

此外,为提高抗干扰能力,还可使用电源和地线的滤波电路。

3.保护电路设计保护电路是为了保护CAN控制器和节点不受外部干扰和短路等异常情况的影响。

首先,需要设置电压保护电路,以防止过压和过载等情况对硬件造成损坏。

同时,还应考虑到静电放电和电磁干扰等问题,采用保护电阻、TVS二极管等元件进行保护。

另外,还应设计电流限制电路,以防止短路时过大的电流对硬件造成烧毁。

4.稳压和滤波电路设计稳压和滤波电路的设计是为了提供干净的电源和地线,保证CAN总线的正常工作。

稳压电路可采用稳压芯片或稳压二极管等元件来实现,以保持电源的稳定性。

滤波电路可采用电感、电容等元件,滤除电源和地线上的高频噪声干扰,提高CAN总线的抗干扰能力。

5.PCB布局和阻抗匹配在PCB设计中,应合理布局CAN总线接口电路的各个元件和信号线路,以降低互相干扰的可能性。

可以根据信号的传输速率和长度选择合适的线路宽度,确保信号的传输速率和阻抗匹配。

CAN总线常见故障的快速检修方法与CAN总线故障的常见故障与万用表检修方法

CAN总线常见故障的快速检修方法与CAN总线故障的常见故障与万用表检修方法

C目前汽车各大系统基本都由模块统一控制,相同类别的模块组建成一个局域网络,例如发动机、变速器、ASB,气囊就使用CAN总线连接构成了一个驱动CAN。

各局域网之间的通信速率不一样,协议不一样,相互不能直接通信,需要一个网关来协调各个局域网之间的通信(下图)。

▲局域网之间的物理关系网络出现故障,总结起来就是模块本身故障、总线虚接、总线开路、总线之间相互短路、总线对地短路、总线对正极短路。

出现故障的表现就是单一模块不通信、总线瘫痪。

下面针对较常见的故障来讲解维修方法。

Ol单一模块不通信故障检修单一模块不通信是指在一个局域网上所有的模块基本都能通信,且可以读出故障码,但都会报与某一个模块失去通信的故障码。

例如,在驱动CAN总线上面有发动机电脑、自动变速器电脑、ABS电脑,ABS故障灯点亮,使用解码器扫描全车模块,发现发动机电脑、自动变速器电脑有故障码,ABS电脑无法通信。

根据总线通信的原理可以分析出以下信息:驱动CAN总线没有对正极或负极短路,否则驱动CAN总线便瘫痪了。

如果ABS电脑内部有终端电阻,则不考虑ABS电脑的CAN总线开路。

否则驱动CAN总线便瘫痪。

如果ABS电脑内部没有终端电阻,则可能是CAN总线瘫痪了。

ABS电脑的电源可能会出现故障,因为ASB电脑的电源有故障,那么ABS电脑就无法正常开机工作,所以电脑无法通信。

ABS电脑本身故障,如果电源是完好的,总线也是完好的,则ABS电脑本身故障。

下面看一下准确的检修捕捉步骤:根据电路图检查电脑的电源部分,如果有故障修复即可。

根据电路图找到电脑的总线,然后拔掉插头测量CAN-H和CAN-L的电压,看是否在合理范围内。

一般只会得到以下两个结果:正常的;一根线没有电压,另一根线正常,或者两根线都没有电压,没有电压的即开路。

如果确定了电脑的电源是完好的,CAN总线电压也是合理的,此时便可以更换电脑了。

02总线瘫痪检修总线瘫痪就是总线上所有的模块都不能通信了,且是持久不能通信,不是偶发的。

CAN总线接口电路设计注意事项

CAN总线接口电路设计注意事项

CAN总线接口电路设计注意事项CAN 总线是一种有效支持分布式控制和实时控制的串行通信网络,以其高性能和高可靠性在自动控制领域得到了广泛的应用。

为提高系统的驱动能力,增大通信距离,实际应用中多采用Philips公司的82C250作为CAN控制器与物理总线间的接口,即CAN收发器,以增强对总线的差动发送能力和对CAN控制器的差动接收能力。

为进一步增强抗干扰能力,往往在CAN 控制器与收发器之间设置光电隔离电路。

典型的CAN总线接口电路原理如图1所示。

图1 典型的CAN总线接口电路原理图1 接口电路设计中的关键问题1.1 光电隔离电路光电隔离电路虽然能增强系统的抗干扰能力,但也会增加CAN总线有效回路信号的传输延迟时间,导致通信速率或距离减少。

82C250等型号的CAN收发器本身具备瞬间抗干扰、降低射频干扰(RFI)以及实现热防护的能力,其具有的电流限制电路还提供了对总线的进一步保护功能。

因此,如果现场传输距离近、电磁干扰小,可以不采用光电隔离,以使系统达到最大的通信速率或距离,并且可以简化接口电路。

如果现场环境需要光电隔离,应选用高速光电隔离器件,以减少CAN总线有效回路信号的传输延迟时间,如高速光电耦合器6N137,传输延迟时间短,典型值仅为48 ns,已接近TTL电路传输延迟时间的水平。

1.2 电源隔离光电隔离器件两侧所用电源Vdd与Vcc必须完全隔离,否则,光电隔离将失去应有的作用。

电源的隔离可通过小功率DC/DC电源隔离模块实现,如外形尺寸为DIP-14标准脚位的5 V 双路隔离输出的小功率DC/DC模块。

1.3 上拉电阻图1中的CAN收发器82C250的发送数据输入端TXD与光电耦合器6N137的输出端OUT相连,注意TXD必须同时接上拉电阻R3。

一方面,R3保证6N137中的光敏三极管导通时输出低电平,截止时输出高电平;另一方面,这也是CAN 总线的要求。

具体而言,82C250的TXD端的状态决定着高、低电平CAN 电压输入/输出端CANH、CANL的状态(见表1)。

CAN总线系统的设计与实现

CAN总线系统的设计与实现

CAN总线系统的设计与实现CAN(Controller Area Network)总线是一种用于多节点通信的串行通信协议,最初由德国BOSCH公司于1986年开发用于汽车电子系统中。

随着技术的不断发展,CAN总线逐渐应用于各种工业和嵌入式系统中。

在设计CAN总线系统时,首先需要选择合适的CAN控制器。

CAN控制器是实现CAN通信的核心,其功能包括CAN消息的发送和接收、硬件过滤和错误检测等。

常见的CAN控制器芯片有TI的MCP2515、Microchip的MCP2510等。

选择合适的CAN控制器要考虑通信速率、节点数量、工作温度和可靠性等因素。

传输媒介是CAN总线系统中节点之间传输数据的介质。

常用的传输媒介有双绞线、光纤和无线。

双绞线是最常用的传输媒介,其优点是成本低、抗干扰能力较强;光纤适用于传输距离较长和电磁噪声较多的环境;无线传输适用于节点位置变动频繁的场景。

选择传输媒介时要综合考虑通信距离、成本和抗干扰能力等因素。

节点设备是CAN总线系统中实际参与通信的设备。

节点设备的功能包括CAN消息的生成和解析、CAN总线的物理层连接和节点地址的配置等。

节点设备可以是传感器、执行器、控制器等,可以是硬件设备也可以是软件模拟。

在软件方面,CAN总线系统中的核心是CAN协议栈。

CAN协议栈包括物理层、数据链路层和应用层。

物理层负责将CAN消息转化为电信号传输;数据链路层负责CAN消息的错误检测和纠正;应用层负责解析CAN消息的内容并进行相应的处理。

常见的CAN协议栈有CANopen、J1939和DeviceNet等。

在设计CAN总线系统时需要考虑以下几个方面:1.系统拓扑结构:包括总线结构和节点分布。

总线结构可以是总线型、星型或树型;节点分布要考虑节点之间的通信距离和可靠性要求。

2. 通信速率:通信速率是指CAN总线上消息的传输速率,取决于CAN控制器的时钟频率。

通信速率需要根据实际应用需求确定,通常有几百kbps到几十Mbps不等。

浅析CAN总线动力网常见故障及排除方法

浅析CAN总线动力网常见故障及排除方法

浅析公交客车CAN总线动力网常见故障及排除方法李跃华公交保修一厂[摘要]随着公交客车的飞速发展,一些关键技术已达到了国际水平。

这就迫切要求客车使用和我们维修人员更新观念,尤其近几年CAN总线技术被大量运用于公交客车。

其分为动力CAN 总线控制网络(高速总线);多媒体CAN总线控制网络(中速总线);车身CAN总线控制网络(低速总线)三部分。

为了适应CAN总线维修需要,在我们大脑中要形成一种空间网络的概念,形成一个车辆的控制局域网。

在以理论为基础,实践相结合,对动力网的一些常见故障加以剖析、分解。

合理的将网络故障引起的客车问题排除掉。

[关键词]公交客车;CAN总线;动力网络;维修1.转变维修理念,跟上时代发展随着现代公交客车的飞速发展无论从原理、结构上,还是客车的使用与维修上均与传统客车有着很大的区别。

传统的客车电路维修方法已远远不能适应客车CAN总线的发展,因此迫切要求客车使用和我们维修人员更新观念,主动来适应客车CAN总线维修的需要。

显然,常见故障检修与排除方法分析是一种快速掌握客车CAN总线维修技术的很好途径。

我根据这两年的实践和理论基础对一些CAN总线常见故障及排除方法加以分析,为自己今后分析CAN总线问题、解决问题的思路和方法奠定了良好的基础。

客车CAN总线故障虽然不像传统客车电路故障一目了然,但仍有规律可循,只要依据其基本工作原理,按照一定的检测程序去查找故障所在,问题便迎刃而解。

为了使自身快速掌握CAN总线维修技术,达到举一反三、触类旁通的目的,提高分析故障、排除故障的能力。

自己对现在的CAN总线动力CAN总线控制网络(高速总线)常见故障及排除方法进行了主观和片面的一个总结。

2.明确概念,掌握网络基本原理2.1动力网络层定义车辆CAN总线分为:动力CAN总线控制网络(高速总线);多媒体CAN总线控制网络(中速总线);车身CAN总线控制网络(低速总线)三部分。

我所说的CAN总线系统是目前北京公交客车普遍采用的动力CAN总线控制网络(高速总线)和哈尔滨威帝开发的三级车身CAN总线控制网络(低速总线)系统,加以剖析。

CAN总线通讯的电磁兼容问题 系统干扰源和解决措施

CAN总线通讯的电磁兼容问题 系统干扰源和解决措施

CAN 总线通讯的电磁兼容问题系统干扰源和解决措施CAN(Control Area Network)总线最初是一种为汽车车载设备(传感器、执行器)控制而设计的串行数字通信总线,由德国BOSCH 公司和美国INTEL 公司在20 世纪80 年代末期开发成功,并于1993 年成为国际标准ISO11898。

其目的是用多点、串行数字通讯技术取代常规的直接导线信号连接,可以节省大量车载设备的电缆布线。

由于CAN 总线芯片可靠性高、协议精练、价格低、货源广泛,因而在工业测控领域也获得广泛应用。

但是,工业现场环境恶劣,电磁干扰较为严重,如何保证CAN 总线通讯的可靠性尤为重要。

1 CANsmc 系统概述北京航空航天大学和北京和利时电机技术有限公司联合定义了一种基于CAN 总线的数字伺服通讯协议——CANsmc(CAN for synchronous motion control)。

CANsmc 采用主从式的双通道网络,由一个主站和最多61 个从站组成,如图1 所示。

系统的通讯由主站管理和协调,通道0 为指令通道,主站通过它向各个从站发送控制指令数据。

通道1 为状态通道,各个从站通过它向主站发送运行状态数据。

CANsmc 实验系统的组成,包括主站控制卡、从站控制卡和两种设备控制卡。

主站控制卡基于ISA 总线,插入PC 机控制单元。

从站控制卡是嵌入式的CAN 总线通讯卡,设备控制卡包括位置控制卡和I/O 控制卡,可以控制伺服驱动器和I/O 设备。

2 电磁兼容分析在电子产品的设计中,电磁兼容EMC(Electro Magnetic Compatibility)性能对系统的影响非常大,关系到其能否正常稳定运行。

国际上已经开始对电子。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CAN总线系统设计中的几个问题北京航空航天大学管理学院(100083) 邬宽明摘 要:论述了CAN总线系统设计中系统时钟和位时间的选定、CAN中断服务程序编制以及较长报文拼接等问题。

关键词:CAN总线设计 系统时钟 位时间 中断服务 报文拼接 CAN总线是德国Bo sch公司在80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信总线,它是一种多主总线系统,通信介质可以是双绞线、同轴电缆或光导纤维。

通信速率可达1M bp s。

CAN总线通信控制器中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括零位的插入 删除、数据块编码、循环冗余检验、优先级判别等项工作。

CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。

采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位(按CAN技术规范210A)或29位(按CAN 技术规范210B)二进制数组成,因此可以定义211或229个不同的数据块。

这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。

数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。

同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。

CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。

CAN的这些卓越特性,极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界重视,并已被公认为最有前途的现场总线之一。

1993年11月ISO正式颁布了道路交通运载工具—数字信息交换—高速通信控制器局部网(CAN)国际标准(ISO11898)。

为控制器局部网标准化、规范化推广铺平了道路。

可以预料,控制器局部网在我国迅速发展和普及是指日可待的。

本文分别论述CAN总线系统设计中经常遇到的系统时钟和位时间如何选定、CAN中断服务程序如何安排以及较长报文如何拼接等几个问题。

1 系统时钟和位时间的选定在CAN控制器中提供两个总线定时寄存器,其中总线定时寄存器0(BR T0)可决定波特率予分频(BR P)和同步跳转宽度(SJW)的数值,其低六位(D5~D0)用来确定系统时钟,而其高二位(D7,D6)用来确定同步跳转宽度(SJW)。

总线定时寄存器1(BR T1)可决定位周期宽度、采样点位置和在每个采样点进行采样的次数,其D3~D0用于T SEG1,而D6~D4用于T SEG2并按下式计算:t TSEG1=t SCL(8T SEG1.3+4T SEG1.2+2T SEG1.1 +T SEG1.0+1)t TSEG2=t SCL(4T SEG2.2+2T SEG2.1+T SEG2.0+1)图1 每位时间和采样点位置T SEG1和T SEG2可确定每位的时钟周期数目和采样点位置,如图1所示若P8XC592复位请求位被置为高,这两个寄存器均可被访问(读 写)。

系统时钟t SCL可使用下列等式计算:t SCL=2t CL K(32BR P.5+16BR P.4+8BR P.3+4BR P.2 +2BR P.1+BR P.0+1)其中:t CL K为P8XC592振荡器的时钟周期实例:设晶体振荡器频率为16M H Z,BTR0=00H, BTR1=14H,计算系统时钟和位时间由给定BTR0和BR T1值可知:BR P.5,BR P.4,BR P.3,BR P.2,BR P.1和BR P10均为0,另外,除T SEG112和T SEG210为1外,其余系数均为01因此有,t SCL=2t CL K(32×0+16×0+8×0+4×0+2×0 +0+1)=2t CL Kt TSEG1=t SCL(8×0+4×0+2×0+1)=5t SCLt TSEG2=t SCL(4×0+2×0+1×0+1)=2t SCLt b=(1+5+2)t SCL=2×8×t CL K=1M bp s此时同步跳转宽度(SJW)为t SJW=t SCL(2SJW.1+SJW.01+1)=t SCL即1 8(Λs)实例2:设晶体振荡器频率为16M H z,BTR0= 7FH,BTR1=7FH,计算系统时钟和位时间由给定BR T0和BR T1值可知:BR P15,BR P14,BR P13,BR P12,BR P11,和BR P10,均为1,另外,T SEG11X和T SEG21X亦均为81四通电脑应用美国德州工控机6257723062577231 《电子技术应用》1998年第9期11因此有,t SCL =2t CL K (32×1+16×1+8×1+4×1+2×1×1+1)=128t CL Kt TSEG1=t SCL (8×1+4×1+2×1+1×1+1)=16t SCL t TSEG2=t SCL (4×1+2×1+1×1+1)=8t SCL t b =(1+16+8)t SCL =25×128×t CL K =5kbp s此时同步跳转宽度(SJW )为t SJ W =t SCL (2SJW .1+SJW .01+1)=(2×0+1×1+1)t SCL=2×128t CL K 即16(Λs )实例1和实例2所得位速率1M p s 和5kp s 为CAN 总线位速率的最高和最低极限值CAN 总线的位速率与总线长度的关系如图2所示。

图2 CAN 总线们速率与总线长度的关系2 最大允许位时间的确定在实时应用场合,要求系统具有在限定的时间范围内处理和传送信息的能力。

最大位时间受限于最大传输延迟时间,最大传输延迟时间是指从传送初始化至接收到信令,例如从编程发送CAN 命令寄存器位0(发送请求)至高电平直到接收CAN 2器件由于验收报文而中断时刻之间的时间间隔。

最大允许位时间(t b m ax )可计算如下:t b m ax ≤t 最大传输时间(n 位报文+n 位最大延迟)其中:t 最大传输时间为最大允许传输延迟时间n 位报文为报文的位个数,它除要计及传输数据字节n 数据字节的个数(0…8)外,还要考虑填充位情况,因此有,11+8n 数据字节≤n 位报文≤52+10n 数据字节其中 44是考虑了自S 0F 开始至E 0F 结束的帧结构内的各位数52与10是考虑了填充位情况52与10是考虑了填充位情况n 位最大延迟为以位个数表示的最大延迟时间,其取决于CAN 网络的实际状态(例如:另一个报文已在网络上)1为计算机n 位最大延迟,我们假设:(1)在发送前,其它CAN 控制器占用最大为1位时间(2)在报文开始发送前,曾发生过一个错误,因而导致附加传送一帧出错帧(3)所发送报文具有最高优先级则可给出n 位最大延迟≥44+8n 数据字节,最坏情况+18;n 位最大延迟≤52+10n 数据字节,最坏情况+18;其中,n 数据字节,最坏情况是指在给定CAN 网络中,使用的最长报文所包括的数据字节数目。

附加18位是由于在所发送报文之前的错误帧和间歇场的位数。

因此,可计算最大允许位时间(t b m ax )如下:假设 t 最大传输时间=10(m s )n 数据字节,最坏情况=6;t 数据字节=4则 n 位报文≤52+10×4=92n 位最大延迟≤52+10×6+18=130;因此 t b m ax ≤10(m s )(92+130)=45(Λs )3 CAN 中断服务程序编制为实现当外部事件和实时驱动的在片外围设备需要CPU 异步地执行专门的程序代码段进行时对于正常程序执行的异步激活功能,P 8XC 592提供了包括CAN 控制器中断在内的15个中断源,二个优先级的中断系统。

在使用16M H Z 晶体时,中断响应滞后时间为2125~715Λs 。

但在CAN 2DM A 传送期间,中断系统被禁止。

中断服务程序入口分别位于程序存储器中的各个中断向量地址,中断向量指明相应中断服务子程序开始的程序存储器位置。

同时,通过IEN 0或IEN 1寄存器中的相应位,每个源均可被分别开放或禁止。

使用IP 0和IP 1寄存器中相应位,每个中断均可被编程为高优先级和低优先级。

所有开放的源也可全局地被禁止或开放。

CAN 控制器的收发功能均需借助其中断服务执行。

本节通过一个CAN 中断服务程序软件实例(包括高速DM A 传送)说明CAN 中断服务程序的编制方法。

OR G 002BH ;CAN 中断服务程序入口 L JM P CAN I N TCANI N T : PU SH PS W ;保护现场PU SH A CC M OV A ,CAN CON ANL A ,#1FH M OV CAN I N T I M A GE ,A;取中断标志I N T T ES 0:JBC CAN I N T RX ,RX SERV91《电子技术应用》1998年第9期 四通工控 A 2B 软起动器经销商 62626144 62626145;接收中断I N T T ES1:JBC CAN I N T TX,TX SERV;发送中断I N T T ES2:JBC CAN I N T KR,KR SERV;出错中断I N T T ES3:JBC CAN I N T OV,OV SERV;超载中断I N T T ES4:JBC CAN I N T W K,W K SERV;唤醒中断L JM P I N T OU TRX SERV:CL R A;RA R Y O FST为当前相对于访问此阵列的程序计数器数值,RA R Y STR为接收报文的目的地址阵列,若报文已通过接收滤波,但CPU并不需要它,此时,阵列全部数据被置为0,以作为判断依据。

ADD A,#RA R Y STR2RA R Y O FST M OV C A,@A+PCRA R Y O FST:JZ RX R EAD YM OV CAN STA,A ;数据存储器地址M OV CANADR,#96II;启动RX DM ANO PNO PRX R EAD Y:M OV CAN CON,#04H;释放接收缓存器M OV A,CON I N T I M A GEJN Z I N T T ES1L JM P I N T OU T ;退出中断TX SERV:……KR SERV:……OV SERV:……W K SERV:……I N T OU T:PO P A CCPO P PS WR ET I RA R Y STR: DB …… ;接收报文缓存区DB ……END4 报文拼接CAN协议规定,每次收发最多只能传送八个字节,这可以满足大多数工业领域中控制命令、工控状态和测试数据的一般要求,但实际应用中,往往出现传送多于八个字节的要求,此时应通过报文的拆卸和拼接技术予以实现。

相关文档
最新文档