EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

USB Host

Started by Martin January 22, 2005
What's the least painful way to implement simple (as in a strictly limited 
set of connecting devices) USB Host support on a C8051-based design?  USB 
Peripheral mode is easily handled with something like FTDI's chips.

Atmel's AT43USB380 looks interesting.  However, not sure if their API's 
support the 8051.

Thanks,

-Martin 


Hello !

In this case, I would consider Phillips's ISP1160BD/01, ISP1160BM/01, 
ISP1760BE or ISP1760ET. They are all USB host controllers designed for 
embedded applications. The latter two are Hi-Speed rated.
All feature a generic, programmable parallel connection to any modern 
microprocessor, thus I would imagine that the 8051 is also supported. The 
most common use is make these controllers appear like a memory mapped 
devices for the microprocessor/-controller.
I do not know if they'll directly fit a 8051-compatible bus, because I 
didn't read the datasheets. But you could try checking them out. Here's a 
link to get you started: 
http://www.semiconductors.philips.com/similar/ISP1160BD_01.html

-Antti


"Martin" <0_0_0_0_@pacbell.net> wrote in message 
news:jToId.13806$wZ2.2708@newssvr13.news.prodigy.com...
> What's the least painful way to implement simple (as in a strictly limited > set of connecting devices) USB Host support on a C8051-based design? USB > Peripheral mode is easily handled with something like FTDI's chips. > > Atmel's AT43USB380 looks interesting. However, not sure if their API's > support the 8051. > > Thanks, > > -Martin >
> What's the least painful way to implement simple (as in a strictly limited > set of connecting devices) USB Host support on a C8051-based design? USB > Peripheral mode is easily handled with something like FTDI's chips. > > Atmel's AT43USB380 looks interesting. However, not sure if their API's > support the 8051.
Add an ATmega128 and an AT43USB380. Let the 80C51 communicate with the AVR using SPI. Since you need 64 kB of code and 4 kB of data on an AVR, you probably will find the 80C51 too small for this. /Ulf
> > Thanks, > > -Martin >
"Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote:

> > What's the least painful way to implement simple (as in a strictly limited > > set of connecting devices) USB Host support on a C8051-based design? > > Add an ATmega128 and an AT43USB380. > Let the 80C51 communicate with the AVR using SPI. > Since you need 64 kB of code and 4 kB of data on an AVR, > you probably will find the 80C51 too small for this.
Ulf, is there anything in this world for which the AVR is not the ultimate solution? -- Nicholas O. Lindan, Cleveland, Ohio Consulting Engineer: Electronics; Informatics; Photonics. Remove spaces etc. to reply: n o lindan at net com dot com psst.. want to buy an f-stop timer? nolindan.com/da/fstop/
On 2005-01-22, Nicholas O. Lindan <see@sig.com> wrote:
> "Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote: > >>> What's the least painful way to implement simple (as in a >>> strictly limited set of connecting devices) USB Host support >>> on a C8051-based design? >> >> Add an ATmega128 and an AT43USB380. Let the 80C51 communicate >> with the AVR using SPI. Since you need 64 kB of code and 4 kB >> of data on an AVR, you probably will find the 80C51 too small >> for this. > > Ulf, is there anything in this world for which the AVR is not > the ultimate solution?
It's a floor wax _and_ a desert topping! -- Grant Edwards grante Yow! World War III? No at thanks! visi.com
"Nicholas O. Lindan" <see@sig.com> skrev i meddelandet
news:I6vId.5539$rp1.1902@newsread3.news.atl.earthlink.net...
> "Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote: > > > > What's the least painful way to implement simple (as in a strictly
limited
> > > set of connecting devices) USB Host support on a C8051-based design? > > > > Add an ATmega128 and an AT43USB380. > > Let the 80C51 communicate with the AVR using SPI. > > Since you need 64 kB of code and 4 kB of data on an AVR, > > you probably will find the 80C51 too small for this. > > Ulf, is there anything in this world for which the AVR is not the ultimate
solution? Yep, lots of applications for ARM as well! My favorite application for the C51 is road filling in China ;-), but from time to time, due to peripheral contents it can be the best solution. You may disagree, but there are many people that don't like the C51 and don't want to use it. I never see this reaction to the AVR. Nicholas, to be serious: The AT43USB380 is a package containing S/W and H/W. Part of the S/W runs on the chip and another part is a library which is only available in object form. Anyone that want to use the chip can only work with chips supported by this library. There are also limitations on performance and code size. I do not think it makes sense to go for any controller with less than 128 kB memory which rules out the vanilla 8051. If there is a significant opportunity, then Atmel will port to a new chip but I do not think that the 80C51 is supported today. You can add an ARM, a Coldfire, A PowerPC and others to the AT43USB380, but I believe the AVR is the lowest cost solution offered at the moment.
> > -- > Nicholas O. Lindan, Cleveland, Ohio > Consulting Engineer: Electronics; Informatics; Photonics. > Remove spaces etc. to reply: n o lindan at net com dot com > psst.. want to buy an f-stop timer? nolindan.com/da/fstop/
"Nicholas O. Lindan" <see@sig.com> wrote in message 
news:I6vId.5539$rp1.1902@newsread3.news.atl.earthlink.net...
> "Ulf Samuelsson" <ulf@a-t-m-e-l.com> wrote: > >> > What's the least painful way to implement simple (as in a strictly >> > limited >> > set of connecting devices) USB Host support on a C8051-based design? >> >> Add an ATmega128 and an AT43USB380. >> Let the 80C51 communicate with the AVR using SPI. >> Since you need 64 kB of code and 4 kB of data on an AVR, >> you probably will find the 80C51 too small for this. > > Ulf, is there anything in this world for which the AVR is not the ultimate > solution? >
My boss sure likes them. Our latest system has up to 21 ATmega128s in each box. Peter
Ulf Samuelsson <ulf@a-t-m-e-l.com> wrote:

> Add an ATmega128 and an AT43USB380. > Let the 80C51 communicate with the AVR using SPI. > Since you need 64 kB of code and 4 kB of data on an AVR, > you probably will find the 80C51 too small for this.
Ulf, the problem here is one of reality vs. the ideal. The design is going to reuse a significant body of code that I wrote for the 8051 over several months. It's an evolutionary step from an existing product. And so, throwing out the 8051 makes no economic sense at this point. If I did that, I would simply implement Embedded Linux using one of the two PowerPC processors available in the Virtex2 Pro FPGA on the board. This would get me all the I/O interfaces (including USB Host) that I want. However, as it is sometimes the case, there's no time to dive into that one. Maybe for the next revision? :-) If I simple path for USB Host on a fast (Slicon Labs) 8051 is not available I'll just make provisions for migrating to Embedded Linux with a firmware update and handle it that way. The Philips chips might be an interesting option. I'll have have a look. As Mark Twain said: A man holding a cat by the tail learns something he can learn no other way. -Martin
Nicholas O. Lindan wrote:

>Is there anything in this world for which the AVR is not >the ultimate solution?
I have a toy design that has a requirement that the microcontroller and all peripherals (including xtal if one is required) must cost less than ten cents total, and the vendor muct be able to deliver 100,000 chips per day as bare dies to an assembly plant in China. Which AVR should I choose? :)
> >Is there anything in this world for which the AVR is not > >the ultimate solution? > > I have a toy design that has a requirement that the microcontroller > and all peripherals (including xtal if one is required) must cost > less than ten cents total, and the vendor muct be able to deliver > 100,000 chips per day as bare dies to an assembly plant in China. > > Which AVR should I choose? :) >
For 36 Mu/year I am sure you can do a ROM based 0,13u ASIC containing the AVR. Even at 10 cents it even meets the minimum business guidelines... Atmel do die business regularily so if the chip is simple enough, no sweat! /Ulf

The 2024 Embedded Online Conference