<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Can on Rancho&#39;s Notes</title>
    <link>https://fan-pengfei.top/tags/can/</link>
    <description>Recent content in Can on Rancho&#39;s Notes</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sun, 08 May 2022 02:52:45 +0000</lastBuildDate>
    <atom:link href="https://fan-pengfei.top/tags/can/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CAN通讯解析</title>
      <link>https://fan-pengfei.top/posts/can%E9%80%9A%E8%AE%AF%E8%A7%A3%E6%9E%90/</link>
      <pubDate>Sun, 08 May 2022 02:52:45 +0000</pubDate>
      <guid>https://fan-pengfei.top/posts/can%E9%80%9A%E8%AE%AF%E8%A7%A3%E6%9E%90/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;CAN通讯解析；&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;控制器局域网&lt;/strong&gt; (&lt;strong&gt;Controller Area Network&lt;/strong&gt;，简称&lt;strong&gt;CAN&lt;/strong&gt;或者&lt;strong&gt;CAN bus&lt;/strong&gt;) 是一种功能丰富的车用总线标准。被设计用于在不需要主机（Host）的情况下，允许网络上的单片机和仪器相互通信。 它基于[消息传递协议，设计之初在车辆上采用复用通信线缆，以降低铜线使用量，后来也被其他行业所使用。&lt;/p&gt;
&lt;p&gt;CAN创建在基于信息导向传输协定的广播机制（Broadcast Communication Mechanism）上。其根据信息的内容，利用信息标志符（Message Identifier，每个标志符在整个网络中独一无二）来定义内容和消息的优先顺序进行传递，而并非指派特定站点地址（Station Address）的方式。&lt;/p&gt;
&lt;p&gt;因此，CAN拥有了良好的弹性调整能力，可以在现有网络中增加节点而不用在软、硬件上做出调整。除此之外，消息的传递不基于特殊种类的节点，增加了升级网络的便利性。&lt;/p&gt;
&lt;h2 id=&#34;架构&#34;&gt;架构：&lt;/h2&gt;
&lt;p&gt;CAN是一个用于连接电子控制单元（ECU）的多主机串行总线标准。电子控制单元有时也被称作节点。CAN网络上需要至少两个节点才可进行通信。节点的复杂程度可以只是简单的输入输出设备，也可以是包含有CAN交互器并搭载了软件的嵌入式组件。节点还可能是一个网关，允许普通计算机通过USB或以太网端口与CAN网络上的设备通信。&lt;/p&gt;
&lt;p&gt;所有节点通过两根平行的总线连接在一起。两条电线组成一条双绞线，并且接有120Ω的特性阻抗。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ISO 11898-2&lt;/strong&gt;，也称为高速度CAN。它在总线的两端均接有120Ω电阻。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;img&#34; loading=&#34;lazy&#34; src=&#34;https://fan-pengfei.top/posts/can%E9%80%9A%E8%AE%AF%E8%A7%A3%E6%9E%90/img-1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;高速CAN网络 ISO 11898-2&lt;/p&gt;
&lt;p&gt;高速CAN总线在传输显性（0）信号时，会将CAN_H端抬向5V高电平，将CAN_L拉向0V低电平。当传输隐性（1)信号时，并不会驱动CAN_H或者CAN_L端。 显性信号CAN_H和CAN_L两端差分标称电压为2V。 终端电阻在没有驱动时，将差分标称电压降回0V。显性信号（0）的共模电压需要在1.5V到3.5V之间。隐性信号（1）的共模电压需要在+/-12V。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;img&#34; loading=&#34;lazy&#34; src=&#34;https://fan-pengfei.top/posts/can%E9%80%9A%E8%AE%AF%E8%A7%A3%E6%9E%90/img-2.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;高速CAN信令 ISO 11898-2&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ISO 11898-3&lt;/strong&gt;，也被称作低速或者容错CAN。它使用线性主线，星形主线或者连接到一个线性主线上的多星结构主线著称。每个节点都有终端电阻作为全局终端电阻的一部分。全局终端电阻不应低于100 Ω。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;img&#34; loading=&#34;lazy&#34; src=&#34;https://fan-pengfei.top/posts/can%E9%80%9A%E8%AE%AF%E8%A7%A3%E6%9E%90/img-3.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;低速容错CAN网络 ISO 11898-3&lt;/p&gt;
&lt;p&gt;低速/容错CAN信号在传输显性信号（0）时，驱动CANH端抬向5V，将CANL端降向0V。在传输隐性信号（1）时并不驱动CAN 总线的任何一端。在电源电压Vcc为5V时，显性信号差分电压需要大于2.3V，隐性信号的差分电压需要小于0.6V。CAN总线两端未被驱动时，终端电阻使CANL端回归到RTH电压（当电源电压Vcc为5V时，RTH电压至少为Vcc-0.3V=4.7V），同时使CANH端回归至RTL电压（RTL电压最大为0.3V）。两根线需要能够承受-27V至40V的电压而不被损坏。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;img&#34; loading=&#34;lazy&#34; src=&#34;https://fan-pengfei.top/posts/can%E9%80%9A%E8%AE%AF%E8%A7%A3%E6%9E%90/img-4.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;低速CAN信令 ISO 11898-3&lt;/p&gt;
&lt;p&gt;在高速和低速CAN中,从隐性信号向显性信号过渡的速度更快，因为此时CAN线缆被主动积极地驱动。显性向隐性的过渡速度主要取决于CAN网络的长度和导线的电容。&lt;/p&gt;
&lt;p&gt;高速CAN通常被用于汽车和工业应用，在这些应用环境中，总线通常从一端横跨至另一端。容错CAN总线则经常被用在需要连接在一起的一组节点。&lt;/p&gt;
&lt;p&gt;ISO规格只要求总线共模电压必须保持在最小和最大范围内，但不定义如何将总线电压保持在这个范围。&lt;/p&gt;
&lt;p&gt;CAN总线必须使用终端电阻。终端电阻可以用来抑制信号反射，同时可以使总线电压回到隐性状态或者闲置状态。&lt;/p&gt;
&lt;p&gt;高速CAN在总线两端使用120Ω电阻。低速CAN在每个节点均使用电阻。也有其他类型的终端，例如ISO 11783中定义了终端偏压电路。&lt;/p&gt;
&lt;p&gt;终端偏压电路使用由4条导线组成的线缆，除了CAN信号线以外还有电源线和地线。这在每段总线两端提供自动偏压和终端功能。ISO11783网络是专为热拔插总线段和电子控制单元设计的。&lt;/p&gt;
&lt;h2 id=&#34;can通信节点&#34;&gt;CAN通信节点：&lt;/h2&gt;
&lt;p&gt;每个节点需要:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;中央处理器、微处理器或主处理器
处理主机决定收到的信息的意思以及想要传输的信息。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;传感器、驱动器和控制设备可以与主处理器连接。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CAN控制器；通常是集成单片机的一部分
接收：CAN控制器将从总线上接收的串位字节存储直到整个消息可用，之后主处理器可以获取这个消息（通常由于CAN控制器触发一个中断）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;发送：主处理器发送传递信息到CAN控制器，之后当总线空闲时将串位信息传递至总线。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;收发器；由ISO11898-2/3介质访问单元（MAU）标准定义
接收：把数据流从CAN总线层转换成CAN控制器可以使用的标准。 CAN控制器通常配有保护电路。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;传输：把来自CAN控制器的数据流转换至CAN总线层。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;每个节点能够发送和接收信息，但不是同时进行的。 一个消息或帧主要包括标识符(ID)，它表示信息的优先级，最多八个数据字节。CRC、ACK和其他帧部分也是消息的一部分。改进了的CAN FD将每个帧拓展至最多64字节。 消息采用不归零(NRZ)格式串联传送到主线并可被所有节点接收。&lt;/p&gt;
&lt;p&gt;被CAN网络连接的设备通常是传感器，驱动器和其他控制设备。 这些设备通过一个中央处理器、一个CAN控制器和一个CAN接收器连接至总线。&lt;/p&gt;
&lt;h2 id=&#34;数据传输&#34;&gt;数据传输：&lt;/h2&gt;
&lt;p&gt;CAN数据传输如果出现争执，将会使用无损位仲裁解决办法。该仲裁法要求CAN网络上的所有节点同步，对每一位的采样都在同一时间。这就是为什么有人称之为CAN同步。然而，同步这个术语在此并不精确，因为数据以异步格式传输而不包含时钟信号。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
