MGL Avionics CC V16 User Manual

Page 1
MGL Avionics
V16 Aviation band transceiver
ICD V1
Page 2
Table of Contents
MGL Avionics V16 transceiver communications protocols.........................................................3
Version....................................................................................................................................3
The legal stuff..........................................................................................................................3
General........................................................................................................................................3
Frequencies.................................................................................................................................4
RS232 protocol...................................................................................................................5
General message format:...................................................................................................5
Commands:........................................................................................................................5
Format of Acknowledge message (sent by transceiver)....................................................8
Format of status message (sent by transceiver every 100mS unless setup menu is
active).................................................................................................................................8
Format of the Setup menu message (sent every 200mS if setup menu active)................9
CAN bus protocol......................................................................................................................10
Messages from the V16........................................................................................................10
Menu item message..........................................................................................................11
Technical string.....................................................................................................................12
Page 3

MGL Avionics V16 transceiver communications protocols

Version

This document contains preliminary information on the binary communications protocol used by MGL Avionics VHF airband V16 transceivers.
MGL Avionics does not guarantee correctness of this document. MGL Avionics reserves the right to change any part of the specification at any time without notice.

The legal stuff

The text in this document is provided in good faith and not subject to written and signed NDA agreements.
A legal entity implementing this protocol or parts of this protocol agrees to hold MGL Avionics CC free of liability for any and all consequent liability or claims arising out of use of any and all information made available in this document. Any entity making use of this information does so at their own risk and liability. These conditions are not negotiable and will not be waived. Should the entity not accept these conditions MGL Avionics does not grant the right to use any of this information in any way. Usage of this information constitutes acceptance of a legally binding contract in the spirit of information placed in the public domain for the common good. It follows that any action against MGL Avionics CC in this context is considered a breach of contract immediately negating the right to use this information.

General

Communications takes place via RS232 or via CAN bus or both
RS232 settings 9600 Baud 8 Data bits 1 Stop bit No parity
CAN bus settings 11 bit identifiers 250KBaud
The transceiver transmits regular status messages containing sufficient information to build a typical display image. The status message is transmitted every 100mS. During special conditions the status message is sent every 200mS inter spaced with a setup information or technical information message every 200mS (so the overall message rate remains at 100mS).
Page 4
Messages to the transceiver consist of commands. Most commands result in transmission of an acknowledgment when the command has been received with a matching checksum. Exceptions to this are the PTT command (no response). PTT command has to be sent every 100 mS to keep PTT active.
Command messages containing frequency request that are not within the permitted airband or illegal channel frequencies are ignored and not acknowledged.
The V16 provides two RS232 ports and one CAN bus. Only RS232 port 1 supports this protocol. RS232 port 2 is reserved for special functions.

Frequencies

Frequencies are transmitted as 4 byte unsigned integer values in the RS232 protocol and 3 byte integer values in the CAN bus protocol,
Frequency values consist of MHZ and 100's of Khz plus a channel number within the 100Khz band.
Values N=0-15 give the channel where channels 1,2,3,5,6,7,9,10,11,13,14,15 are 8.33Khz channels and 0,4,8,12 are the 25Khz spaced channels.
Using published frequencies 8.33Khz channels from 0 to 15 correspond:
N ICAO KHZ 0 0 0 25Khz bandwidth 1 5 0 2 10 8.333 3 15 16.666 4 25 25.000 25Khz bandwidth 5 30 25.000 6 35 33.333 7 40 41.666 8 50 50.000 25Khz bandwidth 9 55 50.000 10 60 58.333 11 65 66.666 12 75 75.000 25Khz bandwidth 13 80 75.000 14 85 83.333 15 90 91.666
Examples:
25Khz channel 127.175MHZ = 127112
8.33Khz channel 120.235Mhz = 120206 (actual frequency 120.233333 MHZ)
Page 5
Note that 4 channels operate on two identical frequencies (0,25,50,75) and (5,30,55,80) respectively. The V16 switches internal RX and TX bandwidths accordingly so be sure to request the correct version as needed.

RS232 protocol

General message format:

02 STX 05 DLE CC Command D0 1 to n bytes of data ... Dn CKS Checksum
Checksum is a linear XOR of the message contents from Command to the last data byte. The result of this is XOR'ed with the value of $55. This form of checksum is also known as longitudinal checksum or 8 bit parity.
Note: This protocol is based on the protocol used by the MGL Avionics V6 and V10 transceivers. Note that the commands and status messages are not all identical.
Example RS232 message to set standby frequency (values are in HEX)
02 05 01 18 F0 01 00 E8
The value E8 is the checksum and the frequency requested is 127.000 MHZ (0x1F018).

Commands:

00 Set active frequency D0 Frequency, binary, LSB first
.... Sets frequency if TX is not active, if active will cause change of frequency
D3 to new value when TX ends.
Note: Frequency must be a valid frequency. Invalid frequencies will be ignored and no acknowledge will be sent for the message.
Sends acknowledge when message received OK
01 Set standby frequency D0 Frequency, binary, LSB first
....
D3
Page 6
Note: Frequency must be a valid frequency. Invalid frequencies will be ignored and no acknowledge will be sent for the message.
Sends acknowledge when message received OK
02 Increase RX and Intercom volume (3dB), If they are different they will be set to
the same value as the intercom volume.
00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
03 Decrease RX and IC volume (3dB), If they are different they will be set to
the same value as the intercom volume.
00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
04 Set RX and Intercom volume 00 Volume value 0-31 (lowest to highest)
Sends acknowledge when message received OK
05 Increase squelch 00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
06 Decrease squelch 00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
07 Set squelch 00 Squelch value 0-31 (lowest to highest)
Sends acknowledge when message received OK
08 Set scanning on/off 00 0 = scanning off
1 = scanning on
Sends acknowledge when message received OK
09 Playback request 00 Don't care data value (recommend to set to zero)
Note: If this message is received while playback of last RX is not active, it will activate
Page 7
playback of the last RX. If it is received while a playback is active the playback pointer moves to the message before that and so forth until the last stored message. If no message is available for a request playback terminates (Playback also terminates at any time if a new RX is received).
Sends acknowledge when message received OK
11 PTT 00 Bit 0 = Pilot PTT. 1=active, 0=not active
Bit 1 = PAX PTT. 1-active, 0=not active
This message must be sent every 100 mS to keep a PTT active. It will timeout and cancel any active PTT after 300mS if no further PTT command is received. When the PTT is to be released it is recommended that at least one message is sent with the corresponding PTT bit set to zero so the TX is released immediately. There is no need to send this message when no PTT is active.
This command does not reply with an acknowledge message !!!
18 Flip active and standby frequencies 00 Don't care (recommend to set to zero)
Sends acknowledge when message received OK
20 Setup menu control nn 0: Setup de-activate (power on state)
1: Setup activate 2: Menu up (previous item) – wraps to end of menu. 3: Menu down (next item) = wraps to start of menu. 4: Change value of current menu item UP, ON, YES or flip state 5: Change value of current menu item DOWN, OFF, NO or flip state 6: Technical setup de-activate (power on state) 7: Technical setup activate
If the V16 is placed in setup menu mode it will automatically cancel this mode if no activity within 60 seconds related to the Menu.
If the menu is active the Setup menu message will be sent every 200mS interspaced with the normal status message. The Setup message contains information on the nature of the current setup item and an ascii text message suitable for display on a control head or EFIS. The control head does not require any specific knowledge of the attached device. It simply activates the menu and displays the text to the user. The user navigates the menu and changes values using the above commands.
Technical setup should never be entered without detailed knowledge and required special equipment. The Technical menu includes a number of calibration items that should never be changed during the life of the V16 unless certain repairs have been carried out. DO NOT CHANGE ANY OF THESE ITEMS unless you have the required equipment and knowledge of
Page 8
the procedures required.
No acknowledge is sent in response to these commands
26 Increase Intercom volume (3dB). 00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
27 Decrease intercom volume (3dB). 00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
28 Set Intercom volume nn Volume value 0-31 (lowest to highest)
Sends acknowledge when message received OK
29 Increase RX volume (3dB). 00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
30 Decrease RX volume (3dB). 00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
31 Set RX volume nn Volume value 0-31 (lowest to highest)
Sends acknowledge when message received OK

Format of Acknowledge message (sent by transceiver)

$02 $05 $06 $53 (full message including checksum)
Format of status message (sent by transceiver every 100mS unless setup
menu is active)
02 STX 05 DLE 04 Message type nn Flags
Bit 0 – 1 = TX is active Bit 1 – 1 = Scanning is active
Page 9
Bit 2 – 1 = RX on active frequency
Bit 3 – 1 = RX on standby frequency Bit 4 – 1 = Stuck PTT (PTT active for more than 34 seconds, TX canceled) nn Status
Bit 0 – 1 = Fault detected
Bit 1 – 1 = Partial shutdown due to unfavorable operating condition
Bit 2 – 1 = TX power reduced due to heat
Bit 3 – 1 =TX Power reduced due to low operating voltage
Bit 4 – 1 = Bad antenna match, TX power possibly reduced
Note: TX related flags are only active during TX nn Current RX volume 0-31 nn Current Intercom volume 0-31 nn Current squelch 0-31 n0 Active frequency (4 bytes, LSB first)
....
n3 n0 Standby frequency (4 bytes, LSB first)
....
n3 nn TX power measured at RF connector via directional coupler in 10th of a watt. nn VSWR measured via directional coupler in 10th of a unit at RF connector. nn RX signal level on active frequency in dBm relative to -140dbm. nn RX signal level on standby frequency in dBm relative to -140dbm. Note: Only
valid is scanning is active. nn TX modulation level 0-63 (63 equals about 70% modulation index) nn Temperature at TX power stage in degrees C relative to -50 degrees. nn Supply voltage in 10th of a volt relative to +5.0 volts. CKS Checksum
Format of the Setup menu message (sent every 200mS if setup menu
active)
02 STX 05 DLE 01 Message type nn Length of this message nn Setup type nn Minimum permitted value nn Maximum permitted value nn Current value xx String of ascii characters preceeded by a byte containing number of ascii
characters in string. CKS Checksum
Setup types: 0 Setup has no value to change. For example, “set to factory default”. In
this case you could send Menu command “menu item UP” to activate the function.
1 The most common. Minimum and maximum values are valid and you can
Page 10
change the value using the Up and Down commands. 2 This is not currently used. Treat as reserved value. 3 Menu item flips between two states. Use either UP or Down to select the
desired state.
Length of this message field – This field contains the number of bytes in the message excluding the STX, DLE, Message type, length of message and checksum. It works out to the number of ASCII characters in the string + 5. It is used by the receiver to count the number of bytes until end of message. Note that the string itself contains as first byte the number of characters in the string (Pascal “Shortstring” format).

Technical string

This message is sent on condition to convey further information. It is only used during technical work using dedicated diagnostics equipment.
02 STX 05 DLE 02 Message type nn Number of ASCII characters in string xx ASCII characters of string CKS Checksum

CAN bus protocol

The CAN bus protocol is a duplication of the information on the RS232 protocol packaged into suitable CAN message packets. Each packet may contain up to 8 bytes of data.
CAN packets are identified by address in a CAN network. The address scheme used conforms to the 11 bit message ID standard CAN protocol as well as to the scheme used with MGL Avionics CAN bus equipment.
The ID takes the value 0x44n for COM1 and 45n for COM2 where “n” can be a value from 0 to 15 depending on message type. Setting a V16 to COM1 or COM2 is done via dedicated CAN command described in this section.
The MGL addressing scheme uses the upper 7 bits of the ID as device identifier and the lower 4 bits to identify specific functions or message types local to that device.

Messages from the V16

Status message

The status message is split over 3 packets send in order every 100mS or 200mS if the menu is active.
For a description on each item please refer to the text in the RS232 protocol related to the status message.
Page 11
ID 0x4n0 Status packet 1, length 8 bytes
Byte 0 Message type = 0
Byte 1 Flags
Byte 2 Status
Byte 3 RX Volume
Byte 4 Intercom Volume
Byte 5 RX Squelch
Byte 6 TX power
Byte 7 VSWR
ID 0x4n0 Status packet 2, length 7 bytes
Byte 0 Message type = 1
Byte 1-3 Active frequency, three bytes, LSB first
Byte 4 Active frequency RX level
Byte 5 Standby frequency RX level
Byte 6 Modulation index
ID 0x4n0 Status packet 3, length 6 bytes
Byte 0 Message type = 2
Byte 1-3 Standby frequency, 3 bytes, LSB first
Byte 4 Temperature
Byte 5 Voltage

Menu item message

The menu item message is sent every 200mS as a block of packets in order alternating with the status messages.
The menu message is sent only if the menu is active. For details please see the description in the RS232 protocol related to the menu system.
ID 0x4n1 Menu packet 1, length 8 bytes
Byte 0 Message type = 0
Byte 1 Setup type
Byte 2 Minimum value
Byte 3 Maximum value
Byte 4 Current value
Page 12
Byte 5 Length of ascii string in bytes
Byte 6 1st character of string
Byte 7 2nd character of string
ID 0x4n1 Subsequent menu packet(s), length 2 to 8 bytes
Byte 0 Message type – 1,2,3,4,5 (maximum 31 characters in string, 7 per packet)
Byte 1-7 Remaining characters of string to a maximum of 7 characters.

Technical string

This message is sent on condition to convey further information. It is only used during technical work using dedicated diagnostics equipment.
ID 0x4n2 Subsequent menu packet(s), length 2 to 8 bytes
Byte 0 Message type – 0
Byte 1 Length of string in bytes
Byte 2-7 Up to 6 characters of string
ID 0x4n2 Subsequent technical text packet(s), length 2 to 8 bytes
Byte 0 Message type – 1-9 (maximum 63 characters in string, 7 per packet)
Byte 1-7 Remaining characters of string to a maximum of 7 characters.

Messages to the V16

V16 controllers use the assigned CAN ID 0x48n where “n” is a message type identifier. Multiple control heads will use the SAME ID.
ID 0x480 Length variable (minimum 1 byte)
Byte 0 Command ID
Byte 1-7 Optional data for command
Note: the V16 checks the length of a received CAN packet and will only accept packets that have the correct length for a given command. Do not pad a packet. Send it at the correct length.
Command Length Function
0 4 Set active frequency (three bytes, LSB first)
1 4 Set standby frequency (three bytes, LSB first)
Page 13
2 1 Flip active and standby frequencies
3 1 RX and intercom volume UP 3db
4 1 RX and intercom volume DOWN 3db
5 2 Set RX and intercom volume. Value 0-31.
6 1 RX volume UP 3db
7 1 RX volume DOWN 3db
8 2 Set RX volume. Value 0-31.
9 1 Intercom volume UP 3db
10 1 Intercom volume DOWN 3db
11 2 Intercom volume. Value 0-31.
12 1 RX Squelch UP
13 1 RX Squelch DOWN
14 2 Set RX Squelch. Value 0-31.
15 2 Set scanning. 0 = inactive, any other value = active.
16 1 Flip scanning state (active ↔ inactive)
17 2 PTT activation. Bit 0 = PTT Pilot. Bit 1 – PTT PAX. 1=active.
Please see RS232 protocol description on this for details.
18 2 Setup menu functions. Please see RS232 protocol description for
details on this.
19 1,2,6 Beep control. Activates a beep tone sequencer for headset output.
If length 1 = single beep, 40mS if length 2 = if data=0 then stop any beep active. If length 6 = First data byte = 1, bytes 2,3,4,5 are beep pattern, LSB first, Each “1” is beep active. Data byte 6 is duration of every bit in pattern in milliseconds. Pattern play starts with bit 0 of pattern.
20 1 Playback function. Please see description in RS232 protocol on this
function.
Loading...