> menu uitklappen <
> algemeen
> apparatuur foto's
> banden
> componenten
> connectoren
> Racal Cougar
> documentatie
> elektronenbuizen
> filters/combiners
> legerzenders
> mechanica
> meetapparatuur
> tijdstandaard/GPSDO/OSC
> meetapparatuur (info)
> modificaties
> naslagwerk
(coax) kabels coderen
AWG wire table
coax kabels testen
checking, cleaning and overhauling
DTMF
Yaesu FT-8x7 CAT port
paneelbouw
s-meter
Selcall / 5TVO
output impedance
> projecten
> publicaties
> radioapparatuur
> reparaties
> Rigol DSA815-TG
> schakelingen
> surplus apparatuur
> telefonie surplus
> theorie
> gereedschap
> werkplek
> EMC/EMI
> veiligheid
> overig
|
inleiding
|
permalink: http://www.amateurtele.com/index.php?artikel=228&id=#1000
|
De Yaesu FT-8x7 zendontvangers zijn uitgerust met een CAT poort. Dat wil zeggen dat door middel van een dataverbinding informatie naar de zendontvanger 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 antenne tuner 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.
De Yaesu FT-817, FT-857 en FT-897 hebben nagenoeg dezelfde systeem architectuur, dus het is aannemelijk dat onderstaande informatie op deze drie modellen van toepassing is. In de handleiding worden ook een aantal gemeenschappelijke instructies beschreven, maar opgemerkt moet worden dat niet in elke handleiding alle instructies staan. Wel is het aannemelijk dat de instructies voor de drie modellen van toepassing zijn.
Informatie 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 mogelijkheden zoals het uitlezen en programmeren van de EEPROM uitgeplozen. 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! Het is verstandig om bij zelfbouw elektronica op strategische plaatsen zener diodes in de schakeling op te nemen om overspanning op de CAT ingang te voorkomen. Het vervangen van een CPU is vaak lastig en economisch al niet meer aantrekkelijk.
|
verbinding
|
permalink: http://www.amateurtele.com/index.php?artikel=228&id=#1001
|
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 of 38.400 baud (in te stellen via menu item 14) - start bit: 1 - data bits: 8 - stop bits: 2 - parity: 0 - handshake: geen - levels: TTL (0/5 VDC)
|
structuur
|
permalink: http://www.amateurtele.com/index.php?artikel=228&id=#1002
|
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, ofwel acht nullen of enen zoals bijvoorbeeld: "". 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 "" is, dan wordt er dus "" verzonden voor één byte. Elke CAT instructie bestaat dus uit vijf blokken van elf bits.
De laagste data byte (acht bits) waarde is binair "". De grootste waarde is "". 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 [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 "" 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.
In de praktijk zal de data stroom er dus uit zien zoals hieronder weergegeven. De groene bits representeren de daadwerkelijke informatie. De zwarte bits zijn de start en stop bits.
= 111 111 111 111 111
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 "" en stopt met zenden met instructie "". "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 " E7" wordt bijvoorbeeld de status van ontvangst opgevraagd zoals de s-meter waarde, CTCSS/DCS informatie en squelch toestand. Met commando " 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
|
permalink: http://www.amateurtele.com/index.php?artikel=228&id=#1003
|
|
Houd er rekening mee dat de signalen van de CAT poort TTL niveau (transistor-transistor level) 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)
|
permalink: http://www.amateurtele.com/index.php?artikel=228&id=#1004
|
| command line | data byte 1 | data byte 2 | data byte 3 | data byte 4 | opcode | notes | | power on/off | × | × | × | × | 8F | power off | | × | × | × | × | 0F | power on | | 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 data | s-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 data | PO-meter reading |
| Note 3: frequency and mode status reques response bits | | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | | nn0 MHz | n,n MHz | nn kHz | 0,nn kHz | 00 = 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
|
permalink: http://www.amateurtele.com/index.php?artikel=228&id=#1005
|
Let op! 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.
|
|