Close

Adding the Serial Card

A project log for 8 Bit TTA Interpreter

TTA (Transport Triggered Architecture) is very simple CPU type.

agpcooperagp.cooper 04/03/2019 at 01:020 Comments

The Serial Card

Well now I am getting excited! Okay not that excited as he chances of it working first time are practically zero. This card is complex and it is my first attempt at a serial design. What could go wrong!

Here is the design:

 That big red line is a jumper I had to add as I forgot to craw it in the schematic and the PCB.

Rereading the Schematic or What Did I Design!

 Okay, ready to code and "echo" program.

No Surprise!

Not surprised its not working. Working through the code:

Ah yes, I have to do a dummy read to clear INTR6. It should have been cleared on RESET/CLR.

Also I am not sure what happens on boot up  and clock reset.

TXD in is indeterminate if disconnected.

Need to add some RESET/CLR logic to the schematic.

Not sure how Serial Out gets the clock signal? I have hooked it up to the Serial In clock that is triggered by the start bit.

I think I may need to rework the schematic NOW.

More Problems

INTR6 can be reset by reading the serial data port. But better if it does not trigger on start up.

The RX and TX signals have been swapped.

And a 20ns glitch between the two 74HC165:

The glitches are between D6, D7 and the two Marks. The data is "85" so D7 is wrong.

D6, D7 and the Marks come from the second 74HC165 via QH and SER (serial in).

I am puzzled by the glitches and D7 as the part of the schematic is a rather simple design.

---

I ran with a different Interpreted program and get a different pattern.

Yeah, I am writing new data at the baud rate (2.4kHz) rather than 1/10 or 1/11 of the baud rate.

Need to add a dedicated counter to the Timer Interrupt.

Success

Well at least the the first test. Need to do a bit more to prove it (later as I have other chores to do today).

Okay a better test would be to write data to the ADDR and the show the read data on the DATA LEDs. I will do that later before ording a new Serial IO PCB Board.

---

Time for a system rewrite, I need to make room for extra system variables (Serial Data, Timer Counter, etc), and provision for inter-page read/write. Here is the new system:

Its getting complicated and I have to write notes on its use:

I also want to shuffle the ROM pages around so that I can user the Monitor Run Program command to select a ROM page to run.

---

Anyway, I have created a new Serial IO PCB board but I have to check on the availability or my stock of the 74HC93. Its pretty rare now so I should substitute.

---

Really cool! Wrote some code to echo Serial In to Serial Out and to display the data on the front panel. Really cool after opening Putty to type stuff in the terminal to see the TTA8 echo it back and the front panel to display the character binary code (received and sent).

So final checks on the replacement Serial IO Board before sending off for manufacture.

AlanX

Discussions