Electronics -- USB-FX2 Interface Board (USB-2.0)
Download USB-FX2 USB-2.0 interface board circuit schematic
PNG image (805x675 as seen below): usb-fx2.png
High-quality PDF: usb-fx2.pdf
Permission to copy and use this schematic is hereby granted provided credit is given where it is due.
There are some things one should be aware of when building the design above:
Resonator: According to the data sheet, the FX2LP has an on-chip
oscillator circuit which requires an external 24MHz (±100ppm) parallel
resonant, fundamental mode crystal with 500uW drive level and
12pF (5% tolerance) load capacitors.
So, you can't just put any 24MHz crystal there but things don't seem to be
as critical as one may expect. I'm using a 24MHz fundamental mode crystal
(24-MA505 from Reichelt) with
10..15pF caps (or even 32pF).
(Note: In the schematic above, there are 2 crystal oscillators in
parallel merely to have both options on the PCB (one of them is an SMD).
Only one of them is actually soldered onto the board.)
EEPROM: You can use an optional serial EEPROM to store either USB
configuration data or a complete program which is loaded into the
microcontroller's RAM at startup. You can leave it away completely to use
default USB config data and download firmware via the USB (thereby also
changing, the config data, it's the so-called ReNumeration thingy).
Note, however, that if you leave away the EEPROM, you must still put in
both the 2.2k I2C bus pull-up resistors.
PWR_SEL: For USB-powered operation (500mA max), close a jumper between
pins 2 and 3, for externally powered operation, apply 5V and GND to pins 2
and 1, respectively. There is an additional 5V, 3.3V and GND power connector
called PWR_HUB to connect with add-on boards.
For 5V-to-3.3V conversion, you need to use an LDO (low-dropout regulator)
like the LM2937. It should have a drop-out of 1.2V max since the USB specs
allow the 5V voltage to be as low as 4.5V on the slave side.
Of course, usual voodoo applies like putting decoupling caps near by
and keeping the USB data lines short. A massive ground plane is mandatory,
at least for the analog half. Forget about Cypress telling you that you need
at least a 4-layer PCB. My regular 2-layer PCB (ground plane on bottom)
works stable in high-speed mode even with 3m USB cable.
Finally, the FX2(LP) comes in several packages. I'm using the one with the
least number of pins (56) but even that one is not easy to solder onto the
[click to enlarge: 233kb JPEG]
On the left is a photo of the rev. 1 board: The most notable difference
is the low-drop regulator which is not mounted below the board (rev. 2)
with its heat sink connected to the ground plane but instead standing on top
of the board near the USB connector.
Furthermore, the rev. 2 board is slightly smaller and has an additional
5V connector on the left side of the main connector array.
There were no actual changes to the electrical circuit between rev. 1
and rev. 2.
Revision 2 Board