|Part 6 - CTC and SIO|
So my natural choice for some serial communication had to be the combination SIO + CTC I had some of those chips and I wanted to be able to use vectored interrupts a choice that turned out to be a kind of a problem cause my buffering system. The problem is that I had "half of the chips one side and half the other side" of the buffers cause the way I originally built "the basic system". Let's say to do things properly I should have started differently, this was a kind of "upgrade" on a basic system and I had to deal with some "backwards compatibility problems".
Another "stupid problem" I had was my choice of a classic NE555 as baud rate clock generator, initially that had simply to be a 9600 x 16 clock and I was thinking to stay set on 9600 baud. I still don't know precisely what went wrong, done all the usual by-the-book computations and such sure enough the 555 was oscillating properly, the oscilloscope was showing a quite good square wave.
But if you were picky enough and try hard with some oscilloscope settings you were able to see a bit of a dirtiness not so easy to see .. until I attached a frequency meter on and what I saw was the almost impossibility to get two consecutive lecturers the same, it was looking like there was a slow drift in frequency that was going to more or less stabilize after a quite long time.
I got quite fed up and I went for a CAN oscillator that costed much less, allowed me to have any baud rate from 300 baud up to 1 Mbit and something and it's stable as a rock, I felt sorry for the 555, maybe I had a faulty chip.
|The Z80 SIO, CAN oscillator not yet in place|
I had another of those "stupid nasty bugs" thanks the fact I wanted to use vectored interrupts, if you see that DIN connector to the left this is an "bus expansion" for my Transputer experiment. Cause a very silly problem ( that took me quite a while to understand ) I made an error with a partial address decoding causing a bus conflict during a particular situation and an interrupt acknowledge the same time.
|Interrupts test, CTC counting interrupts using system clock|
At this point the system was more or less all together, once you have a serial port that talks, some I/O space available, 64K of RAM, 16K of ROM space and and IDE interface that works you have a lot to work on.
|Prev Back to Main Next|