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.

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.

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 needsa 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.

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 as149@detroit.freenet.org. Cheques only
accepted. The price includes email support for your project. Happy LOWFER beaconing!




	






