Så här ser mitt hembyggda YAM-modemt ut.

Klicka på bilden för större bild (ca 110kb)
Nedan återges de artiklar som undertecknad har skrivit i SVARK-Nytt om YAM-modemet
Nej, den här artikeln handlar inte om godis utan om ett litet sött packetmodem kallat YAM. Trots namnet (YAM = Yet Another 9k6 Modem, dvs "ännu ett 9600 baud modem"), så är det inte vilket modem som helst. Det är relativt litet, enkelt att bygga och inte minst billigare än de flesta andra typer av modem. Allt detta gör det intressant för så väl nybörjaren som för den som vill ta steget vidare från 1200 baud till 9600 baud.
YAM-modemets funktion kan enklast förklaras som ett mellanting av ett vanligt packetmodem (TNC2) och ett Baycom-modem. Ett vanligt packetmodem har en inbyggd processor som tar hand om kodning/avkodningen av AX25-protokollet och skickar enbart ren data in till datorn. Baycom-modem har ingen "intelligens" och därför måste datorn ta hand om all kodning/avkodning, från enskilda bitar till hela AX25-protokollet. När det gäller YAM-modemet så har man delat upp detta och låter modemet para ihop bitarna till byte och låter datorn sköta AX-25. Detta innebär att datorn inte belastas lika mycket som när man kör med Baycom.
För att kunna använda YAM-modemet krävs det att man har en drivrutin i datorn. Det finns flera olika drivrutiner som man kan använda, t.ex TFPCX (v2.71 eller senare), Flexnet och SV2AGW packet engine. De flesta av de nyare packetprogrammen (bl.a. Winpack, T4, TPK, FBB) kan använda sig av någon av dessa drivrutiner. För den som kör operativsystemet Linux så finns det också drivrutiner för YAM.
Kontstruktören Nico Palermo, IV3NWV, har utgått ifrån en sk FPGA (Field Programmable Gate Array), vilket är en programmerbar logikkrets som kan ersätta ett stort antal vanliga logikgrindar. Detta gör att modemet har relativt få komponenter och blir därmed litet och billigt. En uppskattning av komponentkostnaden hamnar runt 350kr (inkl. moms). FPGA:n är dessutom så strömsnål att hela modemet drivs via serieporten och behöver således ingen yttre strömförsörjning.
FPGA:n måste programmeras för att den ska veta vad den skall göra, men detta är löst på ett mycket enkelt sätt. Kretsen programmeras nämligen från datorn. Innan man startar sin drivrutin i datorn så "tankar" man helt enkelt ner en fil i FPGA:ns RAM-minne. Detta ger två fördelar, man behöver ingen dyr programmeringsutrustning och när det släpps en ny programvara till modemet byter man bara ut den fil som tankas ner i kretsen.
En annan fördel med YAM-modemet är att det faktiskt klarar av 1200 baud. Detta kan vara en fördel för den som inte har en radio som klarar 9600 baud. Nybörjaren kan alltså komma igång på packet för mindre än 500kr utan att "låsa sig" till 1200 baud (jämfört med Baycom). Det enda man behöver göra för att köra 1200 baud är att tanka ner ett annat program i FPGA:n. Visserligen är programmet fortfarande en beta-version som innehåller vissa svagheter, men det fungerar relativt bra ändå.
Mer information om modemet finns att hämta på internet på adressen http://www.microlet.com/yam. Där hittar du schema, kretskortslayout, dokumentation och alla nödvändiga drivrutiner för YAM-modemet. De flesta filerna kommer också att finnas tillgängliga på SVARKs dator i 2m-shacket (C:\YAM\).
73 de Magnus, SM7UGO
I min tidigare artikel om YAM-modemet skrev jag att det saknade en s.k. tx-watchdog, dvs något som stänger av sändaren om programvaran eller modemet hänger upp sig. Jag gjorde därför några experiment och kom fram till en möjlig lösning på problemet. Lösningen är kanske inte den bästa, men den fungerar och är enkel.
Modifieringen består av att lägga till tre komponenter och byta ut en befintlig. Mellan motståndet R14 och FPGA:ns pinne 37 placeras en kondensator. När modemet sänder kommer denna kondensator att laddas långsamt och när den nästan är fulladdad kommer det inte att finnas tillräckligt med spänning kvar på basen för att hålla transistorn Q1 öppen. När Q1 stänger kommer också sändaren att sluta sända. För att inte kondensatorn ska laddas för snabbt måste R15 bytas ut till ett högre värde.
Motståndet R1 och dioden D1 ser till att kondensatorn laddas ur snabbt mellan sändningspassen. Detta är nödvändigt för att watchdogen inte ska gripa in om det kommer många långa sändningspass efter varandra.
Nackdelen med den här konstruktionen är att den tid det tar för watchdogen att lösa ut kommer att variera beroende på vilken radio som kopplas in. I mina experiment kom jag fram till att C1=470uF gav en lämplig tid (ca 60s) tillsammans med min radio (TEKK KS-960).
73 de Magnus, SM7UGO