A PCB (160 mm x 100 mm) for experimenting with the
Cypress EZ-USB FX2 USB 2.0 Chip
This IC contains a complete USB 2.0 interface with 480 Mbit/s throughput,
a comfortable FIFO with a controller (state machine),
but is hard to use due to its very small housing and pitch.
This chip, CY7C68013-128 TQFP, is used to have an option for external memory.
Mostly, for debugging.
This PCB is only two-sided and hand-madeable vias, therefore, any hobbyist
with UV lamp and etching fluid can make this.
Possible uses of this board are:
USB scope probe with extreme sample depth
IDE device adaptor
(already works!)
Fast data transport from a 19" rack to PC and vice versa.
…was made in Eagle according to the Cypress reference design
CY3681.
Due to lack of FPGA/CPLD (??) there are no LEDs, but that's the only
disadvantage I have found.
RAM, ATA connector, RS232, and port expander PCF8574 are compatible.
All FX2 signals are available on an ERNI connector for 19" racks.
For the scope probe, an A/D converter is spared.
Please click onto images to view the schematics!
Last change: The LM317LZ was not sufficient as linear regulator;
instead, a simple solution with zener diode and transistor is used.
PCB layout
...you should bring it to work step by step.
You can place both 1206 and 0805 shaped SMD resistors and capacitors.
Building up
First placement
Please populate step by step and test the board!
Vias, check them
FX2 IC, check every pin for contact and no short circuit
USB receptacle, el.cap, transistor, res, zener diode
Crystal and 22 pF caps
2 caps 100 nF and R?? (10 kΩ)
Reset circuitry (100 kΩ, 100 nF)
I²C pullups
No more!
Start-up
Plug this card on your PC. If it reports an error, check the following:
3,3 V on every supply pin
0 V on every ground pin
work of oscillator
connection of "important" wires for USB, crystal, reset, bus control, and I²C
Then you give the Windows popup dialog the EZUSBW2K.INF from Cypress
development kit. Then start EzMr.exe and check if the device is found.
Recognition of high-speed mode is possible by inspecting pipe sizes
of more than 64 Bytes for bulk transfer.
More components
You may now populate the PCB. I advise to place the IDE connector and
some R/C and LED "DASP" (Drive Active / Slave Present) around
to check connection to a hard disk.
Plug EEPROM-Jumper and then connect the PCB to your PC
Start of "EZ-USB Control Panel", set to FX2,
press Button , give the file "fx2_ata.iic", wait about. 30 seconds!
disconnect, connect, or let renumerate pressing another button
The firmware is active to the USB side ONLY if it detects a hard disk!!
The HDD LED (»DASP«) must light on shortly, then you get an USB hard drive.
In Windows 98 you need another driver:
When you program the EEPROM, and your system crashes meanwhile,
you may result in a crashing 8051 firmware.
Then, you cannot start the board with plugged jumper, and for accessing the
EEPROM with EzMr.EXE, you need a 2-byte-adressed EEPROM on FX2
startup! (Bit ID1 in I2CS @0xE678 set).
How you can delete at least the first Byte of EEPROM without
pulling the chip out and into an external programmer? The right way:
Pull jumper JP1,
Plug board to PC,
Start "EZ-USB Control Panel", set to FX2,
Plug jumper JP1,
Press button , load "vend_ax\vend_ax.hex"
(this is a Cypress firmware, enabling some other Vendor Requests),
Fill the line :
Req: 0xA9 (undocumented Read/Write access to 2-Byte EEPROM),
Value: 0 (= start address),
Index: 0xBEEF (= ignore that value),
Length: 1 (= length of data to write),
Dir: 0 OUT (data writing Vendor Request;
you may read with 1 IN your EEPROM content),
Hex Bytes: FF (= data, delete first byte C0 or C2),
Press button ,
Check your board by pulling and plugging to PC.
Size comparison
Unfortunalely, all FX2 chips are about same in size: