Forums

Microcontroller USB interface chip

Started by mach7 May 1, 2008
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
On May 1, 4:00 pm, mach7 <mach7so...@gmail.com> wrote:
> 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
Just get the AT90USB1287. It has everything you needed.
mach7 wrote:
> 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
There are many the book "USB Complete" is good. There is also information at http://www.lvr.com/usbc.htm Most major chips companys have at least some USB chips
mach7 <mach7sonic@gmail.com> wrote

>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
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 (www.ftdichip.com) 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.
mach7 wrote:
> 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
Another direction you may want to try if you really need to interface to the ATMega32 is: http://www.dontronics-shop.com/AVR-P40-USB-8535-p-16511.html 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
In article <481a9914$0$25063$607ed4bc@cv.net>, 
NeilKurzm@worldnet.att.net says...
> mach7 wrote: > > 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 > There are many the book "USB Complete" is good. There is also > information at http://www.lvr.com/usbc.htm > > Most major chips companys have at least some USB chips >
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). http://www.ftdichip.com/Products/FT245R.htm 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
On May 1, 11:03 pm, Peter <nos...@nospam9876.com> wrote:
> mach7 <mach7so...@gmail.com> wrote > > >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 > > 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 (www.ftdichip.com) 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.
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.
"mach7" <mach7sonic@gmail.com> wrote in message 
news:84affe4d-4aec-46e2-a36d-d4fa429f9008@x35g2000hsb.googlegroups.com...
>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
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
<ghelbig@lycos.com> schreef in bericht 
news:8b206752-b181-448d-9cca-0fb6203c9edc@y22g2000prd.googlegroups.com...
> On May 1, 11:03 pm, Peter <nos...@nospam9876.com> wrote: >> mach7 <mach7so...@gmail.com> wrote >> >> >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 >> >> 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 (www.ftdichip.com) 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. > > 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.
I am in the process of selecting a USB to serial converter. So G., what is a better solution than FTDI? And why? Frank
"FD" <fd@fd.ods.org> writes:

> <ghelbig@lycos.com> schreef in bericht > news:8b206752-b181-448d-9cca-0fb6203c9edc@y22g2000prd.googlegroups.com...
[...]
>> >> 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. > > I am in the process of selecting a USB to serial converter. > > So G., what is a better solution than FTDI? > And why? > > Frank
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