This controller will be designed for installation into an Eee 700-series netbook to serve the following purposes:
Requirements:
Background:
This came about in its current form through discussions on #sparkfun as I was looking for a controller to go along with devices such as GPS that I would (hopefully) purchase on SparkFun's Free Day. I was stuck between the Arduino Pro Mini and the Mini Bully to allow for SPI communication; however, I would still have had to include a USB-TTL FT232R-based converter. It was suggested that I use the FT2232 since I could do SPI and UART on the same chip.
Unfortunately, or fortunately (depending on how you look at it), I looked again at the size of the USB-capable GPS I wanted (GS407), and found that there was no way it was going to fit, despite my previous measurements. I instead chose the Venus GPS with SMA for its size; however, it has a UART interface, and I was stuck now with SPI and UART devices (And maybe some I2C). This is why I'm looking now at the FT2232H and the FT4232H (Which is pin-identical to the FT2232H, just with 4 ports instead of 2).
FTDI Chips:
FT2232D:
The FT2232D has 2 channels and is slightly smaller and takes less than half the power of the newer FT2232H, but the FT2232D only allows for one MPSSE (Multi-Protocol Synchronous Serial Engine: the encoder that allows you to use I2C, SPI, etc.) channel. This means you can have one JTAG, I2C or SPI channel. Channel 2 (Also called B) doesn't support the MPSSE engine; it is only for RS232 UART, RS245 or other serial modes.
FT2232H:
The FT2232H is larger than the FT2232D, and consumes more than double the current. However, the FT2232H supports MPSSE on both of its 2 channels: You can now have SPI, I2C, RS232 UART, etc in any configuration. It has a direct upgrade path to the FT4232H thanks to a shared size, footprint and power requirements.
FT4232H:
The FT4232H is a direct replacement for the FT2232H, and allows for 4 channels instead of 2. The MPSSE can be used on channels A and B simultaneously. Though the number of channels goes up for the FT4232H, the number of supported protocols goes down; however, this chip supports all of the protocols this project would ever require: UART, SPI, I2C and maybe bit-banging. This project has no plausible requirement for RS245, FIFO, Host Bus Emulation or the like.
FT4232H Channels:
Ports: Here's what I personally plan to attach on each of the ports of my copy of the project board.
Channel A: SPI #1
Channel B: I2C or SPI #2
Channel C: UART #1
Channel D: UART #2
GPIOs: (Spare pins on Channels A or B)
Voltages: Voltage requirements of each device I intend to connect
Amperages Required and Equivalent Current Draw at 5V: 5V Current Equivalents for determining if all devices specified can be safely run on USB power or if they would require power from another source. (These are based on rough figures, and are always subject to the device's operating conditions. I just want to see if it's in the ballpark)
AR1010:(Max current 16mA at 3.3V, as per module datasheet.)
SCA3000: (Typical current during motion capture of 650uA at 3.3V, as per chip datasheet)
Venus 634FLPx GPS: (Typically 28mA at 2.7-3.3V in tracking and navigation mode, per chip datasheet. A commenter on the Sparkfun product page notes that the added LED will add an extra 10mA (when the LED is turned on), so I'm going to go with 38mA for now. I'm going to assume their rated current is at the higher of the range: 3.3V)
FT4232H/FT2232H: Icc1 (Vcore) is typically 70mA @1.8V, as per chip datasheet (pg 26)
FT4232H/FT2232H: IPHY (VPHY) (For the USB Interface) is typically 30mA @3.3V, as per chip datasheet (pg 28)
FT4232H/FT2232H: IReg (VReg) (For the 3.3V to 1.8V internal regulator) is maximum 150mA @3.3V, as per chip datasheet (pg 26)
Therefore, total expected current required at 5V is (10.56 + 0.429 + 25.08 + 25.2 + 19.8) = 81.069 mA., and at the very worst case scenario, the VReg will draw 99mA at 5V. Power requirements will be tested again later with an ammeter. Anything under 100mA is easily provided by the USB Bus. Anything over 100mA should be specifically noted in the EEPROM of the device so it knows to request a higher power allocation from the computer.
Parts List (And Digikey Part#): [Might need updating for v1.1?]
Schematic:
v1.1 as attached. NB, it was made with gEDA, not Eagle.
PCB Layout:
v1.1 as attached. NB, it was made with gEDA / PCB, not Eagle.
Suggestions:
All suggestions are welcome. Please leave a comment below to let me know what you think, or if you have any feature requests.
License:
This project is released under the CC BY-NC-SA 3.0 license. If you wish to use this project for commercial purposes, please contact me.
Availability:
I have a number of v1.1 boards available. I will be able to put one together for testing/debugging once I get parts for it. Unfortunately, the high-accuracy, small-form-factor crystal is backordered until something like November (2010).
Disclaimer:
This is for educational purposes only. I'm not liable for damages caused to you or your property (including but not limited to netbooks).
| Attachment | Size |
|---|---|
| GERBER Files: Netbook Internals Controller Gerbers.zip | 58.31 KB |
| v1.1 PCB Preview: EeeThingFT4232Hv1.1.png | 169.55 KB |
| v1.1 Schematic: EeeThingFT4232Hv1.1.pdf | 13.92 KB |
| v1.1 PCB Layout: EeeThingFT4232Hv1.1.layout.png | 26.35 KB |
| gEDA/PCB Board File: EeeThingFT4232Hv1.1.pcb | 52.67 KB |
| gEDA/PCB Schematic: EeeThingFT4232Hv1.1.sch | 16.76 KB |
Comments
Post new comment