NJQRP MicroBeacon

DESIGN (Part 2)

Thoughts on the Processors

I think we need at least two cheap processors which form the main modules. Some people will probably think we're light-weight programmers for using so many chips, but they are dirt-cheap (a couple bucks each) so why not use them.

I can see two processors: the Big Banana (a better name is needed) to do the main keyer functions, and a display processor. I'd love to push the keyboard scanning off to the display processor as well, but I/O lines becomes an issue again.

Processor One: The Big Banana

TBD

Processor Two: The Display

This system has lots of I/O pins and can probably be done with the cheapest of PICs. Most of the LCD displays use 8 data lines, an Enable line (1 bit), a R/W line (1 bit) and a register select (RS, 1 bit) line. That's 11 bits just for interfacing to the LCD. This chip/module also needs to accept input from the Big Banana module. The input will probably be via a serial interface. A number of people (myself included) have written really basic receive-only terminals using a PIC that can be used as the basis for this.

We'll probably want to use a fairly slow baud rate to reduce the required precision of timing at each end, especially the Big Banana module which is pretty busy with other things. We'll also want to send "tokens" to represent strings to display instead of the actual string. Ie, instead of sending "PLAYING MEMORY 1" character by character, it's a lot quicker to send a binary string 10000001 instead and let the display module do the rest. We could, conceivably, support non-english language users by simply changing the code in the display module and never touching the main processor code.

Who wants to price out the cheapest PIC for the job? 12 I/O pins. We probably need a crystal or ceramic oscillator to get resonably accurate timing for serial operations. Do we want to consider SPI, I2C or async communications? Comments please!

One of my other thoughts was to add the keyboard scanning to the same device. If we use a syncronous bus to communicate with the main processor then it's easy to pass back data. Four of the output lines used for the display can be used as row selects on the keypad. We need just three more input bits with pullup resistors to do the job. If there are four extra output bits then there would be no need to share I/O lines. Do we want to put the computer interface on this processor as well?

Again, I'm looking for input on processor thoughts. I don't keep up with the PIC series, so my view of their product line is somewhat limited.

 

Go BACK to the MicroBeacon DESIGN page

Last Modified: Orct 2, 1998