MultiDisplay Option Straps
Set the baud rate with two wire straps to pins 3 and 4 of the 16C773 micro... These straps are only examined when power is initially applied to the board. ( time = "coldboot" ) These inputs do NOT have internal pullups, so terminate ALL of them either to +5V or to ground, to prevent false start-ups. There was no room for pads, connect them directly to the pins of the micro, on the backside of the board. My DF uses 1200 baud, use this table for other values :
1200 Baud : pin 3 = GND, pin 4 = GND
2400 Baud : pin 3 = +5V, pin 4 = GND
4800 Baud : pin 3 = GND, pin 4 = +5V
9600 Baud : pin 3 = +5V, pin 4 = +5V
A strap is provided on each micro to select two different types of "data loss" displays... For the pelorus display, (16C773 chip ) grounding pin 6 will cause the display to "orbit" if data is lost for more then ( approx. ) 3 seconds. If this pin is tied to +5V, the display will "freeze" on the last valid bearing, but it will also "blink" about 3 times per second, to indicate the display is not updating.
For the numeric display ( 16F84 chip ) grounding pin 12 will cause the numeric display to show horizontal "dashes" when data goes invalid. If this pin is tied to +5V, the display will show the last valid bearing, but will "blink" about once per second.
These straps operate independantly for each chip, so one display can be made to "blink" while the other does not. The blink rate for the two chips is not "synchronised" in any way, which might be a little irritating.
These inputs are examined in realtime, so a switch can be used to drive them, if desired. ( however, they are not examined until an RS232 message arrives ) As with the baud rate straps, these inputs have no internal pullups, so they should be terminated either to ground or to +5 volts... do not "float" them.
Initial Board Tests
Apply power to the board... the pelorus display should immediately light up and begin rotating clockwise, about 2 revolutions per second. The numeric display will also "self test" by lighting one segment at a time on each readout, starting with the X100 digit, and ending with the X1 digit.
When the self-test is done, ( about 5 seconds ) the numeric display will show horizontal "dashes", and the pelorus display will continue to "orbit", unless valid data is arriving at the RS232 input. ( assuming the straps are set for this type of display )
You can test the RS232 input without a DF by using HyperTerminal, which is a "terminal emulation" program that is provided with all Windows operating systems... it allows your computer to "pretend" that it is a "dumb terminal", which can be very handy when you need a source of specific RS232 characters, or wish to examine RS232 characters from some external source.
If you are not familiar with it, I wonít try to explain it here... you will have to sort that out yourself, but it is a very worthwhile "utility" program to understand, and isnít too hard to learn. Once you figure out how to use it, set-up a ( new ) HyperTerminal connection ( maybe name it "MultiDisplay" ) and set the following parameters for the connection :
COM port : determined by your computerís hardware,
usually either COM1 or COM2
baud rate : as required ( determined by the straps )
7 bit data
one stop bit
flow control : none
If you have doubts that you have selected the right COM port, you can prove it by putting a jumper from pin 2 to pin 3 on the computer's RS232 connector. First, turn off the "local echo" function in the HyperTerminal "ASCII setup" dialogue box, which will prevent keystrokes from being automatically displayed on the HyperTerminal screen. If you have the right COM port selected, installing or removing the jumper will cause keystrokes to be "displayed", or "not displayed" on the screen, respectively.
Hook up the RS232 cable to the MultiDisplay board. ( you must provide the connector for the display board. ) If you are using a DB9 connector, pin 2 ( or 3 ) is TX, and pin 5 is ground. For a DB25, pin 2 ( or 3 ) is still TX, but pin 7 is ground. The TX line may be either pin 2 or 3, depending on your computerís hardware... mine is pin 3. The TX line will have a negative voltage on it, ( from -3 to -15 volts ) but this may only be true when the COM port is energized. ( HyperTerminal is "connected" and running ) The other pin should have no voltage on it.
Once the connection is established, you can type in a bearing and it should immediately be indicated on the two displays. Use this format :
Where bbb is the bearing, ranging from 000 to 359. ( x = don't care )
If you want further testing, you can use HyperTerminal to transmit the following text file to the display board, and the display will rotate backwards through 10 complete revolutions, and stop at 000 degrees :
Display Test Message File
NOTE : if you change the baud rate in HyperTerminal, be aware that for some versions of HyperTerminal, the baud rate is NOT updated to the COM port until the present connection is TERMINATED, ( that is, "hang up" ) and then re-started. This can be confusing if you donít know about it....
Message Testing Routines
The MultiDisplay board initially looks for a "%" character, ( start of message ) and then a carriage return. ( end of message ) Then it counts the number of characters in the message to determine if the message is a "standard" Agrello DF message ( 7 characters ) or an "extended Agrello" DF message. ( 11 characters ) If it is neither 7 or 11 characters, the message is rejected.
If this test is passed, the 3 characters in the "DF bearing" data field are examined to confirm they are all ASCII NUMERIC characters. If they pass this test, the 3 digits are tested as a complete 3-digit number, to ensure they express a number ranging from 000 to 359.
If the "extended Agrello" message is detected, identical tests are also performed on the "compass heading" characters.
If all these tests are passed, the message is declared "valid" and the data is used to drive the display.