Adafruit FT232H and Z8S180 CSI/O

I’m exploring a way to connect an Adafruit FT232H USB interface board to a Z8S180 system using its CSI/O port. My goal is to transfer data between a PC and the Z8S180 at a reasonable rate (ideally several hundred kbit/s), possibly using the FT232H as a bridge or programmable FIFO-like interface.

Here’s what I’m considering and would appreciate feedback or experience on:

The FT232H supports SPI, I²C, and GPIO through its MPSSE engine, programmable via FTDI’s D2XX library.

The Z8S180 CSI/O port is a synchronous, half-duplex serial interface that can act as master or slave, with separate data and clock lines.

I’m wondering:

Has anyone successfully interfaced the FT232H’s MPSSE (SPI mode) with the Z8S180 CSI/O (either direction)?

I guess it is simplest to FT232H operate as a master device, right?

Has anyone tried using the FT232H in bit-bang mode for a similar synchronous link with Z80/Z180 systems?

I’d be grateful for any wiring diagrams, timing examples, or code snippets in Z80 assembly.

Thanks in advance for any insights!
Juha

This isn’t quite answering your question, but it looks like both your chips support a normal UART kind of connection. Any reason not to use that? (The Z8S180 calls it ASCI, according to the datasheet.)

That would seem to me to be a lot easier, and more conventional, than using a half-duplex port.

I already have a working RS232 connection using ASCI and Waveshare USBtoRS232 device. It works at 144000 bits/s, but I need more speed because I have to send lots of data fast. In my system I have 4MB sequential SRAM. Filling that takes about 5 minutes. Well I don’t need to transfer that much every time of course. Another problem is that I have several Z8S180 chips, but only one of those has the baud rate generator that I used to get that 144000 baud rate, without BRG I get only 57600. My Z8S180 board runs at 9.216 MHz and with CSI/O I could get 468000 bits/s.

1 Like

Ah, I see, a fast channel for bulk data transfer - so the half-duplex nature might be no problem. An interesting question as to how to do that.

Exactly! How to do that. BTW: The always optimistic Chatgpt says it is doable :slight_smile:

BTW: Do you know where to get the Z8S180 chips that have the BRG? If I get those I could use the ASCI that with it can give Phi/(2*(TC+2)) baud rate, where TC is a number programmed to the BRG and Phi is the system clock (9.216MHz in my case). That would certainly work with FT232H!

FTDI also has components with a parallel interface, which might give you up to 1 megabyte per second; would that be an option?

Like this: FT240XS - FTDI

Just to note a parallel discussion over on retro-comp list