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