# CAN

Source: [https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html](https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html)

控制器局域网 (CAN) 是一种基于消息的串行协议。术语 CAN 和 CAN 总线在相同的上下文中使用。CAN 的优点如下：

- 使用 CSMA/CD 方法和按位争用在位级感知总线并传输消息。
- 每条消息都分配有一个优先级。具有最高优先级的消息始终控制总线仲裁。由于仲裁基于位，因此存在显性和隐性位级别。
- 任何节点均可以随时传输，没有主从节点。
- 所有数据均通过两条（差分对）线传输：CAN\_H 和 CAN\_L 线。
- CAN 节点使用位同步进行同步，其中每个位时间分为四个时间量子段。
- 通过基于消息的协议促进多个节点之间的通信，无需大量接线。
- 通过错误管理（包括检测、发信号和纠正）确保数据安全。

Note:
- QCS6490 和 QCS5430 中默认启用 CAN。
- QCS9075 和 QCS8275 不支持 CAN。

## CAN 功能

Source: [https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html](https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html)

CAN 协议支持以下功能。

- 基于多控制器优先级的总线访问
- 基于无损内容的仲裁
- 通过全帧传输进行广播
- 通过接受过滤进行多播帧传输
- 远程数据请求
- 配置灵活性
- 全网数据一致性
- 错误检测和错误信号发送
- 自动重传丢失仲裁、缺少确认或在传输过程中遇到错误的帧
- 识别临时节点错误和永久节点故障之间的差异，并自动停用故障节点

## CAN 架构

Source: [https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html](https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html)

MCP2517 是一个外部可配置的 CAN 控制器，其可通过 SPI 线进行访问。SPI 接口支持最高 20 MHz 的频率，并支持模式 0、1。控制器通过 4 引脚 SPI 操作连接到带有 SE3 的 QUP 模块。SPI 控制器连接到收发器 (MCP2561xxx)，该收发器连接到 CAN 总线。SPI 控制器和 CAN 收发器的电源输入是通过 SoC 进行的。

Figure : CAN 架构
            
            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- 由 Microsoft Visio, SVG Export 生成 can-architecture.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="12.0093in" height="4.43403in" viewbox="0 0 864.67 319.25" xml:space="preserve" color-interpolation-filters="sRGB" class="st20"><v:documentproperties v:langid="2052">	<v:userdefs>		<v:ud v:nameu="msvNoAutoConnect" v:val="VT0(1):26"></v:ud>	</v:userdefs></v:documentproperties>
<style>.svg-1 .st1 { fill: #ffffff; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749997 }
.svg-1 .st2 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749997 }
.svg-1 .st3 { fill: #000000; font-family: Arial; font-size: 0.666664em }
.svg-1 .st4 { font-family: SimSun; font-size: 1em }
.svg-1 .st5 { fill: none; stroke: #3253dc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st6 { fill: #000000; font-family: SimSun; font-size: 0.833336em }
.svg-1 .st7 { font-family: Arial; font-size: 1em }
.svg-1 .st8 { font-size: 1em }
.svg-1 .st9 { fill: none }
.svg-1 .st10 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st11 { fill: #000000; font-family: Arial; font-size: 0.833336em }
.svg-1 .st12 { fill: none; stroke: #3253dc; stroke-dasharray: 2.99999, 2.99999; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st13 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st14 { fill: #000000; font-family: Calibri; font-size: 0.833336em }
.svg-1 .st15 { marker-end: url("#mrkr5-68"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st16 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.28409010936214 }
.svg-1 .st17 { marker-start: url("#mrkr5-74"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999996 }
.svg-1 .st18 { fill: #000000; font-family: Arial; font-size: 1.00001em; font-weight: bold }
.svg-1 .st19 { fill: #000000; font-family: SimSun; font-size: 0.666664em }
.svg-1 .st20 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend5">		<path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"></path>	</g>	<marker id="mrkr5-68" class="st16" v:arrowtype="5" v:arrowsize="2" v:setback="0" refx="-0" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend5" transform="scale(-3.5200099089872,-3.5200099089872) "></use>	</marker>	<marker id="mrkr5-74" class="st16" v:arrowtype="5" v:arrowsize="2" v:setback="0" refx="0" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend5" transform="scale(3.5200099089872) "></use>	</marker></defs><g v:mid="1" v:index="1" v:groupcontext="backgroundPage">	<v:userdefs>		<v:ud v:nameu="msvVisioCreated" v:prompt="" v:val="VT0(0):26"></v:ud>	</v:userdefs>	<title>VBackground-1</title>	<v:pageproperties width="12.0093" height="4.43403" v:drawingscale="0.0393701" v:pagescale="0.0393701" v:drawingunits="24" v:shadowoffsetx="8.99996" v:shadowoffsety="-8.99996"></v:pageproperties>	<g id="shape1-1" v:mid="1" v:groupcontext="shape" transform="translate(0,-0.000707665)">		<title>Solid</title>		<v:userdefs>			<v:ud v:nameu="Background" v:val="VT0(0):26"></v:ud>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>			<v:ud v:nameu="msvShapeCategories" v:prompt="" v:val="VT4(DoNotContain)"></v:ud>			<v:ud v:nameu="msvVisioCreated" v:prompt="" v:val="VT0(0):26"></v:ud>		</v:userdefs>		<rect x="0" y="0.00141533" width="864.67" height="319.249" class="st1"></rect>	</g></g><g v:mid="0" v:index="2" v:groupcontext="foregroundPage">	<title>Page-1</title>	<v:pageproperties v:drawingscale="0.0393701" v:pagescale="0.0393701" v:drawingunits="24" v:shadowoffsetx="8.99996" v:shadowoffsety="-8.99996"></v:pageproperties>	<v:layer v:name="Flowchart" v:index="0"></v:layer>	<g id="shape1-3" v:mid="1" v:groupcontext="shape" transform="translate(271.096,-43.0202)">		<title>工作表.1</title>		<desc>GPIO_55 interrupt line</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="45.8177" cy="314.749" width="91.64" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="91.6353" height="8.99996" class="st2"></rect>		<text x="16.03" y="317.35" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPIO_55 <tspan class="st4">中断线</tspan></text>		</g>	<g id="shape2-7" v:mid="2" v:groupcontext="shape" transform="translate(266.471,-283.965)">		<title>工作表.2</title>		<desc>VREG_L14B_3P2</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="37.1249" cy="314.749" width="74.25" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="74.2497" height="8.99996" class="st2"></rect>		<text x="4.88" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>VREG_L14B_3P2</text>		</g>	<g id="shape3-10" v:mid="3" v:groupcontext="shape" v:layermember="0" transform="translate(-157.972,218.828) rotate(-90)">		<title>Custom 2</title>		<v:custprops>			<v:cp v:nameu="Cost" v:lbl="Cost" v:prompt="" v:type="7" v:format="@" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0"></v:cp>			<v:cp v:nameu="ProcessNumber" v:lbl="Process Number" v:prompt="" v:type="2" v:format="" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0"></v:cp>			<v:cp v:nameu="Owner" v:lbl="Owner" v:prompt="" v:type="0" v:format="" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0"></v:cp>			<v:cp v:nameu="Function" v:lbl="Function" v:prompt="" v:type="0" v:format="" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0" v:val="VT4()"></v:cp>			<v:cp v:nameu="StartDate" v:lbl="Start Date" v:prompt="" v:type="5" v:format="" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0"></v:cp>			<v:cp v:nameu="EndDate" v:lbl="End Date" v:prompt="" v:type="5" v:format="" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0"></v:cp>			<v:cp v:nameu="Status" v:lbl="Status" v:prompt="" v:type="4" v:format=";Not Started;In Progress;Completed;Deferred;Waiting on Input" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0" v:val="VT4()"></v:cp>		</v:custprops>		<v:userdefs>			<v:ud v:nameu="AntiScale" v:val="VT0(1):26"></v:ud>			<v:ud v:nameu="visVersion" v:prompt="" v:val="VT0(15):26"></v:ud>			<v:ud v:nameu="DefaultWidth" v:prompt="" v:val="VT0(1):0"></v:ud>			<v:ud v:nameu="DefaultHeight" v:prompt="" v:val="VT0(0.75):0"></v:ud>			<v:ud v:nameu="ResizeTxtHeight" v:prompt="" v:val="VT0(0.75):0"></v:ud>		</v:userdefs>		<path d="M18 319.25 L102.8 319.25 L120.8 299 L0 299 L18 319.25 Z" class="st5"></path>	</g>	<g id="shape4-12" v:mid="4" v:groupcontext="shape" transform="translate(38.4968,-124.82)">		<title>工作表.4</title>		<desc>QUP 11 configured for four-pin SPI operation</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="35.9999" cy="283.25" width="72" height="71.9997"></v:textrect>		<rect x="0" y="247.25" width="71.9997" height="71.9997" class="st5"></rect>		<text x="6.55" y="274" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>为四引脚<tspan class="st7"> </tspan><tspan class="st7">SPI </tspan><tspan x="11" dy="1.3em" class="st8">操作配置的</tspan><tspan class="st7"> </tspan><tspan x="18.21" dy="1.225em" class="st7">QUP </tspan><tspan class="st7">11</tspan></text>		</g>	<g id="shape5-21" v:mid="5" v:groupcontext="shape" transform="translate(110.654,-192.25)">		<title>工作表.5</title>		<path d="M0 319.25 L30.38 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L30.38 319.25" class="st10"></path>	</g>	<g id="shape6-24" v:mid="6" v:groupcontext="shape" transform="translate(110.654,-171.315)">		<title>工作表.6</title>		<path d="M0 319.25 L30.23 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L30.23 319.25" class="st10"></path>	</g>	<g id="shape7-27" v:mid="7" v:groupcontext="shape" transform="translate(110.091,-151.75)">		<title>工作表.7</title>		<path d="M0 319.25 L30.69 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L30.69 319.25" class="st10"></path>	</g>	<g id="shape8-30" v:mid="8" v:groupcontext="shape" transform="translate(110.091,-130.375)">		<title>工作表.8</title>		<path d="M0 319.25 L30.84 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L30.84 319.25" class="st10"></path>	</g>	<g id="shape9-33" v:mid="9" v:groupcontext="shape" transform="translate(307.017,-108.422)">		<title>工作表.9</title>		<desc>SPI to CAN controller (MCP2517FDT)</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="51.4489" cy="267.801" width="102.9" height="102.898"></v:textrect>		<rect x="0" y="216.353" width="102.898" height="102.898" class="st5"></rect>		<text x="8.67" y="259.05" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI <tspan class="st4">转</tspan> CAN <tspan class="st4">控制器<v:newlinechar></v:newlinechar><v:newlinechar></v:newlinechar></tspan><tspan x="16.17" dy="2.425em" class="st8">(</tspan>MCP2517FDT)</text>		</g>	<g id="shape10-39" v:mid="10" v:groupcontext="shape" transform="translate(489.059,-108.422)">		<title>工作表.10</title>		<desc>CAN transceiver (MCP2561FDT)</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="51.4489" cy="267.801" width="102.9" height="102.898"></v:textrect>		<rect x="0" y="216.353" width="102.898" height="102.898" class="st5"></rect>		<text x="40.89" y="252.3" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN <v:newlinechar></v:newlinechar><tspan x="36.45" dy="1.275em" class="st4">收发器<v:newlinechar></v:newlinechar><v:newlinechar></v:newlinechar></tspan><tspan x="16.17" dy="2.425em" class="st8">(</tspan>MCP2561FDT)</text>		</g>	<g id="shape11-44" v:mid="11" v:groupcontext="shape" transform="translate(29.3827,-91.0003)">		<title>工作表.11</title>		<path d="M0 319.25 L223.93 319.25 L223.93 157.75 L0 157.75 L0 319.25 Z" class="st12"></path>	</g>	<g id="shape12-46" v:mid="12" v:groupcontext="shape" transform="translate(18.9999,-19.0005)">		<title>工作表.12</title>		<rect x="0" y="38.0013" width="243.137" height="281.249" class="st13"></rect>	</g>	<g id="shape13-48" v:mid="13" v:groupcontext="shape" transform="translate(291.866,-79.7504)">		<title>工作表.13</title>		<path d="M0 319.25 L340.16 319.25 L340.16 146 L0 146 L0 319.25 Z" class="st12"></path>	</g>	<g id="shape14-50" v:mid="14" v:groupcontext="shape" transform="translate(650.025,-78.1166)">		<title>工作表.14</title>		<path d="M0 319.25 L194.59 319.25 L194.59 146 L0 146 L0 319.25 Z" class="st12"></path>	</g>	<g id="shape15-52" v:mid="15" v:groupcontext="shape" transform="translate(341.134,-271)">		<title>工作表.15</title>		<desc>TPS54628DDAR</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="35.9999" cy="307.999" width="72" height="22.4999"></v:textrect>		<rect x="0" y="296.75" width="71.9997" height="22.4999" class="st5"></rect>		<text x="5.76" y="310.4" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>TPS54628DDAR</text>		</g>	<g id="shape16-55" v:mid="16" v:groupcontext="shape" transform="translate(650.519,-32.5006)">		<title>工作表.16</title>		<desc>CAN devices</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="47.2498" cy="307.999" width="94.51" height="22.4999"></v:textrect>		<rect x="0" y="296.75" width="94.4996" height="22.4999" class="st5"></rect>		<text x="27.33" y="311.33" class="st14" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN <tspan class="st4">设备</tspan></text>		</g>	<g id="shape17-59" v:mid="17" v:groupcontext="shape" transform="translate(751.17,-32.5006)">		<title>工作表.17</title>		<desc>CAN devices</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="47.2498" cy="307.999" width="94.51" height="22.4999"></v:textrect>		<rect x="0" y="296.75" width="94.4996" height="22.4999" class="st5"></rect>		<text x="27.33" y="311.33" class="st14" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN <tspan class="st4">设备</tspan></text>		</g>	<g id="shape18-63" v:mid="18" v:groupcontext="shape" transform="translate(307.017,446.25) rotate(180)">		<title>工作表.18</title>		<path d="M0 319.25 L139.58 319.25 L145.74 319.25" class="st15"></path>	</g>	<g id="shape19-69" v:mid="19" v:groupcontext="shape" transform="translate(307.017,467.921) rotate(180)">		<title>工作表.19</title>		<path d="M0 319.25 L5.8 319.25 L6.16 319.25 L145.74 319.25" class="st17"></path>	</g>	<g id="shape20-75" v:mid="20" v:groupcontext="shape" transform="translate(307.017,486.75) rotate(180)">		<title>工作表.20</title>		<path d="M0 319.25 L5.8 319.25 L6.16 319.25 L145.74 319.25" class="st17"></path>	</g>	<g id="shape21-80" v:mid="21" v:groupcontext="shape" transform="translate(307.017,507.563) rotate(180)">		<title>工作表.21</title>		<path d="M0 319.25 L5.8 319.25 L6.16 319.25 L145.74 319.25" class="st17"></path>	</g>	<g id="shape22-85" v:mid="22" v:groupcontext="shape" transform="translate(263.984,-36.7147)">		<title>工作表.22</title>		<path d="M102.9 247.25 L102.9 319.25 L6.16 319.25 L0 319.25" class="st15"></path>	</g>	<g id="shape23-90" v:mid="23" v:groupcontext="shape" transform="translate(263.465,-280)">		<title>工作表.23</title>		<path d="M0 319.25 L71.72 319.25 L77.88 319.25" class="st15"></path>	</g>	<g id="shape24-95" v:mid="24" v:groupcontext="shape" transform="translate(409.914,-191.594)">		<title>工作表.24</title>		<path d="M0 319.25 L72.99 319.25 L79.15 319.25" class="st15"></path>	</g>	<g id="shape25-100" v:mid="25" v:groupcontext="shape" transform="translate(409.914,-159.827)">		<title>工作表.25</title>		<path d="M0 319.25 L5.8 319.25 L6.16 319.25 L79.15 319.25" class="st17"></path>	</g>	<g id="shape26-105" v:mid="26" v:groupcontext="shape" transform="translate(591.957,-184.752)">		<title>工作表.26</title>		<path d="M0 319.25 L194.84 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L194.84 319.25" class="st10"></path>	</g>	<g id="shape27-108" v:mid="27" v:groupcontext="shape" transform="translate(591.957,-140.5)">		<title>工作表.27</title>		<path d="M0 319.25 L239.84 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L239.84 319.25" class="st10"></path>	</g>	<g id="shape28-111" v:mid="28" v:groupcontext="shape" transform="translate(998.043,133.75) rotate(90)">		<title>工作表.28</title>		<path d="M0 319.25 L130.5 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L130.5 319.25" class="st10"></path>	</g>	<g id="shape29-114" v:mid="29" v:groupcontext="shape" transform="translate(1043.05,178.75) rotate(90)">		<title>工作表.29</title>		<path d="M0 319.25 L85.5 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L85.5 319.25" class="st10"></path>	</g>	<g id="shape30-117" v:mid="30" v:groupcontext="shape" transform="translate(1106.05,133.75) rotate(90)">		<title>工作表.30</title>		<path d="M0 319.25 L130.5 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L130.5 319.25" class="st10"></path>	</g>	<g id="shape31-120" v:mid="31" v:groupcontext="shape" transform="translate(1151.05,178.75) rotate(90)">		<title>工作表.31</title>		<path d="M0 319.25 L85.5 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L85.5 319.25" class="st10"></path>	</g>	<g id="shape32-123" v:mid="32" v:groupcontext="shape" transform="translate(412.904,-280)">		<title>工作表.32</title>		<path d="M0 319.25 L134.08 319.25 L0 319.25 Z" class="st9"></path>		<path d="M0 319.25 L134.08 319.25" class="st10"></path>	</g>	<g id="shape33-126" v:mid="33" v:groupcontext="shape" transform="translate(696.155,48.2505) rotate(90)">		<title>工作表.33</title>		<path d="M0 319.25 L54.52 319.25 L60.68 319.25" class="st15"></path>	</g>	<g id="shape34-131" v:mid="34" v:groupcontext="shape" transform="translate(866.233,39.2506) rotate(90)">		<title>工作表.34</title>		<path d="M0 319.25 L62.52 319.25 L68.68 319.25" class="st15"></path>	</g>	<g id="shape35-136" v:mid="35" v:groupcontext="shape" transform="translate(33.3827,-270.5)">		<title>工作表.35</title>		<desc>SOC</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="17.9999" cy="311.329" width="36.01" height="15.8399"></v:textrect>		<rect x="0" y="303.41" width="35.9999" height="15.8399" class="st2"></rect>		<text x="5" y="314.93" class="st18" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SOC</text>		</g>	<g id="shape36-139" v:mid="36" v:groupcontext="shape" transform="translate(118.67,-231.097)">		<title>工作表.36</title>		<desc>QUP</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="17.9999" cy="311.329" width="36.01" height="15.8399"></v:textrect>		<rect x="0" y="303.41" width="35.9999" height="15.8399" class="st2"></rect>		<text x="5" y="314.93" class="st18" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QUP</text>		</g>	<g id="shape37-142" v:mid="37" v:groupcontext="shape" transform="translate(168.257,-194)">		<title>工作表.37</title>		<desc>GPIO_68_SPI_MISO</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="41.906" cy="314.749" width="83.82" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="83.8122" height="8.99996" class="st2"></rect>		<text x="4.11" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPIO_68_SPI_MISO</text>		</g>	<g id="shape38-145" v:mid="38" v:groupcontext="shape" transform="translate(168.257,-174.875)">		<title>工作表.38</title>		<desc>GPIO_69_SPI_MOSI</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="41.906" cy="314.749" width="83.82" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="83.8122" height="8.99996" class="st2"></rect>		<text x="4.11" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPIO_69_SPI_MOSI</text>		</g>	<g id="shape39-148" v:mid="39" v:groupcontext="shape" transform="translate(166.851,-155.371)">		<title>工作表.39</title>		<desc>GPIO_70_SPI_CLK</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="41.906" cy="314.749" width="83.82" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="83.8122" height="8.99996" class="st2"></rect>		<text x="6.55" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPIO_70_SPI_CLK</text>		</g>	<g id="shape40-151" v:mid="40" v:groupcontext="shape" transform="translate(168.257,-133.25)">		<title>工作表.40</title>		<desc>GPIO_71_SPI_CS</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="41.906" cy="314.749" width="83.82" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="83.8122" height="8.99996" class="st2"></rect>		<text x="8.78" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPIO_71_SPI_CS</text>		</g>	<g id="shape41-154" v:mid="41" v:groupcontext="shape" transform="translate(434.211,-282.875)">		<title>工作表.41</title>		<desc>Power: DCDC 5 V</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="41.906" cy="314.749" width="83.82" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="83.8122" height="8.99996" class="st2"></rect>		<text x="11.24" y="317.35" class="st19" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>电源：<tspan class="st7">DCDC </tspan><tspan class="st7">5 </tspan><tspan class="st7">V</tspan></text>		</g>	<g id="shape42-160" v:mid="42" v:groupcontext="shape" transform="translate(411.771,-233.525)">		<title>工作表.42</title>		<desc>SPI to CAN</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="37.8938" cy="311.329" width="75.79" height="15.8399"></v:textrect>		<rect x="0" y="303.41" width="75.7877" height="15.8399" class="st2"></rect>		<text x="5.87" y="315.23" class="st18" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI <tspan class="st4">转</tspan> CAN</text>		</g>	<g id="shape43-164" v:mid="43" v:groupcontext="shape" transform="translate(427.83,-194.443)">		<title>工作表.43</title>		<desc>TX_CAN</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="21.6561" cy="314.749" width="43.32" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="43.3123" height="8.99996" class="st2"></rect>		<text x="5.87" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>TX_CAN</text>		</g>	<g id="shape44-167" v:mid="44" v:groupcontext="shape" transform="translate(427.83,-163.737)">		<title>工作表.44</title>		<desc>RX_CAN</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="21.6561" cy="314.749" width="43.32" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="43.3123" height="8.99996" class="st2"></rect>		<text x="5.43" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>RX_CAN</text>		</g>	<g id="shape45-170" v:mid="45" v:groupcontext="shape" transform="translate(594.998,-187.25)">		<title>工作表.45</title>		<desc>CAN_H</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="18.2641" cy="314.749" width="36.53" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="36.5282" height="8.99996" class="st2"></rect>		<text x="4.71" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN_H</text>		</g>	<g id="shape46-173" v:mid="46" v:groupcontext="shape" transform="translate(596.651,-143.375)">		<title>工作表.46</title>		<desc>CAN_L</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="18.2641" cy="314.749" width="36.53" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="36.5282" height="8.99996" class="st2"></rect>		<text x="5.37" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN_L</text>		</g>	<g id="shape47-176" v:mid="47" v:groupcontext="shape" transform="translate(709.004,-233.525)">		<title>工作表.47</title>		<desc>CAN bus</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="32.3749" cy="311.329" width="64.76" height="15.8399"></v:textrect>		<rect x="0" y="303.41" width="64.7497" height="15.8399" class="st2"></rect>		<text x="5.66" y="315.23" class="st18" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN <tspan class="st4">总线</tspan></text>		</g>	<g id="shape48-180" v:mid="48" v:groupcontext="shape" transform="translate(409.914,-128.059)">		<title>工作表.48</title>		<path d="M0 319.25 L72.99 319.25 L79.15 319.25" class="st15"></path>	</g>	<g id="shape49-185" v:mid="49" v:groupcontext="shape" transform="translate(414.104,-130.503)">		<title>工作表.49</title>		<desc>GPIO_0/XSTBY</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99998,3.99998,3.99998,3.99998)" v:tabspace="42.5195"></v:textblock>		<v:textrect cx="35.9999" cy="314.749" width="72" height="8.99996"></v:textrect>		<rect x="0" y="310.25" width="71.9997" height="8.99996" class="st2"></rect>		<text x="7.32" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPIO_0/XSTBY</text>		</g></g>
</svg>

用户应用程序与 SocketCAN 提供的网络接口进行通信。软件驱动程序是 Linux 中 SPI 核心模块的客户端，QUP\_SPI 驱动程序注册到该客户端。实际硬件通过 SPI 引脚连接。 
Figure : CAN 软件栈
                
                <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export can-sw-stack.svg can-sw-stack -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="5.24524in" height="5.54746in" viewbox="0 0 377.657 399.417" xml:space="preserve" color-interpolation-filters="sRGB" class="st11"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-2 .st1 { fill: #ffffff; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749999 }
.svg-2 .st2 { fill: #ffffff; stroke: #3253dc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-2 .st3 { fill: #000000; font-family: SimSun; font-size: 1.00001em }
.svg-2 .st4 { fill: #000000; font-family: Arial; font-size: 1.00001em }
.svg-2 .st5 { font-family: Arial; font-size: 1em }
.svg-2 .st6 { font-family: SimSun; font-size: 1em }
.svg-2 .st7 { fill: none; stroke: none; stroke-linecap: butt; stroke-width: 1 }
.svg-2 .st8 { fill: none }
.svg-2 .st9 { stroke: #000000; stroke-dasharray: 5.24999, 3.75; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749999 }
.svg-2 .st10 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749999 }
.svg-2 .st11 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>can-sw-stack</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="8.50392" v:shadowoffsety="-8.50392"></v:pageproperties>	<g id="shape22-1" v:mid="22" v:groupcontext="shape" transform="translate(8.32688E-05,-0.000559259)">		<title>Solid</title>		<v:userdefs>			<v:ud v:nameu="Background" v:val="VT0(0):26"></v:ud>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>			<v:ud v:nameu="msvShapeCategories" v:val="VT4(DoNotContain)"></v:ud>			<v:ud v:nameu="msvVisioCreated" v:val="VT0(0):26"></v:ud>		</v:userdefs>		<rect x="0" y="0.001" width="377.657" height="399.416" class="st1"></rect>	</g>	<g id="shape1-3" v:mid="1" v:groupcontext="shape" transform="translate(161.95,-352.07)">		<title>Rectangle</title>		<desc>Application</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="90.6833" cy="385.243" width="181.38" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="181.367" height="28.3464" class="st2"></rect>		<text x="66.68" y="388.89" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>应用程序</text>		</g>	<g id="shape2-6" v:mid="2" v:groupcontext="shape" transform="translate(161.95,-309.55)">		<title>Rectangle.2</title>		<desc>CAN dev</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="90.6833" cy="385.243" width="181.38" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="181.367" height="28.3464" class="st2"></rect>		<text x="66.67" y="388.84" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN dev</text>		</g>	<g id="shape3-9" v:mid="3" v:groupcontext="shape" transform="translate(161.95,-241.52)">		<title>Rectangle.3</title>		<desc>Socket CAN</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196" v:verticalalign="0"></v:textblock>		<v:textrect cx="90.6833" cy="368.945" width="181.38" height="60.9448"></v:textrect>		<rect x="0" y="338.472" width="181.367" height="60.9448" class="st2"></rect>		<text x="58.35" y="353.42" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>套接字<tspan class="st5"> </tspan><tspan class="st5">CAN</tspan></text>		</g>	<g id="shape4-14" v:mid="4" v:groupcontext="shape" transform="translate(173.925,-250.833)">		<title>Rectangle.4</title>		<desc>CAN_net driver</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="79.3614" cy="385.243" width="158.74" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="158.723" height="28.3464" class="st2"></rect>		<text x="29.35" y="388.89" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN_net <tspan class="st6">驱动程序</tspan></text>		</g>	<g id="shape5-18" v:mid="5" v:groupcontext="shape" transform="translate(161.95,-206.087)">		<title>Rectangle.5</title>		<desc>MCP251XFD driver</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="90.6833" cy="385.243" width="181.38" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="181.367" height="28.3464" class="st2"></rect>		<text x="29.67" y="388.89" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>MCP251XFD <tspan class="st6">驱动程序</tspan></text>		</g>	<g id="shape6-22" v:mid="6" v:groupcontext="shape" transform="translate(161.95,-170.653)">		<title>Rectangle.6</title>		<desc>SPI device driver</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="49.5328" cy="385.243" width="99.08" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="99.0659" height="28.3464" class="st2"></rect>		<text x="39.86" y="382.01" class="st4" v:langid="1033"><v:paragraph v:spline="-1.05" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI <tspan x="13.53" dy="1.061em" class="st6">设备驱动程序</tspan></text>		</g>	<g id="shape7-26" v:mid="7" v:groupcontext="shape" transform="translate(268.635,-170.653)">		<title>Rectangle.7</title>		<desc>SPI dev</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="37.3401" cy="385.243" width="74.7" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="74.6805" height="28.3464" class="st2"></rect>		<text x="16.33" y="388.84" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI dev</text>		</g>	<g id="shape8-29" v:mid="8" v:groupcontext="shape" transform="translate(161.95,-134.411)">		<title>Rectangle.8</title>		<desc>SPI_core</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="90.6833" cy="385.243" width="181.38" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="181.367" height="28.3464" class="st2"></rect>		<text x="66" y="388.84" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI_core</text>		</g>	<g id="shape9-32" v:mid="9" v:groupcontext="shape" transform="translate(161.95,-98.1671)">		<title>Rectangle.9</title>		<desc>SPI_core</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="90.6833" cy="385.243" width="181.38" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="181.367" height="28.3464" class="st2"></rect>		<text x="66" y="388.84" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI_core</text>		</g>	<g id="shape10-35" v:mid="10" v:groupcontext="shape" transform="translate(161.95,-61.9242)">		<title>Rectangle.10</title>		<desc>SPI_master driver</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="90.6833" cy="385.243" width="181.38" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="181.367" height="28.3464" class="st2"></rect>		<text x="4" y="388.89" class="st4" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>SPI <tspan class="st6">控制器驱动程序</tspan></text>		</g>	<g id="shape11-39" v:mid="11" v:groupcontext="shape" transform="translate(279.358,-61.9242)">		<title>Rectangle.11</title>		<desc>QUP_SPI</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="31.9788" cy="385.243" width="63.97" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="63.9579" height="28.3464" class="st2"></rect>		<text x="5.97" y="388.84" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QUP_SPI</text>		</g>	<g id="shape12-42" v:mid="12" v:groupcontext="shape" transform="translate(161.95,-18.9995)">		<title>Rectangle.13</title>		<desc>Hardware</desc>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="90.6833" cy="385.243" width="181.38" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="181.367" height="28.3464" class="st2"></rect>		<text x="78.68" y="388.89" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>硬件</text>		</g>	<g id="group13-45" transform="translate(18.7501,-54.4274)" v:mid="13" v:groupcontext="group">		<title>Sheet.13</title>		<g id="shape14-46" v:mid="14" v:groupcontext="shape">			<title>Sheet.14</title>			<path d="M0 399.42 L340.16 399.42 L0 399.42 Z" class="st7"></path>		</g>		<g id="shape15-48" v:mid="15" v:groupcontext="shape">			<title>Sheet.15</title>			<path d="M0 399.42 L340.16 399.42 L0 399.42 Z" class="st8"></path>			<path d="M0 399.42 L340.16 399.42" class="st9"></path>		</g>	</g>	<g id="group16-51" transform="translate(18.7501,-344.978)" v:mid="16" v:groupcontext="group">		<title>Sheet.16</title>		<g id="shape17-52" v:mid="17" v:groupcontext="shape">			<title>Sheet.17</title>			<path d="M0 399.42 L340.16 399.42 L0 399.42 Z" class="st7"></path>		</g>		<g id="shape18-54" v:mid="18" v:groupcontext="shape">			<title>Sheet.18</title>			<path d="M0 399.42 L340.16 399.42 L0 399.42 Z" class="st8"></path>			<path d="M0 399.42 L340.16 399.42" class="st9"></path>		</g>	</g>	<g id="shape19-57" v:mid="19" v:groupcontext="shape" transform="translate(27.6357,-353.487)">		<title>Sheet.19</title>		<desc>User space</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="41.5274" cy="389.495" width="83.07" height="19.8425"></v:textrect>		<rect x="0" y="379.575" width="83.0549" height="19.8425" class="st10"></rect>		<text x="4" y="393.14" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>用户空间</text>		</g>	<g id="shape20-60" v:mid="20" v:groupcontext="shape" transform="translate(26.6715,-199)">		<title>Sheet.20</title>		<desc>Kernel space</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="41.5274" cy="389.495" width="83.07" height="19.8425"></v:textrect>		<rect x="0" y="379.575" width="83.0549" height="19.8425" class="st10"></rect>		<text x="4" y="393.14" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>内核空间</text>		</g>	<g id="shape21-63" v:mid="21" v:groupcontext="shape" transform="translate(27.3147,-27.5033)">		<title>Sheet.21</title>		<desc>Hardware</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:tabspace="42.5196"></v:textblock>		<v:textrect cx="41.5274" cy="389.495" width="83.07" height="19.8425"></v:textrect>		<rect x="0" y="379.575" width="83.0549" height="19.8425" class="st10"></rect>		<text x="4" y="393.14" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>硬件</text>		</g></g>
</svg>

## CAN API

Source: [https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html](https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html)

关于 CAN 公共 API，请参阅 [https://www.kernel.org/doc/Documentation/networking/can.txt](https://www.kernel.org/doc/Documentation/networking/can.txt)。

## CAN 示例和工具

Source: [https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html](https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html)

下表列出了用于显示、记录、生成和重放 CAN 流量的 SocketCAN 用户空间实用工具和工具。 

Table : SocketCAN 实用工具

| 实用工具 | 说明 |
| --- | --- |
| `candump` | 显示、过滤 CAN 数据并将其记录到文件中。 |
| `canplayer` | 重放 CAN 日志文件。 |
| `cansend` | 发送单个帧。 |
| `cangen` | 生成（随机）CAN 流量。 |
| `cansniffer` | 显示 CAN 数据内容差异（仅 11 位 CAN ID）。 |

要下载 CAN 实用工具，请参阅 [https://github.com/linux-can/can-utils](https://github.com/linux-can/can-utils)。

有关 CAN 驱动程序文件的信息，请参阅 kernel/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c。

### CAN 分析仪 - PCAN-USB FD

PCAN-USB FD 是一款多功能 CAN 数据包/消息嗅探器，可以作为任何 CAN 总线上的节点运行，以支持灵活的数据速率。它可用于通过 USB 在主机上嗅探和发送 CAN 数据包。主要特点如下：

- PCAN-View GUI 工具
    - 提供根据用户需求嗅探和发送 CAN 数据包的简单方法。
    - 在开发和测试期间监控和调试 CAN 数据包。
- PCAN-USB FD 接口
    - 实现与 CAN FD 和 CAN 网络的简单连接。
    - 紧凑的塑料外壳适合移动应用。
    - 约 500 V 的电流隔离可将 PC 与 CAN 总线解耦。
- CAN FD 标准
    - 特点是数据传输带宽更高。
    - 允许每个 CAN FD 帧传输最多 64 个数据字节（而非 8 个）。
    - 支持高达 12 Mbit/s 比特率的数据处理速度。
    - 向下兼容 CAN 2.0 标准。
    - CAN FD 节点可以插入现有 CAN 网络，无需 CAN FD 扩展。

**硬件安装**
1. 连接至 DB9 连接器。
    - PCAN 有一个 DB9 连接器，可以插入任何标准 DB9 连接器。
2. 连接到 Qualcomm 设备。
    - 拉出 CAN\_H、CAN\_L 和 GND 线。
    - 将这些线连接到两个 120 Ω 的终端电阻。
3. 连接 CAN\_H、CAN\_L 和大地。
    ![](data:image/png;base64,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)
4. 连接外部终端电阻。
Note: 该设备没有 120 Ω
                            的内部终端电阻。这一点至关重要，因为某些工具提供了对终端电阻的内置支持。

![](data:image/png;base64,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)

下图显示了连接的硬件。
Figure : CAN USB FD、外部电阻和设备连接
                        
                        ![](data:image/png;base64,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)

## 调通 CAN 接口

Source: [https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html](https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html)

CAN 驱动程序构建并加载到内核后，以下命令序列会发送数据来识别 CAN 节点是否已启动。可以使用下表中列出的命令启动或停止 CAN 节点。 
Note: 所有网络设备均使用 `ifconfig -a`。

Table : CAN 命令

| 说明 | 命令 |
| --- | --- |
| 检查 CAN 节点号 | ifconfig -aCopy to clipboard |
| 将比特率设置为 125 kbps | ip link set can0 up type can bitrate 125000Copy to clipboard |
| 启动 CAN | ip link set can0 upCopy to clipboard |
| 停止 CAN | ip link set can0 downCopy to clipboard |
| 检查 CAN 配置 | ip -details link show can0Copy to clipboard |
| CAN 内部环回 | ip link set can0 up type can bitrate 500000 loopback onCopy to clipboard |
| CAN FD 内部环回 | ip link set can0 up type can bitrate 1000000 dbitrate 5000000 fd on loopback onCopy to clipboard |
| 发送 CAN FD 帧 | cansend can0 213##311223344Copy to clipboard |

要启动任何 CAN 节点，必须定义总线的比特率，如果总线速率已经可用，则必须配置总线的比特率。此配置可确保 CAN 节点启动并处于活动状态。关于 CAN 工具的更多详细信息，请参阅 [https://manpages.debian.org/testing/can-utils/index.html](https://manpages.debian.org/testing/can-utils/index.html)。

### 发送和接收数据

`CAN-Utils`文件中提供了一些实用工具。SocketCAN 使 CAN 节点能够发送和接收数据。SocketCAN API 也用于自定义应用程序。
- 发送带有 11 位 ID 的数据

        cansend can0 7AF#11.22.33.44.55.66.aa.ffCopy to clipboard
- 发送带有 29 位 ID 的数据

        cansend can0 111FFFFF#aa.00.cc.aa.33.61.aa.abCopy to clipboard
- 查看 can0 节点当前传入的数据

        candump can0Copy to clipboard

## 配置 CAN 接口

Source: [https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html](https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html)

SocketCAN 是 Linux 上 CAN 协议的实现。SocketCAN 使用 Berkeley 套接字 API、Linux 网络堆栈并将 CAN 设备驱动程序实现为网络接口。CAN 套接字 API 的设计尽可能类似于 TCP/IP 协议，以便熟悉网络编程的用户能够轻松学习如何使用 CAN 套接字。

### 初始化硬件 

驱动程序初始化并配置底层硬件块。初始化发生在调用 `driver's _probe()` 函数之后。

    static struct spi_driver mcp251xfd_driver = {
        .driver = {
            .name = DEVICE_NAME,
            .pm = &mcp251xfd_pm_ops,
            .of_match_table = mcp251xfd_of_match,
        },
        .probe = mcp251xfd_probe,
        .remove = mcp251xfd_remove,
        .id_table = mcp251xfd_id_table,
    };
     
    static int mcp251xfd_probe(struct spi_device *spi)
    {
        struct net_device *ndev;
        struct mcp251xfd_priv *priv;
    [..]
    ndev = alloc_candev(sizeof(struct mcp251xfd_priv),
                    MCP251XFD_TX_OBJ_NUM_MAX);
        if (!ndev)
            return -ENOMEM;
     
        SET_NETDEV_DEV(ndev, &spi->dev); // The SPI node is set as the parent node to the network device. 
     
        ndev->netdev_ops = &mcp251xfd_netdev_ops;
    [..]
        err = mcp251xfd_register(priv);
    };Copy to clipboard

## 调试 CAN 问题

Source: [https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html](https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html)

可以使用 `ftrace` 工具调试 CAN 问题。MCP2517 驱动程序支持 `dev_coredump()` API。

## CAN 示例

Source: [https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html](https://docs.qualcomm.com/doc/80-70018-8SC/topic/can.html)

关于 CAN 示例，请参阅 [https://github.com/linux-can/can-utils/blob/master/README.md](https://github.com/linux-can/can-utils/blob/master/README.md)。

Last Published: May 06, 2025

[Previous Topic
USB](https://docs.qualcomm.com/bundle/publicresource/80-70018-8SC/topics/usb.md) [Next Topic
参考资料](https://docs.qualcomm.com/bundle/publicresource/80-70018-8SC/topics/references.md)