工业控制网络03 CAN总线_第1页
工业控制网络03 CAN总线_第2页
工业控制网络03 CAN总线_第3页
工业控制网络03 CAN总线_第4页
工业控制网络03 CAN总线_第5页
已阅读5页,还剩194页未读 继续免费阅读

下载本文档

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

文档简介

络(现场总线)主讲教师:1第3章

CAN总线u3.1

概述u3.2CAN技术规范u3.3CAN总线基本技术阐释与分析u3.4独立CAN控制器SJA1000u3.5CAN控制器接口——PCA82C25023.1

概述uCAN

(Controller

Area

Network,控制器局

域网)是20世纪80年代(1983)德国Bosch

(博

世)公司为解决众多的测量控制部件之间的数

据交换问题而开发的一种串行数据通信总线。uCAN已成为国际标准ISO11898和ISO11519。33.1

概述CAN的发展历程:43.1

概述uCAN在汽车电子系统中得到了广泛应用,已成为世界汽车

制造业的主体行业标准,代表着汽车电子控制网络的主流发

展趋势。u

世界上一些著名的汽车制造厂商都已采用CAN总线来实

现汽车内部控制系统与各检测及执行机构间的数据通信。如

BENZ

(奔驰)、

BMW(宝马)、

PORSCHE

(保时捷)、

ROLIS-ROYCE

(劳斯莱斯)、

JAGUAR

(美洲豹)和

MAZDA(马自达)等都。53.1

概述uCAN与其他现场总线相比,具有突出的可靠

性、实时性和灵活性,其技术特点如下:

(1)CAN从本质上讲是一种多主或对等网络,

网络上任一节点均可主动发送报文。

(2)废除了传统的站地址编码,而代之以对通

信数据进行编码;通过报文过滤,可实现点

对点、多点播送(传送)、广播等几种数据

传送方式。63.1

概述

(3)采用短帧结构,传输时间短,受干扰概率低。

(4)具有多种检错措施及相应的处理功能,检错

效果极好,处理功能很强,保证了通信的高可靠

性。位错误和位填充错误检测、

CRC校验、报文格式检查和应答错误检测及相应的错误处理

(5)通信介质(媒体)可为双绞线、同轴电缆或

光纤,选择灵活。73.1

概述

(6)总线长度可达10km

(速率为5kbps及其以下);网络速度可达1Mbps

(总线长度为

40m及其以下)。

(7)网络上的节点数主要取决于总线驱动电

路,目前可达110个;标准格式的报文标识符

可达2032个,而扩展格式的报文标识符的个

数几乎不受限制。83.1

概述

(8)通过报文标识符来定义节点报文的优先级。对

于实时性要求不同的节点报文,可定义不同级别的

优先级,从而保证高优先级的节点报文得到优先发

送。

(9)采用非破坏性逐位仲裁机制来解决总线访问冲

突。通过采用这种机制,即使在网络负载很重时,

也不会出现网络瘫痪现象。

(10)发生严重错误的节点具有自动关闭输出的功

能,以使总线上其他节点的通信能够继续进行。93.1

概述uCAN最初虽然是为汽车的监测、控制

系统而设计的,但由于它在性能、可靠

性等方面的突出优势,现已广泛应用于

航天、电力、石化、冶金、纺织、造

纸、仓储等行业。如在自动化仪表、智

能传感器、数控机床、医疗器械、机器

人、楼宇自动化装置、火车、轮船等元

件、设备、设施中,

CAN总线都得到了

良好的应用。103.2CAN技术规范u3.2.1CAN技术规范2.0Au3.2.1CAN技术规范2.0B113.2CAN技术规范u3.2.1CAN技术规范2.0A

3.2.1.1

CAN节点的分层结构

3.2.1.2

CAN的一些基本概念

3.2.1.3

报文传送及其帧类型

3.2.1.4

错误类型和界定

3.2.1.5

位定时要求

3.2.1.6

CAN振荡器容差的提高123.2.1.1CAN节点的分层结构133.2.1.1CAN节点的分层结构uLLC子层的主要功能是:为数据传送和远程数据请求

提供服务,确认由MAC子层接收的报文实际已被接收

和为恢复管理和通知超载提供信息。LLC子层的主要

功能是报文过滤、超载通知和恢复管理。uMAC子层的功能主要是:传送协议,亦即控制成

帧,执行仲裁,错误检测,错误标注和故障界定。

MAC子层是CAN协议的核心。它把接收到的报文呈现

给LLC,并接收来自LLC的报文以便发送。MAC子层

由称为故障界定的一个管理实体监控。它具有识别永

久性故障或短暂扰动的自检机制。143.2.1.1CAN节点的分层结构u物理层的范围是有关全部电气特性的不同节

点间的位的实际传送。在一个网络内,物理层

所有节点必须是相同的。然而,在选择物理层

时存在很大的灵活性。u物理层定义信号怎样进行发送,因而涉及位

定时、位编码和同步的描述。在这部分技术规

范中未定义物理层的驱动器/接收器特性,以便

允许根据它们的应用,对发送媒体和信号电平

进行优化。153.2.1.2CAN的一些基本概念u报文(Messages)总线上的信息以固定格式的不同而有限长度的报文发送。当总线开放时,任何连接的

单元均可开始发送一个新报文。163.2.1.2CAN的一些基本概念u信息路由(InformationRouting)在CAN系统中,一个CAN节点不使用有关系统配置的任何

信息(例如站地址)。CAN废除了站地址编码方式,而代之以对通信数据进行编码。173.2.1.2CAN的一些基本概念u系统灵活性(System

Flexibility)节点可添加到CAN网络上,而不要求任何

节点的软件或硬件以及应用层有任何改变。183.2.1.2CAN的一些基本概念u报文路由(Message

Routing)一个报文的内容由一个标识符ID命名。

ID并不指明报文的目的,但描述数据的含义,以便网络中的所有节点有可能借助报文过滤决定

该数据是否由它们接收。193.2.1.2CAN的一些基本概念u多点传送(Multicast)作为报文过滤概念的结果,任何数目的节

点均可接收同一个报文,并且同时按该报文的要求作出响应。203.2.1.2CAN的一些基本概念u数据一致性(Data

Consistency)在CAN网络内,可以确保一个报文同时被所有节点或者没有节点接收。系统的数据一致

性是借助于多点传送概念和错误处理达到的。213.2.1.2CAN的一些基本概念u位速率(Bit

Rate)CAN的数据传输速度在不同系统中是不同的。然而,在一个给定系统中,

位速率是唯一

的,并且是固定的。223.2.1.2CAN的一些基本概念u优先权(Priorities)在总线访问期间,标识符ID为报文定义了一个静态的优先权。233.2.1.2CAN的一些基本概念u远程数据请求(Remote

Data

Request)通过发送一个远程帧,一个需要数据的节点可以请求另一个节点发送一个相应的数据帧,该数据帧和相应的远程帧以相同的标识符

ID命名。243.2.1.2CAN的一些基本概念u多主站(Multi-master)当总线开放时,任何单元均可开始发送一个报文。具有要发送的最高优先权报文的单元

赢得总线访问权。253.2.1.2CAN的一些基本概念u仲裁(Arbitration)总线开放时,任何单元均可发送报文,若有2个或更多的单元同时开始发送报文,总线访问冲突借助标识符ID进行逐位仲裁来解

决。这种仲裁机制可以使信息和时间均无损失。若具有相同标识符ID的一个数据帧和一个远程帧同时启动,数据帧优先于远程帧。仲

裁期间,每一个发送器都将发送的位电平与在总线上监视到的电平进

行比较。若相同,则该单元可以继续发送。当发送一个“隐性”电平

(Recessive

Level),而监视到一个“显性”电平(Dominant

Level)

时,该单元丢失仲裁,并且必须退出而不再发送后续位。263.2.1.2CAN的一些基本概念u安全性(Safety)为获得尽可能高的数据传送安全性,在每个CAN节点中,均设有错误检测、错误标定和自检的强有力措施。为检测错误,采取的措施包括:监视(发送器对发送的位电平与总线上监视

到的位电平进行比较)、循环冗余检验、位填充和报文格式检

查。273.2.1.2CAN的一些基本概念u安全性(Safety)错误检测机制具有下列特性:所有全局性错误均可被检测;发送器的所有局部错误均可被检测;一个报文中的多达5个随机分布错误均可被检测;

一个报文中长度小于15的突发性错误均可被检测;一个报文中的任何奇数个错误均可被检测。对于未检出的已损报文的剩余错误概率小于报文出错率4.7×10-

11。283.2.1.2CAN的一些基本概念u错误标注和恢复时间(Error

Signaling

and

RecoveryTime)已损报文由检出错误的任何节点进行标注。这样的报文将被丢弃,并自动进行重新发送。自检出错误至下一个报文开始发送的时间为恢复时

间。如果不存在新的错误,恢复时间最多为29个位时

间。293.2.1.2CAN的一些基本概念u故障界定(Fault

Confinement)CAN

节点有能力识别短暂扰动和永久性故障。故障节点将被关闭。303.2.1.2CAN的一些基本概念u连接(Connections)CAN串行通信链路是一条总线,众多单元均可连接到该总线上。理论上,单元数目是无限的;实际上,单元总数受限于延迟时间和/或总线上的电气负载。313.2.1.2CAN的一些基本概念u单通道(SingleChannel)总线由传送数据位的单通道组成。在本技术规范中,实现这种通道的方法不是固定的,例如可以是单线(加接地线)、两条差分线、光纤等。u总线数值(BusValues)总线具有两种互补逻辑数值:显性电平、隐性电平。323.2.1.2CAN的一些基本概念u应答(Acknowledgment)所有接收器均对接收报文的一致性进行检查,回答一个一致报文,并标志一个不一致报

文。333.2.1.2CAN的一些基本概念u睡眠方式/唤醒(SleepMode/Wake-up)为降低系统功耗,

CAN器件可被置于无任何内部活动的睡眠方式。借助于任何总线活动或者系统的内部条件均可唤

醒CAN器件。为唤醒系统内仍处于睡眠状态的其它节点,可使用具有最小可能性的专用标识符(rrr

rrrd

rrrr,

其中,r为隐性位,d为显性位)的特殊唤醒报文。343.2.1.3报文传送及其帧类型u接收器/发送器

发出一个报文的单元称为该报文的发送

器。

若一个单元不是某个报文的发送器,并且

总线不处于空闲状态,则称该单元为该报

文的接收器。353.2.1.3报文传送及其帧类型u报文的有效性

对于发送器而言,如果直到“帧结束”终结一直

未出错,则报文有效。

对于接收器而言,如果直到最后(除“帧结束”

的那一位)一直未出错,则报文有效。363.2.1.3报文传送及其帧类型u位流编码

构成一帧的帧起始、仲裁场、控制场、数据场和CRC序列均借助位

填充规则进行编码。无论何时,当发送器在将被发送的位流中检测

到数值相同的5个连续位时,会自动地在实际的发送位流中插入一个

补码位。数据帧或远程帧的其余位场(CRC界定符,应答场和帧结

束)具有固定格式,不进行填充。错误帧和超载帧同样具有固定格

式,并且不用位填充规则编码。

报文中的位流按照非归零码规则编码,在一个完整的位时间内,产

生的位电平要么是“显性”,要么是“隐性”。373.2.1.3报文传送及其帧类型u帧类型

数据帧携带数据由发送器至接收器;

远程帧通过总线单元发送,以请求发送具有相同标识符的数据帧;

错误帧由检测到总线错误的任何单元发送;

超载帧用于提供当前的和后续的数据帧或远

程帧之间的附加延迟。383.2.1.3报文传送及其帧类型u数据帧由7个不同的位场(BitFrame)组成:

帧起始(Start

of

Frame)

仲裁场(ArbitrationField)

控制场(Control

Field)

数据场(DataField)

CRC场(CRCField)

应答场(ACK

Field)

帧结束(End

of

Field)393.2.1.3报文传送及其帧类型数据帧(DataFrame)403.2.1.3报文传送及其帧类型数据帧(DataFrame)

帧起始

(SOF—Start

Of

Frame)标志数据帧和远程帧的起始,它仅由一个“显

性”位构成。413.2.1.3报文传送及其帧类型数据帧(DataFrame)

仲裁场由标识符和远程发送请求(RTR)位组成。帧间空间

帧起始

仲裁场

控制场标识符

RTR

位423.2.1.3报文传送及其帧类型数据帧(DataFrame)

标识符(Identifier)的长度为11位。这些位以ID-

10至ID-0的顺序发送,最低位为ID-0,其中最高

7位(ID-10~ID-4)必须不是全“隐性”。 RTR位(Remote

Transmission

Request

Bit)在

数据帧中,必须是“显性”的,而在远程帧中,

RTR位必须是“隐性”的。433.2.1.3报文传送及其帧类型数据帧(DataFrame)

控制场由6位组成,包括两个用于将来扩展的保留位

和4位数据长度码。仲裁场

控制场

数据场或r1r0DLC3

DLC2

DLC1

DLC0CRC

场数据长度码保留位443.2.1.3报文传送及其帧类型表数据长度码中数据字节数目编码453.2.1.3报文传送及其帧类型数据帧(DataFrame)

数据场由数据帧中被发送的数据组成,它可包括0至8个字节,每个字节包括8位,其中首先发

送最高有效位。463.2.1.3报文传送及其帧类型数据帧(DataFrame)

CRC场包括CRC序列、CRC界定符。数据场或

ACK

场控制场CRC界定符CRC

序列CRC

场473.2.1.3报文传送及其帧类型数据帧(DataFrame)

CRC场参加CRC校验的位场包括帧起始、仲裁场、控制

场、数据场(假若存在)在内的无填充位流。CRC序列后随CRC界定符,它只包括一个“隐性”

位。483.2.1.3报文传送及其帧类型数据帧(DataFrame)

应答场为两位长度,包括应答间隙和应答界定符。CRC

ACK

帧结束ACK

间隙ACK界定符493.2.1.3报文传送及其帧类型数据帧(DataFrame)

应答场•在应答场中发送站送出两个“隐性”位。一个正确地接

收到有效报文的接收器,在应答间隙期间,通过传送一

个“显性”位将此信息报告给发送器(接收器发送“应

答”)。所有接收到匹配CRC序列的站,在应答间隙期

间通过把“显性”位写入发送器的“隐性”位来报告此信

息。•应答界定符是应答场的第二位,并且必须是“隐性”

位。因此,应答间隙被两个“隐性”位(CRC界定符和应

答界定符)包围。503.2.1.3报文传送及其帧类型数据帧(DataFrame)

帧结束每个数据帧和远程帧均是由7个“隐性”位组

成的标志序列界定的。513.2.1.3报文传送及其帧类型u远程帧(RemoteFrame)远程帧由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。帧间空间

远程帧

帧间空间或超载帧帧起始

仲裁场

控制场

CRC

ACK

帧结束

523.2.1.3报文传送及其帧类型u错误帧(ErrorFrame)错误帧由两个不同场组成:来自各站的错误标志(ErrorFlage)

;错

(ErrorDelimiter)。数据帧错误标志错误界定符帧间空间或超载帧错误标志叠加错误帧533.2.1.3报文传送及其帧类型u错误帧(ErrorFrame)

错误标志具有两种形式:激活错误标志(Active

Error

Flag):由6个连续的“显性”位组成;认可错误标志(Passive

Error

Flag):由6个连续的“隐性”位组成,除非它被来自其它节

点的“显性”位改写。543.2.1.3报文传送及其帧类型u错误帧(ErrorFrame)

一个检测到错误状态的“错误激活”站通过发送一个激活错误标志来标注该错误。这一错

误标志形式违背适用于由帧起始至CRC界定

符的所有场的位填充规则,或者破坏了应答

场或帧结束场的固定形式。因而,所有其它

站将检测到错误状态,并且由它们的部件开

始发送错误标志。553.2.1.3报文传送及其帧类型u错误帧(ErrorFrame)

这样,在总线上实际被监视到的“显性”位序列是由

各个单独站发送的不同错误标志叠加而形成的。该

序列的总长度在最小值6位和最大值12位之间变化。

一个检测到错误状态的“错误认可”站通过发送一个

认可错误标志来试图标注该错误。该“错误认可”站

以认可错误标志的开始为起点等待6个相同极性的

连续位。当检测到6个相同位后,认可错误标志即

告完成。563.2.1.3报文传送及其帧类型u错误帧(ErrorFrame)

错误界定符包括8个“隐性”位。错误标志发送后,每个站都送出“隐性”位并监视总线,直

至检测到一个“隐性”位。此后,开始发送剩余

的7个“隐性”位。573.2.1.3报文传送及其帧类型u超载帧(OverloadFrame)

超载帧包括两个位场:超载标志和超载界定符。存在两种导致发送超载标志的超载条件:一个是接收器的内部条件,接收器要

求下一个数据帧或远程帧的延迟;另一个是在间歇场(帧间空

间)检测到“显性”位。帧间空间或超载帧超载界定符帧结束或

超载帧错误界定符或超载界定符超载标志叠加超载标志583.2.1.3报文传送及其帧类型u超载帧(OverloadFrame)

由前一个超载条件引起的超载帧起点,仅允许在期望间歇场(帧间空间)的第一位时间开始,

而由后一个超载条件引起的超载帧在检测到“显

性”位后开始发送第一位。最多可产生2个超载

帧用于延迟下一个数据帧或远程帧。593.2.1.3报文传送及其帧类型u超载帧(OverloadFrame)

超载标志(Overload

Flage)由6个“显性”位组成。全部形式对应于激活错误标志形式。超载

标志形式破坏了间歇场的固定形式。因而,所

有其它站都将检测到一个超载条件,并且由它

们的部件开始发送超载标志。603.2.1.3报文传送及其帧类型u超载帧(OverloadFrame)

超载界定符(Overload

Delimiter)由8个“隐性”位组成。超载界定符与错误界定符具有相同的

形式。发送超载标志后,站监视总线直至检测

到由“显性”到“隐性”位的发送。在此时刻,总

线上的每个站均完成送出其超载标志,并且所

有站一致地开始发送剩余的7个“隐性”位。613.2.1.3报文传送及其帧类型u帧间空间(InterframeSpace)

数据帧和远程帧与其前面的帧(数据帧、远

程帧、错误帧或超载帧)均以称为帧间空间的

位场分隔开。

在超载帧和错误帧前面没有帧间空间,并且

多个超载帧也不被帧间空间分隔。623.2.1.3报文传送及其帧类型u帧间空间(InterframeSpace)

帧间空间包括间歇场和总线空闲场,对于已经发送先前报文的“错误认可”站还有暂停发送场(Suspend

Transmission)。633.2.1.3报文传送及其帧类型u帧间空间(InterframeSpace)

间歇场(IntermissionField)由3个“隐性”位组成。

间歇场期间,不允许任何站启动发送数据帧或远程

帧。唯一的作用是标注超载条件。643.2.1.3报文传送及其帧类型u帧间空间(InterframeSpace)

总线空闲场(Bus

Idle

Field)持续时间可为任意

长度。此时,总线是开放的,因而任何需要发

送的站均可访问总线。

在其它报文发送期间,待发送的报文,在间

歇场后的第一位开始发送。检测到总线上的一

个“显性”位将被理解为帧起始。653.2.1.3报文传送及其帧类型u帧间空间(InterframeSpace)

暂停发送场(Suspend

Transmission

Field):“错误认可”站发完一个报文后,在开始下一

次报文发送或认可总线空闲之前,它紧随间歇

场后送出8个“隐性”位。如果在此期间其它站开始一次发送,该站将变为报文接收器。663.2.1.3报文传送及其帧类型u帧间空间(InterframeSpace)673.2.1.4错误类型和界定u错误类型:

位错误

填充错误

CRC错误

形式错误

应答错误683.2.1.4错误类型和界定

位错误(Bit

Error)向总线送出一位的某个单元同时也在监视总线。当监视到的总线位数值与送出的位数

值不同时,则在该位时刻检出一个位错误。

例外:

仲裁场的填充位流期间、应答期间、认可错误标志。693.2.1.4错误类型和界定

填充错误(Stuff

Error)在应使用位填充方法进行编码的报文中,出现了第6个连续相同的位电平时,将检出一个填充错误。703.2.1.4错误类型和界定

CRC错误(CRC

Error)CRC序列是由发送器完成的CRC计算结果组成的。接收器以与发送器相同的方法计算CRC。如果计算结果与接收到的CRC序列不

相同,则检出一个CRC错误。713.2.1.4错误类型和界定

形式错误(Form

Error)当固定形式的位场中出现一个或更多非法位时,则检出一个形式错误。723.2.1.4错误类型和界定

应答错误(Acknowledgement

Error)在应答间隙期间,发送器未检测到“显性”位,则由它

检出一

。733.2.1.4错误类型和界定位错误、填充错误、形式错误或应答错误由检测出的站在下一位开始时发送错误标志。CRC错误由检测出的站在应答界定符后面那一位开始发送,除非用于其它错误状态的错误

标志已经开始发送。743.2.1.4错误类型和界定在CAN总线中,就故障界定而言,

一个单元(节点)可能处于三种状态: “错误激活”(“ErrorActive”) “错误认可”(“ErrorPassive”) “总线脱离”(“Busoff”)75763.2.1.4错误类型和界定总线单元中的两种计数: 发送错误计数 接收错误计数773.2.1.4错误类型和界定计数规则

: 接收器检出错误时,接收错误计数加1。

接收器在送出错误标志后的第一位检出一个

“显性”位时,接收错误计数加8。783.2.1.4错误类型和界定计数规则

发送器送出一个错误标志时,发送错误计数加8。有两种例外情况,发送错误计数不改变。一个是如果发送器为“错误认可”,因未检测到“显性”应答而检测到一个应答错误,并且在送出其认可错误标志时,未检

测到“显性”位。另一个是如果由于仲裁期间(其填充位处于RTR位前)发生的填充错误,发送器送出一个错误标志,本应是“隐性”的,

而且确实发送的是“隐性”的,但监视到的为“显性”的。793.2.1.4错误类型和界定计数规则

如果发送器送出一个激活错误标志或超载标志

时,发送器检测到位错误,则发送错误计数加8。

如果接收器送出一个激活错误标志或超载标志

时,接收器检测到位错误,则接收错误计数加

8。803.2.1.4错误类型和界定计数规则

在送出激活错误标志、认可错误标志或超载标

志后,任何节点都容许多至7个连续的“

显性”

位。在检测到第14个连续的“

显性”位后,或紧

随认可错误标志检测到第8个连续的“

显性”位

后,以及附加的8个连续的“显性”位的每个序列

后,每个发送器的发送错误计数都加8,并且每个接收器的接收错误计数也都加8。813.2.1.4错误类型和界定计数规则

报文成功发送后,则发送错误计数减1,除

非它已经为0。

报文成功接收后,则接收错误计数减1,如

果它处于1和127之间。若接收错误计数为0,则仍保留0,而若它大于127,它将其置为119和127之间的某个数值。823.2.1.4错误类型和界定计数规则

发送错误计数等于或大于128

或接收错误计

数等于或大于128

时,节点为“错误认可”。导

致节点变为“错误认可”

的错误状态使节点送

出一个激活错误标志。

发送错误计数大于或等于256

时,节点为“

线脱离”。833.2.1.4错误类型和界定计数规则

发送错误计数和接收错误计数两者均小于或

等于127

时,“

错误认可”节点再次变为“

错误

激活”节点。

在检测到总线上11个连续的“

隐性”位发生128

次后,“

总线脱离”节点将变为其两个错误计

数器均置为0的“

错误激活”节点(不再是“

线脱离”)。843.2.1.4错误类型和界定当错误计数值大于96时,说明总线被严重干扰。它提供测试此状态的一种手段。若系统启动期间,仅有一个节点在线,此节点发送报文后,将得不到应答,检出错

误并重复该报文。它可以变为“错误认可”

但不会因此“

总线脱离”。853.2.1.5位定时要求一些重要概念: 正常位速率(Nominal

Bit

Rate)——在非重同

步情况下,借助理想发送器每秒发送的位

数。

正常位时间(Nominal

Bit

Time)——正常位

速率的倒数。863.2.1.5位定时要求正常位时间可划分为几个互不重叠的时间段。这些时间段包括:同步段(SYNC-SEG

)、传播

时间段(PROP-SEG)、相位缓冲器段

1(PHASE-SEG1)

和相位缓冲器段

2(PHASE-SEG2)。873.2.1.5位定时要求

同步段(SYNC-SEG)

——用于使总线

上的各个节点同步。期望有一个跳变沿位

于此段内。

传播段(PROP-SEG)

——用于补偿网

络内的物理延时。它是信号在总线上传播

时间的两倍与输入比较器延时和输出驱动

器延时之和。883.2.1.5位定时要求

相位缓冲段1

(PHASE-SEG1)和相位缓冲

段2(PHASE-SEG2)——用于补偿沿的相位

误差,使总线上的各个节点同步。通过重同

步,这2个时间段可被延长或缩短。

采样点(Sample

Point)——是这样一个时

刻,在此时刻上,总线电平被读,并被理解

为其自身位的数值。它位于相位缓冲段1的

终点。893.2.1.5位定时要求

信息处理时间——是由采样点开始、为

计算后续位电平而保留的时间段。

时间份额(Time

Quantum)——是由振荡

器周期派生出的一个固定时间单元。时间

份额的总数必须被编程为至少由8至25。903.2.1.5位定时要求

正常位时间中各时间段长度:

SYNC-SEG为1个时间份额;PROP-SEG长度可编程为1

,2

……

,

8个时间份

额;

PHASE-SEG1长度可编程为1

,2

,……

,

8个时间份

额;PHASE-SEG2

长度为PHASE-SEG1和信息处理时间

的最大值;信息处理时间长度小于或等于2个时间份额。913.2.1.5位定时要求

硬同步(Hard

Synchronization)——硬同步后,内部

位时间从SYNC-SEG重新开始。硬同步强迫引起硬

同步的沿处于重新开始的位时间同步段之内。

重同步(Resynchronization)——当引起重同步的沿

的相位误差

数值小于或等于

重同步跳转宽度

编程值

时,重同步的作用与硬同步的作用相同。当相位误

差数值大于重同步跳转宽度,且相位误差为正时,

则PHASE-SEG1延长数值等于重同步跳转宽度。当

相位误差数值大于重同步跳转宽度,且相位误差为

负时,则PHASE-SEG2缩短数值等于重同步跳转宽

度。923.2.1.5位定时要求 重同步跳转宽度(Resynchronization

Jump

Width)—

—作为重同步的结果,PHASE-SEG1

可被延长或

PHASE-SEG2可被缩短。这两个相位缓冲段的延长

或缩短的数值有一个由重同步跳转宽度给定的上

限。重同步跳转宽度应编程为

1

和min(4,PHASE-

SEG1)之间。

时钟信息可由一位数值到另一位数值的跳变取

得。具有相同数值的连续位的最大个数是唯一而固

定的,这一特性提供了在帧期间总线单元重同步于

位流的可能性。可被用于重同步的两个跳变之间的

最大长度是29个位时间。933.2.1.5位定时要求沿相位误差(Phase

Error

of

an

Edge)—

—沿相位误差由沿相对于SYNC-SEG的位

置给定,以时间份额量度。相位误差的符

号定义如下:

若沿处于SYNC-SEG之内,则e=0

若沿处于采样点之前,则e>0

若沿处于前一位采样点之后,e<0943.2.1.5位定时要求同步规则

(SynchronizationRules):

①在一个位时间内仅允许一种同步。

②只要在先前采样点上检测到的数值与一个沿过后立即

得到的总线数值不同,则该沿将被用于同步。

③在总线空闲期间,无论何时当存在一个“

隐性”至“显性”

的跳变沿,则执行一次硬同步。

④所有履行规则①和②的其它“

隐性”

至“

显性”

的跳变沿

(和在低位速率的情况下,选择的“显性”至“

隐性”

的跳变

沿)都将被用于重同步。953.2.1.6CAN振荡器容差的提高为使振荡器容差最大值由当前的0.5%提高到

1.5%,并与当前CAN指标向前兼容,CAN2.0进

行了下列修正:1.若一个CAN节点在间歇场的第3位采样到一个

显性位,则它将此位理解为帧起始位;2.若一个CAN节点有一个等待发送的报文,且

它在间歇场的第3位采样到一个显性位则它将此

位理解为帧起始位,并在下一位以其标识符的第

一位开始发送报文,而不是首先发送帧起始位,也不变成为接收器;963.2.1.6CAN振荡器容差的提高3.若一个CAN节点在错误界定符或超载界

定符的第8位(最后一位)采样到一个显性

位,它将在下一位开始发送一个超载帧

(不是错误帧),错误计数器不增加;4.仅隐性至显性的跳变沿用于同步,为了

与当前规范相统一,以下规则仍有效;973.2.1.6CAN振荡器容差的提高5.硬同步时,所有CAN控制器均同步于帧

起始位;6.没有CAN控制器发送帧起始位,直至它

计完间歇场的3个隐性位。983.2.2CAN技术规范2.0B3.2.2.1CAN节点的分层结构3.2.2.2

帧格式和帧类型3.2.2.3振荡器容差99监

器数据链路层逻辑链路控制子层接收过滤超载通知恢复管理媒体访问控制子层数据封装/拆装帧编码(填充/解除填充)媒体访问管理错误检测错误标注应答串行化/解除串行化物理层位编码/解码位定时

同步 驱动器/接收器特性3.2.2.1CAN节点的分层结构故

总线故障管理

1003.2.2.2帧格式和帧类型1

.数据帧数据帧由7个不同的位场组成:帧起始、

仲裁场、控制场、数据场、

CRC场、应答

场、帧结束1013.2.2.2帧格式和帧类型

仲裁场

控制场

数据场

仲裁场

控制场

数据场

11

位标识符18位标识符11位标识符扩展格式标准格式102DLCDLCS

O

FS

O

FIDEIDESRRRTRRTRr0r01r仲裁场

(标准格式和扩展格式)

数据场或

IDE/r1r0DLC3DLC2DLC1DLC0CRC

场3.2.2.2帧格式和帧类型

保留位

数据长度码

控制场1033.2.2.2帧格式和帧类型2

.远程帧3

.错误帧4

.超载帧5

.帧间空间1043.2.2.3振荡器容差振荡器容差最大额定值为1.58%,因而根据经验,使用陶瓷谐振器总线速度最高可达125kbps。1053.3CAN总线基本技术阐释与分析3.3.1

总线典型电平3.3.2LLC子层和MAC子层3.3.3MAC机制3.3.4位定时的作用及硬同步与重同步3.3.5数据帧与

CAN中断速率3.3.6标准格式及扩展格式的数据帧、远程帧的区分3.3.7

总线长度与位速率1063.3.1总线典型电平1073.3.1总线典型电平1083.3.1总线典型电平1093.3.1总线典型电平1103.3.2LLC子层和MAC子层LLC子层的主要功能:

接收过滤

是指LLC子层通过对报文整个标识符

或部分标识符的屏蔽/筛选来决定是否接收报文;

超载通知

是指在发生超载条件时,

LLC子层发

送超载帧以示通告,从而延迟下一个数据帧或远

程帧;

恢复管理

是指在发送期间,对于丢失仲裁的或

已损的报文,LLC子层具有自动重发的功能。1113.3.2LLC子层和MAC子层根据ISO11898,存在两种类型的来自/传给用户的帧:LLC数据帧和LLC远程帧。

对于这两种类型的帧,

LLC子层均向用户

通告帧是否成功发送或接收。LLC子层传给/接收来自MAC子层的帧为:数据帧、远程帧和超载帧。1123.3.2LLC子层和MAC子层LLC数据帧和远程帧的结构分别如图3–19和图3–20所示。应该指出,用户传给LLC子层的标准格式的数据帧包括4部分:标识符、RTR位(为

“0”)、DLC和数据场,前3部分的位数分别为11

、1和4,即前3部分共有

16位,刚好为2个字节(占用2个地址单元,若每个地址单元为1个字

节)。许多CAN控制器(如SJA1000

、P8xC591中的CAN控制器)就要求将标识符、

RTR位和DLC写入2个地址单元或从2个地址单元中读出。用户

传给LLC子层的标准格式的远程帧包括3部分:标识符、

RTR位(为

“1”)和DLC。1133.3.2LLC子层和MAC子层MAC子层提供的主要功能是传送协议,即发送/接收数据的封装(成帧)/拆装,帧

编码及位填充(若需要)/去除填充位(若

有),媒体访问管理(执行仲裁),错误

检测和标注,应答,(发送)串行化/

(接

收)解除串行化。1143.3.2LLC子层和MAC子层ISO11898中介绍,MAC子层(为LLC子层)提供的服务为:应答数据传送,即为LLC子层发送/接收数据帧;应答远程数据传送,即为LLC子

层发送/接收远程帧;超载帧传送,即为LLC子层发送/接收超载帧。MAC子层构造MAC数据帧、

MAC远程帧和MAC超载帧并将其发送到

物理层;当然,MAC子层亦从物理层接收MAC数据帧、

MAC远程帧和

MAC

超载帧。

MAC

子层还构造并发送错误帧(当检测到总线错误

时)。CAN技术规范中给出的4种帧(数据帧、远程帧、错误帧和超载帧)的组成均指的是MAC帧。1153.3.3MAC机制CAN网络上一个节点发送的帧/报文可被网络上所有其它节点监听并

应答。当总线处于空闲(开放)时,任何节点均可开始发送报文。若

一个节点正在发送,

其它节点只有在此发送完成以后,才可尝试发

送。1163.3.3MAC机制如果两个或多个节点同时开始发送,则通过使用仲裁场(11

位标识符和RTR位(对于标准格式))的非破坏性逐位仲裁机

制来解决总线访问冲突。在仲裁场发送期间,每一个发送器均监听总线电平,并将它与自身发送的位相比较。若两值相等,则节点可继续发送。若

一个节点发送一个隐性位(“1”),而在总线上监听到一个显

性位(“0”),则此节点即失去仲裁,

并必须停止发送。在当

前发送结束后,失去仲裁的节点可尝试再次发送。由于标识符是由最高位至最低位被发送的,因此发送数值最

小的标识符的节点会赢得仲裁。1173.3.3MAC机制1181191203.3.4位定时的作用及硬同步与重同步位定时的作用:(1)确定位时间,以便确定波特率,从而确定

总线的网络速度;或在给定总线的网络速度的情

况下确定位时间。(2)确定1位的各个组成部分—同步段、传播

段、相位缓冲段1和相位缓冲段2的时间长度,其

中同步段用于硬同步,

位于相位缓冲段1终点的

采样点用于保证正确地读取总线电平。(3)确定重同步跳转宽度以用于重同步。1213.3.4位定时的作用及硬同步与重同步一个节点应既能在位时间的采样点正确地读取

总线电平,也能检测来自总线的沿以进行硬同步

或重同步。在CAN技术规范的时间份额的表达式中,

对于

常用的独立CAN控制器SJA1000和P8xC591中的

CAN控制器,时间份额tq

为系统时钟周期tscl

;预

引比例因子m

为可编程的,其值取决于总线定时

寄存器0(BTR0)的内容;最小时间份额为振荡

器周期tCLK

的2倍,即2tCLK。1223.3.4位定时的作用及硬同步与重同步CAN

总线中,同步包括硬同步和重同步两种形式。同步与位定时密切相关。同步

也是由节点自身完成的。节点将检测到的

来自总线的沿与其自身的位定时相比较,

并通过硬同步或重同步适配(调整)位定

时。1233.3.4位定时的作用及硬同步与重同步硬同步所谓硬同步,就是由节点检测到的来自

总线的沿强迫节点立即确定出其内部位时间的起始

位置(同步段的起始时刻)。硬同步的结果是,沿

的到来时刻的前一时刻(以时间份额tq

量度)即成

为节点内部位时间同步段的起始时刻,并使内部位

时间从同步段重新开始。这就是规范中所说的“硬同步强迫引起硬同步的

沿处于重新开始的位时间同步段之内”。硬同步一

般用于报文开始,即总线上的各个节点的内部位时

间的起始位置(同步段)是由来自总线的一个报文

帧的帧起始的前沿决定的。124t0

:内部位时间同步段的起始时刻

t1

:引起硬同步的沿的到来时刻...t(a

)节点内部时间序列(以时间份额

t

为周期)

q(b)来自总线的引起硬同步的沿3.3.4位定时的作用及硬同步与重同步

引起硬同步的沿

(位于内部位时间同步段内

)

q

1253.3.4位定时的作用及硬同步与重同步重同步所谓重同步,就是节点根据沿相

位误差的大小调整其内部位时间。重同步的

结果是,节点内部位时间与来自总线的报文

位流的位时间接近或相等,从而使节点能够

正确地接收报文。重同步一般用于报文位流

发送期间,以补偿各个节点振荡器频率的不

一致。沿相位误差由来自总线的沿相对于节点内

部位时间同步段的位置给定,以时间份额量

度。126采样点第2位位时间

(b)节点内部位时间0

1

t1

t(c)总线位流位时间SY

PR

PS1

PS2

SY

PR

PS1PS2

▲3.3.4位定时的作用及硬同步与重同步(a)节点内部时间序列(以时间份额

tq

为周期)第1位(

帧起始)—

—:

2

第2位

第1位位时间

采样点1273.3.5数据帧与CAN中断速率标准格式数据帧的最小位数为44,最大位数为108

。一般地,将帧起始、仲裁场和控制

场作为CAN头部(19位),

CRC场、应答场

和帧结束作为CAN尾部(25位)。1283.3.5数据帧与CAN中断速率1293.3.5数据帧与CAN中断速率在设计CAN节点/系统时,设计者应考虑由总线上的数据帧引起的对节

点的中断的速率。由于CAN数据帧较小(0-8字节),当因多个节点欲同时

发送报文而使总线上出现连续的数据帧时,对用软件屏蔽或完全不屏蔽的

接收器的中断发生率就会很高。1303.3.5数据帧与CAN中断速率1313.3.5数据帧与CAN中断速率CAN

中断速率不是低速的。在500kbps

1Mbps下,对于0字节数据帧,中断每94μs

47μs产生一次。基于多数低端微控制器/微处理

器的CAN节点不能跟上此中断速率。因此,应

根据CAN中断速率、节点功能和系统要求来为

节点选择合适的微控制器/微处理器。1323.3.6标准格式及扩展格式的数

据帧、远程帧的区分4种不同类型的帧:1、标准格式数据帧;2、标准格式远程帧;3、扩展格式数据帧;

4、扩展格式远

程帧。对于1

,11位标识符后是2个显性位:仲裁场的

RTR位和控制场的r1位;对于2

,11位标识符后是一

个隐性位和一个显性位:仲裁场的RTR位和控制场

的r1位。据此可将1与2分开。对于3

、4

,11位标识符后为两个隐性位:仲裁场

的IDE位和SRR位。据此可将3

、4与1

、2分开。而

3

、4之间可由扩展ID后的RTR位分开:3中RTR位为显性位,4中RTR位为隐性位。1333.3.7

总线长度与位速率134•

3.4.1特性•3.4.2

一般说明•

3.4.3

方框图•3.4.4

引脚排列•

3.4.5

功能说明•3.4.6

极限值•3.4.7

热特性•3.4.8

直流特性•3.4.9

交流特性3.4独立CAN控制器SJA10001353.4.1特性

与PCA82C200独立CAN控制器引脚兼容;

与PCA82C200独立CAN控制器电气兼容; PCA82C200模式(BasicCAN模式是默认的);

扩展的接收缓冲器(64字节FIFO);

与CAN2.0B协议兼容(在PCA82C200兼容模式

中扩展帧认可);

既支持29位标识符,也支持11位标识符;1363.4.1特性

位速率可达1Mbps;

PeliCAN模式扩展:

24MHz

时钟频率;

与各种微控制器的接口;

可编程的CAN输出驱动器配置;

扩展的环境温度范围(-40—125℃)。1373.4.2一般说明

SJA1000CAN独立控制器是PHILIPS半导体

PCA82C200CAN控制器(BasicCAN)的替

代产品。另外,增加了一种新的工作模式

(PeliCAN

),这种模式支持具有很多新特性

的CAN2.0B协议规范。

两种封装形式:

一种为28引脚的塑质双列式

封装(DIP28);另一种为28引脚的塑质小型

线外封装(SO28)。138ALE/AS

/CS

、(/RD)/E

/WR

、CLKOUTMODE/INTSJA10003-7,22872,1,内部总线121513

14

19202118VDD3VSS3

TX0TX1RX0RX1VSS2VDD291017位定时逻

辑发送缓冲器RXFIFO报文缓冲器处理器接

辑3.4.3方框图错误

管理逻辑过滤器振

荡器复位接

缓冲器139AD7-AD011,16

控制地址/数据XTAL2XTAL1VSS1VDD1RST位

流接

受28-238、3.4.4

引脚排列1403.4.5功能说明3.4.5.1CAN控制器模块的说明3.4.5.2CAN控制器的详细说明3.4.5.3BasicCAN模式3.4.5.4PeliCAN模式3.4.5.5

公共寄存器1413.4.5.1CAN控制器模块的说明1.接口管理逻辑(IML)接口管理逻辑解释来自CPU的命令,控制

CAN

寄存器的寻址,向主控制器提供中断信息和状态信息。1423.4.5.1CAN控制器模块的说明2.发送缓冲器(TXB)发送缓冲器是CPU和位流处理器(BSP)之

间的一个接口,能够存贮向CAN网络上发送

的一个完整报文。缓冲器有13个字节长,由

CPU写入、BSP读出。1433.4.5.1CAN控制器模块的说明3.接收缓冲器(RXB

,RXFIFO)接收缓冲器是接受过滤器和CPU之间的一

个接口,用来存贮从CAN总线上被接收

受的报文。接收缓冲器(RXB)作为总长为

64字节的接收FIFO(RXFIFO)的一个13字节窗

口,可被CPU访问。在此FIFO的帮助下,

当其它报文被接收时,

CPU可以处理一个报文。1443.4.5.1CAN控制器模块的说明4.接受过滤器(ACF)接受过滤器将被接收的标识符与接受过滤

器寄存器的内容相比较,并决定此报文是否

应被接受。在可靠的接受测试情况下,此完

整的报文将被存贮在FIFO中。1453.4.5.1CAN控制器模块的说明5.位流处理器(BSP)位流处理器是

个控制发送缓冲器、

RXFIFO与CAN总线之间数据流的序列发生

器。它还执行错误检测、仲裁、填充和CAN

总线上的错误处理。1463.4.5.1CAN控制器模块的说明6.位定时逻辑(BTL)位定时逻辑监视串行CAN总线和处理与总线有关的位定时。它被同步于一个报文起始

的“隐性至显性”总线跳变时的CAN总线上的

位流(硬同步),以及重同步于一个报文接

收期间的更多的跳变(软同步)。1473.4.5.1CAN控制器模块的说明7.错误管理逻辑(EML)EML

负责媒体忙问控制子层上的错误界

定。它接收来自BSP的错误报告,然后将错误

统计量通知给BSP和IML1483.4.5.2CAN控制器的详细说明1.与PCA82C200兼容性(

1)同步模式:在控制寄存器中的同步位(PCA82C200中的

CR.6)被取消的。同步只有借助于CAN总线上的隐性至显性的跳变

才是可能的。(2)时钟分频寄存器

:时钟分频寄存器用来选择CAN工作模式

(BasicCAN/PeliCAN)。默认状态对Motorola模式是12分频、对Intel模式是2分频。CBP位的置位使内部RX输入比较器被旁路,这样可以

减少内部延时,如果一个外部收发器电路被使用。(3)接收缓冲器:PCA82C200中双接收缓冲器的概念被PeliCAN控

制器中的接收FIFO所代替。多于2个的报文可被接收(多达64字

节),直到一个数据溢出发生。(4)CAN

2.0B:SJA1000被设计为支持全部CAN2.0B协议规范,

这就意味着像扩展帧报文的处理一样,扩展的振荡器容差也是可实

现的。1493.4.5.2CAN控制器的详细说明2.BasicCAN和PeliCAN模式的区别SJA1000的主要新特性:

标准的和扩展的帧格式报文的接收和发送

接收FIFO(64字节)

用于标准帧和扩展帧的具有接收屏蔽寄存器

和接收码寄存器的单/双接受过滤器1503.4.5.2CAN控制器的详细说明2.BasicCAN和PeliCAN模式的区别SJA1000的主要新特性:

带有读/写访问的错误计数器

可编程的错误报警极限

最近错误代码寄存器

对每一种CAN总线错误的错误中断

具有详细位状态的仲裁丢失中断1513.4.5.2CAN控制器的详细说明2.BasicCAN和PeliCAN模式的区别SJA1000的主要新特性: 单次-短发送(当错误或仲裁丢失时不重发)

只听模式(CAN总线监听,无应答,无错误标

志)

支持热插(干扰-自由软件驱动的位速率检

测)

被硬件禁止的CLKOUT1523.4.5.3BasicCAN模式SJA1000对微控制器来说,是以存贮器-映像

I/O设备出现的。两个设备的独立运行是由类似

RAM的在片寄存器的实现来保证的。SJA1000地址区包括控制段和报文缓冲器。控

制段在初始化加载期间是可被编程的,以配置通

信参数(例如,位定时)。

CAN总线上的通信

也由微控制器通过该段来控制。在初始化期间,

CLKOUT信号可以被编程为由微控制器决定的

一个值。1533.4.5.3BasicCAN模式一个应被发送的报文必须被写入发送缓冲器。在成功接受后,微控制器可从接收缓冲器中读取被接收的报文,然后释放接收缓

冲器以作后续使用。微控制器和SJA1000之间状态、控制和命令信号的交换都是在

控制段中完成的。初始加载后,接受码和接受屏蔽寄存器、总线

定时寄存器0和1以及输出控制寄存器的内容不应被改变。因此,只有当控制寄存器中的复位请求位被置为高时,这些寄存器才可

被访问。对于寄存器访问,两种不同的模式必须加以区别:复位模式、运行模式。在硬件复位后或控制器进入总线脱离状态时,

会自动进入复位模式。运行模式通过控制寄存器中的复位请求位

的复位来激活。1543.4.5.3BasicCAN模式CAN控制器需具备/实现的功能及其对应的寄存器:

确定CAN总线通信速率/位时间——总线定时寄存器0、总线定时寄

存器1——初始化 接收过滤——接收码寄存器、接收屏蔽寄存器——初始化 输出驱动器配置——输出控制寄存器——初始化 BsicCAN(默认)、PeliCAN模式的选择——初始化 发送数据、接收数据——发送缓冲器、接收缓冲器——运行

发送/接收数据过程当中的中断使能、状态指示以及命令设置——控

制、状态和命令寄存器——运行

错误计数寄存器、错误报警极限寄存器、模式寄存器、仲裁丢失捕

捉寄存器、误码捕捉寄存器、报文计数器——PeliCAN模式1553.4.5.3BasicCAN模式1563.4.5.3BasicCAN模式1573.4.5.3BasicCAN模式1583.4.5.3BasicCAN模式检测到复位请求后会中止当前的一个报文接收/发送并进入复位模式。一旦复位请求位“1-0”跃变,

CAN控制器就返回运行模式。

1593.4.5.3BasicCAN模式1603.4.5.3BasicCAN模式1613.4.5.3BasicCAN模式总线定时寄存器0、总线定时寄存器1、输出控制寄存器、发

送缓冲器、接收缓冲器的值在复位时不受影响。162位符号名

称值功

能CR.0RR复位请求1出现;检测到复位请求后,中止当前

的一个报文发送/接收并进入复位

模式0空缺;在复位请求位‘1-0’跃变时,

SJA1000返回运行模式3.4.5.3BasicCAN模式控制寄存器(CR):用于改变CAN控制器的行为。这些位可以被相连接的微控制器置位或复位,微控制器将控制寄存器

作为读/写存贮器来使用。163位符号名

称值功

能CR.7---保留;CR.6---保留;CR.5---保留;CR.4OIE溢出中断使能1使能;如果数据溢出位被置位,微控制器接收一个溢

出中断信号(也可见状态寄存器;表3-10)0禁止;微控制器从SJA1000接收非溢出中断信号CR.3EIE错误中断使能1使能;如果错误或总线状态改变,微控制器接收一个

错误中断信号(也可见状态寄存器;表3-10)0禁止;

微控制器从SJA1000接收非错误中断信号CR.2TIE发送中断使能1使能;当一个报文被成功发送或发送缓冲器可再次被

访问时(例如,中止发送命令后)

,SJA1000发送一个

发送中断信号给微控制器0禁止;微控制器从SJA1000接收非发送中断信号CR.1RIE接收中断使能1使能;当一个报文被无错接收时,

SJA1000发出一个

接收中断信

温馨提示

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

评论

0/150

提交评论