<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic I want multiple virtual comm ports on USB in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/I-want-multiple-virtual-comm-ports-on-USB/m-p/1007171#M39519</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It seems that depending on which family of MCU I chose, I am limited as to how many VCPs I can have.&lt;/P&gt;&lt;P&gt;For instance, I _think_ the LPC11U68 is limited on endpoints so just one VCP is possible. AN12458 states the LPC54018 can have two VCPs on the high speed and another two VCPs on the full speed - which sounds confusing - shouldn't ten physical endpoints support at least three VPCs? Maybe it's how they are allocated...&lt;/P&gt;&lt;P&gt;So, which LPC's would give me the most? Is there an easy way to determine how many VCPs I can run on a particular device?&lt;/P&gt;&lt;P&gt;The application is a single MCU that has several different UARTs with various proprietary protocols, so I'm trying to get the chip count down as low as possible. There's not a lot of processing, so an M0 core is adequate. I just want a single device that appears as multiple comm ports.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 04 Dec 2019 15:44:40 GMT</pubDate>
    <dc:creator>chrispflieger</dc:creator>
    <dc:date>2019-12-04T15:44:40Z</dc:date>
    <item>
      <title>I want multiple virtual comm ports on USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/I-want-multiple-virtual-comm-ports-on-USB/m-p/1007171#M39519</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It seems that depending on which family of MCU I chose, I am limited as to how many VCPs I can have.&lt;/P&gt;&lt;P&gt;For instance, I _think_ the LPC11U68 is limited on endpoints so just one VCP is possible. AN12458 states the LPC54018 can have two VCPs on the high speed and another two VCPs on the full speed - which sounds confusing - shouldn't ten physical endpoints support at least three VPCs? Maybe it's how they are allocated...&lt;/P&gt;&lt;P&gt;So, which LPC's would give me the most? Is there an easy way to determine how many VCPs I can run on a particular device?&lt;/P&gt;&lt;P&gt;The application is a single MCU that has several different UARTs with various proprietary protocols, so I'm trying to get the chip count down as low as possible. There's not a lot of processing, so an M0 core is adequate. I just want a single device that appears as multiple comm ports.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Dec 2019 15:44:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/I-want-multiple-virtual-comm-ports-on-USB/m-p/1007171#M39519</guid>
      <dc:creator>chrispflieger</dc:creator>
      <dc:date>2019-12-04T15:44:40Z</dc:date>
    </item>
    <item>
      <title>Re: I want multiple virtual comm ports on USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/I-want-multiple-virtual-comm-ports-on-USB/m-p/1007172#M39520</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Chris&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;To select the LPC MCU I recommend you to follow this mini-guide that I´ve made.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&amp;nbsp;&lt;SPAN&gt;Each VCP will require 3 endpoints.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&amp;nbsp;Endpoints requirements for VCPs&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;Physical endpoint&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endpoint Type&amp;nbsp;&amp;nbsp; Direction&amp;nbsp;&amp;nbsp; Packet size&amp;nbsp;&amp;nbsp; ( max value in bytes)&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;EPn1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bulk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64 full speed / 512 high speed&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;EPn2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bulk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64 full speed / 512 high speed&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;EPn3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupt&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&amp;nbsp;Take into account that the packet size&lt;SPAN&gt;&amp;nbsp;of each endpoint is stored into an &lt;/SPAN&gt;&lt;SPAN&gt;endpoint buffer RAM&lt;/SPAN&gt;&lt;SPAN&gt;. &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;You should take into account the following considerations to calculate how many&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;VCP´s will support an MCU.&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI style="margin: 0in; font-size: 11.0pt;"&gt;&amp;nbsp;Endpoints for a VCP shall not be control or isochronous type.&lt;/LI&gt;&lt;LI style="margin: 0in; font-size: 11.0pt;"&gt;Each&amp;nbsp; EP will consume a certain amount of USB ram space, due to its packet size&lt;/LI&gt;&lt;LI style="margin: 0in; font-size: 11.0pt;"&gt;take the sum of each packet size and see if it fits into ram space.&lt;/LI&gt;&lt;LI style="margin: 0in; font-size: 11.0pt;"&gt;The packet size of an EP could be smaller than its maximum value.&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;Now take a look at these examples&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;This is the table of endpoints for&amp;nbsp; LCP1311, which supports only one VCP&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="endpoints.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/95934iF68167CC877C3455/image-size/large?v=v2&amp;amp;px=999" role="button" title="endpoints.png" alt="endpoints.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;There are only 6 endpoints of interrupt or bulk type.&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;For another VCP the LPC1311 must have another&amp;nbsp;&amp;nbsp; EP&amp;nbsp; with&amp;nbsp;&lt;STRONG&gt; in&lt;/STRONG&gt; direction.&amp;nbsp; In&amp;nbsp; this case&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;endpoint buffer RAM was enough to cover EP buffer size.&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&lt;SPAN&gt;The&lt;STRONG&gt; LPC17&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;Supports 32 physical (16 logical) endpoints and has a 4 kB endpoint buffer RAM.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;For the&amp;nbsp; &lt;STRONG&gt;LPC5400&lt;/STRONG&gt; case:&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;Its USB0 device controller supports 10 physical (5 logical) endpoints including two control endpoints.&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;Its&amp;nbsp; USB1 device controller with the specification for high speed supports 8 physical (16 logical) endpoints with up to 8 kB endpoint buffer RAM.&amp;nbsp;Control, Bulk, Interrupt and Isochronous endpoints are supported.&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin: 0in; font-size: 11.0pt;"&gt;I hope this information helps you, best regards.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Diego&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Dec 2019 23:31:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/I-want-multiple-virtual-comm-ports-on-USB/m-p/1007172#M39520</guid>
      <dc:creator>diego_charles</dc:creator>
      <dc:date>2019-12-06T23:31:25Z</dc:date>
    </item>
  </channel>
</rss>

