DDS LF EXCITER PROGRAM AND CONTROL This program, "MAKEBCN.EXE" offers three main functions: 1. Real time control of the transmitter, turning it on, off, and sending a basic Morse ID message. This allows you to tune and test the Exciter. 2. To 'compile' a text file message into a beacon message, which it then "downloads" to the Exciter message memory. This message can include text as well as frequency, mode, speed and FSK shift commands. 3. It allows the current parameters (frequency, mode, speed and shift) to be changed, and when required, to be permanently stored for instant start-up when power is applied, even without the computer connected. Requirements ============ You require an LF Exciter which operates using the ZL1BPU DDS control protocol. You need a computer capable of running a DOS program, with one serial port capable of operating at 19200 bps. Most fast 486 or better computers would be appropriate. You need an RS232 modem cable to connect the PC serial port to the Exciter. In a limited manner, the Exciter can be simulated and its control assessed using the EXCSIM program, which operates from a PC serial port in the same way as the Exciter, but has limited commands and operating range. Using the Program ================= 1. Setup file The setup file EXC.SET is shared with the more elaborate Exciter control program EXC.EXE, which is capable of real-time programmed multi-mode operation. This file sets, among other things, the Exciter clock frequency, and the PC serial port and baud rate. These things need to be set before you run the program. Just edit the file with a text editor, making sure that the exact same number of lines are left intact, and that the values match those of your PC and Exciter. The closer you can set the Exciter clock frequency (typically 12800000 Hz), the more accurately the programs will control the frequency settings of the Exciter synthesizer. EXC.SET needs to reside in the same directory as the MAKEBCN.EXE program. 2. The Program Commands MAKEBCN.EXE will operate from the DOS prompt, and will also operate in a DOS box or in full screen mode from Windows 3.1, Win 95 or Win 98, and maybe Win 2000. It needs a moderately fast computer, at least a 486 DX100, and requires a DOS supported COM port which operates at 19200 baud. Any EGA or VGA monitor will do, and memory and disc requirements are minimal. The program will operate from a floppy disc just fine, if the EXC.SET setup file is also on the disc. When the program is running, look closely at the menu commands on the right side of the screen. The first set are operated by keys on the main keyboard, and are immediate or program commands. R Report Sends a request to the Exciter for the current settings. These are then displayed on the bottom line of the screen, in typically cryptic Exciter hexadecimal! This is a useful command to check that the Exciter is responding correctly to the computer program. This is exactly the same as the Exciter 'R' command. S SAVE Instructs the Exciter to store the current parameters, including the frequency, mode,speed and shift, to be used when power is next applied to the Exciter. If the mode set is M0, the Exciter will simply operate as a carrier generator, responding to manually sent commands. If the mode is any other, it will operate as a self-contained beacon, even when power is removed and reapplied. I Send ID This is a program command. The program asks you for a short line of text (such as 'de ZL7AB'), which is then sent as ASK Morse at about 8-10 WPM. If the Exciter is in the middle of a beacon message, this command will temporarily take over the Exciter, and will leave the TX off at the end of the message, so the following beacon text element may be missing. Any short line of text can in fact be sent. The keying speed will depend on the speed of your PC. H Help Sends a short help message to the PC screen, a subset of this file. ESC Exit Quits the program and closes the files and communications port. 3. The Exciter Mode Commands Now look at the lower group of commands on the MAKEBCN.EXE screen. These directly control the LF Exciter, and are accessed via the 'Function Keys" usually in a row at the top of the PC keyboard. The first five are mode commands, and will instantly switch the Exciter into a beacon keying mode. The three modes ASK, FSK and DFSK are all Morse modes; the other two are 'bit mapped' graphics modes, used to send simple images or various MFSK or Hellschreiber modes. All modes except HELL can be received on a Spectrogram display. The F10 key returns the Exciter to mode M0, allowing only local or manual control with the beacon switched off. F1 ASK Sends on-off keyed Morse from the in-built beacon message. The message is stored inside the Exciter memory as Morse characters. F2 FSK Sends frequency-shift keyed Morse. The "key-up" periods are sent at the set frequency (set by the FREQ command), and the dots and dashes are sent at a higher frequency, raised by the amount set by the SHIFT command. F3 DFSK Sends dual frequency keyed Morse. Dots are sent at the set frequency, while dashes are sent at the offset frequency defined by the SHIFT command. Importantly, the dashes are the same length as dots, and spaces betwqeen elements are omitted if the elements are different making them unnecessary. This mode is easy to read visually, and is much faster than ASK or FSK Morse. F4 MFSK A bit-mapped mode. Sends each bit of each data byte in the message at a different frequency. If the bit is one, the carrier is on, if zero it is off. The SHIFT command sets the difference between the frequencies. The lowest significant bit is on the nominal set frequency, and is sent first. Subsequent bits are raised further in frequency by the SHIFT, even if not transmitted. Zero (not transmitted) dots have shorter duration than one (transmitted) dots. F5 HELL A bit mapped mode. Can share the same font information as MFSK, but can benefit from specially designed characters. The speed setting is critical to the appearance of the text. The dots are sent in the same order as MFSK, but all on the same set frequency. Cannot be received on aspectrogram, needing a HELL-style amplitude-sensitive receiver. F10 Beacon Off Disables the built-in beacon keyer. Allows the Exciter to be directly controlled with the F6, F7, F11 and F12 commands, by the 'I' ID command, or by the EXC.EXE program. 4. The Exciter Settings These commands allow direct control and beacon mode settings to be changed. These settings will be lost on power-down, unless the SAVE command is sent. These same commands (and the Mode commands, of course) can be embedded in the beacon message,so if the Exciter does not seem to obey any of the commands you set, check that it is not being countermanded by the beacon message! F6 FREQ Allows the Exciter synthesizer carrier frequency to be set with great precision. The resolution is about 0.1Hz. The value entered is divided by the synthesizer resolution (depends on the clock frequency), converted to hexadecimal and sent to the Exciter. Negative frequencies can be set, and result in the correct carrier frequency, but the SHIFT works in the opposite direction IN FSK, DFSK and MFSK. F7 SHIFT Sets the offset used for FSK and DFSK modes, and the incremental offset per bit in MFSK mode. The range is zero to about 25Hz. Values of about 30 divided by the dot period are recommended. F8 SPEED Sets the dot period in seconds. The program assumes the dot clock is 64Hz. The range is from about 0.05 to 1000 seconds. For "normal" speed Morse, use the following table: 0.03 sec K0002 35 WPM 0.05 sec K0003 25 WPM 0.07 sec K0004 15 WPM 0.10 sec K0006 12 WPM 0.15 sec K000A 9 WPM 0.20 sec K000D 6 WPM F11 TX Turns the transmitter on. If used with the beacon running, will only remain active until the next beacon 'off' element. F12 RX Turns the transmitter off. If used with the beacon running, will only remain active until the next beacon 'on' element. 5. Making and Sending Scripts The F9 Function Key provides a means of making and downloading beacon messages. These are otherwise fairly laborious to make, involving looking up each Morse character in a table, and entering the values manually with the Exciter "B" command, which is both boring and prone to error. The SCRIPT command works in two phases. First, the requested file is opened, read and converted into Morse (and commands if included, see later). The size of the message is checked to see if it will fit into the Exciter memory, and will be rejected if too large. Next, the message will be slowly sent to the Exciter, and when it has been stored, the command will be terminated and the Exciter will revert to what it was doing before. The Exciter stores Morse very efficiently, one byte per character, so quite large messages can be sent. In addition, all the other direct commands can be embedded in the script message, and will be converted into beacon message commands. You can therefore change mode, change shift (which is necessary when you change FSK speed or use MFSK, for example), change keying speed and even frequency, so you can for example set up a dual frequency beacon. Text to be converted to Morse is simply typed in - use spaces for pauses. Both upper and lower case are recognised, all punctuation and some symbols and prosigns are included. The commands are included in the script using the exact same syntax as the Exciter commands, except they are prefaced with a '$" character: $Ann SHIFT. 0 - 255 resolution steps (about 0 - 25 Hz). Value in HEX 00 - FF. $Fhhmmll FREQUENCY, 0 - 2^24 resolution steps. value in HEX 000000 - 400000. (Use the F6 key to find out what the settings are.) $Knnnn KEYING SPEED. 0 - 65536 dot clocks per dot period. See the F8 key above for more information. The value is in HEX 0000 - FFFF. $Mn MODE. Sets beacon keying mode, M1 to M5. M0 is not a valid script option. A tilde character '~' is used by the program to identify the end of the message. This allows you to add other text and comments later on in the file that are not converted into the message. Here is an example of a simple script. Note that the end-of-line characters are converted to spaces: $M1$F22CE6E$K0006 QRP BEACON DE ZL1BPU ZL1BPU RF72KU AR $M3$A7E$K00C0 ZL1BPU ~ Once downloaded and the beacon stated, it first sets the mode to ASK, the frequency (to 181400Hz for example), the keying speed to about 12 WPM, sends an ID message, then changes to DFSK mode, 10 Hz shift, three second dots, and sends my callsign. Finally the command is terminated. The program stores a final terminator in the Exciter memory which forces the beacon to start again at the beginning of the message. When the F9 SCRIPT command asks for a file name, unless the file is in the same directory as the MAKEBCN.EXE executable, you will need to specify the exact and complete path to the script file. Other Features ============== The program reports all commands at the bottom of the screen. It also continually monitors responses from the Exciter, and will display them in a long line at the bottom of the screen. The responses are not error checked or interpreted in any way by the program. If communications are lost, the program reports an error at the bottom of the screen. All these messages are periodically erased (every 10 seconds) to keep the screen tidy. The 'Connect to Com...' message at the top right corner of the screen reminds you which port the software is expecting to see the Exciter on. This and the baud rate are read from the setup file EXC.SET. This program does not at present allow bit-map files (for MFSK, MT-Hell and Feld-Hell, modes M4 and M5) to be 'compiled' and downloaded. You will havw to make them manually and laboriously! The next version will hopefully be improved in this area. The MAKEBCN compiler and control program was written in Microsoft QuickBASIC V4.5 and compiled as a stand-alone DOS executable. The program and this file are Copyright (C) M. Greenman 2002. All rights reserved, no promise of performance guaranteed or implied. Use this program at your own risk. The software will only be useful when used to control LF Exciters built to my design, or at least using my published DDS Exciter control protocol, both of which are available free from http://www.qsl.net/zl1bpu/micro/EXCITER. The Exciter referred to operates from 7kHz to about 400kHz, and generates 1W output iover the range 10 - 250kHz. It is extremely stable, precise in frequency control, very clean in spurii, harmonics, images and carrier phase nosie. See the web site mentioned for specs. The microcontroller executable code ($10) and source code ($30) are available direct from the author at zl1bpu@nzart.org.nz. Cheques only accepted. The price includes email support for your project. Happy LOWFER beaconing!