# CAN

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

Controller area network (CAN) is a message-based serial protocol. The terms CAN and CAN
            bus are used in the same context. The advantages of CAN are as follows:

- Uses CSMA/CD method and bitwise contention to sense the bus at the bit-level and
                transmit the message.
- Each message is assigned a priority. Messages with the highest priority always
                control the bus arbitration. Since arbitration is based on bits, there are dominant
                and recessive bit levels.
- Any node can transmit at any time, no primary-secondary nodes.
- All the data is transmitted through two (differential pair) lines:  CAN\_H and CAN\_L
                line.
- CAN nodes are synchronized using bit-synchronization where each bit time is divided
                in to four segments of time quanta.
- Facilitates communication between multiple nodes through a message-based protocol,
                eliminating the need for extensive wiring.
- Ensures data security with error management including detection, signaling, and
                correction.

Note:
- CAN is enabled by default in QCS6490 and QCS5430.
- Dragonwing IQ-9075, Dragonwing IQ-8275, and Dragonwing IQ-615 don't support CAN.
- :

## CAN features

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

The CAN protocol supports the following features.

- Multicontroller priority-based bus access
- Nondestructive content-based arbitration
- Broadcast through all-frame transfer
- Multicast frame transfer by acceptance filtering
- Remote data request
- Configuration flexibility
- Network-wide data consistency
- Error detection and error signaling
- Automatically retransmits frames that lose arbitration, lack acknowledgment, or
                encounter errors during transmission
- Identifies differences between temporary node errors and permanent node failures,
                and the automatic deactivation of faulty nodes

## CAN architecture

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

The MCP2517 is an external configurable CAN controller, which can be accessed through the
            SPI line. The SPI interface supports up to 20 MHz with support for Mode0,1. The
            controller is connected to a QUP block with SE3 configured by a 4-pin SPI operation. The
            SPI controller is connected to a transceiver (MCP2561xxx) which connects to the CAN bus.
            Power input to the SPI controller and the CAN transceiver is through the SoC.

Figure : CAN architecture
            
            <?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-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.673 319.25" xml:space="preserve" color-interpolation-filters="sRGB" class="st15"><v:documentproperties v:langid="1033" v:metric="true" v:viewmarkup="false">	<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.75 }
.svg-1 .st2 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st3 { fill: #000000; font-family: Arial; font-size: 0.666664em }
.svg-1 .st4 { fill: none; stroke: #3253dc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st5 { fill: #000000; font-family: Arial; font-size: 0.833336em }
.svg-1 .st6 { font-size: 1em }
.svg-1 .st7 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st8 { fill: none; stroke: #3253dc; stroke-dasharray: 3, 3; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st9 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st10 { fill: #000000; font-family: Calibri; font-size: 0.833336em }
.svg-1 .st11 { marker-end: url("#mrkr5-61"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st12 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.28409090909091 }
.svg-1 .st13 { marker-start: url("#mrkr5-67"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st14 { fill: #000000; font-family: Arial; font-size: 1.00001em; font-weight: bold }
.svg-1 .st15 { 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-61" class="st12" v:arrowtype="5" v:arrowsize="2" v:setback="6.16" refx="-6.16" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend5" transform="scale(-3.52,-3.52) "></use>	</marker>	<marker id="mrkr5-67" class="st12" v:arrowtype="5" v:arrowsize="2" v:setback="5.8" refx="5.8" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend5" transform="scale(3.52) "></use>	</marker></defs><g v:mid="4" 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="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape1-1" v:mid="1" v:groupcontext="shape">		<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" width="864.673" height="319.25" 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="9" v:shadowoffsety="-9"></v:pageproperties>	<v:layer v:name="Flowchart" v:index="0"></v:layer>	<g id="shape46-3" v:mid="46" v:groupcontext="shape" transform="translate(271.097,-43.0197)">		<title>Sheet.46</title>		<desc>GPIO_55 interrupt line</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="45.8179" cy="314.75" width="91.64" height="9"></v:textrect>		<rect x="0" y="310.25" width="91.6357" height="9" class="st2"></rect>		<text x="6.02" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPIO_55 interrupt line</text>		</g>	<g id="shape39-6" v:mid="39" v:groupcontext="shape" transform="translate(266.472,-283.965)">		<title>Sheet.39</title>		<desc>VREG_L14B_3P2</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="37.125" cy="314.75" width="74.25" height="9"></v:textrect>		<rect x="0" y="310.25" width="74.25" height="9" 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="shape1-9" v:mid="1" v:groupcontext="shape" v:layermember="0" transform="translate(-157.971,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="st4"></path>	</g>	<g id="shape2-11" v:mid="2" v:groupcontext="shape" transform="translate(38.497,-124.82)">		<title>Sheet.2</title>		<desc>QUP 11 configured for four-pin SPI operation</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="36" cy="283.25" width="72" height="72"></v:textrect>		<rect x="0" y="247.25" width="72" height="72" class="st4"></rect>		<text x="18.21" y="268.25" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QUP 11 <tspan x="5.43" dy="1.2em" class="st6">configured for </tspan><tspan x="9.6" dy="1.2em" class="st6">four</tspan>-pin SPI <tspan x="15.15" dy="1.2em" class="st6">operation</tspan></text>		</g>	<g id="shape3-17" v:mid="3" v:groupcontext="shape" transform="translate(110.654,-192.25)">		<title>Sheet.3</title>		<path d="M0 319.25 L30.38 319.25" class="st7"></path>	</g>	<g id="shape4-20" v:mid="4" v:groupcontext="shape" transform="translate(110.654,-171.315)">		<title>Sheet.4</title>		<path d="M0 319.25 L30.23 319.25" class="st7"></path>	</g>	<g id="shape5-23" v:mid="5" v:groupcontext="shape" transform="translate(110.091,-151.75)">		<title>Sheet.5</title>		<path d="M0 319.25 L30.69 319.25" class="st7"></path>	</g>	<g id="shape6-26" v:mid="6" v:groupcontext="shape" transform="translate(110.091,-130.375)">		<title>Sheet.6</title>		<path d="M0 319.25 L30.84 319.25" class="st7"></path>	</g>	<g id="shape7-29" v:mid="7" v:groupcontext="shape" transform="translate(307.018,-108.422)">		<title>Sheet.7</title>		<desc>SPI to CAN controller (MCP2517FDT)</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="51.4491" cy="267.801" width="102.9" height="102.898"></v:textrect>		<rect x="0" y="216.352" width="102.898" height="102.898" class="st4"></rect>		<text x="25.88" y="252.8" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI to CAN <tspan x="30.89" dy="1.2em" class="st6">controller<v:newlinechar></v:newlinechar><v:newlinechar></v:newlinechar></tspan><tspan x="16.17" dy="2.4em" class="st6">(MCP2517FDT)</tspan></text>		</g>	<g id="shape8-34" v:mid="8" v:groupcontext="shape" transform="translate(489.061,-108.422)">		<title>Sheet.8</title>		<desc>CAN transceiver (MCP2561FDT)</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="51.4491" cy="267.801" width="102.9" height="102.898"></v:textrect>		<rect x="0" y="216.352" width="102.898" height="102.898" class="st4"></rect>		<text x="40.89" y="252.8" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN <v:newlinechar></v:newlinechar><tspan x="27" dy="1.2em" class="st6">transceiver<v:newlinechar></v:newlinechar><v:newlinechar></v:newlinechar></tspan><tspan x="16.17" dy="2.4em" class="st6">(MCP2561FDT)</tspan></text>		</g>	<g id="shape9-39" v:mid="9" v:groupcontext="shape" transform="translate(29.3828,-91)">		<title>Sheet.9</title>		<path d="M0 319.25 L223.93 319.25 L223.93 157.75 L0 157.75 L0 319.25 Z" class="st8"></path>	</g>	<g id="shape10-41" v:mid="10" v:groupcontext="shape" transform="translate(19,-19)">		<title>Sheet.10</title>		<rect x="0" y="38.0001" width="243.138" height="281.25" class="st9"></rect>	</g>	<g id="shape11-43" v:mid="11" v:groupcontext="shape" transform="translate(291.867,-79.75)">		<title>Sheet.11</title>		<path d="M0 319.25 L340.16 319.25 L340.16 146 L0 146 L0 319.25 Z" class="st8"></path>	</g>	<g id="shape12-45" v:mid="12" v:groupcontext="shape" transform="translate(650.028,-78.1162)">		<title>Sheet.12</title>		<path d="M0 319.25 L194.59 319.25 L194.59 146 L0 146 L0 319.25 Z" class="st8"></path>	</g>	<g id="shape13-47" v:mid="13" v:groupcontext="shape" transform="translate(341.135,-271)">		<title>Sheet.13</title>		<desc>TPS54628DDAR</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="36" cy="308" width="72" height="22.5"></v:textrect>		<rect x="0" y="296.75" width="72" height="22.5" class="st4"></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="shape14-50" v:mid="14" v:groupcontext="shape" transform="translate(650.522,-32.5)">		<title>Sheet.14</title>		<desc>CAN devices</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="47.25" cy="308" width="94.51" height="22.5"></v:textrect>		<rect x="0" y="296.75" width="94.5" height="22.5" class="st4"></rect>		<text x="22.25" y="311" class="st10" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN devices</text>		</g>	<g id="shape15-53" v:mid="15" v:groupcontext="shape" transform="translate(751.173,-32.5)">		<title>Sheet.15</title>		<desc>CAN devices</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="47.25" cy="308" width="94.51" height="22.5"></v:textrect>		<rect x="0" y="296.75" width="94.5" height="22.5" class="st4"></rect>		<text x="22.25" y="311" class="st10" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN devices</text>		</g>	<g id="shape16-56" v:mid="16" v:groupcontext="shape" transform="translate(307.018,446.25) rotate(180)">		<title>Sheet.16</title>		<path d="M0 319.25 L139.58 319.25" class="st11"></path>	</g>	<g id="shape17-62" v:mid="17" v:groupcontext="shape" transform="translate(307.018,467.921) rotate(180)">		<title>Sheet.17</title>		<path d="M5.8 319.25 L6.16 319.25 L145.74 319.25" class="st13"></path>	</g>	<g id="shape18-68" v:mid="18" v:groupcontext="shape" transform="translate(307.018,486.75) rotate(180)">		<title>Sheet.18</title>		<path d="M5.8 319.25 L6.16 319.25 L145.74 319.25" class="st13"></path>	</g>	<g id="shape19-73" v:mid="19" v:groupcontext="shape" transform="translate(307.018,507.563) rotate(180)">		<title>Sheet.19</title>		<path d="M5.8 319.25 L6.16 319.25 L145.74 319.25" class="st13"></path>	</g>	<g id="shape20-78" v:mid="20" v:groupcontext="shape" transform="translate(263.985,-36.7141)">		<title>Sheet.20</title>		<path d="M102.9 247.25 L102.9 319.25 L6.16 319.25" class="st11"></path>	</g>	<g id="shape21-83" v:mid="21" v:groupcontext="shape" transform="translate(263.466,-280)">		<title>Sheet.21</title>		<path d="M0 319.25 L71.72 319.25" class="st11"></path>	</g>	<g id="shape22-88" v:mid="22" v:groupcontext="shape" transform="translate(409.916,-191.594)">		<title>Sheet.22</title>		<path d="M0 319.25 L72.99 319.25" class="st11"></path>	</g>	<g id="shape23-93" v:mid="23" v:groupcontext="shape" transform="translate(409.916,-159.827)">		<title>Sheet.23</title>		<path d="M5.8 319.25 L6.16 319.25 L79.15 319.25" class="st13"></path>	</g>	<g id="shape24-98" v:mid="24" v:groupcontext="shape" transform="translate(591.959,-184.752)">		<title>Sheet.24</title>		<path d="M0 319.25 L194.84 319.25" class="st7"></path>	</g>	<g id="shape25-101" v:mid="25" v:groupcontext="shape" transform="translate(591.959,-140.5)">		<title>Sheet.25</title>		<path d="M0 319.25 L239.84 319.25" class="st7"></path>	</g>	<g id="shape26-104" v:mid="26" v:groupcontext="shape" transform="translate(998.046,133.75) rotate(90)">		<title>Sheet.26</title>		<path d="M0 319.25 L130.5 319.25" class="st7"></path>	</g>	<g id="shape27-107" v:mid="27" v:groupcontext="shape" transform="translate(1043.05,178.75) rotate(90)">		<title>Sheet.27</title>		<path d="M0 319.25 L85.5 319.25" class="st7"></path>	</g>	<g id="shape28-110" v:mid="28" v:groupcontext="shape" transform="translate(1106.05,133.75) rotate(90)">		<title>Sheet.28</title>		<path d="M0 319.25 L130.5 319.25" class="st7"></path>	</g>	<g id="shape29-113" v:mid="29" v:groupcontext="shape" transform="translate(1151.05,178.75) rotate(90)">		<title>Sheet.29</title>		<path d="M0 319.25 L85.5 319.25" class="st7"></path>	</g>	<g id="shape30-116" v:mid="30" v:groupcontext="shape" transform="translate(412.906,-280)">		<title>Sheet.30</title>		<path d="M0 319.25 L134.08 319.25" class="st7"></path>	</g>	<g id="shape31-119" v:mid="31" v:groupcontext="shape" transform="translate(696.156,48.25) rotate(90)">		<title>Sheet.31</title>		<path d="M0 319.25 L54.52 319.25" class="st11"></path>	</g>	<g id="shape32-124" v:mid="32" v:groupcontext="shape" transform="translate(866.235,39.25) rotate(90)">		<title>Sheet.32</title>		<path d="M0 319.25 L62.52 319.25" class="st11"></path>	</g>	<g id="shape33-129" v:mid="33" v:groupcontext="shape" transform="translate(33.3828,-270.5)">		<title>Sheet.33</title>		<desc>SOC</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="18" cy="311.33" width="36.01" height="15.84"></v:textrect>		<rect x="0" y="303.41" width="36" height="15.84" class="st2"></rect>		<text x="5" y="314.93" class="st14" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SOC</text>		</g>	<g id="shape34-132" v:mid="34" v:groupcontext="shape" transform="translate(118.67,-231.097)">		<title>Sheet.34</title>		<desc>QUP</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="18" cy="311.33" width="36.01" height="15.84"></v:textrect>		<rect x="0" y="303.41" width="36" height="15.84" class="st2"></rect>		<text x="5" y="314.93" class="st14" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QUP</text>		</g>	<g id="shape35-135" v:mid="35" v:groupcontext="shape" transform="translate(168.258,-194)">		<title>Sheet.35</title>		<desc>GPIO_68_SPI_MISO</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="41.9062" cy="314.75" width="83.82" height="9"></v:textrect>		<rect x="0" y="310.25" width="83.8125" height="9" 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="shape36-138" v:mid="36" v:groupcontext="shape" transform="translate(168.258,-174.875)">		<title>Sheet.36</title>		<desc>GPIO_69_SPI_MOSI</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="41.9062" cy="314.75" width="83.82" height="9"></v:textrect>		<rect x="0" y="310.25" width="83.8125" height="9" 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="shape37-141" v:mid="37" v:groupcontext="shape" transform="translate(166.852,-155.371)">		<title>Sheet.37</title>		<desc>GPIO_70_SPI_CLK</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="41.9062" cy="314.75" width="83.82" height="9"></v:textrect>		<rect x="0" y="310.25" width="83.8125" height="9" 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="shape38-144" v:mid="38" v:groupcontext="shape" transform="translate(168.258,-133.25)">		<title>Sheet.38</title>		<desc>GPIO_71_SPI_CS</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="41.9062" cy="314.75" width="83.82" height="9"></v:textrect>		<rect x="0" y="310.25" width="83.8125" height="9" 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="shape40-147" v:mid="40" v:groupcontext="shape" transform="translate(434.213,-282.875)">		<title>Sheet.40</title>		<desc>Power: DCDC 5 V</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="41.9062" cy="314.75" width="83.82" height="9"></v:textrect>		<rect x="0" y="310.25" width="83.8125" height="9" class="st2"></rect>		<text x="9.68" y="317.15" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Power: DCDC 5 V</text>		</g>	<g id="shape41-150" v:mid="41" v:groupcontext="shape" transform="translate(411.773,-233.525)">		<title>Sheet.41</title>		<desc>SPI to CAN</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="36" cy="311.33" width="72" height="15.84"></v:textrect>		<rect x="0" y="303.41" width="72" height="15.84" class="st2"></rect>		<text x="4.33" y="314.93" class="st14" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI to CAN</text>		</g>	<g id="shape42-153" v:mid="42" v:groupcontext="shape" transform="translate(427.832,-194.443)">		<title>Sheet.42</title>		<desc>TX_CAN</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="21.6562" cy="314.75" width="43.32" height="9"></v:textrect>		<rect x="0" y="310.25" width="43.3125" height="9" class="st2"></rect>		<text x="5.88" 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="shape43-156" v:mid="43" v:groupcontext="shape" transform="translate(427.832,-163.737)">		<title>Sheet.43</title>		<desc>RX_CAN</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="21.6562" cy="314.75" width="43.32" height="9"></v:textrect>		<rect x="0" y="310.25" width="43.3125" height="9" 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="shape44-159" v:mid="44" v:groupcontext="shape" transform="translate(595,-187.25)">		<title>Sheet.44</title>		<desc>CAN_H</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="18.2642" cy="314.75" width="36.53" height="9"></v:textrect>		<rect x="0" y="310.25" width="36.5283" height="9" 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="shape45-162" v:mid="45" v:groupcontext="shape" transform="translate(596.653,-143.375)">		<title>Sheet.45</title>		<desc>CAN_L</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="18.2642" cy="314.75" width="36.53" height="9"></v:textrect>		<rect x="0" y="310.25" width="36.5283" height="9" 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-165" v:mid="47" v:groupcontext="shape" transform="translate(709.007,-233.525)">		<title>Sheet.47</title>		<desc>CAN bus</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="32.375" cy="311.33" width="64.76" height="15.84"></v:textrect>		<rect x="0" y="303.41" width="64.75" height="15.84" class="st2"></rect>		<text x="7.04" y="314.93" class="st14" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN bus</text>		</g>	<g id="shape48-168" v:mid="48" v:groupcontext="shape" transform="translate(409.916,-128.059)">		<title>Sheet.48</title>		<path d="M0 319.25 L72.99 319.25" class="st11"></path>	</g>	<g id="shape49-173" v:mid="49" v:groupcontext="shape" transform="translate(414.106,-130.503)">		<title>Sheet.49</title>		<desc>GPIO_0/XSTBY</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:tabspace="42.5197"></v:textblock>		<v:textrect cx="36" cy="314.75" width="72" height="9"></v:textrect>		<rect x="0" y="310.25" width="72" height="9" 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>

The user application communicates with the network interface provided by the SocketCAN.
            The software driver is a client of the SPI core module in Linux, to which the QUP\_SPI
            driver is registered with. The actual hardware is connected through the SPI pins. 
Figure : CAN software stack
                
                <?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="st7"><v:documentproperties v:langid="1033">	<v:userdefs>		<v:ud v:nameu="msvNoAutoConnect" v:val="VT0(1):26"></v:ud>	</v:userdefs></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: Arial; font-size: 1.00001em }
.svg-2 .st4 { fill: none }
.svg-2 .st5 { stroke: #000000; stroke-dasharray: 5.24999, 3.74999; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749999 }
.svg-2 .st6 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749999 }
.svg-2 .st7 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<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="5.24524" height="5.54746" v:drawingscale="0.0393701" v:pagescale="0.0393701" v:drawingunits="24" v:shadowoffsetx="8.50392" v:shadowoffsety="-8.50392"></v:pageproperties>	<g id="shape1-1" v:mid="1" v:groupcontext="shape" transform="translate(0,-0.000440742)">		<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.000881483" width="377.657" height="399.416" class="st1"></rect>	</g></g><g v:mid="0" v:index="2" v:groupcontext="foregroundPage">	<title>can-sw-stack</title>	<v:pageproperties v:drawingscale="0.0393701" v:pagescale="0.0393701" v:drawingunits="24" v:shadowoffsetx="8.50392" v:shadowoffsety="-8.50392"></v:pageproperties>	<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.6834" cy="385.243" width="181.37" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="181.367" height="28.3464" class="st2"></rect>		<text x="61.33" y="388.84" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Application</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.6834" cy="385.243" width="181.37" 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="st3" 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.6834" cy="368.945" width="181.37" height="60.9448"></v:textrect>		<rect x="0" y="338.472" width="181.367" height="60.9448" class="st2"></rect>		<text x="58.01" y="353.27" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Socket CAN</text>		</g>	<g id="shape4-12" 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.3615" cy="385.243" width="158.73" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="158.723" height="28.3464" class="st2"></rect>		<text x="38.35" y="388.84" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CAN_net driver</text>		</g>	<g id="shape5-15" 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.6834" cy="385.243" width="181.37" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="181.367" height="28.3464" class="st2"></rect>		<text x="38.67" y="388.84" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>MCP251XFD driver</text>		</g>	<g id="shape6-18" 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.5329" cy="385.243" width="99.07" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="99.0659" height="28.3464" class="st2"></rect>		<text x="4.18" y="388.84" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI device driver</text>		</g>	<g id="shape7-21" 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.3402" cy="385.243" width="74.69" 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="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI dev</text>		</g>	<g id="shape8-24" 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.6834" cy="385.243" width="181.37" 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="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI_core</text>		</g>	<g id="shape9-27" v:mid="9" v:groupcontext="shape" transform="translate(161.95,-98.1675)">		<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.6834" cy="385.243" width="181.37" 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="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SPI_core</text>		</g>	<g id="shape10-30" v:mid="10" v:groupcontext="shape" transform="translate(161.95,-61.9246)">		<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.6834" cy="385.243" width="181.37" 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.84" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>SPI controller driver</text>		</g>	<g id="shape11-33" v:mid="11" v:groupcontext="shape" transform="translate(279.358,-61.9246)">		<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.9789" cy="385.243" width="63.96" 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="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QUP_SPI</text>		</g>	<g id="shape12-36" v:mid="12" v:groupcontext="shape" transform="translate(161.95,-18.9999)">		<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.6834" cy="385.243" width="181.37" height="28.3464"></v:textrect>		<rect x="0" y="371.071" width="181.367" height="28.3464" class="st2"></rect>		<text x="64.67" y="388.84" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Hardware</text>		</g>	<g id="shape13-39" v:mid="13" v:groupcontext="shape" transform="translate(18.75,-54.4304)">		<title>Sheet.13</title>		<path d="M0 399.42 L340.16 399.42 L0 399.42 Z" class="st4"></path>		<path d="M0 399.42 L340.16 399.42" class="st5"></path>	</g>	<g id="shape14-42" v:mid="14" v:groupcontext="shape" transform="translate(18.75,-344.981)">		<title>Sheet.14</title>		<path d="M0 399.42 L340.16 399.42 L0 399.42 Z" class="st4"></path>		<path d="M0 399.42 L340.16 399.42" class="st5"></path>	</g>	<g id="shape15-45" v:mid="15" v:groupcontext="shape" transform="translate(27.6356,-353.487)">		<title>Sheet.15</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.5275" cy="389.495" width="83.06" height="19.8425"></v:textrect>		<rect x="0" y="379.575" width="83.0549" height="19.8425" class="st6"></rect>		<text x="4" y="393.1" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>User space</text>		</g>	<g id="shape16-48" v:mid="16" v:groupcontext="shape" transform="translate(26.6714,-199)">		<title>Sheet.16</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.5275" cy="389.495" width="83.06" height="19.8425"></v:textrect>		<rect x="0" y="379.575" width="83.0549" height="19.8425" class="st6"></rect>		<text x="4" y="393.1" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Kernel space</text>		</g>	<g id="shape17-51" v:mid="17" v:groupcontext="shape" transform="translate(27.3146,-27.5038)">		<title>Sheet.17</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.5275" cy="389.495" width="83.06" height="19.8425"></v:textrect>		<rect x="0" y="379.575" width="83.0549" height="19.8425" class="st6"></rect>		<text x="4" y="393.1" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Hardware</text>		</g></g>
</svg>

## CAN APIs

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

For CAN public APIs, see [https://www.kernel.org/doc/Documentation/networking/can.txt](https://www.kernel.org/doc/Documentation/networking/can.txt).

## CAN samples and tools

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

The SocketCAN user space utilities and tools to display, record, generate, and replay the
            CAN traffic are listed in the following table. 

Table : SocketCAN utilities

| Utility | Description |
| --- | --- |
| `candump` | To display, filter and log CAN data to files. |
| `canplayer` | To replay CAN log files. |
| `cansend` | To send a single frame. |
| `cangen` | To generate (random) CAN traffic. |
| `cansniffer` | To display CAN data content differences (just 11‑bit CAN<br>                                IDs). |

To download CAN utilities, see [https://github.com/linux-can/can-utils](https://github.com/linux-can/can-utils).

For information about CAN driver files, see
                kernel/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c.

### CAN analyzer - PCAN-USB FD

The PCAN-USB FD is a versatile CAN packet/message sniffer that can operate as a node
                on any CAN bus, supporting flexible data rates. It can be used to sniff and send CAN
                packets on a host machine over USB. The key features are as follows:

- PCAN-View GUI tool
    - Provides easy ways to sniff and send CAN packets as per-user needs.
    - Monitors and debugs CAN packets during development and testing.
- PCAN-USB FD interface
    - Enables a simple connection to CAN FD and CAN networks.
    - Compact plastic casing suitable for mobile applications.
    - Galvanic isolation of up to 500 V decouples the PC from the CAN
                            bus.
- CAN FD standard
    - Characterized by higher bandwidth for data transfer.
    - Allows transmission of up to 64 data bytes per CAN FD frame (instead of
                            8).
    - Supports bit rates up to 12 Mbit/s.
    - Downward compatible with the CAN 2.0 standard.
    - CAN FD nodes can be inserted into existing CAN networks without CAN FD
                            extensions.

**Hardware setup**
1. Connect to the DB9 connector.
    - The PCAN has a DB9 connector on which any standard DB9 connector can
                                be plugged in.
2. Connect to the Qualcomm device.
    - Pull out the CAN\_H, CAN\_L, and GND lines.
    - Connect these lines to the two terminal-resistors of 120 Ω.
3. Connect CAN\_H, CAN\_L, and Ground.
    ![](data:image/png;base64,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)
4. Connect an external terminating resistor.
Note: The
                            device doesn't have an internal terminating resistor of 120 Ω. This is
                            crucial because some tools provide built-in support for the terminating
                            resistor.

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

The following figure shows the connected hardware.
Figure : CAN USB FD, external resistor, and device connection

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

## Bringup CAN interface

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

After the CAN driver is built and loaded into the kernel, the following sequence of
            commands sends data to identify if the CAN node is up. A CAN node can be started or
            stopped using the commands listed in the following table. 
Note: All the network devices use `ifconfig -a`.

Table : CAN commands

| Instruction | Command |
| --- | --- |
| Check for the can node number | ifconfig -aCopy to clipboard |
| Set a bit rate of 125 kbps | ip link set can0 up type can bitrate 125000Copy to clipboard |
| Start CAN | ip link set can0 upCopy to clipboard |
| Stop CAN | ip link set can0 downCopy to clipboard |
| Check the CAN configuration | ip -details link show can0Copy to clipboard |
| CAN internal loopback | ip link set can0 up type can bitrate 500000 loopback onCopy to clipboard |
| CAN FD internal loopback | ip link set can0 up type can bitrate 1000000 dbitrate 5000000 fd on loopback onCopy to clipboard |
| Send CAN FD frame | cansend can0 213##311223344Copy to clipboard |

To start any CAN node, the bit rate for the bus must be defined, or configured if the
            bus-rate is already available. This configuration ensures that the CAN node is up and
            active. For more details about CAN utilities, see [https://manpages.debian.org/testing/can-utils/index.html](https://manpages.debian.org/testing/can-utils/index.html).

### Send and receive data

Some utilities are available in the `CAN-Utils`file. SocketCAN
                enables CAN nodes for sending and receiving data. SocketCAN APIs are also used for
                custom applications.
- Send data with 11‑bit
                        ID

        cansend can0 7AF#11.22.33.44.55.66.aa.ffCopy to clipboard
- Send data with 29‑bit ID

        cansend can0 111FFFFF#aa.00.cc.aa.33.61.aa.abCopy to clipboard
- View the current incoming data on can0
                        node

        candump can0Copy to clipboard

## Configure CAN interface

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

SocketCAN is an implementation of the CAN protocol for Linux. SocketCAN uses the
                Berkeley socket API, the Linux network stack and implements the CAN device drivers
                as network interfaces. The CAN socket API has been designed as similar as possible
                to the TCP/IP protocols to allow users, familiar with network programming, easily
                learn how to use CAN sockets.

### Initialize hardware 

The driver initializes and configures the underlying hardware block. The
                initialization occurs after the `driver's _probe()` function is
                called.

    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

## Debug CAN issues

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

CAN issues can be debugged using the `ftrace` tool. The MCP2517 driver
            supports the `dev_coredump()` API.

## CAN examples

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

For CAN examples, see [https://github.com/linux-can/can-utils/blob/master/README.md](https://github.com/linux-can/can-utils/blob/master/README.md).

Last Published: Jun 27, 2025

[Previous Topic
USB](https://docs.qualcomm.com/bundle/publicresource/80-70020-8/topics/usb.md) [Next Topic
References](https://docs.qualcomm.com/bundle/publicresource/80-70020-8/topics/references.md)