RTCM Client: Difference between revisions

From AllStarLink Wiki
Jump to navigation Jump to search
imported>Ve7fet
Created page with "The Micro-Node RTCM and VOTER interfaces are typically used with AllStar in voting/simulcast applications. They MAY be used for ANY repeater interface application, through the..."
 
No edit summary
 
(50 intermediate revisions by 7 users not shown)
Line 1: Line 1:
The Micro-Node RTCM and VOTER interfaces are typically used with AllStar in voting/simulcast applications. They MAY be used for ANY repeater interface application, through the chan/voter channel driver.
= Introduction =


The VOTER is the original through-hole board designed by Jim Dixon for this application. It is open-source, and the relevant Gerber files and BoM to build it are available.  
The Radio Thin Client Module (RTCM) is [http://www.micro-node.com/thin-m1.shtml commercially available] hardware for interfacing radios to an AllStarLink computer.


The [http://www.micro-node.com/thin-m1.shtml Micro-Node Radio Thin Client Module (RTCM)] is the commercial version of the VOTER. It uses surface mount parts (SMT), but is functionally equivalent to the original VOTER.  
<gallery mode=nolines>
File:Rtcm2-750.jpg
File:Rtcm1-750.jpg
File:Rtcm3-750.jpg
</gallery>


In general, the two terms (RTCM/VOTER) are used interchangeably, as they operate the same, and use the same firmware'''*'''.
The Micro-Node RTCM (and [[VOTER-Hardware | VOTER]]) interfaces are typically used with AllStar in voting/simulcast applications. They '''MAY''' be used for '''ANY''' repeater interface application, through the <code>chan_voter</code> channel driver, as they are primarily a Radio over IP (ROIP) adapter.  


This page will highlight some of the operational concerns, quirks, bugs, and other items of interest that relate to these interfaces. Much of the information has been gleaned off the AllStar mail list, comes from personal experience, or comes from notes in the firmware source code.
The [[VOTER]] is the original [[VOTER-Hardware | through-hole board]] designed by Jim Dixon (SK) for this application. It is open-source, and the relevant Gerber files and BoM to build it are [https://github.com/AllStarLink/Voter/blob/master/VOTER-pcb/voter-cad-rev-a.zip available].  


'''*'''see below
The [http://www.micro-node.com/thin-m1.shtml Micro-Node Radio Thin Client Module (RTCM)] is the commercial version of the VOTER. It uses surface mount parts (SMT), but is functionally equivalent to the original [[VOTER-Hardware | VOTER]]. In general, the two terms (RTCM/VOTER) are used interchangeably, as they operate the same, and use the same firmware (mostly, see below).




=Firmware=
= Firmware =
The firmware in the RTCM and VOTER is the same, except it is compiled for the specific dsPIC that is installed in each. As such, the firmware is specific to the VOTER or the RTCM, and is NOT interchangeable (it won't boot in the wrong device). Firmware for the RTCM is denoted by "smt" in the filename.


The VOTER uses a dsPIC33FJ128GP802 and the RTCM uses a dsPIC33FJ128GP804.
See the [[RTCM_Firmware_upgrading | firmware upgrade]] page for information on upgrading the firmware.


Current firmware (.cry file) is available here: https://github.com/AllStarLink/voter/tree/master/board-firmware


There are multiple "flavors" of firmware available. See below for further explanation of what all the options mean.
= Board Layout =


The DSPBEW versions have Jim's DSP/BEW feature enabled. Note that due to the size of this feature, the diagnostics menu is NOT available in this version.
== Connectors and Switches ==


The CHUCK versions have Chuck Henderson's RSSI and Squelch modifications enabled. This is probably the version that most user's will want to use in production.
<pre>
J1    - ICSP Programming Header
P1    - Radio
P2    - Console/GPS
SW1  - Reset (Momentary)
SW2-1 - Init EEPROM
SW2-2 - Calibrate Squelch
SW2-3 - Calibrate Diode
SW2-4 - RX Level LEDs
</pre>




==Compiling Environment==
=== J1 - ICSP Programming Header (6 pin MTA-100) ===


If you look in the votersystem.pdf, you will find a procedure to modify and load the bootloader in to the dsPIC of a VOTER board.  
<pre>
1 - MCLR
2 - +3.3Vdc
3 - GND
4 - PGD (Program Data)
5 - PGC (Program Clock)
6 – NU
</pre>


Unfortunately, there is an important step missing in that procedure, which is covered below.


In addition, the old links for the MPLAB software are dead, so let's update this info and get you going.
=== P1 - Radio Connector Pinout (DB9 Male) ===


Currently (Feb 2017), you can get the required software from:
<pre>
1 - + VIn (7-24 Volts DC).
2 - Transmit Audio Out
3 - Receive (discriminator) Audio In
4 - External CTCSS Input (optional)
5 - Gnd
6 - Gnd
7 - /PTT Out (open-collector, active-low)
8 - Gnd
9 – Gnd
</pre>


http://www.microchip.com/development-tools/downloads-archive


Download MPLAB IDE 32-bit Windows v8.66:
=== P2 - Console/GPS Connector Pinout (DB15 Female) ===
http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_IDE_v8_66.zip
http://dvswitch.org/files/AllStarLink/Voter/MPLAB_IDE_v8_66.zip


Download MPLAB C Compiler for PIC24 and dsPIC DSCs v3.31 '''NOT v.3.25''':
<pre>
http://ww1.microchip.com/downloads/en/DeviceDoc/mplabc30-v3_31-windows-installer.exe
1 - NC
http://dvswitch.org/files/AllStarLink/Voter/mplabc30-v3_31-windows-installer.exe
2 - Console Transmit Data
3 - Console Receive Data
4 - NC
5 - Gnd
6 - GPS Receive Data
7 - PTT Out
8 - Gnd
9 - NC
10 - Console Request To Send (RTS)
11 - Console Clear To Send (CTS)
12 - NC
13 - GPS Power Output (5Vdc @ 800ma MAX)
14 - GPS Transmit Data
15 – External Reset
</pre>


Optionally, install Windows Virtual PC and XP Mode. This is getting to be pretty old software, so running it under XP Mode may be a good idea, so we can keep it isolated (install it in a virtual machine). It does run fine in Windows 7.


Run the MPLAB IDE installer. You don't need to install the HI-TECH C Compiler at the end (click no).
=== SW1 - Reset ===


Run the MPLAB C Compiler installer.
Depress SW1 momentarily to reset the RTCM.


Select Legacy Directory Name.


'''Select Lite Compiler'''
=== SW2 - DIP Switch ===


Go to: https://github.com/AllStarLink
<pre>
SW2-1 - Init EEPROM
SW2-2 - Calibrate Squelch
SW2-3 - Calibrate Diode
SW2-4 - RX Level LEDs
</pre>


Follow the links to: voter --> Clone or Download --> Download Zip


That will get you voter-master.zip which is a download of the whole VOTER tree from GitHub.
SW2-1 "Initialize configuration parameters in EEPROM" (factory reset). If ON when firmware starts, the operating parameters in the EEPROM will be set to default values. The system activity LED (LD1, green) will stay off for aproximately 4 seconds, then stay on steady to indicate that the initialization process is complete. Afterwards, the switch may be TURNED OFF and the system will continue running normally. Note, if SW2-3 is ON during this procedure, the “Diode Calibration” process will also occur.


Extract it somewhere (ie. in the XP Mode Virtual PC).


Launch the MPLAB IDE.
SW2-2 On to calibrate squelch. With the receiver connected and its antenna removed, switch on SW2-2. In the next few seconds the "Receive Signal Indicator" (LD3, Green) will flash on and off, then (hopefully) on steady. This indicates that the squelch calibration has occurred successfully. If unsuccessful, the LED will flash either fast to indicate that the discriminator noise level is too high, or slowly to indicate that the discriminator noise level is too low. Note, if SW2-3 is ON during this procedure, the "Diode Calibration" process will also occur.


Go to Configure --> Settings --> Projects and de-select one-to-one project mode.


SW2-3 On to perform "Diode Calibration". This may only be done in conjunction with a configuration parameter initialization (see SW2-1, above), or a "Squelch Calibration" (see SW2-2, above).


==Bootloader==


If you need to load the bootloader in to a fresh board, you will need to follow these steps.
SW2-4 On to temporarily re-purpose LD4 and LD5 to allow for visual indication of RX input level. With SW2-4 on, LD5 will indicate (by brightness) if the RX level is too low, and LD4 will indicate (by brightness) if the RX level is too high. So the idea is to tune R36 so that there is minimal brightness on both LD4 and LD5 (like a null, more or less). Alternatively, [[VOTER-Menus#97_RX_Level_Display | Menu 97]] on the console gives a more graphical method of setting the Rx input level.  


Go to Project --> Open --> voter-bootloader.mcp --> Open (it is in the voter-bootloader folder of the GitHub source)


Go to File --> Import --> voter-bootloader --> ENC_C30.cof --> Open '''This step is missing from the original procedure.'''
== LED Designations ==


Select View --> Program Memory (from the top menu bar).
<pre>
LD1 - Heartbeat
LD2 - PTT
LD3 - COS On solid is valid Rx signal, flashing is without CTCSS
LD4 - GPS On solid is GPS received and locked, flashing is GPS received, lock in progress
LD5 - HOST
</pre>


If you want to change the default IP address from 192.168.1.11:


Hit Control-F (to "find") and search for the digits "00A8C0".
The COS (RX) LED on the RTCM will flash (same rate as Heartbeat LED) if you have External CTCSS enabled, and the received signal has the wrong (or no) valid PL.


These should be found at memory address "03018".


The "A8C0" at 03018 represents the hex digits C0 (192) and A8 (168) which are the first two octets of the IP address. The six digits to enter are 00 then the SECOND octet of the IP address in hex then the FIRST octet of the IP address in hex.
== Jumpers ==


The "0B01" at 0301A represents the hex digits 0B (11) and 01 (1) which are the second two octets of the IP address. The six digits to enter are 00 then the FOURTH octet of the IP address in hex then the THIRD octet of the IP address in hex.
<pre>
JP1 - Discriminator Level Boost
JP2 - 20dB Pad
JP3 - Output Amp Power Source
JP4 - GPS TX RS-232/TTL Select
JP5 - GPS RX RS-232/TTL Select
JP6 - Not Used
JP7 - Bootloader Programming
</pre>


Otherwise, if you just want to load the bootloader...


Remove JP7 on the VOTER Board. This is necessary to allow programming by the PICKit2/PICKit3 device.
=== JP1 - Discriminator Level Boost ===


Attach the PICKIT2/PICKit3 device to J1 on the VOTER board. Note that Pin 1 is closest to the power supply modules (as indicated on the board).
Insert if low discriminator level. If squelch cannot self-calibrate with JP1 removed (too low), try with JP1 inserted.


If you have not already selected a programming device, go to Programmer --> Select Device and choose PICKit3 (or PICKit2, depending on what you are using).


Then go to Programmer --> Program. This will program the bootloder firmware into the PIC device on the board.
'''Note:''' this jumper affects the squelch calibration circuit only. Not to be confused with JP2, which is the pad for the receive audio.




==Firmware==
=== JP2 - 20dB Pad ===


To compile the firmware (if you want to make custom changes)...
Insert to attenuate discriminator input level by 20db. This pad affects the '''receive audio level'''. See the [[#Receive Level Input Calibration | Receive Level Input Calibration]] section.


Go to Project --> Open --> navigate to board-firmware and open the .mcp file for the flavor of firmware you want to compile. They are in the board-firmware folder of the GitHub source.


'''NOTE''': the .mcp files with the "smt" suffix are for the RTCM (built with SMT parts). The non-smt files are for the ORIGINAL through-hole VOTER boards. The difference is that the VOTER uses a dsPIC33FJ128GP802 and the RTCM uses a dsPIC33FJ128GP804.
=== JP3 - Output Amp Power Source ===


Go to Project --> Build Configuration and select "Release". This may not be necessary (I don't believe that option is used in the firmware), but it removes the compiler option of __DEBUG being passed, so theoretically it would build "normal" firmware.
Selects power source for output audio amplifier. 1-2 is to power it from the 5VDC power supply. 2-3 is to power it directly from Vin.  


Go to Configure --> Select Device and choose the appropriate device for your board from the Device list. If you don't select the right one, the board will not boot. Select dsPIC33FJ128GP802 for the VOTER, and dsPIC33FJ128GP804 for the RTCM.


Now, if you go to Project --> Build All it should compile everything and show you "Build Succeeded".
=== JP4 - GPS TX RS-232/TTL Select ===


A .cry file should be in the board-firmware folder. You can load this with the ENC Loader.
Selects GPS Serial transmit level. 1-2 RS232 Level, 2-3 TTL (5V) Level.


There is also a .hex file in there that you could load with a programmer... but that would wipe the bootloader... so don't do that.


=== JP5 - GPS RX RS-232/TTL Select ===


==Chuck Squelch==
Selects GPS Serial receive level. 1-2 RS232 Level, 2-3 TTL (5V) Level.
If you want to enable "Chuck Squelch", open the HardwareProfile.h and un-comment #define CHUCK.  


You may also want to go down to Line 291 in Voter.c (right click on the window, go to Properties --> "C" File Types --> Line Numbers) and tack on CHUCK after 1.60 (the current version number) so that when you load this firmware, the version will be shown as 1.51CHUCK, and you'll know that Chuck Squelch is compiled in. We should probably make that more automagic in the future...


=== JP6 – Not used ===


==DSP/BEW==
If you want to compile the DSPBEW version, open the DSPBEW project file instead.


=== JP7 - Bootloader Programming ===
=GPS Issues=
 
==NMEA Sentences==
This jumper only needs to be removed when programming the bootloader in the dsPIC using the ICSP header.
If you are using an NMEA GPS (as opposed to a Trimble using the TSIP binary interface), the RTCM/VOTER is looking for the following NMEA sentences:
 
 
== Potentiometers ==


<pre>
<pre>
$GPGGA
R22 - Squelch adjustment
$GPGSV
R36 - Rx Input Level
$GPRMC
R10 - Tx Output Level
</pre>
</pre>


==Trimble Thunderbolt==


==Garmin LVC==
= Related Pages =
 
Documentation on the VOTER/RTCM is extensive, and as such, has been split across multiple pages. They are usually linked, where appropriate, throughout the content. However, here are all the related pages that are available:
 
*[[VOTER | Main VOTER Page]]
*[[VOTER-Hardware | Original VOTER Hardware Documentation]]
*[[VOTER-Menus | Menu Structure and Definitions]]
*[[RTCM_Firmware_upgrading | Firmware Upgrading]]
*[[VOTER-Audio | Audio Interfacing and Configuration]]
*[[VOTER-GPS | GPS Interfacing and Configuration]]
*[[Voter.conf | <code>voter.conf</code> Documentation]]
*[[RTCM_Channel_Driver | <code>chan/voter</code> and Asterisk Console Documentation]]
*[[VOTER-Simulcasting | Simulcasting Configuration]]
*[[VOTER-Buffers | Buffer Tuning]]
*[[Quantar_RTCM | Interfacing to the Motorola Quantar]]

Latest revision as of 18:08, 20 March 2022

Introduction

The Radio Thin Client Module (RTCM) is commercially available hardware for interfacing radios to an AllStarLink computer.

The Micro-Node RTCM (and VOTER) interfaces are typically used with AllStar in voting/simulcast applications. They MAY be used for ANY repeater interface application, through the chan_voter channel driver, as they are primarily a Radio over IP (ROIP) adapter.

The VOTER is the original through-hole board designed by Jim Dixon (SK) for this application. It is open-source, and the relevant Gerber files and BoM to build it are available.

The Micro-Node Radio Thin Client Module (RTCM) is the commercial version of the VOTER. It uses surface mount parts (SMT), but is functionally equivalent to the original VOTER. In general, the two terms (RTCM/VOTER) are used interchangeably, as they operate the same, and use the same firmware (mostly, see below).


Firmware

See the firmware upgrade page for information on upgrading the firmware.


Board Layout

Connectors and Switches

J1    - ICSP Programming Header
P1    - Radio
P2    - Console/GPS
SW1   - Reset (Momentary)
SW2-1 - Init EEPROM
SW2-2 - Calibrate Squelch
SW2-3 - Calibrate Diode
SW2-4 - RX Level LEDs


J1 - ICSP Programming Header (6 pin MTA-100)

1 - MCLR
2 - +3.3Vdc
3 - GND
4 - PGD (Program Data)
5 - PGC (Program Clock)
6 – NU


P1 - Radio Connector Pinout (DB9 Male)

1 - + VIn (7-24 Volts DC).
2 - Transmit Audio Out
3 - Receive (discriminator) Audio In
4 - External CTCSS Input (optional)
5 - Gnd
6 - Gnd
7 - /PTT Out (open-collector, active-low)
8 - Gnd
9 – Gnd


P2 - Console/GPS Connector Pinout (DB15 Female)

1 - NC
2 - Console Transmit Data
3 - Console Receive Data
4 - NC
5 - Gnd
6 - GPS Receive Data
7 - PTT Out
8 - Gnd
9 - NC
10 - Console Request To Send (RTS)
11 - Console Clear To Send (CTS)
12 - NC
13 - GPS Power Output (5Vdc @ 800ma MAX)
14 - GPS Transmit Data
15 – External Reset


SW1 - Reset

Depress SW1 momentarily to reset the RTCM.


SW2 - DIP Switch

SW2-1 - Init EEPROM
SW2-2 - Calibrate Squelch
SW2-3 - Calibrate Diode
SW2-4 - RX Level LEDs


SW2-1 "Initialize configuration parameters in EEPROM" (factory reset). If ON when firmware starts, the operating parameters in the EEPROM will be set to default values. The system activity LED (LD1, green) will stay off for aproximately 4 seconds, then stay on steady to indicate that the initialization process is complete. Afterwards, the switch may be TURNED OFF and the system will continue running normally. Note, if SW2-3 is ON during this procedure, the “Diode Calibration” process will also occur.


SW2-2 On to calibrate squelch. With the receiver connected and its antenna removed, switch on SW2-2. In the next few seconds the "Receive Signal Indicator" (LD3, Green) will flash on and off, then (hopefully) on steady. This indicates that the squelch calibration has occurred successfully. If unsuccessful, the LED will flash either fast to indicate that the discriminator noise level is too high, or slowly to indicate that the discriminator noise level is too low. Note, if SW2-3 is ON during this procedure, the "Diode Calibration" process will also occur.


SW2-3 On to perform "Diode Calibration". This may only be done in conjunction with a configuration parameter initialization (see SW2-1, above), or a "Squelch Calibration" (see SW2-2, above).


SW2-4 On to temporarily re-purpose LD4 and LD5 to allow for visual indication of RX input level. With SW2-4 on, LD5 will indicate (by brightness) if the RX level is too low, and LD4 will indicate (by brightness) if the RX level is too high. So the idea is to tune R36 so that there is minimal brightness on both LD4 and LD5 (like a null, more or less). Alternatively, Menu 97 on the console gives a more graphical method of setting the Rx input level.


LED Designations

LD1 - Heartbeat
LD2 - PTT
LD3 - COS On solid is valid Rx signal, flashing is without CTCSS
LD4 - GPS On solid is GPS received and locked, flashing is GPS received, lock in progress
LD5 - HOST


The COS (RX) LED on the RTCM will flash (same rate as Heartbeat LED) if you have External CTCSS enabled, and the received signal has the wrong (or no) valid PL.


Jumpers

JP1 - Discriminator Level Boost
JP2 - 20dB Pad
JP3 - Output Amp Power Source
JP4 - GPS TX RS-232/TTL Select
JP5 - GPS RX RS-232/TTL Select
JP6 - Not Used
JP7 - Bootloader Programming


JP1 - Discriminator Level Boost

Insert if low discriminator level. If squelch cannot self-calibrate with JP1 removed (too low), try with JP1 inserted.


Note: this jumper affects the squelch calibration circuit only. Not to be confused with JP2, which is the pad for the receive audio.


JP2 - 20dB Pad

Insert to attenuate discriminator input level by 20db. This pad affects the receive audio level. See the Receive Level Input Calibration section.


JP3 - Output Amp Power Source

Selects power source for output audio amplifier. 1-2 is to power it from the 5VDC power supply. 2-3 is to power it directly from Vin.


JP4 - GPS TX RS-232/TTL Select

Selects GPS Serial transmit level. 1-2 RS232 Level, 2-3 TTL (5V) Level.


JP5 - GPS RX RS-232/TTL Select

Selects GPS Serial receive level. 1-2 RS232 Level, 2-3 TTL (5V) Level.


JP6 – Not used

JP7 - Bootloader Programming

This jumper only needs to be removed when programming the bootloader in the dsPIC using the ICSP header.


Potentiometers

R22 - Squelch adjustment
R36 - Rx Input Level
R10 - Tx Output Level


Related Pages

Documentation on the VOTER/RTCM is extensive, and as such, has been split across multiple pages. They are usually linked, where appropriate, throughout the content. However, here are all the related pages that are available: