Deze pagina mag afgedrukt worden voor thuisgebruik. Commercieel gebruik of verdere verspreiding is niet toegestaan.
Dit is de afdrukbare pagina, klik hier voor het artikel op de volledige website.
http://www.amateurtele.com/index.php?artikel=228

Yaesu FT-8x7 CAT port

inleiding
De Yaesu FT-8x7 zendontvangers zijn uitgerust met een CAT poort. Dat wil zeggen dat door middel van een dataverbinding informatie naar de zendontvnager is te sturen en vanaf de zendontvanger is te ontvangen. Dit heeft geen betrekking op uitgezonden en ontvangen packet berichten, uitsluitend voor bediening en status informatie van de zendontvanger. Aanvankelijk is het ontworpen om de zendontvanger (anno 2001) met een antennetuner of computer te kunnen verbinden, maar gezien de nieuwere ontwikkelingen met Arduino controllers is het ook mogelijk om de status van de zendontvanger op een groter scherm weer te laten geven door een Arduino met scherm aan de CAT poort te verbinden.
Indormatie zoals de gewenste frequentie, DCS toon, CTCSS toon, split, PTT, vergrendeling tot aan de geheugen informatie is via de CAT poort uit te wisselen. Enkele instructies staan in de handleiding beschreven, maar diverse amateurs hebben nog meer mogelijheden zoals het uitlezen en programmeren van de EEPROM uit geplozen. Er is veel informatie te vinden, maar vaak is het onoverzichtelijk en incompleet. Ik probeer hierbij een beknopt overzicht te geven van de beschikbare informatie. Houd er rekening mee dat er héél veel meer te vinden is op het internet als er naar gezocht wordt.

Let op! De CAT poort is direct met de microprocessor verbonden! Zorg dat er geen piekspanningen en dergelijke op de CAT poort terecht komt omdat dit de microprocessor kan beschadigen!
verbinding
De eerste stap is om het protocol goed te begrijpen. De data verbinding bestaat uit "enen en nullen" ofwel "bits". Op hardware niveau betekent dit dat een laag (0) signaal overeen komt met 0 VDC ofwel massaverbinding en hoog (1) overeenkomt met + 5 VDC ofwel Vcc van de microprocessor. Er wordt gebruik gemaakt van één start bit, acht data bits, twee stop bits, geen pariteit bit en geen "handshake". De snelheid van communiceren is op 4.800, 9.600 of 38.400 baud (bits per seconde) in te stellen via menu item 14.

- baudrate: 4.800/9.600/38.400 bd (in te stellen via menu item 14)
- start bit: 1
- data bits: 8
- stop bits: 2
- parity: 0
- handshake: geen
- levels: TTL (0/5VDC)

structuur
Om met Yaesu FT-8x7 zendontvanger te kunnen communiceren wordt er gebruik gemaakt van een data structuur van 5 byte instructies. Acht data bits vormen één byte. De eerste vier byte's bevatten inhoudelijk informatie en de laatste byte van de reeks bevatten het commando. Tussen elke byte zou volgens de handleiding 200 ms tijd moeten zitten, naar verluid blijkt dit niet te werken en zou de tijd tussen de byte's kleiner moeten zijn...

bits, byte's en nibbles
De data structuur bestaat dus uit 5 bytes. Eén byte bestaat uit acht bits, owel acht nullen of enen zoals bijvoorbeeld: "00000000". Voor de acht data bits wordt een start bit (1) geplaatst en na de acht data bits worden twee stop bits (11) geplaatst. Er is geen pariteit bit van toepassing. Een pariteit bit is een controle bit om te controleren of de ontvangen informatie klopt. Als de pariteit bit niet overeen komt met de data bits, dan is er informatie verloren gegaan en daarmee de data onbetrouwbaar. Deze pariteit bit is niet toegepast omdat de mate van betrouwbaarheid bij het CAT protocol niet van belang is geacht. Wanneer de data reeks "00000000" is, dan wordt er dus "10000000011" verzonden voor één byte. Elke CAT instructie bestaat dus uit vijf blokken van elf bits.
De laagste data byte (acht bits) waarde is binair "00000000". De grootste waarde is "11111111". Eén byte is in tweeën te splitsen. Beide delen heten een "nibble". Nibble is de engelse vertaling voor "een klein hapje", ofwel een een "hapje" (nibble) van een "grote hap" (byte). Elke nibble heeft een waarde van 0000 tot en met 1111. Met vier posities één of nul zijn 16 verschillende mogelijkheden te maken. Elke opcode instructie bestaat uit twee karakters waardoor gebruik wordt gemaakt van hexadecimale weergave. In het hexadecimale stelsel zijn er 16 mogelijkheden weer te geven in één karakter. Elke opcode bestaat uit twee hexadecimale karakters van 00 tot en met FF. Voor de verduidelijking staat hieronder een tabel met de relatie tussen de binaire, decimale en hexadecimale waarde weergegeven. In de praktijk worden hexadecimale waarden aangeduid met 0x als "prefix". "0x" heeft dus niets met de inhoudelijke waarde te maken, maar is alleen een aanduiding dat het een hexadecimale waarde betreft. Het getal 255 [DEC] wordt binair weergegevens als 11111111 [BIN en hexadeximaal als 0xFF [HEX].

decimaal
binair
hexadecimaal
0
0000
0x0
1
0001
0x1
2
0010
0x2
3
0011
0x3
4
0100
0x4
5
0101
0x5
6
0110
0x6
7
0111
0x7
8
1000
0x8
9
1001
0x9
10
1010
0xA
11
1011
0xB
12
1100
0xC
13
1101
0xD
14
1110
0xE
15
1111
0xF


[data1][data2][data3][data4][commando]

Waarschijnlijk is het volgende voorbeeld inzichtelijker. Wanneer "43 02 75 00 01" naar de zendontvanger wordt gestuurd, dan is de laatste byte (01 in dit geval) het commando. Commando "01" zorgt ervoor dat de zendontvanger op de gewenste frequentie wordt ingesteld. In dit geval is de gewenste frequentie 430,2750 MHz. De frequentie informatie is in dit geval opgenomen in de eerste vier data byte's.

Het is ook mogelijk om een instructie te sturen naar de zendontvanger waarbij de data byte's niet relevant zijn zoals bij het in en uitgschakelen van de PTT. De zendontvanger gaat zenden met het commando "00 00 00 08" en stopt met zenden met instructie "00 00 00 00 88". "08" bekekent PTT inschakelen en "88" betekent PTT uitschakelen. De nullen zijn niet relevant voor het schakelen van de PTT, maar deze "dummy" data moet wel mee gestuurd worden omdat er altijd vijf byte's worden verwacht door de zendontvanger.

Er kan ook informatie van de zendontvanger op worden gevraagd. Met commando "00 00 00 00 E7" wordt bijvoorbeeld de status van ontvangst opgevraagd zoals de s-meter waarde, CTCSS/DCS informatie en squelch toestand. Met commando "00 00 00 00 F7" wordt de status van zenden opgevraagd zoals de PTT stand, melding van hoge reflectie (VSWR) en split.

In de handleiding van de betreffende FT-8x7 zijn 17, door Yaesu beschikbaar gemaakte, commando's te vinden.
TTL en RS232 signalen
Houd er rekening mee dat de signalen van de CAT poort TTL niveau hebben, dus hoog (1) = 5 VDC en laag (0) = 0 VDC. Het is mogelijk om de zendontvanger met een seriële poort van een computer te verbinden. Een RS232 poort werkt met andere spanningen, namelijk hoog (1) = -3...-25 VDC en laag (0) = +3...+25 VDC. De spanningen verschillen dus en het signaal is "omgekeerd"; een 1 = 0 en 0 = 1. Er is een Yaesu CT-62 kabel nodig om deze signalen te kunnen converteren. Maar het is uiteraard ook mogelijk om zelf een schakeling te maken zoals met een MAX232 chip om de signalen aan te passen.
officiële instructie codes (opcodes)
command line
data byte 1
data byte 2
data byte 3
data byte 4
opcode
notes
set panel lock
×
×
×
×
00
LOCK ON
×
×
×
×
80
LOCK OFF
set TX/RX (PTT)
×
×
×
×
08
TX
×
×
×
×
88
RX
set frequency
P1
P2
P3
P4
01
P1...P4: frequency digits (0...9)
12,34,56,78,(01) = 123,456.78 MHz
set operating mode
00
×
×
×
07
LSB
01
×
×
×
07
USB
02
×
×
×
07
CW
03
×
×
×
07
CWR
04
×
×
×
07
AM
08
×
×
×
07
FM (wide)
0A
×
×
×
07
DIG
0C
×
×
×
07
PKT
88
×
×
×
07
FMN (narrow FM)
set clarifier
×
×
×
×
05
clarifier ON
×
×
×
×
85
clarifier OFF
set clarifier frequency
P1
×
P3
P4
F5
P1 = 00: positive offset
P1 = not 00: negative offset
P3 = nn,00 kHz / P4 = 00,nn kHz
(P3, P4 = 12,34 = 12,34 kHz
set VFO A/B
×
×
×
×
81
toggle between VFO A and B
set split
×
×
×
×
02
split ON
×
×
×
×
82
split OFF
set repeater shift
89
×
×
×
09
simplex
09
×
×
×
09
negative (-) shift
49
×
×
×
09
positive (+) shift
set repeater offset frequency
P1
P2
P3
P4
F9
P1...P4: frequency digits (0...9)
12,34,56,78,(F9) = 12,345.678 MHz
set tone mode
8A
×
×
×
0A
tone off
0A
×
×
×
0A
DCS ON
0B
×
×
×
0A
DCS DECODER ON
0C
×
×
×
0A
DCS ENCODER ON
2A
×
×
×
0A
CTCSS ON
3A
×
×
×
0A
CTCSS DECODER ON
4A
×
×
×
0A
CTCSS ENCODER ON
set CTCSS tone
P1
P2
P3
P4
0B
P1 = nn,00 Hz TX CTCSS tone
P2 = 00,nn Hz TX CTCSS tone[BR]P3 = nn,00 Hz RX CTCSS tone
P4 = 00,nn Hz RX CTCSS tone
Note: P3 and P4 are not used for the FT-817.
set DCS tone
P1
P2
P3
P4
0C
P1 = nn,00 Hz TX DCS tone
P2 = 00,nn Hz TX DCStone[BR]P3 = nn,00 Hz RX DCStone
P4 = 00,nn Hz RX DCS tone
Note: P3 and P4 are not used for the FT-817.
send RX status request
×
×
×
×
E7
See note 1 below for response.
send TX status request
×
×
×
×
F7
See note 2 below for response.
send frequency/mode request
×
×
×
×
03
See note 3 below for response.
× = Any value between 00 and FF hexadecimal. Normally 00 and never empty!

Note 1: RX status reques response bits
7
6
5
4
3
2
1
0
squelch status
0 = off
1 = on
tone squelch
0 = matched or off
1 = unmatched
discriminator
0 = centered
1 = off center
dummy datas-meter reading

Note 2: TX status reques response bits
7
6
5
4
3
2
1
0
PTT status
0 = RX
1 = TX
SWR status
0 = no HI SWR
1 = HI SWR
split status
0 = split ON
1 = split OFF
dummy dataPO-meter reading

Note 3: frequency and mode status reques response bits
byte 1
byte 2
byte 3
byte 4
byte 5
nn0 MHzn,n MHznn kHz0,nn kHz00 = LSB
01 = USB
02 = CW
03 = CWR
04 = AM
06 = WFM
08 = FM(N)
0A = DIG
0C = PKT
43,21,09,87,0C = 432,10987 MHz PKT
fouten in documentatie
[red]Let op![/red] In de officiële documentatie is onjuiste en tegenstrijdige informatie te vinden. Dit kan verwarring opleveren. Ter opheldering zijn de volgende onvolkomenheden te benoemen:

- In de "CAT tabel" van de Yaesu FT-817 manual staat bij "CLAR frequency" vermeld dat de offset positief is als P1 "00" is en negatief als P1 "00" is. Dit klopt niet. Als P1 "00" is, dan is de offset positief, in alle andere situaties (01...FF) is de offset negatief.

- In het paragraaf "CAT data protocol" van de Yaesu FT-817 manual staan twee grafische weergaven van de data structuur. De rechter weergave laat de 5-byte commando structuur zien. Echter zijn er zes blokken afgebeeld. Het eerste "Command Data" blok dient te worden weggelaten omdat de juiste structuur begint met vier parameter byte's gevolgd door één opcode byte.

- In de CAT instructie staat dat er 200 ms tussen de bytes aanwezig moet zijn. Dit blijkt in de praktijk niet te functioneren. Aannemelijk is het dat alle vijf bytes binnen 200 ms ontvangen moeten worden.

© 1984...2017 - http://www.amateurtele.com - Afgedrukt op 2017-09-23T22:05:02+02:00