plik


ÿþP R O J E K T Y Dekoder CLIP Dekoder CLIP AVT-5004 Identyfikacja numeru abonenta dzwoni¹cego CLIP (ang. Calling Line Identification Presentation), ogÛlnie dostÍpna w sieciach komÛrkowych oraz w systemie ISDN, moøe byÊ stosowana rÛwnieø przez abonentÛw analogowych. Do tego celu s³uøy prezentowany w artykule dekoder. Program steruj¹cy prac¹ mikrokontrolera napisano w BASIC-u. Dekoder dzia³a podobnie jak Opis uk³adu w telefonach komÛrkowych: wy- Dane o numerze abonenta wywo- úwietla numer abonenta dzwoni¹- ³uj¹cego s¹ wysy³ane tuø po pier- cego do nas, zanim odbierzemy wszym sygnale dzwonka. S¹ one po³¹czenie. Wiemy wiÍc kto do przesy³ane szeregowo w standardzie nas dzwoni i moøemy w ten spo- V.23 z modulacj¹ FSK. Transmisja sÛb unikn¹Ê niechcianych roz- danych CLIP charakteryzuje siÍ na- mÛw. Moøemy rÛwnieø zaskoczyÊ stÍpuj¹cymi parametrami: naszego rozmÛwcÍ, zwracaj¹c siÍ - prÍdkoúÊ transmisji: 1200 bo- do niego po imieniu zanim siÍ dÛw, przedstawi. Us³ugÍ CLIP moøemy - jednokierunkowa transmisja da- uzyskaÊ, jeøeli nasz numer jest nych, przesy³anych szeregowo numerem z centrali cyfrowej. Aby asynchronicznie, to sprawdziÊ, naleøy skontakto- - czÍstotliwoúci stosowane do ko- waÊ siÍ z odpowiednim oddzia- dowania: ³em BOK (Biuro Obs³ugi Klienta - 1300Hz - poziom logicznej 1 TP S.A.). - 2100Hz - poziom logicznego 0 Dane s¹ wysy³ane w postaci meldunku, ktÛry sk³ada siÍ z na- AOP1 stÍpuj¹cych blokÛw: INV1 Tip/Ring - SMMR - sygna³ ustawiania trybu RXD NINV1 Demodulator Timer RXCK FSK odbiornika w stan odbioru da- Z odbiornika Filtr nych, sk³ada siÍ z sekwencji 300 Detektor AOP2 pasmowo DET linii poziomu przepustowy bitÛw, ktÛrych wartoúÊ zmienia INV2 IRQN Detektor siÍ naprzemiennie: 0, 1, 0.., NINV2 sygnaBu alarmow. ModuB - Sygna³ MARK - z³oøony jest sterujcy Detektor VDD MODE 1 z sekwencji 180 bitÛw, wszyst- sygnaBu wybierania VBIAS C8 kie maj¹ wartoúÊ 1, MODE 2 VSS Generator - T1 - bajt okreúlaj¹cy rodzaj C9 i dzielnik INPUT SELECT czstotliwo[ci danych, w naszym przypadku RD bÍdzie mia³ wartoúÊ binarn¹ RT XTAL XTALN X1 ì10000000î i oznacza identyfi- 3.579545MHz VDD R5 kacjÍ abonenta dzwoni¹cego, C5 C2 C1 - L1 - bajt okreúlaj¹cy liczbÍ VSS bajtÛw danego meldunku - ten Rys. 1. Schemat blokowy ukBadu CMX612. bajt ma zmienn¹ wartoúÊ w za- Elektronika Praktyczna 3/2001 17 do / z µC Zasilanie Dekoder CLIP Wyj[cie Tab. 1. Tryby pracy ukBadu CMX612. demodulatora Odebrany znak 'n' M1 M2 Tryb pracy ukBadu CMX612 FSK START 1 2 3 4 5 6 7 8 STOP 0 0 Detekcja dzwonienia Wyj[cie RXD START 1 2 3 4 5 6 7 8 STOP ukBadu 0 1 Odbiór danych FSK 1 0 Tryb czuwania  zero power Rys. 2. WspóBpraca interfejsu RS-232 z demodulatorem FSK. 1 1 Detekcja tonu oczekiwania leønoúci od liczby cyfr numeru lacj¹ FSK w standardzie V.23. Na abonenta dzwoni¹cego, rys. 1 przedstawiono jego schemat na wyjúciu RXD jest zgodny ze - T2 - okreúla rodzaj danych - blokowy. Uk³ad jest przystosowa- standardem RS232, a prÍdkoúÊ czas i data, wartoúÊ ì00000001î, ny do zasilania napiÍciem o war- przesy³anych danych wynosi - L2 - okreúla liczbÍ bajtÛw po- toúci od 2,7V i pobiera zaledwie 1200b. Przebiegi czasowe przed- trzebnych do zapisania czasu 0,5mA pr¹du. Za pomoc¹ tego stawiono na rys. 2. Ten tryb i daty, L2 ma zawsze wartoúÊ uk³adu moøna: wykryÊ sygna³ odbioru danych zosta³ wyko- ì00001000î, dzwonienia, odebraÊ dane FSK rzystany w dekoderze. - V2 - osiem bajtÛw (czas i data) i przetworzyÊ je na dane binarne - Jeøeli wejúcie RXCL jest w stanie zapisanych w kodzie ASCII, w standardzie RS232. Moøliwa jest logicznym zero, to po odebraniu - T3 - okreúla rodzaj danych, takøe prezentacja numeru abonen- 8 bitÛw uk³ad CMX612 umiesz- czyli numer i ma wartoúÊ ta oczekuj¹cego, tzn. prÛbuj¹cego cza je w specjalnym rejestrze ì00000010î, siÍ dodzwoniÊ podczas prowadzo- ìData Retimingî i zeruje wyjúcie - L3 - okreúla liczbÍ bajtÛw nu- nej przez nas rozmowy telefonicz- IRQN. Stan zera logicznego na meru, ma zmienn¹ wartoúÊ w za- nej. Uk³ad CMX612 moøe praco- wyjúciu IRQN informuje proce- leønoúci od liczby cyfr numeru waÊ w jednym z czterech trybÛw, sor, øe w rejestrze ìData Reti- abonenta dzwoni¹cego, w zaleønoúci od stanÛw na wej- mingî s¹ nowe dane do odebra- - V3 - numer abonenta zapisany úciach M1 i M2. PoszczegÛlne nia. NastÍpnie procesor na wej- w kodzie ASCII, tryby pracy zestawiono w tab. 1. úcie RXCL wysy³a osiem impul- - CHECK - jest to bajt sumy W prezentowanym dekoderze sÛw i w takt tych impulsÛw od- kontrolnej (modulo2) wszystkich wykorzystano dwa tryby pracy biera dane z wyjúcia RXD. Ten bajtÛw meldunku z wy³¹czeniem uk³adu: tryb transmisji uwalnia nas od samej sumy. 1. Tryb czuwania (M1=1, stosowania sterownika transmisji Przyk³adowa postaÊ meldunku M2=0) - w tym trybie uk³ad po- szeregowej w procesorze. Dane ========================= biera minimalny pr¹d, gdyø pra- mog¹ byÊ odbierane z dowoln¹ Typ wiadomo[ci10000000 CLIP cuje tylko detektor dzwonienia, prÍdkoúci¹, nie wiÍksz¹ jednak Liczba bajtów 00010101 21 bajtów a pozosta³e uk³ady wewnÍtrzne niø 1MHz. Przebiegi czasowe Rodzaj danych 00000001 Czas i Data nie s¹ aktywne. sygna³Ûw dla tej transmisji Liczba bajtów 00001000 8 bajtów 2. Tryb odbioru danych CLIP przedstawiono na rys. 3. dane 00110000  0 (M1=0, M2=1) - w tym trybie Natomiast na rys. 4 przedstawio- dane 00110011  3 dane wysy³ane przez centralÍ s¹ no stany logiczne na wyprowa- dane 00110001  1 odbierane przez uk³ad CMX612, dzeniach uk³adu CMX612 pod- dane 00110101  5 dekodowane i wysy³ane szerego- czas odbioru danych CLIP. dane 00110001  1 wo przez wyjúcie RXD. Dane te Schemat elektryczny odbiorni- dane 00110000  0 moøna odebraÊ w dwojaki sposÛb: ka CLIP przedstawiono na rys. 5. dane 00110011  3 - Jeøeli na wejúciu RXCL ustawi- Zawiera on cztery uk³ady scalone, dane 00110000  0 my stan logiczny jeden, to syg- wyúwietlacz LCD i kilkanaúcie ele- Data 15 Marzec na³ CLIP odbierany przez uk³ad mentÛw biernych. Uk³ad US1 to Godzina 10:30 jest dekodowany i przesy³any procesor typu 89C2051 z wewnÍ- bezpoúrednio w postaci binarnej trzn¹ pamiÍci¹ programu Flash Rodzaj danych 00000010 Numer na wyjúcie RXD. Format danych o pojemnoúci 2kB. Steruje on pra- Liczba bajtów 00001001 9 bajtów dane 00110000  0 dane 00110011  3 dane 00110101  5 dane 00110001  1 dane 00101101  - dane 00110011  3 dane 00110010  2 dane 00110001  1 dane 00110000  0 Suma kontrolna 00001110 Numer 0351-3210 Do odbioru i obrÛbki sygna³u CLIP zastosowano uk³ad firmy CML - CMX612. Jest to scalony odbiornik sygna³Ûw CLIP z modu- Rys. 3. Przebiegi charakterystyczne dla pracy ukBadu CMX612. Elektronika Praktyczna 3/2001 18 Dekoder CLIP w stanie aktywnym pobiera oko³o 20mA pr¹du, wiÍc zastosowany stabilizator w zupe³noúci wystar- cza do jego zasilania. Dzia³anie dekodera Po w³¹czeniu zasilania na wy- úwietlaczu pojawia siÍ napis ìCZEKAMî, po czym program przechodzi do pÍtli g³Ûwnej. Go: Do If P3.2 = 0 Then Rys. 4. Sposób przesyBania informacji CLIP. Gosub Caller_id c¹ ca³ego dekodera. WspÛ³pracu- Zastosowanie rezonatora kwar- End If j¹cy z mikrokontrolerem uk³ad cowego przy procesorze by³o ko- If Stan = 1 Then US2 odbiera sygna³ z linii telefo- nieczne, gdyø US2 w stanie czu- Stan = 0 nicznej i przekszta³ca go do po- wania blokuje pracÍ wewnÍtrznego Gosub Settime staci cyfrowej, a nastÍpnie prze- oscylatora, co powodowa³oby rÛw- Gosub Read_ram sy³a poprzez interfejs RS232. Ele- nieø zatrzymanie pracy procesora. L = 0 menty: R1, R2, R5, R6, R9, C1, Prezentowany dekoder ma rÛwnieø For T_out = 1 To 30000 C2, C6, G1 spe³niaj¹ rolÍ detek- funkcje zegara. Do odliczania cza- Delay tora sygna³u dzwonienia, a ele- su zastosowano uk³ad PCF8583. If P3.2 = 0 Then menty R3, R4, R8, R10, R11, C3, Zastosowanie zewnÍtrznego T_out = 0 C4 wspÛ³pracuj¹ z wbudowanym uk³adu zegara uwalnia procesor End If w US2 demodulatorem FSK. od precyzyjnego odmierzania cza- Next Do poprawnej pracy US2 jest su, jego rola ogranicza siÍ tylko Do niezbÍdny sygna³ zegarowy o czÍs- do odczytywania danych z uk³adu If P3.2 = 0 Then totliwoúci 3,579MHz. Øeby nie US3 za pomoc¹ interfejsu I2C. Gosub Caller_id stosowaÊ dwÛch rezonatorÛw W dalszej czÍúci artyku³u opisano K = 254 kwarcowych, ten sam oscylator jak ustawia siÍ ten zegar, bo End If wykorzystano do ìnapÍdzaniaî przecieø nie ma øadnych klawiszy Waitms 100: Incr K procesora. Kwarc zosta³ umiesz- i nie moøna ustawiÊ go rÍcznie. If K = 255 Then czony przy wyprowadzeniach pro- Do stabilizacji napiÍcia zasilaj¹ce- Cls cesora, nastÍpnie wyjúcie oscyla- go wszystkie uk³ady zastosowano Set Cl tora (nÛøka 4 US1) zosta³o po³¹- US4. Jest to miniaturowy stabili- Gosub Gettime czone z wejúciem zegarowym US2 zator o napiÍciu wyjúciowym 5V Goto Go (nÛøka 2). i pr¹dzie 100mA. Odbiornik CLIP End If Rys. 5. Schemat elektryczny dekodera CLIP. Elektronika Praktyczna 3/2001 19 Dekoder CLIP Loop przez prawie 3 sekundy na pojawie- Cls nie siÍ danych o wartoúci Set Cl ì01010101î na wyjúciu RXD uk³adu Gosub Gettime US2. Jeøeli taka sekwencja nie End If pojawi siÍ w danym czasie, nastÍ- If Cl = 1 Then puje prze³¹czenie uk³adu US2 w tryb Gosub Gettime czuwania i powrÛt do programu End If g³Ûwnego. Jeøeli zaú sekwencja Loop ì01010101î siÍ pojawi, to podpro- End gram czeka na odbiÛr kolejnych W pÍtli g³Ûwnej jest sprawdza- bajtÛw, tzn.: daty, godziny, numeru. ny stan portu P3.2, jeúli P3.2 ma Odebrane dane s¹ zapisywane w pa- wartoúÊ zero, to nastÍpuje skok do miÍci RAM w postaci tablicy o na- podprogramu ìCaller_idî. zwie ìBufî. Liczba bajtÛw tablicy Caller_id: wynosi 25. Poniewaø nie wszystkie Stan = 0 : T_out = 0 bajty meldunku CLIP s¹ przeznaczo- Bitwait P3.2, Set ne do wyúwietlenia na wyúwietla- Waitms 1 czu, zastosowanie tablicy pozwala Reset P3.3: Set P3.7 na ³atwe ìwybieranieî tych bajtÛw, Reset P1.1 ktÛre s¹ w danym momencie po- Waitms 1 trzebne. Po odebraniu wszystkich Int_5: bajtÛw meldunku nastÍpuje skok do Rys. 6. Rozmieszczenie elementów F = Inkey podprogramu ìU2testî. na pBytce drukowanej. While F <> &B01010101 U2test: F = Inkey U = 0 programu g³Ûwnego informacj¹ Delay F = Buf(2) + 2 o poprawnym odebraniu numeru Incr T_out For Z = 1 To F abonenta dzwoni¹cego i wÛwczas If T_out = 10000 Then W = Buf(z) przechodzi do procedury ìSet- Enable Int1 U = U + W timeî. Jak wczeúniej wspomniano Goto Int_end If U > 127 Then prezentowany odbiornik posiada End If U = U - 256 rÛwnieø zegar i w³aúnie podpro- Wend End If gram ìSettimeî jest odpowiedzial- T_out = 0 Next ny za ustawienie daty i godziny. Int_4: U = 256 - U Ustawienie wszystkich paramet- While F <> &B10000000 F = F + 1 rÛw zegara nastÍpuje samoczyn- F = Inkey If U = Buf(f) Then nie, wystarczy tylko wys³aÊ syg- Delay U2 = 1 na³ dzwonienia na nasz numer Incr T_out Else telefonu, np. z telefonu komÛrko- If T_out = 10000 Then U2 = 0 wego i nasz zegar jest juø usta- Enable Int1 End If wiony. W ten sposÛb otrzymaliú- Goto Int_end Return my rodzaj zegara DCF, z t¹ tylko End If Ten podprogram oblicza sumÍ rÛønic¹, øe nie jest zsynchronizo- Wend modulo 2 (uzupe³nienie do 2) wany z atomowym wzorcem cza- Int_3: wszystkich bajtÛw meldunku i po- su, lecz z central¹ telefoniczn¹. Buf(1) = F rÛwnuje z ostatnim bajtem tego Poniewaø dane o dacie i godzi- F = Waitkey meldunku. Podczas wyliczania su- nie zapisane s¹ w tablicy ìBufî Buf(2) = F  liczba bajtów my modulo 2 liczby mniejsze od w kodzie ASCII, a uk³ad zegara U = F + 3 127 s¹ traktowane jako dodatnie, US3 wymaga danych w kodzie For Z = 3 To U a wiÍksze jako ujemne. Taki sposÛb BCD, naleøa³o dokonaÊ konwersji F = Waitkey dodawania umoøliwia dodawanie tych kodÛw. Ta procedura zosta³a Buf(z) = F nieskoÒczonej liczby bajtÛw, ktÛ- przygotowana w podprogramie Next rych suma zawsze bÍdzie jednobaj- ìSettimeî w assemblerze. Buf(z) = F towa. Jeøeli suma wyliczona przez H = Buf(9) Stan = 1 centralÍ i przez nasz procesor jest M1 = Buf(10) Gosub U2test rÛøna, úwiadczy to o b³Ídach trans- $asm If U2 = 0 Then: Stan = 0 misji i numer abonenta dzwoni¹ce- mov a,{m1} End If go nie moøe byÊ wyúwietlony. anl a,#&b00001111 Int_end: Program przechodzi do oczekiwa- mov {m1},a Set P3.3: Reset P3.7 nia na nastÍpn¹ transmisjÍ. mov a,{h} Set P1.1 Jeøeli zaú obydwie sumy s¹ anl a,#&b00001111 Return takie same, to nastÍpuje ustawie- Swap A Ten podprogram prze³¹cza uk³ad nie bitu ìStanî i powrÛt do pro- add a,{m1} odbiornika CLIP (US2) ze stanu gramu g³Ûwnego. Pojawienie siÍ mov {h},a czuwania w tryb aktywny i oczekuje ustawionego bitu ìStanî jest dla $end Asm Elektronika Praktyczna 3/2001 20 Dekoder CLIP Zadaniem tej procedury jest Na pocz¹tku tego podprogramu WYKAZ ELEMENTÓW pobranie dwÛch bajtÛw z tablicy nastÍpuje zapisanie do pamiÍci Rezystory ìBufî oznaczaj¹cych dziesi¹tki go- wyúwietlacza LCD polskich liter R1, R3, R5: 470k&! SMD dzin i jednoúci godzin i umieúciÊ ìøî i ì î instrukcj¹ ìDeflcdcharî. R2: 68k&! SMD je komÛrce pamiÍci ìHî (czyli BÍd¹ one przydatne w dalszej czÍú- godzina) w postaci dwÛch liczb ci programu w wyúwietlanych ko- R4: 680k&! SMD BCD. Podprogram musi byÊ wy- munikatach. NastÍpnie jest spraw- R6, R8, R9: 470k&! SMD konany dla wszystkich bajtÛw dzany pierwszy bajt numeru abo- R7, R12: 10k&! SMD daty i godziny. NastÍpnie dane nenta dzwoni¹cego, ktÛry jest za- R10: 200k&! SMD o dacie i godzinie w kodzie BCD pisany w tablicy ìBuf(15)î. Jeøeli R11: 160k&! SMD s¹ umieszczone w komÛrkach ten bajt ma wartoúÊ 80, oznacza to, P1: 10k&! o nazwach odpowiednio: H-godzi- øe dany numer jest zastrzeøony Kondensatory ny, M-minuty, D-dni, Month-mie- i nie moøna go wyúwietliÊ i na C1, C2: 100nF/100V si¹ce. Tak przetworzone dane s¹ wyúwietlaczu pojawia siÍ napis C3, C4: 1nF/100V wysy³ane do uk³adu US3 magis- ìZASTRZEØONYî. Jeøeli zaú pier- C5, C7, C12, C15: 100nF tral¹ I2C w nastÍpuj¹cej postaci: wszy bajt ma wartoúÊ 79, oznacza C6: 330nF I2Cstart to, øe abonent dzwoni¹cy do nas C8, C9: 33pF I2Cwbyte &HA0 jest abonentem centrali analogowej C10: 27pF I2Cwbyte 0 i prezentacja jego numeru jest nie- C11: 47µF/25V I2Cwbyte 8 moøliwa, gdyø centrale analogowe C13, C14: 10µF/25V I2Cstart nie posiadaj¹ funkcji CLIP. W tym PóBprzewodniki I2Cwbyte &HA0 przypadku na wyúwietlaczu zosta- D1: 1N4004 I2Cwbyte 2 nie wyúwietlony napis G1: mostek prostowniczy 1A/400V I2Cwbyte S ìNIEDOST PNYî. Jeúli pierwszy I2Cwbyte M bajt numeru jest rÛøny od 79 lub US1: AT89c2051 zaprogramowany I2Cwbyte H 80, to numer abonenta dzwoni¹ce- US2: CMX612 I2Cwbyte D go zostaje wyúwietlony i nastÍpuje US3: PCF8583 I2Cwbyte Month powrÛt do programu g³Ûwnego. US4: 78L05 I2Cstop Numer telefonu jest wyúwiet- Ró|ne Po tych czynnoúciach uk³ad lany przez oko³o 30 sekund, na- X1: kwarc 3,579MHz zegara zaczyna odliczanie czasu stÍpnie na wyúwietlaczu pojawia X2: kwarc 32,768KHz z nowymi parametrami, a program siÍ aktualny czas i data, ktÛry jest CON1, CON2: ARK2(5mm) g³Ûwny wykonuje skok do podpro- odczytywany z uk³adu US3 za LCD: wy[wietlacz LCD 1x16a gramu wyúwietlenia numeru abo- pomoc¹ podprogramu ìGettimeî. nenta dzwoni¹cego ìRead_ramî. Gettime: Read_ram: Dim Dum As Byte rys. 6. Montaø zaczynamy od Deflcdchar 2,254,240,240,248, I2Cstart rezystorÛw. Ze wzglÍdu na ma³e 240,240,254,226 I2Cwbyte &HA0 wymiary p³ytki konieczne by³o Deflcdchar 0,228,255,226,228, I2Cwbyte 2 zastosowanie rezystorÛw wykona- 232,240,255,224 I2Cstart nych w technologii SMD. Montaø Cls I2Cwbyte &HA1 tych elementÛw wymaga duøej W = Buf(14) I2Crbyte S , Ack starannoúci, ale moøna go wyko-  liczba cyfr numeru I2Crbyte M , Ack naÊ za pomoc¹ lutownicy trans- Z = W : W = 17 - Z I2Crbyte H , Ack formatorowej. NastÍpnie montuje- Locate 1 , W : Ram = 15 I2Crbyte Yd, Ack my podstawki pod uk³ady scalo- For U = 1 To Z I2Crbyte Wm, Nack ne, kondensatory i na koÒcu z³¹- W = Buf(ram) I2Cstop cza CON1 i CON2. Incr Ram Home Do z³¹cza CON2 pod³¹czamy If W = 80 Then Lcd Bcd(h);  : ; Bcd(m); zasilacz o napiÍciu oko³o 9V, a do Cls  : ; Bcd(s);   z³¹cza CON1 liniÍ telefoniczn¹. Lcd  ZASTRZE ;Chr(0); ONY Lcd Bcd(yd);  - ; Bcd(wm) NastÍpnie potencjometr P1 usta- Return Return wiamy tak, aby uzyskaÊ jak naj- Elseif W = 79 Then Od tego momentu procesor lepszy kontrast wyúwietlacza LCD. Cls odczytuje czas oraz sprawdza stan Uk³ad zmontowany ze sprawnych Lcd  NIEDOST ;Chr(2); PNY linii P3.2. Jeúli pojawi siÍ zero, elementÛw dzia³a od razu bez Return to od pocz¹tku zaczyna siÍ pro- øadnych dodatkowych regulacji. Else cedura odbioru numeru abonenta Krzysztof P³awsiuk Lcd Chr(w) dzwoni¹cego. krzysztof.plawsiuk@ep.com.pl End If Next Montaø i uruchomienie Wzory p³ytek drukowanych w for- W = Buf(2) Uk³ad zosta³ zmontowany na macie PDF s¹ dostÍpne w Internecie For U = 2 To W p³ytce jednostronnej o wymiarach pod adresem: http://www.ep.com.pl/ Next p³ytki wyúwietlacza LCD. Jej sche- ?pdf/marzec01.htm oraz na p³ycie Return mat montaøowy przedstawiono na CD-EP03/2001B w katalogu PCB. Elektronika Praktyczna 3/2001 21

Wyszukiwarka

Podobne podstrony:
Dekoder CLIP z centralami DTMF (2)
function cpdf clip
Przerzutn liczniki dekodery
Renault Clip Version 103
Dekoder Elektryka 2 4 7 50
Dekoder Elektryka readme
Marlin Self Loading Rimfire Clip Feed Manual
Dekoder stereo opis
clip desc j7e6kst44kxxmnuo3lvhkstdcw52k2skwn4hj6i
Dekoder Elektryka Historia

więcej podobnych podstron