<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>concepts of USBD, CDC, and ACM</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/112879/concepts-of-usbd-cdc-and-acm</link><description>Hello, 
 I am programming BLE with the nRF52840-DK. [Toolchain Manager: v1.3.0, IDE: Visual Studio Code (VSCode), SDK: ncs v2.6.0, window11 pro] 
 My goal is to achieve a data rate of over 2Mbps between the PC and nRF52840-DK. (The PC and nRF52840-DK</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 11 Jul 2024 13:02:38 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/112879/concepts-of-usbd-cdc-and-acm" /><item><title>RE: concepts of USBD, CDC, and ACM</title><link>https://devzone.nordicsemi.com/thread/493434?ContentTypeID=1</link><pubDate>Thu, 11 Jul 2024 13:02:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b8c56ca-b25f-4116-90ad-0ef02ab84451</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Happy to help &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: concepts of USBD, CDC, and ACM</title><link>https://devzone.nordicsemi.com/thread/493427?ContentTypeID=1</link><pubDate>Thu, 11 Jul 2024 12:50:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b13d5aa9-11f2-4d03-a60a-208f3644cdc2</guid><dc:creator>seongmincho</dc:creator><description>&lt;div class="flex flex-grow flex-col max-w-full"&gt;
&lt;div dir="auto" data-message-author-role="assistant" data-message-id="018fe320-0d17-46ff-be39-2094e25bc049"&gt;
&lt;div&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert dark"&gt;
&lt;p&gt;I feel like I&amp;#39;ve put together scattered puzzle pieces. Thank you :)&lt;br /&gt;I need to focus on studying &amp;#39;CDC_ACM&amp;#39; for my goal.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="mt-1 flex gap-3 empty:hidden juice:-ml-3"&gt;
&lt;div class="items-center justify-start rounded-xl p-1 flex"&gt;
&lt;div class="flex items-center"&gt;
&lt;div class="flex items-center pb-0.5 juice:pb-0"&gt;&lt;span class="line-clamp-1 text-sm"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: concepts of USBD, CDC, and ACM</title><link>https://devzone.nordicsemi.com/thread/493325?ContentTypeID=1</link><pubDate>Thu, 11 Jul 2024 08:34:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa077049-b565-4c0a-b1c3-39334f713e8a</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user=""]What are the differences between USBD, CDC, and ACM?[/quote]
&lt;p&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf52840/page/usbd.html#ariaid-title1"&gt;USBD &lt;/a&gt;is actually USB Device and this is a functionality which allows the device to communicate over USB. USBD is like a general term which includes functionality to allow a device to act as a USB device. It allows full-speed USB device function which meets the 2.0&amp;nbsp;spec of the USB specification. It is implemented in the nRF52840 SoC.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;CDC (Communications Device Class) is a specific class of the USB and is included in the USB specification.&amp;nbsp;It allows USB devices to emulate serial ports, making it easier to create devices that communicate over USB using traditional serial port communication methods.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ACM (Abstract Control Mode) is a subclass of the CDC class. It&amp;#39;s job is to define the protocol for devices which emulate traditional serial ports,&amp;nbsp;providing control signals (like RS-232) over USB.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Both the CDC and ACM&amp;nbsp;&lt;span&gt;are part of the USB specification. They define a framework for various types of communications devices to interact with a host system. In the context of the nRF52840, the CDC ACM class is used to emulate a virtual COM port over USB, allowing the device to communicate with the PC as if it were a traditional serial port&amp;nbsp;.&amp;nbsp;When people talk about CDC ACM, they are often referring to devices that act like serial ports (COM ports) on a computer, using USB.&lt;/span&gt;&lt;/p&gt;
[quote user=""]For the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/samples/subsys/usb/cdc_acm/README.html"&gt;CDC_ACM &lt;/a&gt;example, do I need to install a USB program compatible with Windows?[/quote]
&lt;p&gt;This will not be necessary because when&amp;nbsp;you implement the CDC_ACM class on your nRF52840-DK, the device will appear as a virtual COM port on your Windows PC and&amp;nbsp;Windows usually has built-in drivers for CDC ACM devices.&amp;nbsp;When you connect the nRF52840-DK to your PC using a USB cable, it will enumerate as a COMx port on Windows hosts. Windows 8 and later versions &lt;a href="https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/usbd_cdc_acm_example.html"&gt;will automatically pick the correct driver (usbser.sys)&lt;/a&gt;&lt;/p&gt;
[quote user=""]The nRF52840-DK datasheet (p.533) states: &amp;quot;Full-speed (12 Mbps) device fully compliant to Universal Serial Bus Specification Revision 2.0, including following engineering change notices (ECNs) issued by USB Implementers Forum.&amp;quot;[/quote]
&lt;p&gt;The nRF52840-DK supports USB Full-Speed communication, which operates at a maximum data rate of 12 Mbps. So, what this statement means is that the device (DK) obeys or adheres to the USB 2.0 specification,&amp;nbsp;ensuring it meets all the requirements and standards for USB 2.0 devices. The &amp;quot;ECNs issued by&amp;nbsp;USB Implementers Forum&amp;quot; are updates or modifications to the USB 2.0 specification that the device also complies with.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hope this helps you. &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>