Microcontroller USB interface chip

I know very little about USB, so excuse the naive question. I'm looking for an IC that I can interface with a microcontroller (in my case, the ATMega32) that will let me communicate with a computer over USB. My project involves large data transfers (for logging purposes) and serial / UART is too slow. Any direction would be helpful.

Thanks,

-J

Reply to
mach7
Loading thread data ...

Just get the AT90USB1287. It has everything you needed.

Reply to
linnix

There are many the book "USB Complete" is good. There is also information at

formatting link

Most major chips companys have at least some USB chips

Reply to
Neil

mach7 wrote

There are two major chips which implement a USB slave i.e. a way to talk to a PC which has a USB port (a USB controller).

One is Prolific in China, the other is FTDI in the UK.

Prolific are absolutely crap on support - I sell a product with their chip in and we never get any backup. Even buying them is a process... But it works OK. It is cheaper of the two in volume.

FTDI is much better

formatting link
and they have good support. price is about USD 2.50 in 1k quantities. Look up the FT232 or similar

- this gives a serial interface which you can connect to your microcontroller's serial port directly.

Both chips come with free drivers which create a virtual COM port (VCP) within the operating system. FTDI do much more driver support including various kinds of unix.

I sell a product with the FT232 in it and we are very pleased with it. We use the Prolific chip only because the product that uses it is made wholly in China so we have no choice.

There is a huge amount of work in the development of bug-free PC VCP drivers. You would never want to write your own. Windows implements predefined USB drivers for a few things like a USB keyboard/mouse, parallel port, but curiously not a serial port which is why if you want a USB serial port you have to provide the user with the VCP drivers.

One thing to consider is that the way windoze enumerates USB devices, it creates a new COM port # every time you plug the *same* device into a new USB port on the *same* PC. This is a right pain. The solution is to put an EEPROM in your product and write a unique serial number into this, and then the COM port becomes fixed to the device itself which is generally much more helpful. Very few USB product manufacturers bother with this EEPROM however. We do it on the FTDI chip based product - it's very easy. FTDI provide a different set of drivers (not VCP) which you install on a PC used to serialise your product and these provide access to the EEPROM. You just write in a string which contains a hash of today's date/time or whatever and then every one is unique.

Reply to
Peter

Another direction you may want to try if you really need to interface to the ATMega32 is:

formatting link

this will give you the FTDI chip, and provision for the Mega micro on the one proto board.

Cheers Don...

--
Don McKenzie

Site Map:            http://www.dontronics.com/sitemap
E-Mail Contact Page: http://www.dontronics.com/email

Intelligent 2.83" AMOLED with touch screen for micros:
http://www.dontronics-shop.com/product.php?productid=16699
Reply to
Don McKenzie

You could try the FT245R from FTDI if you have about

12 I/O port bits to spare. (4 for control and 8 as a data port).

formatting link

I hung one of these on an 8MHz MSP430 and I get transfers at about 100KBytes/second (equivalent to a 1MBit serial port). About half the time is spent reading data from an SD card via SPI, the other half transferring the bytes to the USB chip. FTDI provides certified Windows drivers and the chip is in a SSOP-28 package requiring just a few decoupling capacitors.

Mark Borgerson

Reply to
Mark Borgerson

I would NOT recommend FTDI. Their software is poorly documented, and very buggy.

Worst part is that when you point this out they respond with attitude rather than assistance.

There are many, many other vendors to choose from.

G.

Reply to
ghelbig

Like others I can recommend the FTDI chips. They have serial and parallel versions, PC-side device driver support is good, virtual COM port and a DLL with API. It's a very popular chip so there's support in Linux as well. There are cheap adapter boards if you can't do surface-mount.

TI and Silicon Labs have USB-RS232 bridges as well but I don't know how easy they are to use.

Andrew

Reply to
andrew queisser

I am in the process of selecting a USB to serial converter.

So G., what is a better solution than FTDI? And why?

Frank

Reply to
FD

[...]

I would like to know this too. Also, are there any can be used without supplying a driver (with recent versions of windows perhaps)?

--

John Devereux
Reply to
John Devereux

For one data point: The original data cable for Fluke's 190-series Scopemeters used a Prolific chip as the USB/serial gateway. The provided drivers would hang during data transfers on PCs with dual core CPUs. There was no in-place fix (no new drivers or firmware); Fluke had to make a new USB/serial cable using FTDI chips -- which work fine.

Some discussion of this at

I never did pop open the connector on the Rev 1 (Prolific) cable (it's on the "someday" pile) but the Rev 2 (FTDI) has been completely reliable.

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

berichtnews: snipped-for-privacy@y22g2000prd.googlegroups.com...

TI and SiLabs are two. Right now I'm so frustrated with FTDI's technical support that I'm tempted to say "any".

I too have had trouble with the Prolific adapter. There are some standard function calls that their driver does not support, but it always returns a "success" status code.

G.

Reply to
ghelbig

There are a number of USB ICs listed here;

formatting link

Reply to
www.interfacebus.com

John Devereux wrote

I've sold thousands of FTDI based USB-422/485 converters and had no problem at all in the field. I think that's pretty good.

There is a downside to having chosen the 'unique device' option (a serialised eeprom), which is that if you want to connect several of the devices to the same PC (actually this may be a very unusual scenario but one of my customers likes to do it) then windoze thinks it's a different device each time and forces you to install the driver for each device. Not a big deal (copy the installation CD into a temp dir and install from that; then you don't need to carry the CD about) and apparently there is no solution under windoze.

We've had some weird support issues with the Prolific product (again sold thousands of them) which were related to the known behaviour of getting a new COM port every time you plug a NON serialised USB device into a different USB port on the same PC. In one case I recall, windoze created a new COM port # every time the device was plugged into the *same* USB port. But to be fair this is very rare.

Nearly every USB-serial adapter on the high street is made in China and uses the Prolific chip.

Reply to
Peter

The AT90USBxxx chips will allow you to do a bulk transfer, which seems to be more inline with your needs than a USBSerial chip.

--
Best Regards,
Ulf Samuelsson
This is intended to be my personal opinion which may,
or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

The FTDI chips also use the bulk transfer mode. It makes the most sense for any device where you want high data rates with intermittent transfers and guaranteed end-to-end delivery.

Mark Borgerson

Reply to
Mark Borgerson

Lots of free USB stuff on my site including verilog code an explainations:

formatting link

Reply to
pinik

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.