Skip to main content
8 of 12
deleted 18 characters in body
David00
  • 183
  • 9

Peripheral interface design

I’d welcome some advice on a hobbyist peripheral interface design. Using 74-series logic and the smallest package count.

There is a CPU which is not shown in the sketch below. The CPU isn't that relevant, it could be a 6502, a Pi or a Pentium. It is separate from the peripheral and connected to it via an 8 core cable (plus ground), which it can send a serial of bytes/logic values through. There's no specific software transfer protocol yet, this will be dictated by the needs of the interface design being discussed in this post.

The peripheral interface will have an 8-bit latch [X] on the sketch below, probably a 74HC373, that receives data from the CPU via the cable. There is a dedicated latch control line from the CPU not shown in the sketch, but this cannot be repurposed - its sole role is to ensure that data is supplied to X correctly.

The input 8-bit value latched into [X] is stable, until the next byte is sent. These bytes are sent by control software running on the CPU, which itself is clocked at around 1Mhz.

I can’t add any more data lines to the cable.

From this single port, I need to populate four other HC373 type latches or registers [A, B, C & D] with specific data. Software can be written to get the CPU to send any required combination of bytes, in order to achive this.

The plan is to use 4 bits of [X] for nibbles of data, and the other 4 as control bits. Two address bits to select [A], [B], [C] or [D] and a third control bit as a latch enable or clock line for them.

Next, that [X] connects to a dual 4-bit latch (perhaps a 74HC873) [Y], that recreates an 8-bit data byte from each pair of 4-bit nibbles using the fourth control bit (Hi/Lo). This then connects to one of [A], [B], C] & [D] depending on the control bits (00, 01, 10 or 11), and the data is latched/clocked.

I’ve got brain fog, and can’t come up with a circuit design despite numerous scribbles. It feels like there needs to be an additional control bit to latch data into the relevant 4-bit nibble latch, but there's probably a smart way to get around this. Can anyone suggest a simple solution please?

No matter what orientation I save the image it, it always appears as shown in SE.

enter image description here

David00
  • 183
  • 9