ODBIÓR TRANSMISJI RTTYTransmisja RTTY na falach krótkich z szybkością 45 - 50B stosowana jest przez służby meteorologiczne i agencje prasowe, a także w radiokomunikacji amatorskiej. W artykule opisano sposób wykorzystania 8-bitowego komputera ATARI do odbioru transmisji dalekopisowej nadawanej drogą radiową (RTTY). Przedstawiono schemat przystawki umożliwiającej współpracę komputera i odbiornika radiowego oraz opracowane przez autora programy. Transmisja RTTYOd dziesięcioleci już w dalekopisach elektromechanicznych stosowany jest asynchroniczny kod 5bitowy. Każdy wysyłany znak złożony jest z 1 bitu startu, 5 bitów zawierających kod znaku oraz 1,5 bitu stop. Przy szybkości 50B każdy bit ma długość20ms. Bitów informacyjnych jest tylko 5, co oznacza zaledwie 32 kombinacje, a to za mało żeby przesłać wszystkie znaki alfabetu, cyfry itd. Poradzono sobie, dzieląc wszystkie znaki na dwie grupy. Jedna to litery, druga zaś - cyfry i znaki przestankowe. Odpowiednie kody przełączają dalekopis na drukowanie aktualnie potrzebnej grupy znaków. Odbiór sygnału RTTY1 - zamiana kluczowania częstotliwości na kluczowanie amplitudy na poziomie możliwym do przetwarzania przez komputer, 2 - dekodowanie znaków, przesyłanie ich na ekran monitora oraz do pamięci w celu ew. zapisania na dyskietkę do późniejszego przejrzenia lub wydrukowania. Pierwszą część procesu realizować trzeba w przystawce do odbiornika radiokomunikacyjnego. Drugą wykonuje w całości komputer, zastępując wielce skomplikowany dalekopis mechaniczny, zawierający kilogramy przekaźników, silników, sprzęgieł elektromagnetycznych... Szybkość transmisji 50B jest jak na "warunki komputerowe" bardzo mała. Można dzięki temu uniknąć wyłączania obrazu w czasie odbioru znaków. Pojawiają się one na ekranie na bieżąco, co jest sporą atrakcją przy korzystaniu z programu. Przystawka do odbioru sygnału |
10 POKE 731,1:? CHR$(125) 20 FOR F=2100 TO 2800 STEP 20 30 X=INT((894895-7*F)/F) 40 CLOSE #2:OPEN #2,4,0,"K:":GET #2,Z 50 DSOUND 0,X,10,15 60 ? F 70 NEXT F:POKE 731,0:CLOSE #2 |
10 REM GENERACJA PROSTOKATA 10ms/20ms 20 REM Z DEWIACJA 200HZ 30 INPUT "PODAJ WARTOSC F0= ",F 40 XL=INT((894895-7*(F-100))/(F-100)) 50 XH=INT((894895-7*(F+100))/(F+100)) 60 DSOUND 1,XL,10,15 70 FOR F=1 TO 12:NEXT F 80 DSOUND 1,XH,9,15 90 FOR F=1 TO 24:NEXT F 100 GOTO 60 |
Wykaz podzespołów do rys. 1: US1 - UL-1200 US2 - ULY-7741 US3 - MCY-74011 T - BC148 TO - transoptor, np CQ13BP D - dowolna dioda LED C1,C11 -10nF C2,C7 - 0,1uF C3,C4 - 0,22uF C5,C6,C10 - 10uF C8 - 1nF C9 - 22nF R1,R9 - 100om R2,R3 - 4,7k R4,R6 - 10k R5 - 180k R7 - 680om R8 - 470om L1,L2 - cewki 37mH, np. 1300zw przewodu 0,1mm na karkasie z rdzeniem od transformatora sterującego TS12, TS13 (OTV Vela, Neptun) |
Wykaz podzespołów do rys. 2: US - UL1042 C1 - 47pF C2,C3 - 1,6nF C4 - 33nF C5 - 47uF C6 - 0,22uF C7 - 820pF C8 - 100uF C9 - 10uF R1 - 220om R2 - 1k R3 - 330om R4,R6 - 4,7k R5 -270k R7 -680om R8,R9 - 470om R10 - 100om |
1 REM ******************************* 2 REM * PROGRAM DO ODBIORU RTTY * 3 REM * autor: Witold Prokopowicz * 4 REM * Bialystok 1991 * 5 REM ******************************* 10 DIM ML$(6),COTO$(6),F$(20):IOB=848 20 ? CHR$(125):POSITION 10,5:? "Jeszcz e chwilka i ..." 30 FOR A=0 TO 237:READ D:POKE (1536+A) ,D:POKE 709,D:NEXT A 35 GRAPHICS 0 40 ? " /------------------------\" 50 ? " | 1 --> ODBIOR RTTY |" 60 ? " | 2 --> PRZEJRZYJ TEKST |" 70 ? " | 3 --> ZAPISZ NA DYSK |" 80 ? " | 4 --> CZYTAJ Z DYSKU |" 90 ? " \------------------------/" 100 CLOSE #2:OPEN #2,4,0,"K:":GET #2,C O 110 CO=CO-48:IF CO<1 OR CO>4 THEN 35 120 ON CO GOSUB 130,140,220,290:GOTO 3 5 130 GRAPHICS 0:RTTY=USR(1536):RETURN 140 ? CHR$(125):FOR A=20480 TO 20480+P EEK(1583)+256*(PEEK(1584)-80):? CHR$(P EEK(A)); 150 IF PEEK(53279)<>7 THEN A=36864 160 NEXT A 170 ? :? "*** KONIEC TEKSTU ***" 180 ? " nacisnij cokolwiek" 190 CLOSE #2:OPEN #2,4,0,"K:":GET #2,C 0 200 RETURN 210 REM SYNTEZA WIERSZA 250 220 ? :? "NAZWA ZBIORU DO ZAPISU":INPU T COTO$ 230 N1=250:N2=8:GOSUB 390:TRAP 35 240 REM ***************************** 250 REM * 260 REM ***************************** 270 POKE IOB+2,11:POKE IOB+8,PEEK(1583 ):POKE IOB+9,PEEK(1584)-80:POKE IOB+4, 0:POKE IOB+5,80 280 S=USR(1768):CLOSE #1:RETURN 290 GOSUB 450 300 REM SYNTEZA WIERSZA 340 310 ? :? " PODAJ NAZWE ZBIORU DO ODCZY TU":INPUT COTO$ 320 N1=340:N2=4:GOSUB 390:TRAP 35 330 REM ***************************** 340 CLOSE #1:OPEN #1,N2,128,"D:DDK2.TT Y" 350 REM ***************************** 360 POKE IOB+2,7:POKE IOB+8,0:POKE IOB +9,PEEK(742)-PEEK(145):POKE IOB+4,0:PO KE IOB+5,80 370 S=USR(1768):CLOSE #1 380 POKE 1583,PEEK(IOB+8):POKE 1584,PE EK(IOB+9)+80:RETURN 390 GRAPHICS 0:POSITION 2,2 400 ? N1;" CLOSE#1:OPEN#1,N2,128,";CHR $(34);"D:";COTO$;".TTY";CHR$(34) 410 ? "CONT" 420 POSITION 2,0:POKE 842,13 430 STOP 440 POKE 842,12:RETURN 450 REM WYDRUK KATALOGU DYSKU 460 REM TYLKO Z ROZSZERZENIEM .TTY 470 ? CHR$(125):TRAP 490:CLOSE #1:OPEN #1,6,0,"D:*.TTY" 480 INPUT #1,F$:? F$,:INPUT #1,F$:? F$ :GOTO 480 490 RETURN 500 DATA 104,169,000,141,047,006,169,0 80,141,048,006,032,071,006,201,027,240 ,113,201,031 510 DATA 240,101,170,189,169,006,032,0 46,006,032,176,242,173,031,208,201,002 ,240,027,201 520 DATA 007,208,245,076,011,006,141,0 00,080,238,047,006,208,003,238,048,006 ,072,173,048 530 DATA 006,201,144,240,002,104,096,1 04,076,001,006,160,005,169,000,141,168 ,006,173,016 540 DATA 208,208,251,032,142,006,032,1 39,006,078,168,006,173,016,208,240,008 ,169,016,013 550 DATA 168,006,141,168,006,136,240,0 03,076,086,006,032,139,006,173,016,208 ,240,208,173 560 DATA 168,006,096,169,169,141,024,0 06,076,011,006,169,201,141,024,006,076 ,011,006,032 570 DATA 142,006,072,162,041,032,153,0 06,202,208,250,104,096,173,011,212,041 ,001,208,249 580 DATA 173,011,212,041,001,240,249,0 96,000,032,069,155,065,032,083,073,085 ,155,068,082 590 DATA 074,078,070,067,075,084,090,0 76,087,072,089,080,081,079,066,071,032 ,077,088,086 600 DATA 032,032,051,155,045,032,047,0 56,055,155,032,052,035,044,037,058,040 ,053,043,041 610 DATA 050,032,054,048,049,057,063,0 32,032,046,047,061 620 DATA 104,162,16,76,86,228, |