| |
| boards:ecb:usb-fifo:start [2022/01/17 17:06] – Revision from 2022-01-17 | boards:ecb:usb-fifo:start [2026/06/15 12:12] (current) – external edit 127.0.0.1 |
|---|
| /* Imported from Wayback Machine | /* Imported from Wayback Machine |
| Original URL : https://www.retrobrewcomputers.org/doku.php?id=boards:ecb:usb-fifo:start | Original URL : https://retrobrewcomputers.org/doku.php?id=boards%3Aecb%3Ausb-fifo%3Astart |
| Snapshot date: 2022-01-17 | Snapshot date: 2026-03-08 |
| Generator : wayback-archiver | Generator : wayback-archiver |
| */ | */ |
| |
| The ECB-USB-FIFO board provides a high-speed interface for an EuroCard Bus machine to talk to a modern PC over USB. The board is based around the widely supported [[http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232H.pdf|FTDI FT232H chip]] operating in “245-style asynchronous FIFO” mode. To avoid the need to solder surface-mount parts the [[https://www.adafruit.com/product/2264|Adafruit FT232H Breakout]] board is used. | The ECB-USB-FIFO board provides a high-speed interface for an EuroCard Bus machine to talk to a modern PC over USB. The board is based around the widely supported [[http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232H.pdf|FTDI FT232H chip]] operating in “245-style asynchronous FIFO” mode. To avoid the need to solder surface-mount parts the [[https://www.adafruit.com/product/2264|Adafruit FT232H Breakout]] board is used. |
| | |
| | On a KISS-68030 using an optimised transfer routine speeds in excess of 1MByte/sec (8Mbit/sec) can be achieved. |
| |
| On the PC the interface is presented as a standard USB serial interface (a “Virtual COM port” on Windows, /dev/ttyUSB* on Linux) and can be used by any application normally used with standard serial ports. Note that although it presents as a serial port, the baud rate and other serial settings configured on the Virtual COM Port are ignored, it just provides an 8-bit clean path at whatever rate you can pump data in or out of it. | On the PC the interface is presented as a standard USB serial interface (a “Virtual COM port” on Windows, /dev/ttyUSB* on Linux) and can be used by any application normally used with standard serial ports. Note that although it presents as a serial port, the baud rate and other serial settings configured on the Virtual COM Port are ignored, it just provides an 8-bit clean path at whatever rate you can pump data in or out of it. |
| ===== Schematic ===== | ===== Schematic ===== |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:usb-fifo:ecb_usb_fifo.pdf|PDF Schematic]] | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:usb-fifo:ecb_usb_fifo.pdf|PDF Schematic]] |
| |
| ===== Bill of Materials ===== | ===== Bill of Materials ===== |
| The FT232H breakout board contains a serial EEPROM which **must be programmed** to configure the FT232H to use the correct operating mode (“245 Asynchronous FIFO”). This can be done over USB from a PC. The EEPROM needs to be programmed one time only. | The FT232H breakout board contains a serial EEPROM which **must be programmed** to configure the FT232H to use the correct operating mode (“245 Asynchronous FIFO”). This can be done over USB from a PC. The EEPROM needs to be programmed one time only. |
| |
| **For Windows** you need to use the [[http://www.ftdichip.com/Support/Utilities.htm#FT_PROG|FT_PROG]] utility which can be freely downloaded from the FTDI web site. I've made a [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:usb-fifo:ft232h-template.zip|template]] that you can load into the FT_PROG program. The program is a bit counter-intuitive so here are some brief instructions: Connect the USB device, run FT_PROG, load the provided XML template. Tell FT_PROG to scan for devices, then right-click on the FT232H USB device (not the template) and tell it to apply the loaded template. This sets the desired configuration for the device. Click the “Program Devices” button in the toolbar, then click the “Program” button. This writes the configuration to the EEPROM. | **For Windows** you need to use the [[http://www.ftdichip.com/Support/Utilities.htm#FT_PROG|FT_PROG]] utility which can be freely downloaded from the FTDI web site. I've made a [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:usb-fifo:ft232h-template.zip|template]] that you can load into the FT_PROG program. The program is a bit counter-intuitive so here are some brief instructions: Connect the USB device, run FT_PROG, load the provided XML template. Tell FT_PROG to scan for devices, then right-click on the FT232H USB device (not the template) and tell it to apply the loaded template. This sets the desired configuration for the device. Click the “Program Devices” button in the toolbar, then click the “Program” button. This writes the configuration to the EEPROM. |
| |
| **For Linux** I have written a [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:usb-fifo:ft232h-program-eeprom.tar.gz|short C program]] which uses libftdi1 to program the EEPROM. The tarball contains both the source code and a binary with libftdi1 and libusb statically linked in, this should work on most recent Linux systems. Ensure the FT232H board is the only connected FTDI device (just in case it tries to overwrite the EEPROM in other devices!) and then run “sudo ./program-eeprom -w” to program the device. Running “sudo ./program-eeprom” (without the “-w” option) will report the current EEPROM contents. | **For Linux** I have written a [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:usb-fifo:ft232h-program-eeprom.tar.gz|short C program]] which uses libftdi1 to program the EEPROM. The tarball contains both the source code and a binary with libftdi1 and libusb statically linked in, this should work on most recent Linux systems. Ensure the FT232H board is the only connected FTDI device (just in case it tries to overwrite the EEPROM in other devices!) and then run “sudo ./program-eeprom -w” to program the device. Running “sudo ./program-eeprom” (without the “-w” option) will report the current EEPROM contents. |
| |
| **For MacOS** I had success running FT_PROG in a virtual Windows machine (using Parallels Desktop) using the USB passthrough feature. In principle it should also be possible to compile libusb, libftdi1 and use my C program to program the EEPROM but I have not tested this. | **For MacOS** I had success running FT_PROG in a virtual Windows machine (using Parallels Desktop) using the USB passthrough feature. In principle it should also be possible to compile libusb, libftdi1 and use my C program to program the EEPROM but I have not tested this. |