Starter Kits with 2 USB Ports from NXP / ST - Page 1
Forum section: electronics / general

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 28, 2016, 12:01:02 pm
content: I'm looking for starter kits with 2 USB Ports (device) these could be FS ports but higher (HS) is also OK.I would have preferred PIC32 but as of today they don't have chips with 2 USB ports.Preferably the chips would be the popular ARM Cortex M series ...I don't have any vendor preference but NXP / ST seem to be extremely popular for this line of chips.After searching the forum I have currently found this linkhttps://www.eevblog.com/forum/microcontrollers/microcontroller-with-2-usb-device-controllers/msg216539/#msg216539he recommends the STM32F4DISCOVERY and based on STM32F407VGT6 however he had posted that 3 years ago.I would like a few more options before taking a final descision, would love to hear your suggestions.TIA

author: technix
author_rank: Super Contributor
timestamp: October 28, 2016, 12:58:31 pm
content: Arduino Due? I know that is not a board from NXP or ST, but it is still an ARM-based dev kit.One of the two USB ports comes directly from the ATSAM3X8E and is a high-speed OTG port. The other, a full-speed device port, comes from the ATmega16U2 on the same board that serves the purpose of USB to Serial adapter by default, and can be used to store your own code too. The two microcontrollers can talk to each other using the serial port.

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 28, 2016, 02:26:46 pm
content: Quote from: technix on October 28, 2016, 12:58:31 pmThanks technix! I need to have a closer look at that board but point noted. The reason I specifically mentioned NXP / ST is I had opened another thread on this forumhttps://www.eevblog.com/forum/microcontrollers/migration-from-pic-to-arm/and a lot of posters referred to either NXP or ST infact I must admit that completely forgot about offerings from Atmel, but now that you have bought up the point how do their offerings compare to those of ST / NXP.Preferably If I buy a board with a that has a chip from a particular supplier I would like to stick with that supplier for production too..

author: technix
author_rank: Super Contributor
timestamp: October 28, 2016, 03:18:35 pm
content: Quote from: ZeroResistance on October 28, 2016, 02:26:46 pmArduino Due had two USB ports, but that is implemented using two USB microcontrollers each with one USB port. If your project needs to use both, you will have to split the project in halves, with one of the two ports being implemented in AVR on the ATmega16U2, and the other being implemented in ARM on the ATSAM3X8E, and the two chips talking to each other over UART Serial.

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 28, 2016, 06:29:00 pm
content: Quote from: technix on October 28, 2016, 03:18:35 pmThanks for the info.I would have preferred a single chip solution because I would be quite happy to stay with the PIC, unfortunately they don't have a chip with 2 USB ports.

author: skytoastar
author_rank: Contributor
timestamp: October 28, 2016, 07:57:13 pm
content: The MSP-EXP430F5529LP launchpad only has one USB port but it has two USB devices on board. It uses a TUSB2046, which is a USB hub, to allow the PC to connect to both devices (the debugger and the MSP430F5529's USB port). Perhaps it would be possible to "turn it around" and have the single USB upstream port connected to the microcontroller. (Not on the kit board, obviously, but in a project.)In other words, maybe you can use a hub? If you want a dev kit where the chip as its own dedicated usb port, the EFM32 kits from Silicon labs have that (e.g. EFM32LG-STK3600 or EFM32GG-STK3700). The second USB port is used for debugging. I'm not sure of the possibility of coding the use a hub, though.Edit: From Silicon Lab application note AN0801: "The EFM32 USB Host Stack does not support hubs."Another edit: It looks like MSP430 USB-enabled chips can only be a "device" and not a "host".Edit 3: TI's TivaC series of chips may allow a hub to connect when it's acting as a host. See "TivaWare USB Library for C Series User's Guide"http://www.ti.com/lit/pdf/spmu297Section 3.4.2 "Hub Class Driver"

author: nctnico
author_rank: Super Contributor
timestamp: October 28, 2016, 08:07:22 pm
content: Quote from: ZeroResistance on October 28, 2016, 06:29:00 pmWhat are you trying to do? What does your system look like? Speed requirements?

author: janoc
author_rank: Super Contributor
timestamp: October 28, 2016, 08:19:42 pm
content: I am not aware of any ST micro having 2 USB interfaces. You can get some of the Nucleo/Discovery boards with 2 USB connectors, but one is for the built-in ST-Link debugger.What do you need 2 USB interfaces for? Can't you use a HUB? Or implement a composite device that behaves as 2 devices?

author: cv007
author_rank: Frequent Contributor
timestamp: October 28, 2016, 10:13:42 pm
content: QuotePIC32 you want + PIC16F1454 (<$1 @ 100+). Just a thought, since you probably won't get 2 usb in one unless you move up into 'high(er) powered' ($$) chips.

author: thm_w
author_rank: Super Contributor
timestamp: October 28, 2016, 11:35:51 pm
content: It looks like STM32F446 has USB FS and HS. STM32F745 and a few other F7xx as well. Port can be either can be host or device.Quote from: janoc on October 28, 2016, 08:19:42 pmOn amp hour one use was as passthrough to monitor packets or inject data.They were using an LPC part to do this.

author: ehughes
author_rank: Frequent Contributor
timestamp: October 29, 2016, 01:33:53 am
content: http://www.nxp.com/products/reference-designs/lpcxpresso4367-development-board:OM13088LPC4367 Based. $30 Triple Core (M4+M0+M0) :-) 2 USB ports.I use the LPC43xx series for dual USB. I typically use the high speed port for the USB host (480MBit) and the full speed for external comms.

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 29, 2016, 02:11:01 am
content: Quote from: janoc on October 28, 2016, 08:19:42 pmQuote from: nctnicoA PS/2 KM switchI need to connect a PS/2 keyboard / mouse to the controller and then each usb would be connected to a seperate PC.

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 29, 2016, 02:17:58 am
content: Quote from: skytoastar on October 28, 2016, 07:57:13 pmThank's for the amount of research you did however based on the feedback from other threads I'm more tilted towards the ARM Cortex Mx series...

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 29, 2016, 02:19:49 am
content: Quote from: ehughes on October 29, 2016, 01:33:53 amGood catch! Anything with only M3/M4?, I mean triple core is way too much horsepower... but I'll keep that on my list. Thanks again.

author: skytoastar
author_rank: Contributor
timestamp: October 29, 2016, 02:25:55 am
content: Quote from: ZeroResistance on October 29, 2016, 02:17:58 amTI's Tiva C series are based on a Cortex M4 and EFM32 is either M3 or M4 (for those that have USB). Though I mentioned using it as a host. Whereas if you want it connected to two PCs, you're talking about a dual-device config. I'm not so sure how that would work...

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 29, 2016, 02:30:30 am
content: Quote from: skytoastar on October 29, 2016, 02:25:55 amI didn't look much into TI so I must admit I'm not on stable ground here but having said that how do the chips compare to NXP / ST ... bang/buck?

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 29, 2016, 03:11:24 am
content: Also found this pagehttps://www.lpcware.com/content/project/Dual-USB-Host-Device-solutionit seems to be 3 years old but lists 3 mcu'sQuote

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 29, 2016, 07:12:57 am
content: Another chip from NXPK26_180: Kinetis K26-180 MHz, Dual High-Speed & Full-speed USBs, 2MB Flash MCUs based on ARM® Cortex®-M4.However these are around USD10 @ 10KpcsAnd also the following seriesLPC1800 - ARM Cortex M3LPC4000 / 4400 - ARM Cortex M4But all these seem to be high end and expensive

author: mac.6
author_rank: Regular Contributor
timestamp: October 29, 2016, 08:06:26 am
content: Be sure to target MCU with integrated phy as it will simplify a lot your design.if K26 is too expensive, you have K65/K66 , dual USB FS+HS with integrated phy.

author: hans
author_rank: Super Contributor
timestamp: October 29, 2016, 08:13:38 am
content: STM32F4 has 2 USB ports, but for one you need to add an external USB phy (it operates 480Mbit/s though).E.g. STM32F405 even has itAlso STM32F205.

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 29, 2016, 08:15:49 am
content: Quote from: mac.6 on October 29, 2016, 08:06:26 amMK66FN2M0VLQ18 of K66 series $7 @ 10Kpcs looks like most dual USB devices are high end.

author: cv007
author_rank: Frequent Contributor
timestamp: October 29, 2016, 03:18:44 pm
content: So, if you decide you want to control an additional pc or two (3 to 4 usb), you have to add another $7 chip. Or, just use something like a 16f1454 for each usb port needed, each port/chip is a dollar, they all can run the same firmware, and the only problem left is to determine which pic gets to talk to the keyboard/mouse. Maybe you have a lot more going on than just a simple ps2-to-hid conversion, though.Just a thought.

author: ZeroResistance
author_rank: Frequent Contributor
timestamp: October 29, 2016, 06:06:14 pm
content: Quote from: cv007 on October 29, 2016, 03:18:44 pmYes, I think its not feasable any more the cost of the chips are high but I'll just have a last look at ST to see what they have as Hans and other's have mentioned otherwise its back to the PIC's.

author: nctnico
author_rank: Super Contributor
timestamp: October 29, 2016, 06:32:34 pm
content: Quote from: ZeroResistance on October 29, 2016, 02:11:01 amIf the keyboard/mouse don't need to operate on both PCs simultaneously I'd put an analog switch or relay between the 2 (or more) USB ports. The selected PC will enumerate the keyboard & mouse after switching connecting the device. AFAIK that is how all USB based KVM switches work because there will be some status updates towards the keyboard and/or mouse as well (caps light, maybe mouse sensitibity).

author: janoc
author_rank: Super Contributor
timestamp: October 29, 2016, 08:54:13 pm
content: Why not use 2 micros sharing the keyboard/mouse instead? You could use a multiplexer to switch them over between the micros. That is much easier to do than finding a cheap micro with 2 USB ports.Then you can use two cheap small micros you will find anywhere. Definitely easier than designing in a very expensive high end micro only for its 2 USB interfaces.

author: nctnico
author_rank: Super Contributor
timestamp: October 29, 2016, 09:36:19 pm
content: Quote from: janoc on October 29, 2016, 08:54:13 pmIn that case use a multipole switch to select between two PS/2 to (readily made off the shelve) USB converters.

author: technix
author_rank: Super Contributor
timestamp: October 30, 2016, 04:50:19 am
content: Quote from: nctnico on October 29, 2016, 09:36:19 pmIn that case, you might as well use one of those ready-made KVM switch. I have 4 computers sharing one console, and I have an ATEN CS1794 USB+HDMI KVMP switch for this.

author: janoc
author_rank: Super Contributor
timestamp: October 30, 2016, 05:37:51 am
content: Quote from: nctnico on October 29, 2016, 09:36:19 pmYes, that's the obvious solution. I have suggested the multiplexer, because it is easier/cheaper to find than a multipole switch or relay needed to switch the 4 separate data lines for the mouse & keyboard and can be also electronically controled, if required. Then the inputs can be switched using a cheap push button.

author: janoc
author_rank: Super Contributor
timestamp: October 30, 2016, 05:39:24 am
content: Quote from: technix on October 30, 2016, 04:50:19 amPerhaps the OP has some particular reason why they are designing a KVM switch from scratch.