Maker Pro
Maker Pro

Why would anyone choose EZ-USB?

D

Dan Lenski

Jan 1, 1970
0
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
 
F

Fritz Schlunder

Jan 1, 1970
0
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.

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

http://www.microchip.com/stellent/i...E&nodeId=1406&dDocName=en010014&part=SW006011

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.
 
D

dalai lamah

Jan 1, 1970
0
Un bel giorno Dan Lenski digitò:
What I don't really understand is *WHY* anyone actually designs
products using this EZ-USB chips.

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.
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.

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.
 
B

Brian

Jan 1, 1970
0
Is there some advantage that EZ-USB has which I'm missing?
Thanks for any insight,

Dan Lenski

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.
 
D

Dan Lenski

Jan 1, 1970
0
dalai said:
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.

Good to know. I was under the mistaken impression that the PICs could
actually do high-speed USB.
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.

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
 
D

Donald

Jan 1, 1970
0
Dan said:
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

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
 
D

David L. Jones

Jan 1, 1970
0
D

dalai lamah

Jan 1, 1970
0
Un bel giorno Dan Lenski digitò:
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?

I think so. Probably in EZUSB most of the transfers are carried out by
indipendent peripherals and don't need direct CPU intervention.
 
Donald said:
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

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
 
Top