Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

W jaki sposób wykrywać zajętość lini telefonicznej?

03 Jan 2005 11:02 2698 23
  • Level 11  
    Witam
    Wszystkiego najlepszego w NOWYM ....
    Muszę zrobić układ który rozpozna zajętość linii telefonicznej . Na początku myślałem o jakimś analogowym filtrze dostrojonym do częstotliwości sygnału ale pojawił się problem z rozpoznaniem trwania i przerwy tego sygnału (400-600 ms) - chyba nie tędy droga .
    A może zastosować jakiegoś ATMELKA ?
    Może ktoś z Was spotkał się z czymś takim ? może macie jakieś pomysły ?

    Dzięki z góry za ewentualną pomoc
    Pozdrawiam
    Darek
  • Level 32  
    Wystarczy mierzyć napięcie na niej bo w sytuacji zajętości jest na niej niskie napięcie, około 10V. Wystarczy że podepniesz miernik to się dowiesz dokładnie. Nie trzeba żadnych fitrów.
  • Level 11  
    Może niezbyt dokładnie opisałem co mi potrzebne .
    Po zestawieniu połączenia (trafo tel. 600/600) muszę wykryć rozłączenie
    (odłożenie mikrotelefonu) numeru z którym to połączenie było zrealizowane .

    Pozdrawiam - Darek
  • Level 35  
    detektor tonu z PLL (np.NE567) do wykrywania sygnału zajętości i do tego przerzutniki monostabilne ustawione na odpowiednie czasy (nieco krótsze, lub dłuższe od czasu przerwy/tonu), zestaw bramek sprawdzających odpowiednie stany na podstawie danych z przerzutników i na końcu jeszcze przerzutnik RS.

    To taki koncept na szybko :D . Powinno działać

    A tu taki trick:
    Jak zadzwonisz do kogoś i naciśniesz jakiś klawisz podczas rozmowy, to, gdy abonent wywoływany odłoży słuchawkę - nie dostaniesz sygnału zajętości, połączenie będzie tak jakby "zawieszone" (nie wiem ile to ma wspólnego z usługą zawieszania połączeń) i po podniesieniu słuchawki po drugiej stroni będzie można kontynuować rozmowę. To może mieć coś wspólnego z dostępem do numerów wewnętrznych, albo przełączania na inny numer na centrali wewnętrznej.
  • Level 11  
    Dzięki - jakiś pomysł jest . Ciekawe czy dałoby się to zrobić bez dodatkowego scalaka np. zmierzyć częstotliwość i okresy tonu i przerw
    "wchodząc" bezpośrednio sygnałem do atmela który i tak wykorzystuję w urządzeniu . Uprościłoby to znacznie konstrukcję...
    I jeszcze pytanko : czas trwania i przerwy znam - 400-500 ms. a czy
    zna ktoś częstotliwość ?

    Pozdr
  • Level 35  
    częstotliwość zależy od centrali

    Używane w Polsce centrale telefoniczne, google powinien znaleźć ich parametry:
    Siemens EWSD
    Alcatel S-12
    Lucent (dawniej AT&T) 5ESS
    Alcatel E-10 A/B

    A to już są archaiczne cudeńka na wymarciu:
    Pentaconta (PC-1000) i pochodne
    Strowger, 32AB, 32AA

    Miałem gdzieś opis wszystkich sygnałów i poleceń w tych centralach w jednym pliku i jak na złość nie mogę znaleźć. Chyba, że "poszedł do archiwum", czyli jest na jednym z CD służących do okresowego sprzątania na dysku, a wtedy marne szanse (wszystkie te cedeki to jeden wielki śmietnik :( )
    Zdaje mi się, że to kiedyś na elektrodzie znalazłem ale to było dawno i nie pamiętam.

    Z prockiem - doskonały pomysł, częstotliwość będzie w okoliczch kilkusek Hz, więc można zrobić pomiar częstotliwości. Co ciekawe; ilość okresów tego sygnału jest stała (przynajmniej na centralach cyfrowych).
  • Level 26  
    Darek.P wrote:
    Może niezbyt dokładnie opisałem co mi potrzebne .
    Po zestawieniu połączenia (trafo tel. 600/600) muszę wykryć rozłączenie
    (odłożenie mikrotelefonu) numeru z którym to połączenie było zrealizowane .

    Pozdrawiam - Darek


    Jeżeli dobrze rozumiem to chcesz wiedzieć czy to już koniec połączenia...
    pewno jak byś coś więcej napisał o protokole transmisji to by było bardziej woadomo. Np. jezeli to transmisja cyfrowa to z natury wiadomo czy się rozłączyło, jeżeli "gadana" to mozna sprawdzać czy "coś gada" - tzn. wytwarza inne tony niż .....

    A jeszcze taki hint: nie wiem jakie teraz są standardy - ale kiedyś Po zestawieniu połączenia odwracała się polaryzacja sygnału. Po jego rozłączeniu odwracała się z powrotem na taką jak po podniesieniu słuchawki i.. :))) już wiadomo, że rozłączone. Z natury nie działało z centralkami.

    Jeżeli nie wiadomo jaki jest protok. "gadania" to... trudno zrobić coś takiego.
  • Level 11  
    Tak właśnie chodzi mi o koniec połączenia analogowego czyli "gadanego"
    Myślałem o programowym (Atmel) wychwyceniu tonów zajętości wysyłanych przez centralę lecz niestety temat okazał się za trudny .
    Zamówiłem scalak MT 3170 który poza tonami DTMF sygnalizuje on też
    obecność innych centralowych sygnałów...

    Pozdrawiam
  • Level 35  
    Eeeee nie jest tak trudno z atmelem.
    A jeszcze mi się takie coć wymyśliło - nie trzeba wcale znać częstotliwości sygnału, ważna jest tylko jego długość i długość przerwy, do tego trochę "inteligencji" prockowi zaaplikować, tak, żeby wiedział, kiedy trwa rozmowa, a po zakończeniu wykrywać tylko, czy jest ton o jakiejkolwiek częstotliwości, o czasie trwania tonu i przerwy mieszczącym się w przedziale od... do... A to wszystko dlatego, że po zakończeniu rozmowy centrala nie wysyła żadnego innego sygnału o takich samych parametrach czasowych, a innej częstotliwości.

    No ale, jak już specjalizowanego scalaczka masz, to też fajnie, można jeszczę parę ciekawych rzeczy na nim zrobić :D

    Większość (?) centrali w dalszym ciągu odwraca polaryzację linii.
  • Level 26  
    shg wrote:

    Większość (?) centrali w dalszym ciągu odwraca polaryzację linii.


    O - to jak tak to ja bym to sprawdził jeszcze i na tym bazował. A co do wykrywania to myślę, że pomysł shg jest bardzo dobry - tym bardziej, że standard zdaje się nie przewiduje jednolitego sygnalizaowania zakończenia rozmowy.

    Aha - wykrywaj też ciszę - jak ktoś dłużej nie mówi to... - bo inaczej to ktoś może psikusa zrobić (celowo lub przypadkiem) i zawiesic połączenie.

    A jeżeli to jest tak, że ty jesteś równolegle wpięty do linii do telefonu przez który ktoś rozmawia to już wogóle najprościej rozpoznać to po napięciach. Masz wtedy info nie o połączeniu a o tym czy ktos położył słuchawkę. A może o to właśnie Tobie chodzi. Ten sposób jest powszechnie stosowany w telefonach które umożliwiają przełączanie połączenia - one akurat z natury śledzą kiedy się podniesie słuchawka - ale takm samym układem ślezić można też kiedy się położy.
  • Level 11  
    Sprawdzałem - polaryzacji mi nie odwraca .
    Nie jestem też równolegle wpięty do linii - chodzi mi o wykrycie odłożenia słuchawki tej drugiej strony .
    Próbowałem z Atmelem :
    mam 2 linie tel. , dzwonię z jednej na drógą , przyłączam do tej drugiej transformator telefoniczny (odbieram) , na wtórnej stronie trafa mam
    (po odłożeniu tel z którego dzwoniłem) sygnały ok. 420 Hz z przerwami ok. 500 ms. - czyli sygnał zajętści . Jednak jest on chyba zbyt mały by go wprowadzić do Atmela a po drugie brak mi pomysłu jak to zrobić programowo (po prostu nie umiem) . Napisałem programik do pomiaru częstotliwości i nawet coś tam mierzy (od paru Hz do paru kHz) .
    lecz tego telefonicznego - nie chce. Trzebaby pewnie dołączyć jakiś wzmacniacz .
    Dzięki za pomysły - na pewno spróbuje wykorzystać ciszę - jak mi scalak już przyjdzie będę mógł z jego pomocą wychwycić i sygnały i ciszę ...
    Pozdrawiam
  • Level 26  
    Darek.P wrote:
    chodzi mi o wykrycie odłożenia słuchawki tej drugiej strony


    No jak tak to napięciami się nie da.

    A może zdefiniuj jakiś bardziej restrykcyjny protokół. Np. trzeba gadać ciągle a jak ktoś nie gada 10 sekund to się go rozłącza. Możesz podpatrzeć w sutomatycznych sekretarkach jak one to rozpoznają (takich bardziej inteligentnych niż stała długość nagrania). To może być to. No i zrób na wszelki wypadek timeout np. 150 sekund - o ile te rozmowny nie będą dłuższe. jak dłużesze to może 5.5 minuty, 11.5 itd...
  • Level 32  
    Polaryzacja jest odwracana po stronie abonenta wywołującego.
    W sekretarkach telefonicznych jest wykrywany sygnał zajętości i jest to na tyle uniwersalne że działa we wszystkich centralach. Nie proponowałbym wykorzystywać ciszy, ponieważ może zdarzyc się gorszej jakości połączenie, lub dłuższe przerwy w relacjach abonentów, co może zostać zinterpretowane jako koniec.
  • Level 11  
    Nie mogę zrobić rozłączenia po określonym czasie ponieważ te czasy są różne . Raz parenaście sekund , drugi raz pare minut . Gdybym rozłączał co max. czas to po wykorzystaniu np. paru sekund musiałbym odczekać ten max. czas by móc znów się dodzwonić . Poza tym zbyt długie "trzymanie " linii przy rozłączeniu z jednej strony prowadzi do odłączenia takiego numeru w centrali i gdy się dzwoni na niego mamy komunikat "abonent ma uszkodzoną linię"
    Chyba pozostaje mi tylko dokładnie zinterpretować sygnał zajętości tym MT 3170...

    Pozdrawiam
  • Level 26  
    Tak właśnie polaryzacjy przy wywołującym napewno nie da się zastosować. Przynajmniej odpada problem sprawdzania czy nadal ta norma obowiązuje i gdzie. Ale poleganie na samych sygnałach lub ciszy może spowodować dość niemiły skutek gdy np. uszkodzona linia tel. będzie charczeć a z jakichs powodów (np. ktoś zawiesi połączenie) się nie rozłączy. Timeout ma byc TYLKO PRZY OKAZJI/AWARYJNIE - a nie jako podstawowe źródło informacji kiedy koniec. Lepszy timeout nawet na godzinę niż jechać gdzieś specjalnie po to by nacisnąć reset. No ale to nie wiemy co to za urządzenie i gdzie - może to nie ma akurat w tym przypadku znaczenia.
  • User removed account  
  • Level 11  
    PICIA - dzięki ale nie o to chodzi...
    Te układy sygnalizują wolną lub zajętą linię - jedną linię - gdy się pod nią ma podpięte 2 "odbiorniki" (2 aparaty czy modem aparat itp) i działają na zasadzie spadku napięcia na zajętej linii.

    Pozdrawiam
  • Level 2  
    Darek.P wrote:
    PICIA - dzięki ale nie o to chodzi...
    Te układy sygnalizują wolną lub zajętą linię - jedną linię - gdy się pod nią ma podpięte 2 "odbiorniki" (2 aparaty czy modem aparat itp) i działają na zasadzie spadku napięcia na zajętej linii.

    Pozdrawiam


    to niewiem o co ci chodzi przeciez prawie wszystkie przystawki do telefonow dzialaja przez wykrycie spadku lub wzrostu napiecia
    wiec jak chcesz zarejestrowc koniec polaczenia to poprostu czekasz na wzrost napiecia na atmelku to prosta sprawa

    mozna sie pobawic w analizowanie sygnalow ale wtedy niema co bawic sie w wykrywanie czestotliwosci tylko jak ktos to juz tutaj napisal trzeba zmoezyc dlugosci i odstepy wystepowania sygnalow (tak robia np modemy) najlepiej sprawdzajac przez filtr gorno przepustowy
    ale w ten sposob po zakonczeniu rozmowy nie dostaniesz sygnalu zajetosci tylko sygnal ciagly (przy zalozeniu ze podpinasz sie w sposob nie obciazajacy lini)
  • Level 35  
    ghostt wrote:
    to niewiem o co ci chodzi przeciez prawie wszystkie przystawki do telefonow dzialaja przez wykrycie spadku lub wzrostu napiecia
    wiec jak chcesz zarejestrowc koniec polaczenia to po prostu czekasz na wzrost napiecia na atmelku to prosta sprawa


    Jest przecież napisane, o co chodzi: O wykrycie odłożenia słuchawki przez abonenta po drugiej stronie drutu. W tym wypadku nie zmienia się napięcie na linii, a podawany jest sygnał zajętości. Napięcie zmienia się, gdy słuchawkę odkładasz w swoim telefonie.
  • VIP Meritorious for electroda.pl
    Bez procesorka robimy tak:

    - filterek środkowo przepustowy na 420Hz z szerokością pasma np 80Hz
    - za nim prostownik z filtrem dolnoprzepustowym na jakieś 20Hz
    - za nim komparator ustawiony na tyle wysoko by układ nie reagował na wyfiltrowane składowe mowy,które przejdą przez filtr.

    Sygnał zajętości ma "rozmiary" 0.5s/0.5s

    Robimy sobie licznik zliczający sygnały tonowe (czyli jedynki z filtru dolnoprzepustowego).

    Licznik jest zerowany jeżeli stan 0 (brak tonu) trwa więcej niż 0.7 sekundy (układ RC).

    Jeżeli licznik zliczy np. do 4 (lub więcej) to znaczy, że jest sygnał zajete.
    Jeżeli jest sygnał ciągły to licznik nie liczy.
    Jak jest dłuższa przerwa to licznik jest zerowany i nie doliczy do 4.

    Można też zrobić 2 układy RC ładowane jeden przez czas przerwy a drugi przez czas trwania impulsu wykrywające czy czasy trwania tych elementów nie są większe niż np. 0.6s (przez porównanie poziomów napięć na kondensatorach do których się rozładowują) a potem mnożymy logicznie te dwa sygnały otrzymując informację, że jest ciąg 0.5/0.5

    Taka jest moja koncepcja.
  • Level 11  
    Dzięki Paweł - tak to sobie mniej więcej wyobrażałem tylko ze nie dał bym rady tego zrobić - brak mi i przyżądów i wiedzy do analogowych
    konstrukcji dlatego szukałem "cyfrowego" sposobu .
    Mam już ten scalak i sprawę filtrów wzmacniaczy itp. mam załatwioną
    Wchodzę sygnałem (z trafa) do scalaka i na wyjściu mam "1" - kę jeśli sygnał na linii jest większy od -35 dB a jeśli nie jest kodem DTMF na drugim wyprowadzeniu mam "0"
    Mając coś takiego stosunkowo prosto jest już "nauczyc" Atmela rozróżniać sygnały...

    Dzięki Wszystkim za pomysły
    Pozdrawiam
  • VIP Meritorious for electroda.pl
    Tyle, że poziom powyżej -35 dB oznacza, że może być mowa, ton ciągły, ton zajętości, ton dtmf, śmiecie i jak to rozróżnisz 2 sygnałami ze stalaka ?
  • Level 11  
    Myślę o kilkupoziomowym sprawdzaniu kolejno 500 ms sygnału potem tyle samo ciszy , czyli :
    oczekiwanie na sygnał - jeśli jest i trwa min. 450 i max 550 ms. sprawdzamy czy występuje (i tyle samo trwa) cisza , potem znów sygnał ... i tak powiedzmy 10 razy (5 sygnałów) . Jeśli którykolwiek z sygnałów lub ciszy będzie krótszy lub dłuższy to np. jakaś zmienna pomocnicza przyjmie wartość która zasygnalizuje nam że to nie sygnał zajętości i wrócimy na początek czyli na oczekiwanie na sygnał.
    Myślę że 5 sygnałów + 5 "cisz" czyli 5 sekund testu powinno właściwie
    odróżnić sygnał zajętości od mowy - tak myślę i mam nadzieję że tak wyjdzie w praktyce - niebawem się przekonam ...
    A w razie czego mogę ten czas wydłużyć do 10 sekund (10 syg. i 10 przerw)

    Pozdrawiam

    Dodano po 26 [minuty]:

    DTMF jest sygnalizowany innym wyjściem - pozostają śmieci , mowa i zakłócenia. Najbardziej się boję zakłóceń które mogą spowodować fałszywe wyliczenie czasów trwania i ciszy ale mam pomysły inne . Mogę sprawdzać tylko obecność sygnału (no i brak) w czasie np. 200 ms. - gdzieś po środku tych całych 500ms sygnałów. Czyli jeśli sygnał się zacznie to po np. 150 ms. przez 200 ms sprawdzam czy był choć na chwilę - poten czekam na zakończenie 150 ms. potem 150 ms. na zaczęcie ciszy potem przez 200 ms. czy cisza się pojawiła itp.
    Następny pomysł to uruchomienie "generatora" który cyklicznie co np 100 ms. sprawdza i zlicza oddzielnie sygnały i ciszę (2 oddzielne zmienne) na wyjściu scalaka - czyli dla 5 sekundowego sygnału byłoby 25 sygnałów i 25 cisz - to Twój pomysł . W razie czego można ten czas skrócić i dać jakiś margines na błędy (jeśli sygnał = od ... do i cisza = od ... do)

    Pozdr.

    Dodano po 2 [minuty]:

    DTMF jest sygnalizowany innym wyjściem - pozostają śmieci , mowa i zakłócenia. Najbardziej się boję zakłóceń które mogą spowodować fałszywe wyliczenie czasów trwania i ciszy ale mam pomysły inne . Mogę sprawdzać tylko obecność sygnału (no i brak) w czasie np. 200 ms. - gdzieś po środku tych całych 500ms sygnałów. Czyli jeśli sygnał się zacznie to po np. 150 ms. przez 200 ms sprawdzam czy był choć na chwilę - poten czekam na zakończenie 150 ms. potem 150 ms. na zaczęcie ciszy potem przez 200 ms. czy cisza się pojawiła itp.
    Następny pomysł to uruchomienie "generatora" który cyklicznie co np 100 ms. sprawdza i zlicza oddzielnie sygnały i ciszę (2 oddzielne zmienne) na wyjściu scalaka - czyli dla 5 sekundowego sygnału byłoby 25 sygnałów i 25 cisz - to Twój pomysł . W razie czego można ten czas skrócić i dać jakiś margines na błędy (jeśli sygnał = od ... do i cisza = od ... do)

    Pozdr.
  • Level 18  
    Witam, robie uklad w ktorym tez bede potrzebowal wiedziec kiedy abonent wywolujacy sie wylaczyl. W ukladzie jest atmel i HT9170. Niestety ten drugi nie wykrywa 440Hz.
    Do wykrycia tego tonu uzylem NE567 + 4 kondensatory, rezystor i podkowka. Wg mnie to chyba najprostszy sposob.


    A chcialem zapytac gdzie kupiles transformatorki 600/600, bo przydalby mi sie taki :)
pcbway logo