Monitor linii telefonicznej


Monitor linii telefonicznej
P R O J E K T Y
Monitor linii telefonicznej
kit AVT-453
Nowoczesne telefony są
czsto wyposałone
w ciekłokrystaliczny
wyświetlacz wybieranego
numeru. W naszych domach
pracuje jednak nadal sporo
aparatw telefonicznych
starszego typu, z tarczą
numerową lub klawiaturą.
Opis układu pojawia si napicie. Przy rozwar-
Przy wybieraniu numeru
Schemat elektryczny przedsta- tej ptli rezystor R1 wymusza niski
warto mieĘ mołliwośĘ
wiono na rys. 1. Układ monitora stan. WartośĘ rezystora dobrano
sprawdzenia chociałby
włącza si szeregowo z aparatem tak, aby nie był wykrywany prąd
ostatniej cyfry. Opisany
telefonicznym. Zasilanie jest po- o wartości mniejszej nił 1mA. Dzi-
poniłej monitor wyświetla
bierane z linii telefonicznej. Przy ki diodzie D1 napicie na D4 mołe
właśnie tylko jedną, ostatnio
podniesionym mikrotelefonie w li- si obniłaĘ bez rozładowywania
wybraną cyfr. Ma przy tym nii telefonicznej płynie prąd o na- kondensatora C5.
tłeniu kilkudziesiciu miliam- Składowa zmienna prądu linii
nietypowy wyświetlacz
perw. Prąd ten po przejściu przez abonenckiej, odseparowana przez
i poprawnie wspłpracuje
mostek prostowniczy MD1 i dła- dławik L1, jest podawana przez
z kałdym typem telefonu.
wik L1 płynie przez diod Zenera kondensator C1 na wejście odbior-
D4. Mostek prostowniczy MD1 nika DTMF U2 (MT3170). Diody
uniezalełnia układ od aktualnej D2 i D3 zabezpieczają wejście od-
polaryzacji napicia z centrali te- biornika przed przepiciami mo-
lefonicznej. Napicie z diody D4 gącymi pojawiĘ si w linii tele-
jest podawane przez diod Schot- fonicznej.
tky'ego D1 na kondensatory C2 Układ odbiornika wymaga tak-
i C5. Kondensator C5 o znacznej towania sygnałem o czstotliwości
pojemności podtrzymuje zasila-
nie w czasie przerw przy im-
pulsowym wybieraniu numeru.
Napicie z diody D4 jest po-
dane na wejście P1.0 procesora
U1 (AT89C2051). Tym wejściem
procesor wczytuje informacj
o stanie ptli abonenckiej. Jeśli
w ptli płynie prąd, na diodzie
Rys. 1. Schemat elektryczny układu.
Elektronika Praktyczna 7/98
63
Monitor linii telefonicznej
ka. Procesor odczytuje odbiornik
przez szeregową, trjprzewodową
magistral. Wysoki stan logiczny
na wyjściu EST (ang. Early Ste-
ering Output) informuje procesor
o obecności sygnału DTMF na
wejściu odbiornika. Procesor od-
czytuje kod cyfry podając cztery
impulsy na wejście ACK (Ack-
nowledge Pulse Input). Po kał-
dym impulsie odczytuje z wyjścia
SD (ang. Serial Data Output)
kolejny bit cyfry DTMF. Obwd
zerowania procesora: T1, R5, R6,
D5 i R7 powoduje uruchomienie
Rys. 2. Rozmieszczenie elementów
procesora dopiero po osiągniciu
na płytce drukowanej.
przez napicie zasilające poziomu
4,19430MHz. Rezonator kwarcowy około 3,5V. Zapewnia to pewny
o takiej czstotliwości podłączono start procesora, pomimo stosunko- Rys. 3. Algorytm działania
do procesora, a wyjście XTAL2 wo wolnego narastania napicia programu sterującego pracą
mikrokontrolera.
taktuje wejście zegarowe odbiorni- zasilającego.
Listing 1.
#include else /* jeśli jest cisza */
{
#define PRAD P1.0 /* wejście detektora pętli 1-p ynie prąd */ ton = TON_MIN + 1; /* zablokuj odliczanie czasu tonu */
#define SD P1.2 /* wejście danych szeregowych */ if( cisza < CISZA_MIN )
#define ACK P1.3 /* wyjście taktujące dane szeregowe */ cisza++; /* zwiększaj czas ciszy */
#define EST P1.4 /* wejście wskazujące na obecność tonu DTMF */ else
#define WYSWIETLACZ P3 /* wyjście na wyświetlacz LED */ ton = 0;/* jeśli dostatecznie długa cisza - odblokuj liczenie tonu */
}
#define ZWAR_MIN 2 /* min. czas zwarcia w cyfrze *10ms */
#define PRZER_MIN 4 /* min. czas przerwy w cyfrze *10ms */ /********************* O D B I O R N I K D E K A D O W Y *******************/
#define CYFRA_MIN 10 /* min. odstęp między cyframi *10ms */ if( PRAD ) /* jeśli płynie prąd */
#define SPOCZ_MIN 10 {
WYSWIETLACZ = LED[cyfra]; /* wyświetl odebraną cyfrę */
#define TON_MIN 3 /* min. czas tonu DTMF *10ms + 13 ms */ if( zwarcie < CYFRA_MIN )
#define CISZA_MIN 4 /* min. czas ciszy DTMF *10ms + 3 ms */ zwarcie++;
else
#define KWARC 4194304 /* częstotliwość kwarcu */ if( impulsy != 0 ) /* koniec cyfry */
{
#define CZAS_10MS (int)(-KWARC/12 * 10/1000) cyfra = (impulsy < 11)? impulsy: 0x0f; /* zapamiętaj poprawną */
impulsy = 0; /* cyfrę lub 0x0f */
#define LOW( liczba ) ( (char)( (int)(liczba) ) ) }
#define HIGH( liczba ) ( (char)( ( (int)(liczba) ) >> 8 ) ) if( (przerwa > PRZER_MIN) && zezwol )
/****************************************************************************/ {
/* S T A L E G L O B A L N E */ zezwol = 0;
/****************************************************************************/ impulsy++;
}
const char LED[] = przerwa = 0;
{ }
0xff, 0xce, 0x6e, 0x5e, else
0xcd, 0x6d, 0x5d, 0xcb, {
0x6b, 0x5b, 0x67, 0xc7, WYSWIETLACZ = 0xff; /* wygaś wyświetlacz */
0x57, 0xff, 0xff, 0xff if( przerwa < SPOCZ_MIN )
}; przerwa++;
else
/****************************************************************************/ {
/* Z M I E N N E G L O B A L N E */ impulsy = 0;
/****************************************************************************/ zezwol = 0;
}
char cyfra; /* cyfra odebrana jako ostatnia */ if( zwarcie > ZWAR_MIN )
char impulsy; /* licznik impulsów wybierczych */ zezwol = 1;
char dtmf; /* cyfra odebrana w DTMF */ zwarcie = 0;
char przerwa, zwarcie; /* liczniki czasu przerwy, zwarcia pętli */ }
char ton, cisza; /* liczniki czasu tonu, ciszy DTMF */ }
bit zezwol; /* zezwolenie na doliczenie impulsu do cyfry dekadowej */ /***************************************************************************/
/* P R O G R A M G L O W N Y */
/****************************************************************************/ /***************************************************************************/
/* O B S e U G A P R Z E R W A N I A */
/****************************************************************************/ void main(void)
{
interrupt [0x0B] void odb_imp(void) /* obsługa przerwania od T0 */ ACK = 0;
{ zezwol = 0;
TR0 = 0; /* przeładuj timer */ cyfra = 10;
TF0 = 0; impulsy = 0;
TL0 = LOW( CZAS_10MS ); zwarcie = 0;
TH0 = HIGH( CZAS_10MS ); przerwa = 0;
TR0 = 1; ton = TON_MIN + 1;
cisza = 0;
/********************* O D B I O R N I K D T M F ***************************/
if( EST ) /* jeśli jest ton DTMF */ TMOD &= 0xf1; /* ustawienie i uruchomienie T0 */
{ TMOD |= 0x01;
cisza = 0; /* kasuj czas ciszy */ TR0 = 0;
if( ton < TON_MIN ) ton++; /* zwiększaj czas tonu */ TF0 = 0;
if( ton == TON_MIN ) /* jeśli dostatecznie długi ton */ TL0 = 0xff;
{ TH0 = 0xff;
ton = TON_MIN + 1; /* czekaj na ciszę */ PT0 = 0;
dtmf = 0; IE |= 0x82;
ACK = 1; if( SD ) dtmf += 1; ACK = 0; /* odczytaj cyfrę DTMF */ TR0 = 1;
ACK = 1; if( SD ) dtmf += 2; ACK = 0;
ACK = 1; if( SD ) dtmf += 4; ACK = 0; for(;;) /* główna pętla programu */
ACK = 1; if( SD ) dtmf += 8; ACK = 0; PCON |= 0x01;
cyfra = dtmf; /* zapamiętaj odebraną cyfrę */ }
}
}
Elektronika Praktyczna 7/98
64
Monitor linii telefonicznej
WYKAZ ELEMENTÓW
Rezystory
R1, R7: 1k&!
R2, R3, R4: 1,8k&!
R5: 10k&!
R6: 100k&!
Kondensatory
C1, C2: 100nF
C3, C4: 33pF
C5: 2200F/16V
Półprzewodniki
U1: AT89C2051, zaprogramowany
U2: MT3170BE
T1: BC547
MD1: mostek 1A/100V
D1, D2, D3: 1N5817
D4: C5V6 1,3W
D5: C3V3 0,4W
LED_1, LED_2, LED_3, LED_4, LED_5,
LED_6, LED_7, LED_8, LED_9, LED_*,
Rys. 4. Algorytm pracy odbiornika DTMF.
LED_0, LED_#: LED Ć3
Wyświetlacz zrealizowano jako pojawiĘ si napicie około 5,5V
Różne
matryc diod świecących o trzech oraz powinna zapaliĘ si dioda
Kwarc Q1: 4,194304MHz
kolumnach i 4 wierszach, w ukła- odpowiadająca cyfrze 0. Wybra-
Złącze Z1: ARK2
dzie klawiatury telefonicznej. nie dowolnej cyfry impulsowo
Dławik D1: 10mH/100mA
W wyświetlaczu zastosowano nis- powinno spowodowaĘ gaśnicie
koprądowe diody LED, ktre osią- i zapalanie ostatnio świecącej dio-
gają pełną jasnośĘ świecenia przy
2mA. Rezystory: R2, R3 i R4
zwikszają prąd zasilający diody
LED, gdył prąd, jaki mołe dostar-
czyĘ wyjście procesora w stanie
wysokim jest zbyt mały.
Montał i uruchomienie
Monitor zmontowano na dwu-
stronnej płytce drukowanej, ktrej
widok przedstawiono na wkładce
wewnątrz numeru. Rozmieszcze-
nie elementw przedstawia rys. 2.
Pod procesor (U1) i odbiornik
(U2) naleły zamontowaĘ podstaw-
ki. Uruchomienie naleły rozpocząĘ
od dokładnego sprawdzenia popra-
wności montału. Nastpnym kro-
kiem jest włączenie monitora sze-
regowo z aparatem telefonicznym.
Po podniesieniu mikrotelefonu
na kondensatorze C5 powinno
Podstawowe cechy i właściwości
monitora
współpracuje z telefonami z wybieraniem im-
pulsowym i tonowym;
sygnalizuje stan pętli abonenckiej (zwarcie/
przerwa);
sygnalizuje wygaszeniem wszystkich diod:
Q' zbyt dużą liczbę impulsów (uszkodzona tar-
cza numerowa);
Q' odebranie normalnie nie używanych cyfr A,
B, C, D w DTMF;
jest wyposażony w wyświetlacz matrycowy
z 12 diod LED w standardowym układzie kla-
wiatury telefonicznej;
nie wymaga zewnętrznego zródła zasilania.
Rys. 5. Algorytm pracy odbiornika impulsowego.
Elektronika Praktyczna 7/98
65
Monitor linii telefonicznej
dy, a po zakoczeniu impulsowa- pilowaniu program zajmuje około Odbiornik impulsowy (sygnali-
nia zaświecenie diody odpowiada- 500 bajtw pamici programu zacji dekadowej) jest bardziej roz-
jącej tej cyfrze. Przy wybieraniu i kilkadziesiąt bajtw wewntrznej budowany. Wynika to z faktu, łe
tonowym, wyświetlacz jest aktu- pamici danych. Algorytm działa- musi zliczaĘ i analizowaĘ czasy
alizowany niemal natychmiast. nia programu monitora przedsta- wielu zdarze, takich jak: podnie-
wiono na rys. 3. Prosty odbiornik sienie mikrotelefonu, przerwa
Oprogramowanie sygnalizacji DTMF zapewnia igno- i zwarcie podczas wybierania i
Program monitora napisano rowanie sygnałw zbyt krtkich odstp midzy cyframi. Sposb
w jzyku C (IAR Systems). Łrd- i nie poprzedzonych ciszą. Algo- działania tego odbiornika mołna
łowa wersja programu przedsta- rytm pracy odbiornika tonowego prześledziĘ na rys. 5.
wiona jest na list. 1. Po skom- ilustruje rys. 4. Tomasz Gumny, AVT
Elektronika Praktyczna 7/98
66


Wyszukiwarka

Podobne podstrony:
Nowoczesne interfejsy linii telefonicznych
Emulator linii telefoniczneji(bitnova info)
Radiowy podsłuch linii telefonicznej (pcb)
monitor stanu lini telefonicznej
Okulary do pracy przy monitorze
Rozdzielacz telefoniczny
Ujawnianie śladów linii papilarnych na płytach CD oraz jego wpływ
DOSKONALENIE PRZEPŁYWU MATERIAŁÓW W U KSZTAŁTNEJ LINII MONTAŻU
MonitorInfo
Monitory studyjne porównanie 15
bezkontaktowy dodatkowy dzwonek do telefonu
monitor 40 5 strana
52 Naprawa telefonu po zalaniu(bitnova info) M2TPQPWCYPE46EKWRHZE3ZL64NUV6GT6B4CL7MQ
Monitoring Wilka szarego

więcej podobnych podstron