Why would anyone choose EZ-USB?

Hi all, I've been dabbling in hardware hacking for a while, and currently am trying to reverse-engineer a little USB IR receiver made by Keyspan so as to write a Linux driver for it. But that's basically a side note. The point is that this device is based on the EZ-USB chip by Cypress Semiconductor.

What I don't really understand is *WHY* anyone actually designs products using this EZ-USB chips. They have a number of problems that I see: (1) They have onboard RAM instead of Flash EEPROM (does this really save much money??) so the driver must load the firmware every ... single ... time the device is plugged in. (2) An external 16-byte EEPROM is required to store the USB id of the dang thing so that the host can find the right driver. (3) It doesn't come in DIP packages, only surface-mount. (4) It's more expensive than the alternatives!!!

For example, the CY7C68013A (USB 2.0, 7 endpoints, 16 kB of RAM) costs about $7.80 in volume, while the PIC18F2450 from Microchip (USB 2.0, 16 endpoints, 16 kB of *Flash EEPROM*) costs about $2.99 in volume. I don't get it! The Microchip costs less than half as much, has flash memory, and supports more endpoints.

The only advantage I can see that EZ-USB has is the fact that it is based on an 8051 core, so there is a free software C compiler available. While the PIC18F2450 is not yet supported by any free software C compiler, although a nice assembler + linker suite is available.

So basically, is there any reason I might want to choose EZ-USB over a microcontroller from Microchip or Atmel? I personally have only done a project with the PIC in the past, and it wasn't too hard to program in assembly. Is there some advantage that EZ-USB has which I'm missing?

Thanks for any insight,

Dan Lenski

Reply to
Dan Lenski
Loading thread data ...

The "student" version of Microchip's MPLAB C18 compiler is freely available for download from Microchip's website:

formatting link

The MPLAB C18 compiler integrates with MPLAB so features like breakpoints for debugging will work with it.

The "student" version is only crippled in that it will not be able to fully optimize your code after a trial 60 day period. Additionally the extended instruction set found on some of the 18F PICs becomes unavailable, however the extended instruction set is not actually all that useful, all it really does is make some kinds of C code smaller and faster, but it doesn't do anything unique.

It appears the license agreement allows you to use the student edition for commercial purposes.

Reply to
Fritz Schlunder

Un bel giorno Dan Lenski digitò:

Because as far as I know, it should be the easiest way (and one of the few ways) to get true High-Speed USB performances.

PIC18F2450 is USB 2.0 *compatible*, it isn't a High-Speed device. Like FTDI chips and almost every CPUs/MPUs with integrated USB, it supports USB Full-Speed (12 Mbps), and I can tell you that in most case you will be lucky if you can reach 4-5 Mbps.

--
asd
Reply to
dalai lamah

Is there some advantage that EZ-USB has which I'm missing?

Habit. Some guys ALWAYS use 8051 based stuff, no matter what the alternatives are.

Fear. Using a new device has a learning curve.

Various similar reasons exist.

Reply to
Brian

Good to know. I was under the mistaken impression that the PICs could actually do high-speed USB.

The thing I don't understand is that the clock rates of the PIC and the

8051 core of the EZ-USB are similar... the PIC runs at 12 MIPS while the CY7C68013A is 48 MHz (roughly ~20 MIPS I think?). I guess the USB hardware core of the Cypress must be more efficient?

Anyway, good to know the advantages of EZ-USB. I'm still puzzled about why anyone would actually want the firmware to be in RAM though...

Dan

Reply to
Dan Lenski

Raw speed.

Ram will always be faster that any kind of xxROM.

Plus you will be forced to use a driver from the manufacture, that downloads the firmware.

donald

Reply to
Donald

The student edition of the Microchip C18 compiler is free, only limitation is the code takes more space:

formatting link

Dave :)

Reply to
David L. Jones

Un bel giorno Dan Lenski digitò:

I think so. Probably in EZUSB most of the transfers are carried out by indipendent peripherals and don't need direct CPU intervention.

--
asd
Reply to
dalai lamah

ROM can be just as fast as RAM, flash is generally slower than RAM, but but can be quite fast so that shouldn't be a big problem. RAM takes up much more die area than ROM or flash so that can't be why they did it.

Firmware in RAM makes it easy to update the firmware, since it is in the driver on the PC

My guess is that they used RAM because RAM and ROM is easier to implement than flash, and putting it in ROM and having to do a ROM spin for every application would not be smart.

-Lasse

Reply to
langwadt

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.