A short button press at any time will jump to the next channel and stop scanning, accompanied by a very short beep. A longer press will re-start scanning, with a longer beep.
At the same time, any characters which arrive at the serial port are checked for valid commands. There are two valid commands: 's' (or 'S' - case is not important) and 'F'. The 'F' command, followed immediately by a channel number 0 to 9, will change to that channel, and stop scanning, if a scan was in progress. 'S' will re-start scanning. No carriage return or line feed is required after the command. Any incomprehensible or extra characters are quietly ignored.
In manual operation, the modified RX-2 uses the same 5 channels as the
original. However, there are 5 additional channels available to the 'F'
command. The frequencies as supplied are shown below, but are very easily
changed.
Channel Number | Frequency (MHz) | Satellite |
0 | 137.200 | --- |
1 | 137.300 | Meteor |
2 | 137.400 | Okean |
3 | 137.500 | NOAA |
4 | 137.620 | NOAA |
5 | 137.850 | Resurs |
6 | 137.600 | --- |
7 | 137.700 | --- |
8 | 137.800 | --- |
9 | 137.900 | --- |
A button push, or an 'S' command, when the receiver is tuned to one of the 'extra' channels, will re-start scanning from channel 1.
The serial interface is designed to make the minimum demands on the computer driving it. It does not use any flow control: it operates at a fixed 1200 baud, and can handle continuous characters at this speed. There are no 'handshaking' signals. It cannot even send any data to the computer!
The software operation is based on the idea that when a person presses the button, it stays 'down' for a long time - at least a long time compared to the duration of a serial character. The serial input and push button use the same pin. The program waits for a 'low' logic level on this pin. This could either be the start of a serial character or the start of a button push. The software first attempts to decode the signal as a character. If the input is still low at the end of the character period, when it ought to be high, the software decides that it has a button push. Two separate tasks handle the button pushes and decode the received characters. For those who are interested, there is a more detailed explanation available.
Here is the complete circuit diagram:
In the RS-232 'idle' state, DB-9 pin 2 will sit at a voltage of -5V
to -12V. The opto-coupler LED will be off, and so will be the transistor.
Pin 4 will be pulled up to +5V by the push-button pull-up resistor on the
RX-2 circuit board. A button push will take this point low to GND, unaffected
by the presence of the serial interface.
When an RS-232 character comes along, the start bit will take DB-9
pin 2 to between +5V and +12V, turning on the opto-coupler LED and transistor.
The push-button input will go low, to be detected by the software.
The push button input goes to pin 9 of SK1 on the RX-2: GND is found on pin 8 of the same connector. DB-9 connector pin 5 is ground, pin 2 is Rx-data. You will need to use a 'null modem' cable with these connections. Alternatively, wire the resistor to pin 3 and use a 'straight through' cable.
You can also use a 4N25 or similar opto-isolator, the exact device is not critical. For the 4N25, GND goes to pin 4 and the push-button input to pin 5. Pins 3 and 6 are no-connect. Using an opto-isolator helps to keep electrical noise from the computer out of the receiver.
Last modified 10th July 1999
If you have comments or suggestions, please email me at max@susato.demon.co.uk