3.3CAN总线基本技术参数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
- 想要发送 - 监听网络 - 必须等待,直到当 前的发送完成。
节点 Y
节点 Y 等待时间
t0
帧间空间
t1
节点 Y 发送
节点 X 正在发送
图3-21 CAN媒体访问
时间t
如果两个或多个节点同时开始发送,则通过使用仲 裁场(11位标识符和RTR位(对于标准格式))的非破 坏性逐位仲裁机制来解决总线访问冲突。其基础是,当 一个隐性位(“1”)和一个显性位(“0”)同时被发送 至 总线时,总线上所出现的结果为一个显性位(“0”)。 在仲裁场发送期间,每一个发送器均监听总线电 平,并将它与自身发送的位相比较。若两值相等,则节 点可继续发送。若一个节点发送一个隐性位(“1”),而
当节点通过总线收发器从总线上收到标识符 ID=11000100111的数据帧/远程帧时,对于帧起 始和标识符部分,RXD上的电压VR的波形和典型 电平即为图3–18(a),而Vdiff的波形和典型电平仍 为图3–18(b)。 实际上,CAN技术规范中已提到,总线显 性电平由逻辑“0” (Vdiff=2V)表示,隐性电平由 逻辑“1”(Vdiff=0V)表示,这与图3–18(b)所示 的 电平“0”、“1”是一致的,只不过要注意,其中 “0”
标识符场 DLC场 LLC数据场
标识符场 DLC场
图3–19 LLC数据帧
图3–20 LLC远程帧
2、MAC子层 MAC子层描述OSI数据链路层的下部,它作为LLC子层和 物理层的接口。 CAN技术规范中指出,MAC子层是CAN协议的核心。MAC 子层提供的主要功能是传送协议,即发送/接收数据的封装(成 帧)/拆装,帧编码及位填充(若需要)/去除填充位(若有), 媒体访问管理(执行仲裁),错误检测和标注,应答,(发 送)串行化/(接收)解除串行化。 ISO11898中介绍,MAC子层为LLC子层提供的服务为:应 答数据传送,即为LLC子层发送/接收数据帧;应答远程数据传 送,即为LLC子层发送/接收远程帧;超载帧传送,即为LLC子 层发送/接收超载帧。 CAN技术规范中给出的4种帧(数据帧、远程帧、错误帧和 超载帧)的组成均指的是MAC帧。
+5V
TXD
RL VCAN–H
RXD
总 线 收 发 器 VCAN–L VRL
图3–17 总线收发器与总线的连接
(4.5-5)V 0 1 1 0 0 0 1 0 0 1 1 1
(a) TXD上的电压VT (以V-为参考电位)的波形及典型电平
2V
0
1 1 0 0 0 1 0 0 1 1 1
(b)总线差分电压Vdiff的波形及典型电平 图3–18 帧起始和标识符(=11000100111)部分的VT 和 Vdiff的波形及典型电平
3.3 CAN总线基本技术参数
3.3.1 总线典型电平 总线上的位电平表示如图3–15所示。 图中,VCAN–H、VCAN–L分别表示总线的两线上的电压 (以某一电位为公共参考电位,一般选总线收发器的电源地); Vdiff 为总线差分电平,Vdiff = VCAN–H-VCAN–L。 在总线为隐性电平/隐性状态时,VCAN–H和 VCAN–L均在 平均电平附近,Vdiff近似为零; 在总线为显性电平/显性状态时,Vdiff大于某一阈值。CAN 技术规范中没有给出隐性电平和显性电平的数值,而ISO11898 对此有所规定,其典型值如图3–16所示(图中V-为VCAN–H、 VCAN–L的公共参考电位)。由图中可见,在隐性状态下,各典 型值为:VCAN–H=VCAN–L=2.5V,Vdiff =0V;在显性状态 下,各典型值为:VCAN–H=3.5V,VCAN–L=1.5V, Vdiff =2V。
3.3.2 LLC子层和MAC子层
1、LLC子层
LLC子层描述OSI数据链路层的上部。 CAN技术规范中指出,LLC子层的主要功能是接收过滤、超 载通知和恢复管理。接收过滤是指LLC子层通过对报文整个标识符 或部分标识符的屏蔽/筛选来决定是否接收报文;超载通知是指在 发生超载条件时,LLC子层发送超载帧以示通告,从而延迟下一个 数据帧或远程帧;恢复管理是指在发送期间,对于丢失仲裁的或 已损的报文,LLC子层具有自动重发的功能。 ISO11898中介绍,LLC子层(为用户)提供两类非连接方式 的传送服务:非应答数据发送服务和非应答远程数据请求服务。 根据这两种服务,存在两种类型的来自/传给用户的帧:LLC数据 帧和LLC远程帧。对于这两种类型的帧,LLC子层均向用户通告帧 是否成功发送或接收。 另一方面,LLC子层接受MAC子层提供的服务。LLC子层传 给/接收来自MAC子层的帧为:数据帧、远程帧和超载帧。
总线电平V
VCAN–H
V diff
VCAN–L
平均电平
隐性位
显性位
隐性位 时间
t
图3–15 总线上的位电平表示
Biblioteka Baidu
VCAN–H VCAN–H/VCAN–L 3.5V Vdiff =2V VCAN–L 隐性位 V图3–16 总线CAN–H和CAN–L电压的典型数值 显性位 1.5V 隐性位 Vdiff =0V
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。
3.3.3 MAC 机制 CAN网络上一个节点发送的帧/报文可被网络 上所有其它节点监听并应答。 当总线处于空闲(开放)时,任何节点均可 开始发送报文。若一个节点正在发送,其它节点只 有在此发送完成以后,才可尝试发送,如图3-21所 示。 图中,节点Y在t0时刻想要发送,但通过监听 网络得知此时节点X正在发送(总线上有节点X的 帧),因此节点Y必须等待,直到节点X发送完 毕,并经帧间空间之后,在t1时刻才能发送。节点 Y等待的时间为(t1- t0)。