<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://www.accuratetechnologies.com/blog/tag/can/feed" rel="self" type="application/rss+xml"/><title>Accurate Technologies - Blog #CAN</title><description>Accurate Technologies - Blog #CAN</description><link>https://www.accuratetechnologies.com/blog/tag/can</link><lastBuildDate>Tue, 31 Mar 2026 23:58:38 -0700</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[Automotive Ethernet Explained Pt. 2]]></title><link>https://www.accuratetechnologies.com/blog/post/automotive-ethernet-explained-pt.-2</link><description><![CDATA[Modern vehicles do not run on a single network technology. Instead, they use a combination of LIN, Classic CAN, CAN FD, and Automotive Ethernet. Each has strengths. Each has limits. Understanding when to use each one is essential for system design, integration, and validation.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_ERcFlaPzT9Kk2pVN9Dk8Fw" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_GU6PKmhPR7-WsoKtPi3dUg" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content- " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_nH9ydjbMRqyfjGn1fyihGA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_C-OSgE1pTES8Shz3HgpDYg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-align-center zpheading-align-mobile-center zpheading-align-tablet-center " data-editor="true"><span style="font-weight:bold;">CAN, CAN FD, and Automotive Ethernet:&nbsp;</span><br/>​<span>When to Use Each and How They Coexist</span></h2></div>
<div data-element-id="elm_7-4Jiki-SU2Ii8HP2GOiRg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p></p><div><div style="text-align:left;"><div style="line-height:1.5;"><div>Automotive Ethernet did not replace CAN. It expanded what vehicle networks can handle.&nbsp;</div><div>Modern vehicles do not run on a single network technology. Instead, they use a combination of LIN, Classic CAN, CAN FD, and Automotive Ethernet. Each has strengths. Each has limits. Understanding when to use each one is essential for system design, integration, and validation.&nbsp;</div></div></div></div><p></p></div>
</div><div data-element-id="elm_7qf0iNaNTkNnV_x3qpPaIw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>The Strengths of LIN</span></h2></div>
<div data-element-id="elm_J4iFaEtbl8L38JCdUQ6KvQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><div style="line-height:1.2;"><div><p style="margin-bottom:10.6667px;">LIN is a single wire communication network.&nbsp;Best suited for small low bandwidth networks where precise real time control is not&nbsp;required&nbsp;</p></div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">Where&nbsp;LIN excels:</span>&nbsp;</p></div><div><ul><li style="margin-left:24px;"><p>HMI interface controls&nbsp;such as turn signal and power seat controls.&nbsp;&nbsp;</p></li><li style="margin-left:24px;"><p>Actuators&nbsp;that control seats, windows, HVAC&nbsp;systems&nbsp;and others.&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Lighting systems&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Alternator control&nbsp;<br/><br/></p></li></ul></div><div><p style="margin-bottom:10.6667px;">LIN is limited&nbsp;by both speed and data payload size.&nbsp;Even with these limitations it works well in communication with non-critical systems&nbsp;<br/><br/></p></div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">Where&nbsp;LIN struggles:</span>&nbsp;</p></div><div><ul><li style="margin-left:24px;"><p>Slow, 20Kbps max&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Lack of message arbitration requires a Commander/Responder network&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Limited message ID range&nbsp;&nbsp;<br/><br/></p></li></ul></div><div><p style="margin-bottom:10.6667px;">When bandwidth requirements increase,&nbsp;the next step is&nbsp;moving up&nbsp;to a&nbsp;CAN&nbsp;network.&nbsp;</p></div></div></div></div><p></p></div>
</div><div data-element-id="elm_TQQL7Rec5uMpZ81blXYETA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>The Strengths of Classic CAN</span></h2></div>
<div data-element-id="elm_hx7tiIXioKCNJLIbrvGHGA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div><div><div style="line-height:1.2;"><div><p style="margin-bottom:10.6667px;line-height:1.5;">Classic CAN was built for reliable, deterministic control communication. It&nbsp;remains&nbsp;one of the most efficient ways to move small, time-critical messages between ECUs.&nbsp;</p></div><p></p><div><div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">Where CAN excels:</span>&nbsp;</p></div><div><div><ul><li style="margin-left:24px;"><p>Powertrain control&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Chassis systems&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Body electronics&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Safety-critical signaling&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Peer to Peer communications&nbsp;make&nbsp;the network architecture simple.&nbsp;<br/><br/></p></li></ul></div><div><p style="margin-bottom:10.6667px;line-height:1.5;">While&nbsp;Classic CAN&nbsp;has a maximum bit rate of&nbsp;1 Mbps, it typically runs at 500 Kbps or less. That is more than sufficient for&nbsp;control&nbsp;messages that are only a few bytes long.&nbsp;<br/><br/></p></div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">Where CAN struggles:</span>&nbsp;</p></div><div><ul><li style="margin-left:24px;"><p>Large data payloads&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>High-resolution sensor data&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Software updates&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Aggregating multiple high-data-rate systems&nbsp;<br/><br/></p></li></ul></div><div><p style="margin-bottom:10.6667px;line-height:1;">When bandwidth requirements increase, adding more CAN buses increases wiring, gateways, and architectural complexity.&nbsp;</p></div></div></div></div></div></div></div></div>
</div><div data-element-id="elm_hNdP7B925n7f8vrCiNdexw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>What CAN FD Improves</span></h2></div>
<div data-element-id="elm_FHdYvekXcqFjjU60_sqQqg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div><div style="line-height:1.2;"><div><div><p style="margin-bottom:10.6667px;line-height:1.5;">CAN FD was introduced to extend the life of&nbsp;CAN.&nbsp;The migration from Classic CAN to CAN FD is low cost and low effort because the network topology is the same as Classic CAN.&nbsp;<br/><br/></p></div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">It increases:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p>Data rate during the data phase&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Maximum&nbsp;payload size per frame&nbsp;<br/><br/></p></li></ul></div><div><p style="margin-bottom:10.6667px;">CAN FD can&nbsp;operate&nbsp;at higher data rates than classic CAN and&nbsp;supports&nbsp;payloads up to 64 bytes per frame. This&nbsp;provides several benefits.&nbsp;</p></div><div><ul><li style="margin-left:24px;"><p>Significantly reduces&nbsp;time&nbsp;of ECU flashing operations.&nbsp;</p></li></ul></div></div><p></p><div><div style="line-height:1.2;"><div><ul><li style="margin-left:24px;"><p>Larger message&nbsp;payload reduces message&nbsp;traffic&nbsp;providing improving&nbsp;data throughput for diagnostic and calibration activities.&nbsp;<br/><br/></p></li></ul></div><div><p style="margin-bottom:10.6667px;line-height:1.5;">However, CAN FD still&nbsp;operates&nbsp;in the megabit range. It improves efficiency but does not fundamentally solve&nbsp;high-bandwidth&nbsp;demands such as camera streams or centralized&nbsp;compute&nbsp;data flows.&nbsp;</p></div></div></div></div></div></div>
</div><div data-element-id="elm_ADs6GRd023zFsO9EeRKo1w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Where Automotive Ethernet Becomes Necessary</span></h2></div>
<div data-element-id="elm_VFzK0UXttcB2NJj1JmPOmQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div style="line-height:1.2;"><div><p style="margin-bottom:10.6667px;">When systems require tens or hundreds of megabits per second, CAN and CAN FD are no longer practical.&nbsp;</p></div><p></p><div><div style="line-height:1.2;"><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">Automotive Ethernet is&nbsp;required&nbsp;for:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p>ADAS camera data&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Radar and lidar aggregation&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Infotainment backbones&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Centralized domain or zonal controllers&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>High-speed data logging&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Diagnostics over IP&nbsp;<br/><br/></p></li></ul></div><div><p style="margin-bottom:10.6667px;line-height:1.5;">With standards such as 100BASE-T1 and 1000BASE-T1, Ethernet provides the bandwidth needed for data-heavy systems while&nbsp;maintaining&nbsp;predictable performance through switched architectures.&nbsp;</p></div><div><p style="margin-bottom:10.6667px;">It is not about replacing CAN. It is about enabling what CAN was never designed to carry</p></div></div></div></div></div>
</div><div data-element-id="elm_cv7pmJCed9F7UqV6Rfp2-w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Mixed-Network Vehicle Architectures</span></h2></div>
<div data-element-id="elm_lToNZBPLGDYPPgkWtCOCVw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div style="line-height:1;"><div><div style="line-height:1.5;"><div><p style="margin-bottom:10.6667px;">Modern vehicles&nbsp;can&nbsp;combine&nbsp;all&nbsp;of these&nbsp;technologies&nbsp;to optimize cost and vehicle complexity.&nbsp;</p></div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">A simplified example looks like this:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p>LIN handles&nbsp;low speed HMI and actuator functions.&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>CAN/CAN FD&nbsp;are used for&nbsp;distributed control systems.&nbsp;</p></li></ul></div></div></div><p></p><div><div style="line-height:1.2;"><div><div><ul><li style="margin-left:24px;"><p>Automotive Ethernet acts as a high-bandwidth backbone between domain&nbsp;or&nbsp;zonal controllers.&nbsp;<br/><br/></p></li></ul></div><div><p style="margin-bottom:10.6667px;">Instead of dozens of isolated networks, Ethernet often connects higher-level controllers, while CAN&nbsp;remains&nbsp;close to edge devices such as sensors and actuators.&nbsp;</p></div><div><p style="margin-bottom:10.6667px;">This layered approach keeps&nbsp;control&nbsp;communication simple and deterministic while allowing data-intensive systems to scale.&nbsp;</p></div></div></div></div></div></div>
</div><div data-element-id="elm_lDcYwOd5Cf5CK0odMo0Qtg" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_lDcYwOd5Cf5CK0odMo0Qtg"] .zpimage-container figure img { width: 1110px ; height: 740.00px ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/image%20-8-.png" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_PRdoD-doT6vo_tLXobtWYQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>The Role of Gateways</span></h2></div>
<div data-element-id="elm_ME6kIZSHuzNaVJOozQMJSg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div style="line-height:1.5;"><div><p style="margin-bottom:10.6667px;">Gateways are the bridge between networks.&nbsp;</p></div><p></p><div><div style="line-height:1.5;"><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">What they do:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p>Translate messages between CAN, CAN FD, and Ethernet&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Manage diagnostics across multiple networks&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Enforce security and filtering rules&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Control traffic flow between domains&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Provide the needed Ethernet Switch functionality needed for Automotive Ethernet connectivity.&nbsp;<br/><br/></p></li></ul></div><div><p style="margin-bottom:10.6667px;">In mixed-network vehicles, gateways become critical integration points. Misconfiguration, timing mismatches, message mapping errors, or diagnostic routing issues often surface here first.&nbsp;</p></div><div><p style="margin-bottom:10.6667px;">As Ethernet adoption increases, gateway complexity also increases. Engineers must understand both message-based CAN communication and packet-based Ethernet communication to debug effectively.&nbsp;</p></div><div><p style="margin-bottom:10.6667px;">In development and validation environments, dedicated vehicle communication gateways are often used to simulate or manage traffic between CAN and Automotive Ethernet networks before full vehicle integration. These platforms allow teams to&nbsp;validate&nbsp;message translation, diagnostic routing, and network behavior under controlled conditions.&nbsp;</p></div><div><p style="margin-bottom:10.6667px;line-height:1.5;">For example, development-grade solutions such as Accurate Technologies’ <a href="/Products/vehicle-communication-gateway" title="Vehicle Communication Gateway" rel="">Vehicle Communication Gateway</a> (VCG) can be used to bridge CAN, CAN FD, and Automotive Ethernet during bench testing. This allows engineers to verify coexistence scenarios and gateway behavior early in the development cycle, reducing risk later in vehicle-level validation.&nbsp;</p></div></div></div></div></div>
</div><div data-element-id="elm_IiEt4TXFbfwlwt4JHN8rkA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Choosing the Right Network</span></h2></div>
<div data-element-id="elm_0jCkJCAdz432pRXdsiSuWw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div style="line-height:1;"><div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">A useful way to think about it:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p>If the system is&nbsp;very&nbsp;low&nbsp;bandwidth with limited nodes,&nbsp;LIN is ideal.&nbsp;</p></li><li style="margin-left:24px;"><p>If the system is control-heavy and low bandwidth, CAN is ideal.&nbsp;</p></li><li style="margin-left:24px;"><p>If more efficiency and larger payloads are&nbsp;required, CAN FD is&nbsp;appropriate.&nbsp;</p></li><li style="margin-left:24px;"><p>If the system moves large volumes of data or&nbsp;connects&nbsp;high-level controllers, Automotive Ethernet is necessary.&nbsp;<br/><br/></p></li></ul></div></div><div><div style="line-height:1;"><div style="line-height:1.5;"><div><p style="margin-bottom:10.6667px;"><span></span>Most modern vehicles use all three.&nbsp;</p></div><div><p style="margin-bottom:10.6667px;">The goal is not to pick one winner. The goal is to architect them correctly together.&nbsp;</p></div></div></div></div></div></div>
</div><div data-element-id="elm_hHp62wCrYhfFS_QQM8fEJA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Why This Matters for Development and Validation</span></h2></div>
<div data-element-id="elm_nVy_A9eKON33fAYJK7RiXw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div><p style="margin-bottom:10.6667px;"><span>As vehicles adopt mixed-network architectures, engineering challenges shift:&nbsp;</span></p></div><p></p><div><div style="line-height:1;"><div><ul><li style="margin-left:24px;"><p>Debugging requires visibility across multiple network types.&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Gateway behavior becomes a critical validation point.&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Diagnostics must work seamlessly across CAN and Ethernet.&nbsp;</p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Timing and bandwidth constraints must be&nbsp;validated&nbsp;at the system level.&nbsp;<br/><br/></p></li></ul></div><div><p style="margin-bottom:10.6667px;">Understanding how these networks coexist is essential for building and&nbsp;validating&nbsp;reliable vehicle architectures.&nbsp;</p></div></div></div></div>
</div><div data-element-id="elm_itOBKl2oKY8BXziHtNkdVw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Up Next</span></h2></div>
<div data-element-id="elm_zJF2Innadv4FBi5nRyM-1g" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Now that we have covered how LIN, CAN, CAN FD, and Automotive Ethernet work together, the next step is understanding what runs on top of Ethernet.&nbsp;</div><div>In Blog #3, we will explore Automotive Ethernet protocols in practice, including SOME/IP, DoIP, and how ADAS data actually moves through the vehicle.&nbsp;</div></div><p></p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Fri, 06 Mar 2026 10:54:59 -0500</pubDate></item><item><title><![CDATA[Automotive Ethernet Explained Pt. 1]]></title><link>https://www.accuratetechnologies.com/blog/post/automotive-ethernet-explainedPT1</link><description><![CDATA[why did the automotive industry introduce Automotive Ethernet? The answer comes down to scale. Modern vehicles outgrew what CAN-only architectures can realistically support.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_WPU9XC2VTaOHH46ciu-qYg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_nIYQn2BaQniaRkbvYbKUEg" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_jMz9zXU6TDOC6QeaRCtyBQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_bRRGlAhbTb6fMaGKq9Jn5Q" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-align-center zpheading-align-mobile-center zpheading-align-tablet-center " data-editor="true"><span>Why the Industry Moved Beyond CAN-Only Networks and What Makes It Different</span><span></span></h2></div>
<div data-element-id="elm_-RS_mbJRTaCAvFJd6CRfKA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p></p><div><div><div><p style="text-align:left;margin-bottom:10.6667px;"><span>For decades,&nbsp;CAN&nbsp;bus has&nbsp;been the backbone of in-vehicle communication. It is reliable, deterministic, and well suited for control-heavy systems like powertrain, chassis, and body electronics.&nbsp;</span></p></div><div><p style="text-align:left;margin-bottom:10.6667px;"><span>So why did the automotive industry introduce Automotive Ethernet?&nbsp;</span></p></div><div><p style="text-align:left;margin-bottom:10.6667px;"><span>The answer comes down to scale. Modern vehicles outgrew what CAN-only architectures can realistically support. Understanding why Ethernet was needed, why regular Ethernet was&nbsp;<span><span>not&nbsp;well suited</span></span>, and how Automotive Ethernet fits alongside existing networks is key to understanding modern vehicle design.&nbsp;</span></p></div></div></div><p></p></div>
</div><div data-element-id="elm_bMTHtGoJGseouDr1ySk_eA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Why CAN-Only Networks Hit Their Limits</span></h2></div>
<div data-element-id="elm_OzMvN4gl4mX1_N2RbZhVBQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_5c291sZLsVSLPxyMWxFXzQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_eS51b_SZOlMwhFpVK49q5Q" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div>CAN was designed for reliable message-based communication between embedded controllers. For many years, bandwidth demands were low and predictable. That changed quickly.&nbsp;</div><div><br/></div><div>Modern vehicles now include:&nbsp;</div><ul><ul><li>Multiple cameras and high-resolution displays&nbsp;</li><li>Radar, lidar, and sensor fusion systems&nbsp;</li><li>Centralized compute and software-defined features&nbsp;<br/><br/></li></ul></ul><div>Even with CAN FD, bandwidth is still measured in kilobits to a few megabits per second due to limited data packet sizes. That is more than enough for control signals, but not nearly enough for data-heavy systems like ADAS or infotainment.&nbsp;</div>As vehicle complexity increased, OEMs faced a choice:&nbsp;<br/><ul><ul><li>Add more CAN buses and gateways, which increases cost and complexity&nbsp;</li><li>Introduce a high-bandwidth backbone network&nbsp;</li></ul></ul><div><div>Automotive Ethernet became that backbone.&nbsp;</div></div></div>
</div></div><div data-element-id="elm_LjNbqp5YiIlAZJZT4lRJHQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_KO78M669GVIJYi5JNhl6vw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_KO78M669GVIJYi5JNhl6vw"] .zpimage-container figure img { width: 540px ; height: 360.00px ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/fb8185d9-7548-46e8-af87-c34deb342029.png" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div></div></div><div data-element-id="elm_i2Y-4frliOr-9TieC-Nr7A" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span><span>Moving to Ethernet</span></span></h2></div>
<div data-element-id="elm_L-oIq0odjHioezWvqH3PCA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div><div>While Ethernet can provide significantly higher bandwidth over CAN FD, it is not a drop-in replacement:&nbsp;</div><div><ul><ul><li>Ethernet is intended to be Point to Point requiring switches when there are more than two nodes.&nbsp;</li><li>Much of the available Ethernet hardware was not suited for the temperature ranges needed for the automotive industry.&nbsp;</li><li>Typical Ethernet uses 2 or 4 twisted pairs that increases cost and wiring complexity.&nbsp;</li><li>Significantly different implementations in software make Ethernet a much larger change than the migration from CAN to CAN FD.&nbsp;</li></ul></ul></div><div>While Ethernet provided a clean way to move large data streams there were costs and other technical details that needed to be addressed.</div></div></div>
</div><div data-element-id="elm_7Cy1dLg5adZnHBVMDHhd7g" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>What Makes Automotive Ethernet Different from Regular Ethernet</span></h2></div>
<div data-element-id="elm_dKVnTgCtgIFevXTn-9A2Bg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>At first glance, Ethernet looks the same everywhere. Vehicles, however, are a very different environment from offices or data centers.&nbsp;</div><div>Automotive Ethernet is specifically engineered for in-vehicle use.&nbsp;</div></div><p></p></div>
</div><div data-element-id="elm_FHdZKaF1lKM4Rol3CdsKzg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Single-Pair Ethernet</span></h2></div>
<div data-element-id="elm_Kuilw_cijgOheNErIbQ58g" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>The single biggest difference is that Automotive Ethernet uses a single twisted pair putting it on par with the 2 wires used for CAN.&nbsp;</div></div><p></p><ul><ul><li>Reduced cable weight&nbsp;</li><li>Lower cost&nbsp;</li><li>Easier routing through the vehicle&nbsp;</li></ul></ul><div><div></div><div>Standards like 100BASE-T1 and 1000BASE-T1 are designed specifically for automotive applications.&nbsp;</div></div></div>
</div><div data-element-id="elm_wOUgxwUXn2K0OJuMipwu0Q" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Automotive-Grade Physical Layers</span></h2></div>
<div data-element-id="elm_BbCx9XFj6yID0_Uxmr8mfw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Automotive Ethernet PHYs are built to survive:&nbsp;</div></div><p></p><ul><ul><li>Wide temperature ranges&nbsp;</li><li>Constant vibration and shock&nbsp;</li><li>High levels of electrical noise and EMI&nbsp;</li></ul></ul><div><div></div><div>This is why regular Ethernet adapters and switches cannot simply be plugged into a vehicle network.&nbsp;</div></div></div>
</div><div data-element-id="elm_FZhW7ssHKkP-I-jSP9dAAw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Determinism by Design</span></h2></div>
<div data-element-id="elm_MxBJ2qrSV7PHU3VsOy1tww" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>A common misconception is that Ethernet is not deterministic.&nbsp;<br/><br/></div><div>In automotive systems, determinism is achieved through:&nbsp;</div></div><p></p><ul><ul><li>Full-duplex point-to-point links&nbsp;</li><li>Switched network architectures&nbsp;</li><li>Time-sensitive networking where required&nbsp;</li></ul></ul><div><div>The result is predictable latency suitable for high-bandwidth and time-aware systems.&nbsp;</div></div></div>
</div><div data-element-id="elm_3vRYx2wRn8KLGJwR7ie8Ew" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Vehicle-Specific Protocols on Top</span></h2></div>
<div data-element-id="elm_WcaTWffiKuamswDB4gOYfA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Automotive Ethernet is not just about moving packets faster. It supports vehicle-specific communication through protocols such as:&nbsp;</div></div><p></p><ul><ul><li>SOME/IP for service-oriented communication&nbsp;</li><li>DoIP for diagnostics over IP&nbsp;</li><li>AVB and TSN for synchronized data streams&nbsp;</li></ul></ul><div><div></div><div>These protocols are a major reason Automotive Ethernet behaves very differently from traditional IT Ethernet.&nbsp;</div></div></div>
</div><div data-element-id="elm_-rSpVXjovGONhw0yIMQh9g" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Automotive Ethernet Complements CAN</span></h2></div>
<div data-element-id="elm_p4aE76-6We71CrS92AppxQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Automotive Ethernet does not replace CAN as it has proven reliability and is extremely cost effective.&nbsp;</div><div>In real vehicles:&nbsp;</div></div><p></p><ul><ul><li>CAN and CAN FD handle control and safety-critical communication&nbsp;</li><li>Automotive Ethernet handles data-heavy systems and network backbones&nbsp;</li><li>Gateways connect CAN and Ethernet domains&nbsp;</li></ul></ul><div><div></div><div>This coexistence allows OEMs to scale vehicle capabilities without abandoning proven technologies.&nbsp;</div></div></div>
</div><div data-element-id="elm_5QSavbRnKxqGPsPB6gHHKw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Why This Matters for Development and Testing</span></h2></div>
<div data-element-id="elm_ZJFnduDCcc4j9WeSVu6w7g" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>As Automotive Ethernet becomes more common, engineering challenges change:&nbsp;</div></div><p></p><ul><ul><li>Network bring-up and configuration become more complex&nbsp;</li><li>Latency and packet loss must be measured and understood&nbsp;</li><li>Diagnostics span multiple network types&nbsp;</li><li>Tools must understand automotive protocols, not just raw Ethernet frames&nbsp;</li></ul></ul></div>
</div><div data-element-id="elm_acjKxCT3RKHMSJYN9PViVQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>What Comes Next</span></h2></div>
<div data-element-id="elm_YQo9I7cl4i2IaAO2cT-CEA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>With the fundamentals in place, the next question is practical:&nbsp;</div><div>When should CAN, CAN FD, or Automotive Ethernet be used, and how do they work together in real vehicles?&nbsp;</div><div>That is the focus of Blog #2 in this series.&nbsp;</div></div><p></p></div>
</div><div data-element-id="elm_k-qQXDN1TQmk4En4xolkWQ" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-roundcorner " href="https://www.accuratetechnologies.com/blog/post/automotive-ethernet-vs.-regular-ethernet"><span class="zpbutton-content">Automotive Ethernet vs.Regular Ethernet</span></a></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Wed, 18 Feb 2026 08:29:22 -0500</pubDate></item><item><title><![CDATA[CAN Silent Mode ]]></title><link>https://www.accuratetechnologies.com/blog/post/CAN-Silent-Mode</link><description><![CDATA[When developing, testing, or validating CAN bus–based systems, engineers often need visibility into network traffic without influencing the behavior of the system itself. This is where Silent Mode can play an essential role.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_QoSQEAmxQPSNrwQeI-oSVw" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_WjcsJv20TtWte-9qLH6Ngg" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_KZJRDT3WRaWt9hogmMsPMA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_559m_so0SzKds7nCjF-9JQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-align-center zpheading-align-mobile-center zpheading-align-tablet-center " data-editor="true"><span>A Quiet but Critical Tool for CAN Development</span></h2></div>
<div data-element-id="elm_9KEPVj3PT7OylwqmM1N3Vw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p></p><div><div style="text-align:left;">When developing, testing, or validating CAN bus–based systems, engineers often need visibility into network traffic without influencing the behavior of the system itself. This is where Silent Mode can play an essential role. Silent mode allows engineers to observe, analyze, and validate CAN communication passively without transmitting acknowledgements or frames onto the bus.&nbsp;</div><div style="text-align:left;"><br/></div><div style="text-align:left;">In this blog, we’ll explain what silent mode is, why it matters during development, and how tools from ATI support professional CAN workflows using this capability.&nbsp;</div></div><p></p></div>
</div><div data-element-id="elm_oZEDSp13_Px6VNTEb-O5mg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>What Is Silent Mode on a CAN Device?</span></h2></div>
<div data-element-id="elm_dlhtbyUTZZifn-MJw0EKJA" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_qpqc0wpFo8zajrc5T_2r7g" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_Xz0ldl-UvZzyHIZZQcFllQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div><div><p><span>In a standard CAN network, every active node&nbsp;participates&nbsp;fully in communication. <br/><span style="font-weight:bold;">This includes:&nbsp;</span></span></p></div><div><ul><li style="margin-left:24px;"><p><span>Transmitting messages&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Acknowledging (ACK) received frames&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Influencing bus load and arbitration&nbsp;</span></p></li></ul></div><div><p><span>A CAN interface&nbsp;operating&nbsp;in&nbsp;</span>Silent Mode<span>&nbsp;(sometimes called&nbsp;</span><span style="font-style:italic;">listen-only mode</span><span>) disables transmission and ACK behavior. <br/><span style="font-weight:bold;">The device:&nbsp;</span></span></p></div><div><ul><li style="margin-left:24px;"><p><span>Listens to all CAN traffic&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Decodes frames in real time&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p>Does<strong>&nbsp;</strong>not&nbsp;acknowledge messages&nbsp;</p></li><li style="margin-left:24px;"><p>Cannot affect arbitration, error handling, or bus timing&nbsp;</p></li></ul></div><div><p><span>From the network’s perspective, the silent node is effectively invisible.</span></p></div></div></div>
</div></div><div data-element-id="elm_zAROPPq3l6accB78txz3ew" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_wOhdcKc_wVJhgncXnMgBnA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_wOhdcKc_wVJhgncXnMgBnA"] .zpimage-container figure img { width: 540px ; height: 360.00px ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/Silent%20Mode.png" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div></div></div><div data-element-id="elm_9D7802x_m-FZWyQxn5bDhA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Why Silent Mode Matters in Development</span></h2></div>
<div data-element-id="elm_LtyYvoQRww0iaywkohmMpw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><div><p><span style="font-weight:bold;">1. Non-Intrusive Debugging</span><span>&nbsp;</span></p></div><div><p><span>During early development or troubleshooting, the last thing an engineer wants&nbsp;is for&nbsp;a diagnostic tool to alter system behavior. Silent mode enables:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span>Safe connection to production ECUs&nbsp;</span></p></li></ul></div></div><div><div><ul><li style="margin-left:24px;"><p><span>Monitoring safety-critical networks&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Debugging issues that only occur under real-world conditions&nbsp;</span></p></li></ul></div><div><p><span>Because the tool never transmits, it cannot mask wiring faults, timing issues, or missing nodes.&nbsp;</span></p></div><div><p><span><img alt="Shape" src="/Wed%20Jan%2028%202026.png"/>&nbsp;</span></p></div><div><p><span style="font-weight:bold;">2. Verifying Network Health and Topology</span><span>&nbsp;</span></p></div><div><p><span>Silent CAN devices are commonly used to:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span>Confirm that all expected messages are present&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Measure bus load and message frequency&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Detect unexpected traffic or rogue nodes&nbsp;</span></p></li></ul></div><div><p><span>With ATI CAN interfaces, engineers can&nbsp;use&nbsp;CANLab&nbsp;to connect&nbsp;onto an existing vehicle or industrial network and&nbsp;immediately&nbsp;begin capturing traffic&nbsp;without&nbsp;influencing&nbsp;the system under test.&nbsp;</span></p></div><div><p><span><img alt="Shape" src="/Wed%20Jan%2028%202026-1.png"/>&nbsp;</span></p></div><div><p><span style="font-weight:bold;">3. Supporting Compliance and Validation</span><span>&nbsp;</span></p></div><div><p><span>In regulated industries such as automotive, off-highway, and industrial automation, validation teams must often prove that:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span>A system behaves correctly under defined conditions&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Diagnostic tools did not influence test results&nbsp;</span></p></li></ul></div><div><p><span>Using silent mode provides a clear audit trail showing that the measurement setup was passive. ATI tools configured in silent mode are&nbsp;frequently&nbsp;used during:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span>Acceptance testing&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Field data collection&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Customer-site troubleshooting&nbsp;</span></p></li></ul></div><div><p><span><img alt="Shape" src="/Wed%20Jan%2028%202026-2.png"/>&nbsp;</span></p></div></div><div><div><p><span style="font-weight:bold;">4. Parallel Development and Reverse Engineering</span><span>&nbsp;</span></p></div><div><p><span>Silent mode is especially valuable when working with third-party or legacy systems where documentation may be incomplete. Engineers can:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span>Observe message IDs and payloads&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Correlate signals to system behavior&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Build databases without risk of interference&nbsp;</span></p></li></ul></div><div><p><span>For example, an ATI&nbsp;CANLab&nbsp;interface can be connected in silent mode while engineers map traffic before enabling active simulation or message injection later in the development cycle.&nbsp;</span></p></div></div></div><p></p></div>
</div><div data-element-id="elm_onAFGjytUmNnDyXBZPmNGg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Silent Mode in ATI CAN Tools</span></h2></div>
<div data-element-id="elm_jEhQaO5EQ7GXixOE-oeS3w" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><p><span>ATI&nbsp;designs its CAN interfaces and&nbsp;CANLab&nbsp;software with development-first workflows in mind. Silent mode support is a core feature across their professional toolchain.&nbsp;</span></p></div><div><p><span style="font-weight:bold;">Key Benefits in ATI Products</span><span>&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">Hardware-level silent configuration</span><span>&nbsp;to ensure zero bus impact&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;"><span>Seamless&nbsp;CANLab&nbsp;integration</span></span><span>&nbsp;for logging, filtering, and decoding&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">Rapid switching</span><span>&nbsp;between silent monitoring and active participation&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">Enterprise-ready reliability</span><span>&nbsp;for lab, vehicle, and field use&nbsp;</span></p></li></ul></div><div><p><span>This allows a single ATI interface to support the full lifecycle&nbsp;from passive observation to active testing&nbsp;without changing hardware.&nbsp;</span></p></div></div><p></p></div>
</div><div data-element-id="elm_7a_Hr3m67iF0bNDIbTFYTQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>When to Use Silent Mode vs Active Mode</span></h2></div>
<div data-element-id="elm_dlyUPuVGo2RMre7MU3casw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><div style="margin-bottom:2px;"><table border="1"><tbody><tr><td style="vertical-align:middle;width:514.444px;"><div><div><p style="text-align:center;"><span style="font-weight:bold;">Scenario</span><span>&nbsp;</span></p></div></div></td><td style="vertical-align:middle;width:582.556px;"><div><div><p style="text-align:center;"><span style="font-weight:bold;">Recommended Mode</span><span>&nbsp;</span></p></div></div></td></tr><tr><td style="vertical-align:middle;width:514.444px;"><div><div><p><span>Initial network discovery&nbsp;</span></p></div></div></td><td style="vertical-align:middle;width:582.556px;"><div><div><p><span>Silent Mode&nbsp;</span></p></div></div></td></tr><tr><td style="vertical-align:middle;width:514.444px;"><div><div><p><span>Field data logging&nbsp;</span></p></div></div></td><td style="vertical-align:middle;width:582.556px;"><div><div><p><span>Silent Mode&nbsp;</span></p></div></div></td></tr><tr><td style="vertical-align:middle;width:514.444px;"><div><div><p><span>Safety-critical system observation&nbsp;</span></p></div></div></td><td style="vertical-align:middle;width:582.556px;" class="zp-selected-cell"><div><div><p><span>Silent Mode&nbsp;</span></p></div></div></td></tr><tr><td style="vertical-align:middle;width:514.444px;"><div><div><p><span>ECU simulation or testing&nbsp;</span></p></div></div></td><td style="vertical-align:middle;width:582.556px;"><div><div><p><span>Active Mode&nbsp;</span></p></div></div></td></tr><tr><td style="vertical-align:middle;width:514.444px;"><div><div><p><span>Fault injection&nbsp;</span></p></div></div></td><td style="vertical-align:middle;width:582.556px;"><div><div><p><span>Active Mode&nbsp;</span></p></div></div></td></tr></tbody></table></div></div><div><p><span>A common best practice is to&nbsp;</span><span style="font-weight:bold;">start silent, then go active</span><span>&nbsp;once the system is understood.&nbsp;</span></p></div></div><p></p></div>
</div><div data-element-id="elm_Ji5FTmzzjH-jq8xtaq2gWQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Conclusion</span></h2></div>
<div data-element-id="elm_Kx7i769EdvxKH86rtm2gaA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Silent Mode CAN devices may not transmit a single bit onto the bus but their value during development is significant. By enabling truly non-intrusive observation, they protect system integrity while giving engineers the insight they need to design, debug, and validate complex CAN networks.&nbsp;</div><div><br/></div><div>With tools from ATI, silent mode is not an afterthought it’s a foundational capability that supports professional-grade CAN development from first connection to final validation.&nbsp;</div></div><p></p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 29 Jan 2026 11:04:00 -0500</pubDate></item><item><title><![CDATA[9. From Hobbyist to Pro: Choosing the Right CAN Tooling ]]></title><link>https://www.accuratetechnologies.com/blog/post/pt.-9-introduction-to-canbus</link><description><![CDATA[When it makes sense to move beyond hobbyist CAN tools, what differentiates professional CAN solutions, and how ATI CAN interfaces paired with CANLab provide a practical path into professional-grade CAN development.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_HH3ZLCWgR4CBCZb5T8Qtbg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_19LsIkLjSU2R-g25BVjSsQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_eZV_5x7XTjyrR9JAkyE4Mg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_gxxwxHUCQ0ei36_jd3uhnA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p style="text-align:left;"></p><div><div style="text-align:left;"> For many engineers, an introduction to CAN bus begins with a simple setup: a microcontroller, a low-cost CAN controller, and a few examples. This approach is affordable, accessible, and effective for learning the fundamentals of CAN communication; frames, identifiers, bit rates, and basic message handling.&nbsp; </div>
<div style="text-align:left;"><br/></div><div style="text-align:left;"> As projects mature, however, these early tools often struggle to keep up with real-world demands.&nbsp; </div>
<div style="text-align:left;"><br/></div><div style="text-align:left;"> In this post, we’ll explore when it makes sense to move beyond hobbyist CAN tools, what differentiates professional CAN solutions, and how ATI CAN interfaces paired with CANLab provide a practical path into professional-grade CAN development.&nbsp; </div>
</div><p></p></div></div><div data-element-id="elm_X3sM_snDnjZhJkKsfeM_yQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>When DIY CAN Tools Reach Their Limits</span></h2></div>
<div data-element-id="elm_w_NF-gh8L7BDq86sRZk4Wg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div><div></div></div><div><div><p style="margin-bottom:10.6667px;"><span>Low-cost CAN setups are ideal for experimentation, but they are rarely designed for sustained engineering work. Common limitations include:&nbsp;<br/></span></p><div><div>Inconsistent behavior under higher bus load&nbsp;</div></div><p></p><ul><ul><li>Limited or inaccurate timestamping&nbsp;</li><li>Minimal error detection and diagnostics&nbsp;</li><li>Fragile custom scripts for decoding&nbsp;</li><li>Lack of long-duration logging and replay&nbsp;</li><li>No formal support or validation&nbsp;</li></ul></ul></div><div><p style="margin-bottom:10.6667px;"><span>These challenges become critical when CAN moves from a learning exercise to a&nbsp;system&nbsp;dependency; such as during debugging, validation, reverse engineering, or customer-facing development.&nbsp;</span></p></div></div></div>
</div><div data-element-id="elm_lF4ICBB_YVRwXfrhSdOMSg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>What Changes at the Professional Level</span></h2></div>
<div data-element-id="elm_mDKKQFUgOcLOU_eZP1lhFg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Professional CAN tools are designed with reliability, observability, and repeatability in mind. Rather than focusing solely on basic frame transmission and reception, they emphasize:&nbsp;</div></div><p></p><ul><ul><li>Stable, electrically robust CAN interfaces&nbsp;</li><li>Precise, hardware-based timestamps&nbsp;</li><li>High-performance capture and logging&nbsp;</li><li>Advanced filtering and triggering&nbsp;</li><li>Consistent behavior across systems and users&nbsp;</li></ul></ul><div><div></div><div>The goal is not just to “see traffic,” but to understand system behavior with confidence.&nbsp;</div></div></div>
</div><div data-element-id="elm_Flat0b4lmhRMKULY5ti3xw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>ATI CAN Interfaces: Built for Engineering Work</span></h2></div>
<div data-element-id="elm_hvbICm4FHr56sk4YfZ4VXQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>ATI CAN interfaces are designed for engineers who need dependable hardware that works consistently across long development cycles.&nbsp;</div><div>&nbsp; &nbsp;&nbsp;<span style="font-weight:bold;">They provide:&nbsp;</span></div></div><p></p><ul><ul><li>Reliable USB-to-CAN connectivity&nbsp;</li><li>Clean electrical performance suitable for real networks&nbsp;</li><li>Drivers intended for sustained use, not just demos&nbsp;</li><li>Hardware capable of handling continuous monitoring and logging&nbsp;</li></ul></ul><div><div></div><div>This makes them a solid foundation for professional CAN analysis, testing, and development.&nbsp;</div></div></div>
</div><div data-element-id="elm_XBmqxHhVp_nHICGriKvG0w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>CANLab: Professional Capability Without Unnecessary Complexity</span></h2></div>
<div data-element-id="elm_ReDLDwBW2KfQGwmiZUA73Q" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>CANLab complements ATI hardware by focusing on the workflows engineers use most often.&nbsp;</div><div>&nbsp; &nbsp;&nbsp;<span style="font-weight:bold;">Key capabilities include:&nbsp;</span></div></div><p></p><ul><ul><li>Live visualization of CAN traffic&nbsp;</li><li>High-speed logging for offline analysis&nbsp;</li><li>Flexible filtering and triggering&nbsp;</li><li>Message and signal-level decoding&nbsp;</li><li>J1939 SPN decoding support&nbsp;</li><li>Capture and replay for debugging and validation&nbsp;</li></ul></ul><div><div></div><div>Rather than attempting to cover every possible CAN-related standard, CANLab prioritizes clarity, usability, and performance, making it approachable for engineers upgrading from DIY tools while still meeting professional expectations.&nbsp;</div></div></div>
</div><div data-element-id="elm_qrewVOz9wFIsi-cBBQTdVg" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_qrewVOz9wFIsi-cBBQTdVg"] .zpimage-container figure img { width: 1110px ; height: 740.23px ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/CANLab%205.3%20-%20CANary%201.jpg" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_oYyLZJj-as2oKlZx-sBG2g" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Scalable Features and Practical Licensing</span></h2></div>
<div data-element-id="elm_LZDhKN4mO7yuPmKW3WdD9Q" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Not every project needs the same level of tooling. CANLab is offered in multiple variants, allowing teams to:&nbsp;</div></div><p></p><ul><ul><li>Start with essential monitoring and logging&nbsp;</li><li>Add advanced analysis features as requirements grow&nbsp;</li><li>Align tool capabilities with project scope and budget&nbsp;</li></ul></ul><div><div></div><div>This scalable approach helps avoid both underpowered setups and over-engineered solutions.&nbsp;</div></div></div>
</div><div data-element-id="elm_UCfBqaj4A1m0fyNZYs2iXQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Supporting Real Engineering Workflows</span></h2></div>
<div data-element-id="elm_-UKIRUpxkS6kl8mHUJZ2CQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Professional CAN tooling must integrate smoothly into broader engineering environments. CANLab and ATI tools are designed to support:&nbsp;</div></div><p></p><ul><ul><li>Repeatable testing and validation&nbsp;</li><li>Clear data capture for collaboration and reporting&nbsp;</li><li>Long-term use across development, Quality Assurance (QA), and support teams&nbsp;</li><li>Vendor-backed support when issues arise&nbsp;</li></ul></ul><div><div>These considerations become increasingly important as CAN-based systems move closer to production and deployment.&nbsp;</div></div></div>
</div><div data-element-id="elm_wFmv2xip5PoLkzrfEkWI4Q" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>From Learning Tool to Engineering Instrument</span></h2></div>
<div data-element-id="elm_kA9_nn46IUcx3RulEQNyiw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Transitioning from hobbyist CAN tools to professional solutions isn’t about discarding what you’ve learned, it’s about building on it.&nbsp;</div><div><br/></div><div>If early CAN setups helped you understand how CAN works, professional tools like ATI CAN interfaces and CANLab help you understand why systems behave the way they do, and give you the confidence to act on that understanding.&nbsp;</div><div><br/></div><div>At this stage, tooling stops being a constraint and becomes a critical part of successful CAN-based engineering.&nbsp;</div></div><p></p></div>
</div><div data-element-id="elm_pq9IBiq1TC2SsF9QBeDtAw" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-roundcorner " href="/Products/CANLabSoftware" target="_blank"><span class="zpbutton-content">Learn More</span></a></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Fri, 09 Jan 2026 11:04:28 -0500</pubDate></item><item><title><![CDATA[8. Higher-Layer Protocols: CANopen, J1939, and UDS ]]></title><link>https://www.accuratetechnologies.com/blog/post/pt.-8-introduction-to-can-bus</link><description><![CDATA[As we’ve seen throughout this series, a CAN frame is intentionally simple: 11 or 29 bits of identifier, data payload. This minimalism makes CAN fast, deterministic, and flexible—but it also means that different industries needed ways to define what those bytes represent.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_i5mMNuJuS9yhCsmcAvHT-w" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_-xZEKrg2SCi5fKon-ZC-ig" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_FVC4EX9VTXiP2vccukalvQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm__8RvwhpDRD-FJ08HbloESw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-align-center zpheading-align-mobile-center zpheading-align-tablet-center " data-editor="true"><span>Understanding Structured Data and Application-Layer Standards on CAN Bus</span></h2></div>
<div data-element-id="elm_ODPwwCw3S7CB_JKzXrPqPw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><div style="text-align:left;"><div><div>As we’ve seen throughout this series, a CAN frame is intentionally simple: 11 or 29 bits of identifier, data&nbsp; payload. This minimalism makes CAN fast, deterministic, and flexible—but it also means that different industries needed ways to define what those bytes represent.</div><div><br/></div><div>This is where higher-layer protocols come in. They standardize data structures, communication flows, and device behaviors on top of the basic CAN transport. Whether you're working on heavy-duty vehicles, industrial automation, robotics, or medical equipment, chances are you're interacting with one of these application-layer standards.&nbsp;</div><div><br/></div><div>In this post, we’ll explore three of the most widely used: CANopen, SAE J1939, and UDS (Unified Diagnostic Services)—what they solve, how they structure data, and where you’re likely to encounter them.&nbsp;</div></div></div></div>
</div><div data-element-id="elm_G08F9xLtz_6_Hdv-A6xEOA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>CANopen: Modular Control for Industrial and Robotics Systems</span></h2></div>
<div data-element-id="elm_iC6yvPytqJKbeK7XrhfXcg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div><div><p style="margin-bottom:10.6667px;"><span>Originally defined by CAN in Automation (CiA), </span><span style="font-weight:bold;"><span>CANopen</span></span><span> is popular in automation, robotics, and medical devices where multiple intelligent nodes must coordinate.&nbsp;</span></p></div></div></div>
</div><div data-element-id="elm_OfZJXUb32_oE9zePB7thMA" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_CGuhSYP21tH6mDAn8r9uMQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-7 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_IOv675qo4qoHGnodKSl_Xg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Why CANopen Exists</span></h2></div>
<div data-element-id="elm_DYLx6DEJmIKLd9_ojlqRkw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div></div><p></p><div><div><span style="font-weight:bold;font-size:16px;">CANopen provides:&nbsp;</span></div></div><ul><li>A standardized Object Dictionary for device parameters&nbsp;</li><li>Real-time messaging for control loops&nbsp;</li><li>A predictable set of device behaviors (profiles for drives, sensors, I/O modules)</li></ul></div>
</div><div data-element-id="elm_YvnCIO5WsW68yNSD6uiumw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Key Concepts</span></h2></div>
<div data-element-id="elm_TZSrBkk-eErg5ZeqZOfpjQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><ul><li>PDOs (Process Data Objects) <br/>Real-time data messages—position, velocity, force, sensor values—sent without request.&nbsp;</li></ul><ul><li>SDOs (Service Data Objects) <br/>Request/response messages for configuration and parameter access.&nbsp;</li></ul><ul><li>NMT (Network Management) <br/>Controlling device states (pre-operational, operational, reset).&nbsp;</li></ul></div>
</div></div><div data-element-id="elm_X29t70_5b7JXIsLCSf0GOA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-5 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_2wdJ8tBx2O7jxzGUFM8jtA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_2wdJ8tBx2O7jxzGUFM8jtA"] .zpimage-container figure img { width: 445px ; height: 556.25px ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/Layered%20CAN%20Protocol%20Stack.png" size="fit" alt="CANopen Protocol Stack" data-lightbox="true"/></picture></span></figure></div>
</div></div></div><div data-element-id="elm_fwkb_aAGcFu55irqVwx42w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Typical Use Cases</span></h2></div>
<div data-element-id="elm_UYbD0OH6JT8ThxSL3dYAzg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div></div><p></p><ul><li>Servo drives in robotics&nbsp;</li><li>Infusion pumps and imaging systems&nbsp;</li><li>Modular I/O in factories&nbsp;</li></ul></div>
</div><div data-element-id="elm_sq8mh1c8vnMC3S_u28p9xg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>How Tools Like CANLab Fit In</span></h2></div>
<div data-element-id="elm_rfc2i8iHHNONYoBy9GjWxg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Even without a full protocol stack, being able to capture traffic, decode identifiers, and interpret payloads using dictionaries or EDS files helps engineers inspect PDOs and monitor device interactions.&nbsp;</span></p></div>
</div><div data-element-id="elm_ELZWGipPkF4wuEF9liMndg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>SAE J1939: Structured Messaging for Heavy-Duty Vehicles</span></h2></div>
<div data-element-id="elm_U1118qgDAmrxxHenjNeOGA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>J1939 is built around 29-bit identifiers and a standardized way of grouping signals. It’s the backbone of communication in agriculture, trucking, construction, and marine applications.&nbsp;</span></p></div>
</div><div data-element-id="elm_Di93GWrfkmW4a1S1yzTpBQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Why J1939 Exists</span></h2></div>
<div data-element-id="elm_GNM2zMeyhEVRiP5LY0u4tQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Heavy-duty environments must ensure that ECUs from multiple vendors can cooperate—engine, transmission, brakes, telematics, hydraulic controllers, etc.&nbsp;</div><div></div></div><p></p><div><div><span style="font-weight:bold;font-size:16px;">Key Concepts&nbsp;</span></div></div><ul><li>PGNs (Parameter Group Numbers) <br/>Message “types” defined by the identifier.&nbsp;</li></ul><div><div><ul><li>SPNs (Suspect Parameter Numbers)<br/>Named, scaled signals within a PGN—engine speed, fuel rate, boost pressure.&nbsp;</li></ul></div><div>This structured approach means engineers can decode data consistently as long as they know the PGN and SPN definitions.&nbsp;</div></div></div>
</div><div data-element-id="elm_3solPM6j2-E_gprc0wDuMA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true">Typical Use Cases<span style="font-weight:bold;">&nbsp;</span></h2></div>
<div data-element-id="elm_V5rJ8EU5b3kpr3VtGjmDEg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div></div><p></p><ul><li>Engine and emissions monitoring&nbsp;</li><li>Tractor implement communication&nbsp;</li><li>Fleet telematics and diagnostics&nbsp;</li><li>Hydraulic equipment control&nbsp;</li></ul></div>
</div><div data-element-id="elm_C11kX-CTivha7fakWZwmzA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>How Tools Like CANLab Fit In</span></h2></div>
<div data-element-id="elm_f-kBai20LQHxVzyc9S8nqg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Tools can decode PGNs or SPNs from raw CAN frames when given the definitions, making it easier to validate equipment behavior or inspect network traffic during testing.&nbsp;</span></p></div>
</div><div data-element-id="elm_Vv6J01uCAq4RqHG_sIcFmg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>UDS (Unified Diagnostic Services): The Standard Diagnostic Protocol</span></h2></div>
<div data-element-id="elm_LSp_iNReC030IAaFfNRCQA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>UDS (ISO 14229) is the diagnostic framework used in modern passenger cars, many commercial vehicles, and increasingly in specialized equipment.&nbsp;</span></p></div>
</div><div data-element-id="elm_IcdAxcKAh4XWk1fpPlQztA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Why UDS Exists</span></h2></div>
<div data-element-id="elm_ZCTgGRgcN6atNQjNRNbh1g" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Manufacturers needed a unified system to:&nbsp;</div></div><p></p><ul><li>Read diagnostic trouble codes (DTCs)&nbsp;</li><li>Request data&nbsp;</li><li>Perform ECU programming&nbsp;</li><li>Control routines and tests&nbsp;</li></ul></div>
</div><div data-element-id="elm_zUzLeHTWBAoT7fxiZt9L0w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Key Concepts</span></h2></div>
<div data-element-id="elm_kt6LRyRiplKMRRtb6CTEcw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><ul><li>Service IDs (SIDs) <br/>Each UDS operation corresponds to a numeric command (e.g., 0x22 for Read Data By Identifier).&nbsp;</li></ul><div><div><ul><li>DIDs (Data Identifiers) <br/>Structured identifiers for parameters—VIN, temperature sensors, calibration values.&nbsp;</li><li>Security Levels <br/>Seed/key mechanisms for unlocking sensitive functions.&nbsp;</li></ul></div></div></div>
</div><div data-element-id="elm_hs1zr8Qm1vn7KoRGnMZzJA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Typical Use Cases</span></h2></div>
<div data-element-id="elm_6hBxSVCOTaFgqLgqlQ7zAA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div></div><p></p><ul><li>Dealer-level diagnostics&nbsp;</li><li>Field service for specialized machinery&nbsp;</li><li>ECU flashing and reprogramming&nbsp;</li><li>Advanced testing and validation&nbsp;</li></ul></div>
</div><div data-element-id="elm_R6-QlCgaG-SW-aLvQaBnHA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>How Tools Like CANLab Fit In</span></h2></div>
<div data-element-id="elm_fnwbrnHN3AZRGUwBGjBCJQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Even without UDS automation, engineers can observe and analyze diagnostic exchanges directly on the CAN network, which is valuable during integration and troubleshooting. While UDS has a well-defined command/response structure, the in-vehicle implementation can be very OEM specific. The integrated scripting available in CANLab can be used to create custom UDS command sequences.&nbsp;</span></p></div>
</div><div data-element-id="elm_jClOZOmrXQkTaMjwvaYe6w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Where These Protocols Are Used</span></h2></div>
<div data-element-id="elm_tXuoZlcwPS13gE5YsC44jg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><span style="font-weight:bold;">Heavy-Duty &amp; Off-Highway&nbsp;</span></div></div><p></p><ul><li>J1939 for engine, transmission, and vehicle systems&nbsp;</li><li>UDS for diagnostics and firmware updates&nbsp;</li><li>CANopen for implement controls (ISO 11783 based on J1939/CANopen concepts)&nbsp;</li></ul><div><div><br/></div><div><span style="font-weight:bold;">Medical Devices&nbsp;</span></div><div><ul><li>CANopen in pumps, imaging, patient monitoring&nbsp;</li><li>UDS occasionally for maintenance diagnostics&nbsp;</li><li>Emphasis on deterministic control and safe parameter access&nbsp;</li></ul></div><div><br/></div><div><span style="font-weight:bold;">Robotics &amp; Automation&nbsp;</span></div><div><ul><li>CANopen for drives and real-time control&nbsp;</li><li>Custom higher-layer protocols for proprietary robots&nbsp;</li><li>UDS in some robotic platforms for service diagnostics</li></ul></div></div></div>
</div><div data-element-id="elm_TX2g9Cho32MA6jMibXrT6A" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Conclusion: Higher-Layer Protocols Bring Meaning to CAN</span></h2></div>
<div data-element-id="elm_G-_HiJAJMY8JgQ_1tA5Zaw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Higher-layer protocols such as CANopen, J1939, and UDS give structure and meaning to raw CAN traffic, enabling interoperability across industries from heavy-duty vehicles to robotics and medical systems. Understanding how these protocols package data; whether through PGNs, SPNs, PDOs, or diagnostic services, helps engineers work more confidently across diverse applications.&nbsp;</div><div><br/></div><div>In our next article, we’ll shift focus from protocols to practice by exploring how engineers choose the right CAN tools as they move from hobby-level experimentation to professional workflows.&nbsp;</div></div><p></p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Mon, 15 Dec 2025 12:42:33 -0500</pubDate></item><item><title><![CDATA[Pt. 7 Introduction to CAN Bus]]></title><link>https://www.accuratetechnologies.com/blog/post/pt.-7-introduction-to-can-bus</link><description><![CDATA[In this post, we’ll discuss how engineers can log, analyze, and replay CAN data to reproduce real-world behavior in a controlled test environment.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_M4wCJXBeTTmPo8Bd4P5StA" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_AMGzB4vnSGey3m7d38Okcg" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content- " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_4Lhcj4BcRdqBaKbhOLkjYA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm__0QuHT_HQPiq5qKfMErIfg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-align-center zpheading-align-mobile-center zpheading-align-tablet-center " data-editor="true"><span>Logging, Analyzing, and Replaying CAN Data</span></h2></div>
<div data-element-id="elm_IXY0ssCmr_mwsgQL4M5UJQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Record and Playback with CANLab</span></h2></div>
<div data-element-id="elm_TLfgTOTrS6m9uV2U81qYCw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p></p><div><div style="text-align:left;">In our previous post, Sniffing a Vehicle’s OBD-II Network, we explored how to safely and effectively monitor live CAN traffic from production vehicles using ATI hardware and CANLab. That hands-on introduction focused on passive data collection—observing ECU communication without altering system behavior.&nbsp;</div><div style="text-align:left;"><br/></div><div style="text-align:left;">Now we take the next step: moving from observation to interaction and analysis. In this post, we’ll discuss how engineers can log, analyze, and replay CAN data to reproduce real-world behavior in a controlled test environment. These techniques are essential for validation, regression testing, ECU simulation, and in-depth diagnostics—all supported by the advanced features of ATI’s CANLab.&nbsp;</div></div><p></p></div>
</div><div data-element-id="elm_K2xJPgMXt0LU1-uyuVu63w" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Capturing CAN Traffic: Building a Reliable Log</span></h2></div>
<div data-element-id="elm_PwIBhE_8h6_EMLxLynCNrA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Every meaningful CAN analysis starts with accurate data capture. CANLab connects to ATI CAN interfaces to record timestamped CAN or CAN FD messages from one or more vehicle networks simultaneously.&nbsp;</div><br/><div>Engineers can log all traffic or focus on specific messages by filtering by ID, channel, or decoded signal value—keeping datasets concise and relevant. CANLab supports multiple recording formats, including:&nbsp;<br/><div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;"><span>ASCII Message Logs – </span></span><span>Common format for raw message logs that are supported by popular tools</span><span>&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">CSV</span><span> – For external post-processing and visualization of decoded CAN signals workflows&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">ATI native formats</span><span> – For high-speed playback and detailed analysis within CANLab&nbsp;</span></p></li></ul></div><div><p style="margin-bottom:10.6667px;"><span>The result is a clean, well-structured log file that forms the foundation for analysis, troubleshooting, and repeatable testing.&nbsp;</span></p></div></div></div></div><p></p></div>
</div><div data-element-id="elm_dZv6xxJetqYPWGvY9XkCPg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Analyzing and Visualizing Recorded Data</span></h2></div>
<div data-element-id="elm_YUuV_I8YdMP0YG38Niqk5A" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm__nSOFYqlR18sg9dfsg1UaQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm__qX2WjpqnQLq2SI2oiAnLg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><div><p style="margin-bottom:10.6667px;"><span>Once the messages are captured, CANLab can transform the raw hexadecimal frames into meaningful engineering signals using a CAN database (.dbc).&nbsp;</span></p></div><div><p style="margin-bottom:10.6667px;"><span>Key analysis tools in CANLab include:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">Time-based plots</span><span> – Overlay and compare signal behaviors across time&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">Message and frequency statistics</span><span> – Detect missing, delayed, or jittery messages&nbsp;<span><span>&nbsp;(see image at right)</span></span></span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">Search and filter tools</span><span> – Isolate activity from specific ECUs or subsystems&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">Multi-log comparison</span><span> – Load and review multiple log files side by side to evaluate changes between tests or calibration updates&nbsp;</span></p></li></ul></div></div><div><p style="margin-bottom:10.6667px;"><span>This data-driven analysis enables engineers to verify fixes, pinpoint faults, and understand system behavior under different operating conditions.&nbsp;</span></p></div></div><p></p></div>
</div></div><div data-element-id="elm_hN5vHWsHQPrGQzQQgEryJQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_KoOupCv9ANxa1pIgd0A1RQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_KoOupCv9ANxa1pIgd0A1RQ"] .zpimage-container figure img { width: 540px ; height: 197.08px ; } } [data-element-id="elm_KoOupCv9ANxa1pIgd0A1RQ"].zpelem-image { margin-block-start:203px; } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/image%20-7-.png" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div></div></div><div data-element-id="elm_XQ-6NJQzFceFATT5gwcTCw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Replaying CAN Data: Record and Playback Testing</span></h2></div>
<div data-element-id="elm_sy0dWV0vA6vmXNUjYvIr8Q" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><p style="margin-bottom:10.6667px;"><span>CANLab’s record and playback functionality allows engineers to reproduce captured network activity as though it were occurring live. This bridges the gap between on-vehicle testing and bench validation by enabling recorded traffic to be replayed in controlled conditions.&nbsp;</span></p></div><div><p style="margin-bottom:10.6667px;"><span>Common use cases include:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">Regression testing</span><span> – Replay known-good traffic to confirm consistent ECU behavior after software or calibration changes&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">ECU simulation</span><span> – Emulate a missing ECU or subsystem by replaying its messages, enabling dependent systems to be tested in isolation&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">System validation</span><span> – Recreate complex network conditions to confirm timing integrity and fault tolerance&nbsp;</span></p></li></ul></div><div><p style="margin-bottom:10.6667px;"><span>CANLab offers timing control, looping, and synchronization features (as described in its technical documentation), ensuring accurate and repeatable playback for confident testing results.&nbsp;</span></p></div></div><p></p></div>
</div><div data-element-id="elm_56adNn6i2X_4G1EN8g4h4A" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Exporting and Sharing CAN Data</span></h2></div>
<div data-element-id="elm_46MoQRzPI5TQdg5fBtoFhQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><p style="margin-bottom:10.6667px;"><span>Collaboration often requires sharing data in formats compatible with other tools or teams. CANLab provides flexible export options such as:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">CSV</span><span> – Enable spreadsheet-based analysis or import into data visualization tools&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">ASCII Message Logs</span><span> – Raw CAN Message traffic&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">MDF3 Message Logs</span><span> – Preserve full functionality within CANLab and VISION&nbsp;</span></p></li></ul></div><div><p style="margin-bottom:10.6667px;"><span>These export options streamline communication between teams and testing environments, supporting internal development as well as supplier validation.&nbsp;</span></p></div></div><p></p></div>
</div><div data-element-id="elm_gsC7kZn2P356-Wr8OrlbTQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Real-World Applications</span></h2></div>
<div data-element-id="elm_sindVLpkSTC01ghLXKOKig" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">Regression Testing</span><span>&nbsp;</span></p></div><div><p style="margin-bottom:10.6667px;"><span>Teams can identify unintended software changes by replaying previously captured data. Deviations in timing, signal response, or message behavior reveal regressions before production release.&nbsp;</span></p></div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">ECU Simulation</span><span>&nbsp;</span></p></div><div><p style="margin-bottom:10.6667px;"><span>When certain vehicle components aren’t available, CANLab can substitute by replaying their recorded traffic. This allows subsystem testing and integration validation without requiring every physical ECU—saving both time and resources during development.&nbsp;</span></p></div></div><p></p></div>
</div><div data-element-id="elm_d6-1aFnXbc5aZyt3dJhvjA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Wrapping Up</span></h2></div>
<div data-element-id="elm_ljnIS_LPb_d7ieha_MOW9A" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><p style="margin-bottom:10.6667px;"><span>Logging, analyzing, and replaying CAN data fundamentally changes how engineers test, debug, and validate vehicle systems. ATI’s CANLab empowers teams to capture what happens on the network and reproduce it with precision. From real-time logging to replay and visualization, CANLab turns CAN data into actionable engineering insight.&nbsp;</span></p></div><div><p style="margin-bottom:10.6667px;"><span>In the next part of our CAN Bus Blog Series, we’ll move beyond the base protocol and explore </span><span style="font-weight:bold;"><span>Higher-Layer Protocols: CANopen, J1939, and UDS</span></span><span>—covering how CANLab supports these standards, how structured data like SPNs and service requests are decoded, and how they’re applied across heavy-duty, medical, and robotics applications.&nbsp;</span>Stay tuned as we continue uncovering the layers of modern vehicle communication.&nbsp;</p></div></div><p></p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 13 Nov 2025 11:59:05 -0500</pubDate></item><item><title><![CDATA[Pt. 6 Introduction to CAN Bus]]></title><link>https://www.accuratetechnologies.com/blog/post/Part-6-Sniffing-a-Vehicle-s-OBD-II-Network</link><description><![CDATA[So far in this series, we’ve explored how CAN Bus works, how to capture data, and how to debug messages during development. In this installment, we take the conversation out of the lab and into a live vehicle environment, specifically, the OBD-II network.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_KR86v04gRmmC7D8eW0_2xA" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_R4z5bHO-TxmHm-zKtK28eQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content- " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_hX8rwd75Qam5BQJkGeTCJA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_p-2F9AsNTPK0mTfTDzk-FA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-align-center zpheading-align-mobile-center zpheading-align-tablet-center " data-editor="true"><span>Sniffing a Vehicle’s OBDII Network</span></h2></div>
<div data-element-id="elm_egU4AQgqQ-Kfrq430ElekQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p style="text-align:left;"></p><div><div style="text-align:left;">So far in this series, we’ve explored how CAN Bus works, how to capture data, and how to debug messages during development. In this installment, we take the conversation out of the lab and into a live vehicle environment, specifically, the OBDII network.</div><div style="text-align:left;"><br/></div><div style="text-align:left;">Whether you’re diagnosing a customer complaint, logging real-world usage, or reverse-engineering manufacturer messages, sniffing the OBDII port gives you direct access to a vehicle’s live CAN traffic. But this comes with important technical and safety considerations.</div></div><p></p></div>
</div><div data-element-id="elm_di0ijqfzaQh2KSMPlOw9cQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Passive Monitoring: Listening Without Talking</span></h2></div>
<div data-element-id="elm_ylUH0FsRwDHay1aayYbupA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>When you connect to a vehicle’s OBDII port, you’re tapping into one or more in-vehicle CAN networks. Passive monitoring means listening to traffic without transmitting anything back, avoiding the risk of unintentionally sending commands that could alter ECU behavior.</div></div><p></p></div>
</div><div data-element-id="elm_GPzs8lruqSDhIRctXzmtug" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_lUwJhMAeEbxRi8Vb-xW8Bw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_nQhsr_7g8fdVDuN7u3U4TA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span style="font-weight:bold;">With ATI CANLab, this is straightforward:</span></p><ol><li style="line-height:1.2;"><span style="font-weight:bold;">Connect your ATI CAN interface</span> (such as a CANary or CANary FD) to the OBDII port using the appropriate cable.</li><li><span style="font-weight:bold;">Set your CAN interface to listen-only mode</span> in CANLab’s hardware settings.</li><li><span style="font-weight:bold;">Begin capturing traffic</span> to see messages from the powertrain, emissions, and possibly other subsystems (depending on the vehicle’s network gateway).</li></ol></div>
</div></div><div data-element-id="elm_3juxVTDAEIPtJJg0A073SQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_3GIfXf72gBiD5IUwDccDbw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_3GIfXf72gBiD5IUwDccDbw"] .zpimage-container figure img { width: 464px !important ; height: 243px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/obd-ii-port.jpg" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div></div></div><div data-element-id="elm_5V-OiMbC5oremw8_zV-vJQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span><span style="font-weight:bold;">Pro Tip:</span> Vehicles often have multiple CAN buses. The OBDII port may expose just the legislated powertrain CAN or may be gatewayed to other modules. Knowing the network topology helps interpret what you see.</span></p></div>
</div><div data-element-id="elm_GRqEy2F_mZ15fqpi80xctA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Logging OBDII Traffic with CANLab</span></h2></div>
<div data-element-id="elm_5d8Kx7WF7SLy7VoKwn_z-Q" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><span>Once connected, CANLab allows you to log and view the OBDII data:</span><div><ul><ul><li><span style="font-weight:bold;">Live View + Logging</span> – View incoming messages in real time while saving a log file for later analysis.</li><li><span style="font-weight:bold;">DBC Integration</span> – If you have the proper database file, CANLab can decode raw CAN frames into engineering units like RPM, throttle position, or coolant temperature.</li><li><span style="font-weight:bold;">Long-Term Logging</span> – Run CANLab continuously to record extended drive cycles for emissions testing or performance benchmarking.</li></ul></ul></div></div>
</div><div data-element-id="elm_255BXsPwiHVvLxupeLeAGA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><span style="font-weight:bold;">Example use cases:</span></div></div><p></p><ul><ul><li>Capturing ECU diagnostic messages during a road test</li><li>Monitoring sensor behavior during transient events</li><li>Building a baseline “healthy vehicle” log for comparison with fault conditions</li></ul></ul></div>
</div><div data-element-id="elm_73DM8oDkt6YcwBSh4cAPfA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><span style="font-weight:bold;">Pro Tip:</span> CANLab installs an example workspace and several CAN DBC files to decode OBDII PID values.&nbsp; The workspace can be found in this folder: <span><span>C:\Users\Public\Documents</span></span>\Accurate Technologies\CANLab 5.3 Samples</div></div><p></p><ul><ul><li>“Alt + S” will write the supported PID numbers to the CANLab Output Window.</li><li style="line-height:1;">“Alt + P” will start polling the ECU for the PIDs that are in the script pidList array.&nbsp;</li></ul></ul></div>
</div><div data-element-id="elm_hVCme27Qqr7imnlxEkm38g" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Safety Concerns When Connecting to In-Vehicle Networks</span></h2></div>
<div data-element-id="elm_jVJKxwIHGZv0Uh63SSw0EA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>While passive sniffing is generally low-risk, there are still safety considerations:</div></div><p></p><ul><ul><li><span style="font-weight:bold;">Avoid Active Commands</span> – Never transmit on the network unless you are certain of the message’s function and have authorization to send it.</li><li><span style="font-weight:bold;">Secure Cables and Hardware</span> – Loose wiring inside a vehicle can interfere with pedals, steering, or airbags. Always secure your setup.</li><li><span style="font-weight:bold;">Electrical Isolation</span> – Use interfaces that provide galvanic isolation between the vehicle and your PC to prevent damage from voltage spikes.</li><li><span style="font-weight:bold;">Respect OEM Policies</span> – Many manufacturers have strict rules for connecting to vehicle networks, especially in fleet or warranty contexts.</li></ul></ul><div><div>Remember: in-vehicle testing is not just about data, it’s about safety for the driver, passengers, and the vehicle itself.</div></div></div>
</div><div data-element-id="elm_qV8tVnzKpe0QINr7druvsQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Wrapping Up</span></h2></div>
<div data-element-id="elm_9PEnaNK-YAUAgTfFElcuhw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Sniffing a vehicle’s OBDII network opens the door to real-world data capture and powerful diagnostics. With ATI CANLab, you can log and analyze OBDII traffic safely and efficiently, turning raw CAN messages into actionable engineering insight.</div><br/><div>In the next post, we’ll explore Logging, Analyzing, and Replaying CAN Data, including replaying recorded data, applications and format.</div></div><p></p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 16 Oct 2025 14:22:39 -0400</pubDate></item><item><title><![CDATA[Pt. 5 Capturing and Debugging CAN Traffic]]></title><link>https://www.accuratetechnologies.com/blog/post/Part-5-CAN-Traffic</link><description><![CDATA[Capturing and debugging real CAN traffic.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_Oh5oectARjKEArIXSRFtfg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_m4XGdl9VQGyQa_Rkidx6xA" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_f3xohxruTNuakiSVhmyTGg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_oSu96G8ERzCMHY8pFVx6HA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p style="text-align:left;"></p><div><div style="text-align:left;">In previous installments of this series, we explored what CAN Bus is, how to set up your first network, and how to interpret CAN frames. Now it’s time to put that knowledge to work by actually capturing and debugging real CAN traffic.&nbsp;</div><div style="text-align:left;"><br/></div><div><div style="text-align:left;">Whether you’re diagnosing an intermittent fault, reverse engineering a message, or validating your system during development, being able to record, filter, and analyze CAN data in real time is essential.&nbsp;</div><div style="text-align:left;"><br/></div></div><div style="text-align:left;"><span style="font-weight:bold;">In this post, we’ll look at:&nbsp;</span></div></div><p></p><ul><ul><li style="text-align:left;">How to set up ATI CANLab for efficient capture and debugging&nbsp;</li><li style="text-align:left;">How CANLab’s features compare to popular free tools&nbsp;</li><li style="text-align:left;">How engineers use CAN capture in real-world validation and testing&nbsp;</li></ul></ul></div>
</div><div data-element-id="elm_TbeNeZBE8meKo3H8UrRlUg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true">Setting Up ATI CANLab for CAN Capture</h2></div>
<div data-element-id="elm_VXV-tF120ZyWzgGx4RM7RA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>ATI CANLab is designed for professional-grade capture, filtering, and analysis. Once your ATI CAN interface (such as a CANary, CANary FD) is connected to your PC and the CAN Bus, setup is straightforward:&nbsp;</div></div><p></p><ol><ol><li><span style="font-weight:bold;">Select Your Hardware</span>&nbsp;<br/>In CANLab, add your interface in the Channel Manager.&nbsp; This can be done manually or CANLab can automatically detect supported devices.&nbsp;</li><li><span style="font-weight:bold;">Configure Bus Parameters&nbsp;</span><span style="font-weight:700;"><br/></span>Set the CAN frame type (Classic CAN or CAN FD). Set the bit rate(s) to match the connected network.&nbsp;</li><li><span style="font-weight:bold;">Create a Capture Workspace&nbsp;</span><span style="font-weight:700;"><br/></span>Organize your capture view with multiple panes, such as a live message list, graphical plots, and a message decode view—so you can see data in different forms simultaneously.&nbsp;</li></ol></ol></div>
</div><div data-element-id="elm_3xunqxUv5skWPh2gb9GcGQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_3xunqxUv5skWPh2gb9GcGQ"] .zpimage-container figure img { width: 951px !important ; height: 599px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/image%20-4-.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_6Bu_lf23aOfnRhyqQJhfxA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true">Filtering and Triggering for Efficient Debugging</h2></div>
<div data-element-id="elm_BWQRzsy6xTfCV97NXQYqiA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Capturing everything on a busy CAN Bus can be overwhelming. CANLab’s filtering tools help you focus only on the data you need:&nbsp;</div></div><p></p><ul><li><span style="font-weight:bold;">ID-Based Filters&nbsp;</span><span style="font-weight:700;"><br/></span>ID Filters can be used with Message Loggers and the CAN Trace window to focus on the messages of interest. There are separate lists for 11-bit and 29-bit identifiers.&nbsp;</li><li><span style="font-weight:bold;">Message Highlighting&nbsp;</span><span style="font-weight:700;"><br/></span>Change the display formatting in the CAN trace window based on Message ID or the value of a signal in the message.&nbsp; &nbsp;</li><li><span style="font-weight:bold;">Event Triggers&nbsp;</span><span style="font-weight:700;"><br/></span>Set CANLab to begin capture based on a message or value appears on the bus. This is especially useful when trying to capture intermittent issues.&nbsp;</li></ul></div>
</div><div data-element-id="elm_0vMVm5EUZ3FSh1PMQFLg2Q" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>How CANLab Compares to Free Tools</span></h2></div>
<div data-element-id="elm_wfGQYLfop50KxROd0KKTpA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>There are popular free options like SavvyCAN and Wireshark with SocketCAN. These tools are excellent for hobbyists or quick one-off captures, but they have limitations compared to CANLab:&nbsp;</span></p></div>
</div><div data-element-id="elm_ysD6ZGH1i6MUDQoewYVuzA" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_Hg4NenLg2Xnz-yDhZDAJLw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_ax-2pVu-7AkFpUF6Q8DuiA" data-element-type="table" class="zpelement zpelem-table "><style type="text/css"> [data-element-id="elm_ax-2pVu-7AkFpUF6Q8DuiA"] .zptable{ width:100% !important; } </style><div class="zptable zptable-align-left zptable-align-mobile-left zptable-align-tablet-left zptable-header-light zptable-header-top zptable-cell-outline-on zptable-outline-on zptable-header-sticky-tablet zptable-header-sticky-mobile zptable-zebra-style-none zptable-style-both " data-width="100" data-editor="true"><table><tbody><tr><th scope="col" style="width:25%;"> <strong>Feature&nbsp;</strong></th><th scope="col" style="width:24.2228%;"> <strong>CANLab&nbsp;</strong></th><th scope="col" style="width:24.6941%;"> <strong>SavvyCAN&nbsp;</strong></th><th scope="col" style="width:25%;" class="zp-selected-cell"> <strong>Wireshark + SocketCAN&nbsp;</strong></th></tr><tr><td style="width:25%;"> Real-time signal decoding&nbsp;</td><td style="width:24.2228%;"> Built-in CAN DBC support</td><td style="width:24.6941%;"> Partial (manual mapping)&nbsp;</td><td style="width:25%;"> Partial (requires external configs)</td></tr><tr><td style="width:25%;"> Multi-bus synchronized capture&nbsp;</td><td style="width:24.2228%;"> Native</td><td style="width:24.6941%;"> Limited&nbsp;</td><td style="width:25%;"> Limited&nbsp;</td></tr><tr><td style="width:25%;"> Trigger and filter granularity&nbsp;</td><td style="width:24.2228%;"> Highly configurable</td><td style="width:24.6941%;"> Moderate</td><td style="width:25%;"> Basic&nbsp;</td></tr><tr><td style="width:25%;"> Long-term reliability&nbsp;</td><td style="width:24.2228%;"> Designed for continuous test logging</td><td style="width:24.6941%;"> Varies by platform&nbsp;</td><td style="width:25%;"> Dependent on OS stability&nbsp;</td></tr></tbody></table></div>
</div><div data-element-id="elm_kci-wVU6D8d-62Qhxl6umA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>If your work involves production vehicle testing, ECU calibration, or compliance validation, CANLab’s advanced features save time and prevent missed data.&nbsp;</span></p></div>
</div><div data-element-id="elm_zJKfLphuG5Ld3NLm2TbJPg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>How Engineers Use CAN Capture in Development and Testing</span></h2></div>
<div data-element-id="elm_b3duKzQidZASOrMaciy8VQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>In real-world engineering workflows, CAN capture and debugging is critical at multiple stages:&nbsp;<br/></div></div><p></p><ul><li><span style="font-weight:bold;">Early Development&nbsp;</span><span style="font-weight:700;"><br/></span>Verifying that an ECU is broadcasting the expected messages and signal values.&nbsp;</li><li><span style="font-weight:bold;">Integration Testing&nbsp;</span><span style="font-weight:700;"><br/></span>Confirming that different ECUs exchange data correctly without ID conflicts or unexpected delays.&nbsp;</li><li><span style="font-weight:bold;">Issue Reproduction&nbsp;</span><span style="font-weight:700;"><br/></span>Capturing the exact sequence of messages leading up to a fault so it can be analyzed later.&nbsp;</li><li><span style="font-weight:bold;">Regression Testing&nbsp;</span><span style="font-weight:700;"><br/></span>Comparing CAN logs from different software versions to ensure no unintended changes were introduced.&nbsp;</li></ul><div><div>With CANLab, these tasks are streamlined by time-aligned multi-bus capture, automatic decoding, and easy export for team collaboration.&nbsp;</div></div></div>
</div><div data-element-id="elm_ms7AornPGaQeX7gz8IHnuQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Wrapping Up</span></h2></div>
<div data-element-id="elm_iReChg-lhHUJksgVdH8fgQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Capturing and debugging CAN traffic is where theory meets reality. Whether you’re troubleshooting a stubborn fault, validating an ECU during development, or ensuring network integrity before production, the right tools make the difference between chasing ghosts and finding answers.&nbsp;</div><div><br/></div><div>Free tools can get you started, but ATI CANLab delivers the precision, flexibility, and reliability that professional workflows demand, especially when your test data needs to be accurate the first time, every time.&nbsp;</div><div><br/></div><div>In the next installment, we’ll take this knowledge on the road and look at sniffing a vehicle’s OBD-II network, covering passive monitoring, safe connection practices, and real-world logging techniques.&nbsp;</div></div><p></p></div>
</div></div></div><div data-element-id="elm_4TgSWEg2RraQ3-hwneMBCQ" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-roundcorner " href="/Products/CANLabSoftware" target="_blank"><span class="zpbutton-content">More About CANLab</span></a></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 04 Sep 2025 08:59:57 -0400</pubDate></item><item><title><![CDATA[Part 4: Physical Layer]]></title><link>https://www.accuratetechnologies.com/blog/post/Part-4-Physical-Layer</link><description><![CDATA[In this post, we take a closer look at the physical layer of a CAN network, which plays a vital role in ensuring reliable communication.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_LaokgN6fQzaRqczgMa3umw" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_7e9326ypQjqfCenrlSXwtA" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_wtdLoI_kSoabs8vJ8nzz7A" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_rNRsWlm2QWOK1jLTP7Lrsg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-align-center zpheading-align-mobile-center zpheading-align-tablet-center " data-editor="true"><span>Wiring, Termination, and Reliability</span></h2></div>
<div data-element-id="elm_h0PuR1fzRQOJx1lC_9mKTg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p style="text-align:left;"><span>Welcome to Part 4 of our CAN Bus series. In this post, we take a closer look at the physical layer of a CAN network, which plays a vital role in ensuring reliable communication. While higher-level protocols often get the spotlight, the physical layer is what allows CAN to operate consistently in demanding environments. We’ll cover the basics of twisted-pair wiring, 120-ohm termination, common physical layer mistakes, how to diagnose them using CANLab, and key EMI considerations for automotive applications.&nbsp;</span></p></div>
</div><div data-element-id="elm_WJ7Rq2XGDDG1Utm05TY1Ww" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>The Importance of the Physical Layer</span></h2></div>
<div data-element-id="elm_kli4XIH1ta5wauNpSMCePA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><p><span>CAN Bus is built to handle noisy, real-world environments like those found in vehicles, factories, and industrial machinery. A robust physical layer helps prevent corrupted frames, communication delays, and unpredictable failures. Most persistent CAN issues can be traced back to wiring faults, improper termination, or noise-related problems.&nbsp;</span></p></div></div><p></p></div>
</div><div data-element-id="elm_eyFd5-xORkwSWl5YJpSHhA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Twisted-Pair Wiring: Maintaining Signal Integrity</span></h2></div>
<div data-element-id="elm_STF4WzK6dmm6t1LLMXRvqg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><p><span>CAN Bus uses a differential signaling scheme. <span><span>This means that the bit state (0/1) is based on the voltage difference between CAN_H and CAN_L</span></span>. Twisting these wires together helps:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span>Cancel out electromagnetic interference (EMI)&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Maintain balanced signal transmission&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Minimize the effects of crosstalk&nbsp;</span></p></li></ul></div><div><p><span style="font-weight:bold;">Recommendation</span><span>: Use 22–24 AWG twisted pair wire. Keep the twist consistent (typically 33–50 twists per meter). In electrically noisy environments or long cable runs, consider using shielded twisted pair (STP) to further improve signal integrity.&nbsp;</span></p></div></div><p></p></div>
</div><div data-element-id="elm_w9pw9OzAq0qsdScYPrHemw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>120-Ohm Termination: Preventing Reflections</span></h2></div>
<div data-element-id="elm_UXmfz210V-O4MiIBO5zG_Q" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_Ip5kB2UhrpLoNa53I4mAIQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_zHFtyJueXOBmFaC9mIB09A" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><div><p><span>Termination resistors are critical for preventing signal reflections that can distort communication. According to the CAN standard (ISO 11898):&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span>Install one 120-ohm resistor at each end of the main CAN bus segment&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Do not add termination at intermediate nodes&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>The total load resistance between CAN_H and CAN_L should measure approximately 60 ohms&nbsp;</span></p></li></ul></div><div><p><span style="font-weight:bold;">Signs of Improper Termination</span><span>&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span>Weak or distorted voltage levels on CAN_H and CAN_L&nbsp;</span></p></li></ul></div></div><div><div><ul><li style="margin-left:24px;"><p><span>Communication errors or dropped frames&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Devices failing to transmit or receive messages&nbsp;</span></p></li></ul></div></div></div><p></p></div>
</div></div><div data-element-id="elm_jUmTZ3e7AaruhwXvq_jCIA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_LVPAobGgnCDQl5QGRGIbmA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_LVPAobGgnCDQl5QGRGIbmA"] .zpimage-container figure img { width: 540px ; height: 359.78px ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-fit zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/IMG_6093.JPG" size="fit" data-lightbox="true"/></picture></span></figure></div>
</div></div></div><div data-element-id="elm_HUzB8DBIXPHEs8RlQUXqYQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span><span>Common Wiring Mistakes and How CANLab Can Help</span></span></h2></div>
<div data-element-id="elm_laPYHGexxKFK8m7y9btfoA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span></span></p><div><div>Even experienced engineers can run into physical layer issues.&nbsp; When using CANLab, physical layer issues generally show up as sporadic Error Frames in the CAN trace window and increasing error frame counts in the Bus Statistics window.&nbsp; This is different from bitrate mismatches that result in a steady stream of Error Frames.&nbsp;<br/><br/><span><span>Some common Physical layer issues:&nbsp;</span></span><br/></div></div><p></p></div>
</div><div data-element-id="elm_R1Ex4P28pfRrqXltmmZLhA" data-element-type="table" class="zpelement zpelem-table "><style type="text/css"> [data-element-id="elm_R1Ex4P28pfRrqXltmmZLhA"].zpelem-table{ background-color:#e3e3e3; background-image:unset; border-style:solid; border-color:#aeaeae !important; border-width:1px; } [data-element-id="elm_R1Ex4P28pfRrqXltmmZLhA"] .zptable{ border-color: #aeaeae !important; } [data-element-id="elm_R1Ex4P28pfRrqXltmmZLhA"] .zptable table td{ border-color: #aeaeae !important; } [data-element-id="elm_R1Ex4P28pfRrqXltmmZLhA"] .zptable{ width:100% !important; } </style><div class="zptable zptable-align-left zptable-align-mobile-left zptable-align-tablet-left zptable-header- zptable-header-none zptable-cell-outline-on zptable-outline-on zptable-header-sticky-tablet zptable-header-sticky-mobile zptable-zebra-style-none zptable-style-both " data-width="100" data-editor="true"><table style="width:100%;"><tbody><tr><td style="width:26.0599%;"> <span><span><span style="text-align:center;font-weight:bold;"><span>Issue</span></span><span style="text-align:center;">&nbsp;</span></span>&nbsp;</span></td><td style="width:72.9456%;" class="zp-selected-cell"> <span><span><span style="text-align:center;font-weight:bold;"><span>How to Detect It</span></span><span style="text-align:center;">&nbsp;</span></span>&nbsp;</span></td></tr></tbody></table></div>
</div><div data-element-id="elm_fs765CLn37VoLXYTZlZ8rA" data-element-type="table" class="zpelement zpelem-table "><style type="text/css"> [data-element-id="elm_fs765CLn37VoLXYTZlZ8rA"].zpelem-table{ margin-block-start:-14px; } [data-element-id="elm_fs765CLn37VoLXYTZlZ8rA"] .zptable{ width:100% !important; } </style><div class="zptable zptable-align-left zptable-align-mobile-left zptable-align-tablet-left zptable-header- zptable-header-none zptable-cell-outline-on zptable-outline-on zptable-header-sticky-tablet zptable-header-sticky-mobile zptable-zebra-style-none zptable-style-both " data-width="100" data-editor="true"><table style="width:100%;"><tbody><tr><td style="width:26.1131%;"> <span><span><span>Termination&nbsp;</span></span>&nbsp;</span></td><td style="width:72.8039%;" class="zp-selected-cell"><div><div><p><span>This needs to be measured with the devices powered down.&nbsp; There should be approximately 60ohms between CAN_H and CAN_L.&nbsp;</span></p></div><div><p><span>Over Terminated =&gt; 40ohoms&nbsp;</span></p></div><div><p><span>Under Terminated =&gt; 120ohms&nbsp;</span>&nbsp;</p></div></div></td></tr><tr><td style="width:26.1131%;"> <span><span><span>Open connections&nbsp;</span></span>&nbsp;</span></td><td style="width:72.8039%;"> This needs to be measured with the devices powered up. Measure the voltage between CAN_H and ground it should be around 2.5volts.&nbsp; Repeat for CAN_L it should be 2.5 as well.&nbsp;<span><span><div><p><span>You may see the voltage jump a bit due to traffic on the CAN bus.&nbsp;</span>&nbsp;</p></div></span></span></td></tr><tr><td style="width:26.1131%;"><span><span>Incorrect wiring or swapped pins&nbsp;</span></span><span></span></td><td style="width:72.8039%;"> <span><span><span>Look for periodic Error Frames in the CAN trace window.&nbsp; This can be an indication that one device is wired incorrectly as Error Frames will occur when that device is attempting to transmit.&nbsp;</span></span></span></td></tr><tr><td style="width:26.1131%;"> <span><span><span>Unshielded or poorly routed wiring&nbsp;</span></span>&nbsp;</span></td><td style="width:72.8039%;"> <span><span><span>Look for sporadic Error Frames in the CAN Trace window.</span></span>&nbsp;</span></td></tr></tbody></table></div>
</div><div data-element-id="elm_wcn2gSZ7EUucJvxQnkAOtQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span><span style="font-weight:bold;">Tip:</span> CANLab’s physical layer monitoring tools make it easy to visualize bus voltage levels, detect signal reflections, and troubleshoot wiring faults that are hard to catch otherwise.</span></p></div>
</div><div data-element-id="elm_5wDhFqRxNT6FwNg6J-GBZw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>EMI in Automotive Environments</span></h2></div>
<div data-element-id="elm_MO-E0PaRZBa0vMvP06kyrg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><p><span>Vehicles are full of EMI sources including motors, solenoids, ignition systems, and switching power supplies. EMI can cause false edges, bit errors, and corrupted frames on a poorly protected CAN line.&nbsp;</span></p></div><div><p><span style="font-weight:bold;">EMI Mitigation Tips</span><span>&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span>Use twisted-pair or shielded cable, especially in long or sensitive segments&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Avoid routing CAN lines parallel to high-current cables or near power converters&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Keep stub lengths short (ideally under 30 cm)&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span>Ground shielding at a single point to prevent ground loops&nbsp;</span></p></li></ul></div><div><p><span>Proper cable routing and layout are just as important as correct electrical termination.&nbsp;</span></p></div></div><p></p></div>
</div><div data-element-id="elm_h20BCZ_DhvNYpWmkKRTRsA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Conclusion</span></h2></div>
<div data-element-id="elm_f2QrPM_Hgaiicwh00saglw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div><div><p><span>The physical layer is the unsung hero of the CAN Bus system. Correct wiring, termination, and EMI protection form the foundation for stable and predictable communication. With the help of tools like CANLab, engineers can catch subtle electrical issues early and build more robust CAN networks.&nbsp;</span></p></div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;"></span><span>&nbsp;</span></p></div><div><p style="margin-bottom:10.6667px;"><span style="font-weight:bold;">Next in the Series: Capturing and Debugging CAN Traffic</span><span>&nbsp;</span></p></div><div><p style="margin-bottom:10.6667px;"><span>In Part 5, we’ll explore how to effectively capture and analyze CAN traffic during development and testing. Topics include:&nbsp;</span></p></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;"><span>Using ATI CANLab</span></span><span>: Setup, filtering, and triggering&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">Comparison with free tools</span><span>: SavvyCAN, Wireshark + SocketCAN&nbsp;</span></p></li></ul></div><div><ul><li style="margin-left:24px;"><p><span style="font-weight:bold;">How engineers validate CAN</span><span> during development and system integration&nbsp;</span></p></li></ul></div></div><div><p style="margin-bottom:10.6667px;"><span>Stay tuned to learn how professionals approach real-world debugging and ensure system reliability through targeted CAN analysis.&nbsp;</span></p></div></div><p></p></div>
</div><div data-element-id="elm_nW1CBW9ET_q22314TjpORg" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-lg zpbutton-style-roundcorner " href="/Products/CANLabSoftware" target="_blank"><span class="zpbutton-content">Get Started Now</span></a></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Wed, 13 Aug 2025 13:25:24 -0400</pubDate></item><item><title><![CDATA[Part 3: Understanding CAN Frames and Message Structure ]]></title><link>https://www.accuratetechnologies.com/blog/post/introduction-to-can-bus-pt3</link><description><![CDATA[In this blog, we will examine the structure of CAN frames, the differences between frame types, and how tools like Accurate Technologies' CANLab software can be used to decode, visualize, and analyze CAN traffic effectively.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_6a8mSPaRT-m3aVq1hgUNgg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_qQA1hqXCQQ6zS2kNx9vcvQ" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content- " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_hzGruqUQRvOjpZQJ7vNYYg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_Rv_8aT0yRviP4EyEEDpLuA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p><span><span>After setting up your first CAN network, the next step is understanding what the messages on the bus actually contain. Every communication on the Controller Area Network (CAN) takes place in the form of a structured message called a frame. In this blog, we will examine the structure of CAN frames, the differences between frame types, and how tools like Accurate Technologies' CANLab software can be used to decode, visualize, and analyze CAN traffic effectively.&nbsp;</span></span></p></div>
</div><div data-element-id="elm_n5B1MoOX9Fl4DK3S5mmLeA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-weight:bold;">The Anatomy of a CAN Data Frame</span></h2></div>
<div data-element-id="elm_pEXDgTqbEx7uKaANL-MLcw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>The data frame is the most common frame type and is used to transmit actual payload data between electronic control units (ECUs). Each data frame follows a standardized layout as defined by the CAN protocol specification.&nbsp;</span></p></div>
</div><div data-element-id="elm_Qjr0y6q5zZDYbtOoVF-myA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true">Typical fields in a CAN data frame:&nbsp;</h2></div>
<div data-element-id="elm_MWA9wwki8Dca0QG7LzhJSA" data-element-type="table" class="zpelement zpelem-table "><style type="text/css"> [data-element-id="elm_MWA9wwki8Dca0QG7LzhJSA"] .zptable{ width:100% !important; } </style><div class="zptable zptable-align-left zptable-align-mobile-left zptable-align-tablet-left zptable-header-light zptable-header-top zptable-cell-outline-on zptable-outline-on zptable-header-sticky-tablet zptable-header-sticky-mobile zptable-zebra-style-none zptable-style-both " data-width="100" data-editor="true"><table style="width:100%;"><tbody><tr><th scope="col" style="width:32.9924%;"> <span><span style="text-align:center;font-weight:bold;"><span>Field</span></span><span style="text-align:center;">&nbsp;</span></span></th><th scope="col" style="width:65.9246%;"> <span><span style="font-weight:700;text-align:center;"><span>Description</span></span></span></th></tr><tr><td style="width:32.9924%;"> <span><span style="font-weight:bold;"><span>Identifier (ID)</span></span><span>&nbsp;</span></span></td><td style="width:65.9246%;"> <span><span>Specifies the message's priority and meaning. Lower ID values have higher priority on the bus.</span></span></td></tr><tr><td style="width:32.9924%;"> <span><span style="font-weight:700;"><span>Remote Transmission Request (RTR)</span></span></span></td><td style="width:65.9246%;"> <span><span>Indicates whether the frame is a data frame (RTR = 0) or a remote frame (RTR = 1).&nbsp;</span></span></td></tr><tr><td style="width:32.9924%;"> <span><span style="font-weight:bold;"><span>Identifier Extension (IDE)</span></span><span>&nbsp;</span></span></td><td style="width:65.9246%;"> <span><span>Distinguishes between a standard (11-bit) and extended (29-bit) identifier.&nbsp;</span></span></td></tr><tr><td style="width:32.9924%;"> <span><span style="font-weight:bold;"><span>Data Length Code (DLC)</span></span><span>&nbsp;</span></span></td><td style="width:65.9246%;"> <span><span>Indicates the number of data bytes (0 to 8 for Classical CAN, up to 64 for CAN FD).&nbsp;</span></span></td></tr><tr style="height:43.75px;"><td style="width:32.9924%;"> <span><span style="font-weight:700;"><span>Data Field</span></span></span></td><td style="width:65.9246%;"> <span><span>Contains the actual message payload.</span></span></td></tr><tr><td style="width:32.9924%;"> <span><span style="font-weight:bold;"><span>CRC</span></span></span></td><td style="width:65.9246%;"> <span><span>A cyclic redundancy check for detecting transmission errors.</span></span></td></tr><tr><td style="width:32.9924%;"> <span><span style="font-weight:bold;"><span>ACK</span></span><span>&nbsp;</span></span></td><td style="width:65.9246%;"> <span><span>An acknowledgment bit to confirm successful receipt.</span></span></td></tr><tr><td style="width:32.9924%;"> <span><span style="font-weight:bold;"><span>End of Frame</span></span><span>&nbsp;</span></span></td><td style="width:65.9246%;" class="zp-selected-cell"> <span><span>Marks the conclusion of the transmission.&nbsp;</span></span></td></tr></tbody></table></div>
</div><div data-element-id="elm_M2Hy-mbSSO5_8oDtl95cjg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><div>Example:&nbsp;</div><div>A simple data frame might appear as:</div></div><p></p></div>
</div><div data-element-id="elm_hsueE84iaPTPgsU-vEYwKA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_hsueE84iaPTPgsU-vEYwKA"] .zpimage-container figure img { width: 595px !important ; height: 71px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-left zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/Screenshot%202025-07-17%20132923.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_LMAe8xfhIuh7AmQHhyefFg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span><span>Interpreting what these bytes represent depends on the system configuration and a DBC database that maps data to meaningful signals.</span></span></p></div>
</div><div data-element-id="elm_TXqw3Lnt2GqvIfN6Zmmlqw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-weight:bold;">Standard vs Extended Identifiers</span></h2></div>
<div data-element-id="elm_mxEEkbVyDaFIOuKPck7aDw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>CAN frames use either standard (11-bit) or extended (29-bit) identifiers. The choice depends on the protocol and the application domain.</span></p></div>
</div><div data-element-id="elm_6L_8-qMhbTFqRvEUyke_jg" data-element-type="table" class="zpelement zpelem-table "><style type="text/css"> [data-element-id="elm_6L_8-qMhbTFqRvEUyke_jg"] .zptable{ width:100% !important; } </style><div class="zptable zptable-align-left zptable-align-mobile-left zptable-align-tablet-left zptable-header-light zptable-header-top zptable-cell-outline-on zptable-outline-on zptable-header-sticky-tablet zptable-header-sticky-mobile zptable-zebra-style-none zptable-style-both " data-width="100" data-editor="true"><table style="width:100%;"><tbody><tr><th scope="col" style="width:33.3333%;"> <span style="font-weight:bold;"><span>Identifier Type</span></span></th><th scope="col" style="width:33.3333%;"><span style="font-weight:bold;"> <span>Bit Length</span></span></th><th scope="col" style="width:33.3333%;"><span style="font-weight:bold;"> <span>Typical Use Cases</span></span></th></tr><tr style="height:50.2117px;"><td style="width:33.3333%;"><span style="font-weight:bold;"> <span>Standard ID</span></span></td><td style="width:33.3333%;"> <span>11 bits</span></td><td style="width:33.3333%;"> <span>Used in most automotive and industrial applications.</span></td></tr><tr><td style="width:33.3333%;" class="zp-selected-cell"><span style="font-weight:bold;"> <span>Extended ID</span></span></td><td style="width:33.3333%;"> <span>29 bits</span></td><td style="width:33.3333%;"> <span>Required in protocols like J1939 and used when a larger message set is needed.</span></td></tr></tbody></table></div>
</div><div data-element-id="elm_BtpGSWPDRPEI5xOSvmTSLw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>Lower ID values have higher arbitration priority, which allows more critical messages to take precedence on the network.</span></p></div>
</div><div data-element-id="elm_hRGEyGynVbXOsY4zQNi45A" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_hRGEyGynVbXOsY4zQNi45A"] .zpimage-container figure img { width: 550px !important ; height: 360px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/CAN%20Bus%20Frame.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_MkmiXMul6BAC0J223SfZaQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-weight:bold;">Remote and Error Frames</span></h2></div>
<div data-element-id="elm_hPUq9T6TqZzJk3a_Wjjxww" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>In addition to data frames, the CAN protocol defines two other important frame types:</span></p></div>
</div><div data-element-id="elm_FBUYPamrGCQKfVx-x365dA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Remote Frame</span></h2></div>
<div data-element-id="elm_9yFbn-MNFTMDUCTdBsRv4g" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>A remote frame is used to request data from another node on the network. It contains the same identifier as the expected response but does not carry any data payload. When a node receives a remote frame, it responds with a data frame containing the requested information.<br/><br/><span style="font-weight:bold;">Example:</span><br/></span></p></div>
</div><div data-element-id="elm_YfoviQ9eY9-tgbw-v4Hzxw" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_YfoviQ9eY9-tgbw-v4Hzxw"] .zpimage-container figure img { width: 335px !important ; height: 67px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-left zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/Screenshot%202025-07-17%20141231.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_WFgS9ldeIbdLFxWEma-Zpg" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span><span>Error Frame</span></span></h2></div>
<div data-element-id="elm_4nW_x0iogSStLoxxjlUf2g" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span>An error frame is automatically generated by nodes that detect a transmission error, such as a CRC mismatch or bit stuffing violation. Error frames are essential for fault-tolerant communication, although they are not typically visible in high-level monitoring unless explicitly enabled.</span></p></div>
</div><div data-element-id="elm_lXxXWPtsCVSc7tn4Q2EBbQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-weight:bold;">Byte Layout and Signal Decoding</span></h2></div>
<div data-element-id="elm_gKYvedZwU9CMok22Q2dKvQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><p>While the data field of a CAN frame is limited to eight bytes in Classical CAN, each byte or bit can carry specific meaning based on how the system is designed. A single frame might include multiple signals with their own scaling, units, and positions.<br/><br/></p><p>For example, a byte pair might represent a temperature signal using a scale factor and offset:</p><p id="list-fix-p" style="height:0px;">​</p><p id="list-fix-p" style="height:0px;">​</p><p id="list-fix-p" style="height:0px;">​</p><p id="list-fix-p" style="height:0px;">​</p><ul><li><p><span id="selection-start"></span><span id="selection-start"></span><span id="selection-start"></span><span id="selection-start"></span>Raw value: <code>0x01 0A</code> (decimal 266)</p></li><li><p>Scale: 0.1</p></li><li><p>Offset: -40</p></li><li><p>Interpreted: (266 × 0.1) - 40 = -13.4 °C<span id="selection-end"></span><br/><span id="selection-end"></span><span id="selection-end"></span><span id="selection-end"></span><br/></p></li></ul><p id="list-fix-p" style="height:0px;">​</p><p id="list-fix-p" style="height:0px;">​</p><p id="list-fix-p" style="height:0px;">​</p><p id="list-fix-p" style="height:0px;">​</p><p>To decode such values efficiently, engineers use <strong>DBC files</strong>, which describe the layout of data inside each frame. These files are critical for converting raw CAN data into human-readable signals.</p></div><p></p></div>
</div><div data-element-id="elm_GNX54vbsriQYpYf9fJ9mRQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-weight:bold;">Visualizing and Decoding Frames with CANLab</span></h2></div>
<div data-element-id="elm_z38o4suKNdPEoqh2K2FlKw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div><p>Accurate Technologies' CANLab software simplifies the process of interpreting and analyzing CAN messages by allowing users to apply DBC (<span><span>Database CAN)</span></span> files and view decoded signal data in real time.</p><h3>Key features of CANLab include:</h3><ul><li><p><strong>Raw Trace View</strong>: Shows message ID, timestamp, DLC, and data bytes in a time-ordered list.</p></li><li><p><strong>Signal View</strong>: Uses DBC definitions to decode signal values, display physical units, and apply scale factors automatically.</p></li><li><p><strong>Custom Filtering</strong>: Allows users to isolate messages or signals of interest.</p></li><li><p><strong>Scripting Support</strong>: Enables custom test automation or post-processing using embedded scripting.</p></li><li><p><strong>Graphing Tools</strong>: Displays signal trends over time for analysis or debugging.</p></li></ul><p>Using CANLab, a raw message such as:</p></div><p></p></div>
</div><div data-element-id="elm_id7y60kL10vY3hRJWUsucA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_id7y60kL10vY3hRJWUsucA"] .zpimage-container figure img { width: 612px !important ; height: 74px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-left zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-custom zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
                type:fullscreen,
                theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/files/Screenshot%202025-07-17%20144747.png" size="custom" data-lightbox="true"/></picture></span></figure></div>
</div><div data-element-id="elm_sjTZRYBpMphrz2vLQSANFg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><div><p>the above ID might be decoded to reveal:</p><ul><li><p><strong>Vehicle Speed</strong> = 100.0 km/h</p></li><li><p><strong>Brake Status</strong> = Active</p></li><li><p><strong>Steering Angle</strong> = -15.0 degrees</p></li></ul><p>This decoding transforms binary traffic into usable engineering data for testing, diagnostics, and validation workflows.</p></div></div>
</div><div data-element-id="elm_EC2AixZ5lZ2Pxx3DfslngA" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-weight:bold;">Summary</span></h2></div>
<div data-element-id="elm_DPs3vxjXaJabJGgznxSjJw" data-element-type="table" class="zpelement zpelem-table "><style type="text/css"> [data-element-id="elm_DPs3vxjXaJabJGgznxSjJw"] .zptable{ width:100% !important; } </style><div class="zptable zptable-align-left zptable-align-mobile-left zptable-align-tablet-left zptable-header-light zptable-header-top zptable-cell-outline-on zptable-outline-on zptable-header-sticky-tablet zptable-header-sticky-mobile zptable-zebra-style-none zptable-style-both " data-width="100" data-editor="true"><table style="width:100%;"><tbody><tr><th scope="col" style="width:24.5688%;"> <span>Concept</span></th><th scope="col" style="width:74.3482%;"> <span>Description</span></th></tr><tr><td style="width:24.5688%;"> <span>Data Frame</span></td><td style="width:74.3482%;"> <span>Carries actual payload data across the CAN network.</span></td></tr><tr><td style="width:24.5688%;"> <span>Remote Frame</span></td><td style="width:74.3482%;"> <span>Requests a data frame from another node using the same identifier.</span></td></tr><tr><td style="width:24.5688%;"> <span>Error Frame</span></td><td style="width:74.3482%;"> <span>Signals transmission errors and helps maintain network reliability.</span></td></tr><tr><td style="width:24.5688%;"> <span>Standard and Extended IDs</span></td><td style="width:74.3482%;"> <span>Allow flexibility in network design and message prioritization.</span></td></tr><tr><td style="width:24.5688%;"> <span>DBC Files</span></td><td style="width:74.3482%;" class="zp-selected-cell"> <span><span>Act as dictionaries, which can be used by development tools, to translate raw CAN HEX data into meaningful signal Names and physical Values.</span></span></td></tr><tr><td style="width:24.5688%;"> <span>CANLab</span></td><td style="width:74.3482%;"><div><div>Enables real-time visualization, filtering, and decoding of CAN traffic.</div></div></td></tr></tbody></table></div>
</div><div data-element-id="elm_eI1lwUC7Rr03BCzIIOiS0Q" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span style="font-weight:bold;">Wrapping Up</span></h2></div>
<div data-element-id="elm_YDF0wajUJVZ9bYzAyRG_tw" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span><span>In Part 4, we will shift focus to the hardware side of CAN: wiring, termination, and electrical reliability. You will learn how twisted-pair cables, 120-ohm termination, and proper shielding practices help maintain signal integrity. We will also discuss how the presence of error frames in CANLab can serve as an early indicator of physical layer issues, such as noise, improper termination, or faulty wiring, and how these symptoms can guide further troubleshooting.</span></span></p></div>
</div><div data-element-id="elm_zcrs2ntsSzarHDcbnBRp5w" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center zpbutton-align-mobile-center zpbutton-align-tablet-center"><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-lg zpbutton-style-roundcorner " href="/Products/CANLabSoftware" target="_blank"><span class="zpbutton-content">More about CANLab</span></a></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Fri, 18 Jul 2025 09:55:52 -0400</pubDate></item></channel></rss>