Electronics > Beginners
Reading GALs / implementing shared data-address bus
(1/3) > >>
gmichael225:
Hi all,

I've got an old lighting control console here with a bunch of separate button/fader/LCD banks that share an 8-bit data bus with the CPU, alongside "MUX", "DS", "ALE" and "RW" signaling lines.

My best guess is that DS is "Data Strobe" and maybe ALE is "Address Logic Enable".
I know RW is Read/Write, because it's wired up to the direction pin of the 74HC245.
No idea on MUX (other than "multiplex", of some sort).
But it's hard to know for sure what these are intended to do or how to drive them because they're wired up to a pair of GALs that I don't know the programming for.

At the moment I'm assuming that you're meant to alternate between writing an address to the bus, and reading/writing data to/from the bus.

So I'm going:
 - Write address to bus (e.g. "3")
 - Pulse ALE to load address into IC3 (octal flip-flop), which IC5 (address decoder) will then use to take DEC high and enable IC4.
 - Set RW high (read) + DS high, so that data will flow from the "D" bus to the "DD" bus.
 - Change MCU DDR's to input, turn off pullup resistors
 - Read byte from bus
 - Set RW low (write) + DS low
 - Change MCU DDR's back to output

I've wired up an Arduino to the data + signaling pins, and I have the schematic for the board, but I'll be darned if I can get it to read any of the data from the module.

Schematic and current arduino code are attached!
mikeselectricstuff:
ALE is usually Address Latch Enable - latches 8 bits of address from the data bus. Look at an 8051 series datasheet for more details.
edavid:

--- Quote from: mikeselectricstuff on November 19, 2016, 05:59:17 pm ---ALE is usually Address Latch Enable - latches 8 bits of address from the data bus. Look at an 8051 series datasheet for more details.

--- End quote ---

It sounds more like an 8085 bus to me.

http://www.cryptomuseum.com/crypto/gretag/519/files/D8085AH.pdf
gmichael225:
Thanks, I appreciate the clarification re: ALE.

The docs on 8051 and 8085 busses seem to resemble (loosely speaking) what I'd assumed would be the case, i.e. that the address is written to the bus, ALE strobed, then data read/written to the bus. Still not sure why I can't get any data from it though, and am none the wiser as to the purpose of MUX or DS.

I'll keep trying things...
edavid:
DS may be edge triggered.  Have you experimented with that?

MUX is more mysterious, but I wonder if it used a 16 bit CPU.
Navigation
Message Index
Next page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod