SM7LCB, ICOM bus interface

Last updated 4 February 2007. Back SM7LCB remote page

Presentation

At a remote station you usually need to control a radio but there are many more things that needs control and supervision on a remote station. If you have a yagi antenna and a rotation unit to it then you maybe want to rotate the antenna remote. If you have a power amplifier it would be very nice to supervise the output power and maybe the return loss on the antenna.

To control different units on a remote site you can do it in many different ways. One way could be to add a lot of control/measurement cards into a normal PC and write a nice program handling all the control/supervision and let the PC also handle the remote connection to the operator via TCP/IP network. I did it in the other way with the PC only acting as the server for remote connection via TCP/IP network. On the remote site the PC using one serial port will send commands to many small control/supervision units with their internal microprocessor. The remote system will then be a local network of microprocessors their one microprocessor in easy rotor control box, one in each transverter unit and maybe one in each power amplifier.

For this local network there are many nice buses and protocol to choose from. After I have tried some of them I came back to the “ham radio corner” and find that the ICOM CIV bus where an easy and already used local bus. This choose where obvious because I needed an easy way to set frequency and mode on my ICOM IC-706. Using the ICOM open collector bus line is maybe not the best choose but it work even when I’m running it over 60 meter RG58. In the future I will maybe change this long way communication to better driver using RS-485. But I will stay with the protocol format from ICOM. For my own build units I’m not using cryptically coded hex format on the commands. I instead using “clear ASCII” string formatted into the ICOM protocol.

For more information about the ICOM CIV bus…

NOTE
Sorry that the software still is not in place here on the web page.
I'm in the process of rewriting my code for an open source async library (part of SvxLink).
Then that is finished and working I hope to get it on the web (during spring 2007).

TOP


Interface

The PC needs an interface on the serial port (COM port). There are a lot of interface descriptions on the Internet but here I have my favorite choose. It is design with only transistors and resistors by Bill, G3MCS. Click on it to get the PDF file. Simple and cheep is nice!

TOP


Software

At the remote site there need to be a server program connecting the client via TCP/IP to the local ICOM CIV bus. For this I have written a ICOM bus server in C++ to be used on a Linux machine. Hope I soon will write more about that one here…

 sm7lcb@linux:~> ./ciBusServer -?
Usage ./ciBusServer -f... -s... -t... -h... -p... -i... -d... -k
         -f<ini file>    get configuration from file
         -s<server port> this servers port number
         -t<server port> this serial servers port number
         -h<remote host> remote server ip address/name
         -p<remote port> remote server port number
         -i<dev>         tty device for icom bus
         -d<level>       enable debug text
         -k              enable stdin commands


TOP



SM7LCB
End of this page
Document made with Nvu