Author Topic: Embedded host for FTDI FT230X USB Slave  (Read 3157 times)

0 Members and 1 Guest are viewing this topic.

Offline voltsandjoltsTopic starter

  • Supporter
  • ****
  • Posts: 2297
  • Country: gb
Embedded host for FTDI FT230X USB Slave
« on: September 17, 2018, 11:14:31 am »
Looking to implement a USB Host on a PIC32 for an FT230X USB slave.
Of course the FTDI doesn't implement CDC which makes it a pain in the ass more fun.

Option 1:
Use the Segger library for hosting FTDI - but it expensive and not yet ported to PIC32 (its STM32/Renesas)

Option 2:
http://www.hobbytronics.co.uk/usb-host-serial

Option 3:
Have a look at the linux ftdi driver and have go at implementing my own host stack by hopefully applying simple mods to a CDC stack  :-\

Option 4:
FTDI Viniculum FT90x stuff. Hmmm, not familiar with it...yet.

Any other options?
« Last Edit: September 17, 2018, 11:46:56 am by voltsandjolts »
 

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1198
  • Country: fi
Re: Embedded host for FTDI FT230X USB Slave
« Reply #1 on: September 17, 2018, 12:02:21 pm »
libFTDI is a user-space driver on top of libusb. If nothing else it documents the low-level protocol (note the license). However why use an USB converter instead of the MCUs own serial ports?

Offline voltsandjoltsTopic starter

  • Supporter
  • ****
  • Posts: 2297
  • Country: gb
Re: Embedded host for FTDI FT230X USB Slave
« Reply #2 on: September 17, 2018, 12:33:46 pm »
An embedded device already exists which uses an FT230X, there are thousands of them out there.
I want to communicate with them from another embedded system based on PIC32.
 

Offline tsman

  • Frequent Contributor
  • **
  • Posts: 599
  • Country: gb
Re: Embedded host for FTDI FT230X USB Slave
« Reply #3 on: September 17, 2018, 05:45:24 pm »
Your best option is most likely to be to write the driver yourself.

http://www.hobbytronics.co.uk/usb-host-serial

I don't think you get source code for that. You just get a premade hex file to load into the PIC on their boards.

FTDI Viniculum FT90x stuff. Hmmm, not familiar with it...yet.
I would steer clear of any of the FTDI uCs. Both generations of the Vinculum chips were awful and have soured me to their uC designs. Support for the Vinculum chips was terrible. Tons of weird bugs in the toolchain that never got fixed. Examples didn't work. FTDI refused to document the internal architecture or peripherals and you had to access everything via buggy libraries they supplied. There are lots of complaints about these chips online if you search.

That said, the FT90x does appear to be a newer design and isn't a Vinculum as it is now 32-bit instead of the 16-bit core in the Vinculum. It does appear to be documented better and the FT90x user manual lists register maps etc... FTDI spunoff a new company called Bridgetek to handle all of these chips.

Up to you to decide but I wouldn't...
 

Offline voltsandjoltsTopic starter

  • Supporter
  • ****
  • Posts: 2297
  • Country: gb
Re: Embedded host for FTDI FT230X USB Slave
« Reply #4 on: September 28, 2018, 08:31:30 pm »
I decided to go with

Option 2:
http://www.hobbytronics.co.uk/usb-host-serial

I just buy the preprogrammed ICs and it has made the embedded code I need to develop (on a seperate uC) much simpler. So far its working well.

For anyone else following this path and brave enough to dive into writing their own embedded driver for FTDI this pure python user space FTDI driver (for FT230X and others) may provide some hints:
https://github.com/sgoadhouse/pyftdi
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf