Az interneten már évek
óta
keringenek különböző leírások, melyek egyetlen PIC16F88-as
processzorral működnek és nem szükséges hozzájuk modem IC. Az 1200
Bd-os modemek az utóbbi időben ritkák mint a fehér holló és az áruk is
ennek megfelelő. Ez a tény vezérelt, hogy kipróbáljam ezt a fajta TNC-t.
Mivel kicsit maximalista vagyok, ezért a föllelhető legbonyolultabb
verzióval kezdtem. Sajnos nem volt a fiókomban MCP6023-as műveleti
erősitő, ezért az első próbálkozásaimat úgy végeztem, hogy a
hangfrekvenciás szűrőt áthidaltam, és az nélkül próbáltam ki a
berendezést. Rögtön az első kisérletek jól sikerültek. A lehangoló az
volt, amikor betettem az erősitőt és a szűrővel sem lett jobb az
eredmény.Akkor jöttem rá, hogy az eredmény inkább függ a rádió
deemfázisától mint a szűrőtől, ezért következő lépésként épitettem egy
mimimalisztikus változatot. Ez a processzoron kívül csak 3 tranzistort
egy stabilizátort és néhány passzív alkatrészt tartalmaz. Ennek a
változatnak a szépsége az egyszerűségében rejlik. Egyetlen dolog zavart
rajta - de az nagyon, hogy gyakorlaltilag a processzornak nem
maradt üres lába (ami annak köszönhető, hogy az analóg komparátorok
bekötése nagyon szerencsétlenül van megoldva), ezért minden paraméterét
csak újraprogramozással
lehetett megváltoztatni. Igaz, hogy körmönfont módon utólag még egy
hőmérőt is hozzákapcsoltak, de ez más téma. Ezért aztán úgy döntöttem,
hogy épitek egy olyan változatot, ahol több lábú processzor fog
működni, igy marad eleg láb a konfigurálásra. Ennek alapján született
meg az
alábbi változat.
Természetesen nem én fedeztem föl a spanyolviaszt, ez a program csak adaptációja az eredeti programnak, ezért az eredeti leirás többé-kevésbé érvényes erre is.
A DS18S20 eredetileg Celzius fokokban mér ezért a Farenheitben kiirt
érték kevesbé pontos, de itt európában ez nem jelent különösebb gondot.
GPS vevőt kapcsolva a TNC-hez a pozició a BEACON paranccsal beállitott
időközönként kerül adásra. Ez az időköz minimum 1 perc.
Mivel ennek a processzornak 28 lába van, ezért a lapon van 6 darab konfigurációs átkötés, melyeknek a funkciói a következők:
P1,P2 - a soros port sebességének
a meghatározása
P3
- teszt - ha rövidre van zárva, nem ellerőrzi a CRC-t
P4
- GPS mód
P5
- bemenet alacsony impedanciás
P6
- +5V a GPS vevőnek
P7
- PTT a mikrofon bemeneten keresztül (kézi rádiók)
A lapon talalható 4 csatlakozó - soros port, rádió, tápfeszültség,
hőmérő.
A csatlakozók bekötése:
Soros port:
2 - TxD
3 - RxD
4 - +5V
5 - GND
9 - +5V
Rádió:
1 - Audio be
2 - GND
3 - Audio ki
4 - PTT
5 - +12V be (megtáplálás)
Táp:
Külső érintkező - GND
Belső érintkező - +8V -tól +12,8V -ig
Hőmérő:
1 - GND
2 - DQ
3 - +5V
Az állapotok kijelzésére 6 LED dióda van a lapon. Ezek
funkciói a következők:
D5 - PTT
D6 - bekapcsolva
D7 - DCD
D8 - GPS
mód
D9 -
Converse mód
D10 - tartalék
A soros port sebességének beállitása:
P1
P2
ü
ü
4800 Bd
ü
r
9600 Bd
r
ü
19200 Bd
r
r
38400 Bd
ü - üres, r - rövidzár
Ajánlom, hogy állitsunk minél nagyobb
sebességet a soros
porton, mivel a processzor egyszerre csak egy perifériával tud
foglalkozni. Ezáltal ha túl lassú a komunikáció a soros porton, nincs
elég ideje, hogy nagy forgalom mellet minden csomagot dekódoljon. Nálam
a soros port sebessége 38400-ra van állitva, így még sűrű forgalom
mellet sem veszítek csomagokat. Természetesen még ettől is jobb
megoldás, ha a monitorozást a MON OFF paranccsal kikapcsoljuk. Amikor
átjátszóként használjuk a berendezést, amúgy sem szükseges, hogy
mindent kiküldjön a soros portra. Erre csak akkor lehet szükség, ha
valami miatt bele akarunk hallgatni a forgalomba. Ha még aprólekosabban
akarjuk látni, hogy mi történik a csatornán, akkor a TRace paranccsal
étkapcsolhatjuk a megjelenitést. Ilyenkor az adatok nem ASCII, hanem
Hexadecimális formában jelennek meg.
A készülék gyakorlatilag semmilyen beállitást
nem igényel, az egyedüli állitható alkatrész a potencióméter, amivel a
kimenő jel szintjét lehet beállitani. A készüléket vagy külön
tápegységről vagy a rádió csatlakozóján keresztül a rádióból lehet
megtáplálni. Ha nincs hozzákötve GPS vevő, akkor a fogyasztása
elhanyagolható.
Mivel a processzornak van elég kivezetése, ezért az eredeti 4 bites D/A
átalakitót fölturbóztam 5 bitesre. Igy a generált szinusz jel kétszer
finomabb felbontású.

A beültetett lap - mérete 75x88 mm

a NYÁK lap (valódi méret 75x88 mm):
Program:
TNC firmware
A TNC konfigurálása
Bekapcsolás után, ha a rövidzárak és a terminál program is helyesen vannak beállitva, akkor az alábbi szöveget kell látnunk:
MODEMLESS TNC V 2.32
MODIFIED BY OM3BC FOR 16F876A
Type HELP for Info
cmd >
Irjuk be a HELP parancsot, és a megjelenő segitség alapján probáljuk
meg beállitani a TNC-t. Ha beirjuk a DISP parancsot, akkor megjelenik
az éppen aktuállis beállítások listája. Nálam ez van beállítva:
cmd >disp
Filter ON
ECHO ON
TEMPerature C
TXDELAY 35
GPS $GPRMC
TRace OFF
MONitor ALL
DIGIpeater ON
BEACON On EVERY 15
UNPROTO APE232-0 V WIDE1-1 V WIDE2-2
MYCALL OM3BC-1
MYALIAS FIL1
BTEXT !4815.91NS01949.21E#PHG32304/A=000577 APRS Repeater with PIC16F876A http://www.om3bc.com
OK
cmd >
Az egyes parancsok rövid ismertetése:
Filter - szűri a soros portra menő adatokat, és csak a nyomtatható karaktereket engedi át.
ECHO - ezzel a paranccsal határozhatjuk meg, hogy a TNC a terminálról jövő karaktereket vissza küldje vagy nem
TEMP - a hőmérséklet megjelenitése celziusban vagy farenheitben
TXDELAY - n x 10ms, ez a paraméter szabja meg, mennyi idő teljen el az adásra kapcsolás és az első karakter kiküldése között
GPS - ha egy GPS vevő van hozzákapcsolva a TNC-hez, ezzel a paranccsal
határozzuk meg hogy melyik GPS információ kerül adásra a BTEXT-ben
TRace - Tesztelési célokra a TNC a vett szöveget atalakitja hexadecimális formára és ezt küldi ki a soros portra
MONitor - a rádión vett adatok megjelenjenek a soros porton, vagy nem
DIGIpeater - a digipeater funkció ki illetve bekapcsolása
BEACON EVERY - az azonositó adásának gyakorisága percekben
UNPROTO - az APRS szabályoknak megfelelő 6 karakterből álló cim. Ebben
az esetben APE - mivel PIC processzor van használva, plusz a program
verzió száma
MYALIAS - bármilyen 6 karakternél nem hosszabb azonositó
MYCALL - saját hivójel
BTEXT - bármilyen 100 karakternél nem hosszabb szöveg. Termeszetesen ha
az APRS-ben alkalmazott kódokat akarunk küldeni, akkor be kell tartani
az ide tartozó előirásokat. A hőmérsékletekre a következő szabályok
érvényesek: minden hőmérsékletre vonatkozó parancs a \
(visszatörtvonal) jellel kezdődik. Utánna t paranccsal elküldhetjük az
aktuális hőmérsékletet. Az l paranccsal a legkisebb, mig a h paranccsal
a legmagasabb hőmérsékletet küldhetjük. Az s parancs mondja meg, hogy
az l vagy h paranccsal küldött érték hány mért adat közül a legkisebb
vagy legnagyobb. Ha ez a szám eléri a 99-et akkor az adatok nullázódnak
és a folyamat kezdődik elölről. Az a parancs használata esetén a
hőmérséklet az APRS formában lesz elküldve.
A végén irjuk be hogy PERM, mert csak ezzel a paranccsal kerülnek a
beállitott paraméterek elmentésre. Ellenkező esetben kikapcsoláskor a
beírt paraméterek elvesznek (kivétel a BTEXT, mivel ez a RAM szűkös volta miatt azonnal az EPROMba kerül).
Búcsúzóul:
Mivel az eredeti konstrukcióban nagyon sok hiányosságot találtam,
ezeket igyekeztem kijavítani. E miatt a fönt írt mondat miszerint az
eredeti leírás többé-kevésbé erre is igaz, abból most már a többé nem,
inkább csak a kevésbé igaz. Teljesen át kellett dolgozni a DIGIPEATER
részét a programnak, mivel kiderült, hogy az eredeti berendezésben ez a
rész még csak köszönő viszonyban sincs az APRS specifikációban megadott
követelményekkel. A további teszteknél kiderült, hogy van még mit
javitani a programon. A végen az eredeti programnak csak a magja maradt
meg, a többi része át lett irva. Nem tudom, hogy az eredetileg TNC-nek
deklarált berendezés mennyire felelt meg a TNC követelményeinek, de
most mint APRS DIGIPEATER, már egeszen jól működik.
A program egészen biztosan nem hibátlan (Hurphy törvénye itt is
érvényes, miszerint tökéletes program nem létezik, ha mégis találkozol
eggyel, azt biztosan nem te írtad.), viszont folyamatosan fejlődik. Ha
valaki úgy gondolja, hogy észrevételeivel segítheti a munkámat, akkor
az észrevételeit írja meg az e-mail címemre, amit a honlapon megtalál.
Az eredeti leirás is eléggé szűkszavú, ezért ha valakinek közelebbi
kérdése lenne arra is szivesen válaszolok - ha tudok.........(én sem
vagyok a témában mindentudó).
Az építéshez sok sikert!