ARM-Cortex with 16 bidirectional USB endpoints - Page 1
Forum section: electronics / general

author: josip
author_rank: Regular Contributor
timestamp: July 06, 2023, 06:01:12 am
content: I know for Freescale Kinetis and RP2040. Is there any other ARM-Cortex devices with 16 bidirectional USB endpoints?

author: GromBeestje
author_rank: Frequent Contributor
timestamp: July 06, 2023, 04:21:29 pm
content: What do you mean by bidirectional endpoints, as IN and OUT endpoints are individual things.Do you need 16 IN and 16 OUT endpoints (do you count endpoint 0x01 and 0x81 as bidirectional endpoint 1)or are you fine with 8 IN and 8 OUT endpoints, adding them up to 16?Also, does this count include or exclude the SETUP endpoint 0 (0x00 / 0x80) ?

author: josip
author_rank: Regular Contributor
timestamp: July 06, 2023, 07:40:38 pm
content: I know that most devices are with about 8 bidirectional (8 IN and 8 OUT) endpoints. This is not what I am looking for.Kinetis family is with 16 bidirectional (16 In and 16 OUT) endpoints. I am looking for something like this but with more horse power.

author: GromBeestje
author_rank: Frequent Contributor
timestamp: July 06, 2023, 08:14:49 pm
content: I've looked through some datasheets I've in my collection, (STM32, XMC4, EFM32, PSoC4, PSoC5, nRF52) but it seems SETUP + 7 IN/OUT is the max there.The RP2040 you already mentioned is the only one I could find.

author: Nominal Animal
author_rank: Super Contributor
timestamp: July 06, 2023, 09:45:58 pm
content: I too have never seen anything more powerful in the microcontroller class than (now NXP) Kinetis K66 (180 MHz, etc.) with 16 bidirectional USB endpoints.In particular, the i.MX RT1062 (600 MHz) as used in e.g.Teensy 4.xonly has 8, as is usual.In theory – there being no reason why it wouldn't work, I just haven't seen anyone do it – you could use something like i.MX RT1062, which has two high-speed USB devices (one is OTG, as is usual, but both are capable of low-speed, full-speed (12 Mbit/s) and high-speed (480 Mbit/s) USB) with 8 bidirectional endpoints each, connected to a two-port hub. It would show up as a hub and two separate devices to the OS, but since you need many endpoints (which in e.g. Linux can be exposed each as a separate device), it should not be a problem. With a normal USB hub, the overall bandwidth is still limited to at most 480 Mbit/s (and not twice that), though.

author: SiliconWizard
author_rank: Super Contributor
timestamp: July 06, 2023, 09:49:39 pm
content: Why do you need 16 endpoints though?Are you sure you really need that?

author: XIVN1987
author_rank: Newbie
timestamp: July 07, 2023, 03:48:27 am
content: CH32V305 USBHS has 16 bidirectional endpoints.

author: GromBeestje
author_rank: Frequent Contributor
timestamp: July 07, 2023, 06:07:54 am
content: I didn't have a look at RISC-V MCUs for this, but as you mention the CH32V3 series, it shares its peripherals with the CH32F2 series.So if you're looking for a Cortex-M based MCU, it seems the CH32F203 might be an answer as well.

author: josip
author_rank: Regular Contributor
timestamp: July 07, 2023, 08:39:58 am
content: Well, I was looking at CH348 (high speed USB to Octal Serial Ports) and didn't thinking in direction that they (WCH) probably have IP hardware part (high speed USB with more than 8 endpoints) that is included in their microcontrollers.Now (thanks to XIVN) AFAIK, WCH is only device with HS USB module with 16 bidirectional endpoints, and FS USB too. Unfortunately they don't have SPI with 4 data lines (and I need this).Kinetis K26 and K66 are with 16 bidirectional endpoints in FS USB module. HS USB is limited to 8, like in most micros today.I am working on K32L2A (KL28 remake) that have all that I need. Searching few days over mouser and digikey, for same but more horse power and HS USB, ended without result.Just to comment IMXRT. I was also thinking about 2 HS USB module inside micro bridged with extra USB HUB chip on board. IMXRT need extra flash chip, half of the pins are not GPIO, there is special power on/off sequence and there is no DAC (except 1170). Not for me.

author: JPortici
author_rank: Super Contributor
timestamp: July 07, 2023, 09:10:41 am
content: Quote from: josip on July 07, 2023, 08:39:58 amI checked on microchip's side.. and to my surprise while PIC32MZ EF has high speed usb, it "only" has 8 bidirectional endpoints, whereas a much more lowly PIC24 (PIC24FJ GU series) has full speed USB, 16 bidirectional endpoints, and of course nowhere the grunt required. PIC32MK has the same full speed USB IP core as in the PIC24, so you would get your 16bidirectional endpoints (and the 100pin variants actually come with two USB modules) but it will surely lack in other areas, i would put it on par with a Cortex M4ATSAME70 has 9 bidirectional endpoints, but probably ticks all the other boxesI wonder what could be the use care for all those endpoints anyway?

author: josip
author_rank: Regular Contributor
timestamp: July 07, 2023, 09:29:05 am
content: PIC using the same FS USB IP core as Kinetis. PIC USB documentation is better than Kinetis, and I was reading PIC manuals during USB coding on KL27.

author: JPortici
author_rank: Super Contributor
timestamp: July 07, 2023, 01:30:54 pm
content: Quote from: josip on July 07, 2023, 09:29:05 amAh! did not know that