SM7LCB, Transverter and PA Control
This page will describe my transverter and PA
controller build around a PIC16F876 microprocessor. The control interface used is based on the ICOM CI-V bus with
the same physical interface and also data address format but commands are normal
ASCII formatted text.
For this project I’m using PIC
microprocessors see my PIC page for more
information.
TOP
The schematic for the circuit is shown
in the figure below. As you see it more or less are only a microprocessor and
some interface circuits.
Click on above picture for a PDF
document.
The main part is a microprocessor from Microchip called
PIC16F876(A).
- The connector J1 is used to program the microprocessor (ISP) and also
for power supply to the unit (+5VDC).
- The buffer IC2A/B is used as an ICOM bus interface
(CIV).
- -
- -
TOP
The microprocessor needs to be loaded
with the transverter/PA control software. You can download the software here and then you
need programming software, which can download the file into the microprocessor
over the program interface (see the schematic).
The software is currently only
possible to get in the HEX file format.
LCB-XV1 version 1.00, transverter/PA control
program for PIC16F876.
The hexfile include fuse
(configuration bits) setting for the PIC processor. But if the PIC programmer
you are using don’t get the fuse (configuration bits) setting from the file you
may need to set then manual in the PIC programmer, see
below
Name |
Use |
Setting |
FOSC1, FOSC0 |
Oscillator Selection bits. |
01 = XT oscillator |
WDTE |
Watchdog Time Enable bit. |
0 = WDT disabled. |
PWRTE |
Power-up Reset Enable bit. |
0 = PWRT enabled. |
BODEN |
Brown-out Reset Enable bit |
1 = BOR enabled. |
LVP |
Low Voltage In-Circuit Serial Programming Enable bit. |
0 = RB3 is digital I/O, HV on MCLR must be used for programming. |
CPD |
Data EE Memory Code Protected. |
1 = Code protection off. |
WRT |
FLASH Program Memory Write Enable. |
Don't care. |
DEBUG |
In-Circuit Debugger Mode. |
1 = In-Circuit Debugger disabled, RB6 and RB7 are general purpose I/O pins. |
CP1, CP0 |
FLASH Program Memory Code Protection bits. |
11 = Code protection off. |
TOP
To start up the controller and to do the configuration/calibration you
need a terminal program which can read/write ICOM CIV commands.
When you start up the controller you shall hopefully get a message from
the controller there it reports it's software version etc.
It shall look like this "vLCB-XV1v1.00".
TOP
Before use of the controller there is a need
to set some configuration information in the controller.This is done by
sending a set
mode command to the controller. Below show to example of configuration.
Not that the default address of the controller will first time be 0xFF.
Transverter controller configuration.
Maaa1234dddm
example
M067AAAA200T |
- aaa = unit address of the controller is 67 or 0x43.
- 1 = -
- 2 = -
- 3 = -
- 4 = -
- ddd = RX/TX delay time to 200 ms.
- m = T for transverter mode.
|
PLL configuration.
Pbxxxyyyzzz
example
P0254001002 |
- b = PLL register number 0.
- xxx = Decimal value of 1:st 8 bit to be loaded into PLL.
- yyy = Decimal value of 2:nd 8 bit of data to PLL.
- zzz = Decimal value of the 3:de 8 bit of data to PLL.
"254001002" will be data 0xFF 0x01 and 0x02 and in bitstream
"111111110000000100000010" set to PLL.
|
Analog configuration.
Dxyyyy
example
DT0200 |
- x = T for transmission ref value and R for recieve ref value.
- yyy = Ref value in decimal form here 200.
|
Save configuration.
Sx
example
S1 |
- x = 1 to save current configuration in EEPROM.
x = 0 to restore configuration from EEPROM.
|
TOP
The following command can be send to the contoller for any application program.
TOP
All command to this transverter/PA controller is sent
over the ICOM CIV bus and they are not following any used standard. The
commands are using only ASCII characters for easy use. To get
information how you shall embed these commands into the ICOM CIV bus
please read link information for the bus itself.
In the ICOM CIV bus all ICOM radios have a common address (0x00). For
LOGGER units on the same bus I have been using address 0x01 as a common
address for units to broadcast information. In the command table below
there is notes if the message can be sent over this common address.
There is also a note it the command will return the standard ICOM
messages for OK and NOT OK command. Check this return message if you
want to no if it when OK or NOT OK! All commands are valid except that
some of the command is not valid during calibration.
Command |
Function |
Common |
CIV OK |
PA mode |
Configuration |
! |
Get the loaded software version information.
Example "vLCB-XV1v1.00". |
At power on. |
NO |
YES |
M? |
Get current mode, see below.
The return status will start with small 'm' character. |
- |
NO |
YES |
Maaa1234dddm |
Set mode,
- aaa = unit address in decimal form 2-250.
- 1 = -
- 2 = -
- 3 = -
- 4 = -
- ddd = RX/TX delay time in ms 0-999.
- m = T for transverter mode.
m = P for PA mode.
|
- |
YES |
YES |
Pb? |
Get current PLL setting, see below.
The return status will start with small 'p' character. |
- |
NO |
NO |
Pbxxxyyyzzz |
Sett PLL setting value
- b = PLL register number 0.
- xxx = 1:st 8 bit to be loaded into PLL.
- yyy = 2:nd 8 bit of data to PLL.
- zzz = 3:de 8 bit of data to PLL.
"254001002" will be data 0xFF 0x01 and 0x02 and in bitstream
"111111110000000100000010" set to PLL. |
- |
YES |
NO |
Dx? |
Get current ref setting, see below.
The return status will start with small 'p' character. |
- |
NO |
YES |
Dxyyyy |
ddd
- x = T for transmission ref value
x = R for recieve ref value.
- yyy = Ref value in decimal form here 200.
|
- |
YES |
YES |
Sx |
Save or restore configuration from EEPROM.
- x = 1 to save current configuration.
- x = 0 to restore configuration .
|
- |
YES |
YES |
Control |
Bx |
Change the analog PWM value. |
- |
YES |
YES |
Cx |
Switch output IO ON/OFF. |
- |
YES |
YES |
Gx |
Switch unit ON/OFF. |
- |
YES |
- |
Status |
Oattt |
Status message sent at OFF state.
- a = indicat if configuration changed.
Need to save configuration in EEPROM.
- ttt = unit temperature in -50...100 degree C.
|
YES |
NO |
YES |
Rabcvvpppttt |
Status message send at RX state.
- a = indicate if change in configuration changed but not saved into EEPROM.
- b = status of output IO.
- c = status of input IO.
- vv = analog value 00-99.
- ppp = current PWM value 000-254.
- ttt = unit temperature in -50...100 degree C.
|
YES |
NO |
NO |
Tbcffrrttt |
Status message send at TX state.
- b = status of output IO.
- c = status of input IO.
- ff = forward power value 00-99.
- rr = reflected power value 00-99.
- ttt = unit temperature in -50...100 degree C.
|
YES |
YES |
YES |
TOP
|