Frågor kring en ”nummerpresentationsanalysator” för POTS.
Postat: 11 april 2015, 17:12:21
Hej allihopa!
Inspirerad av ett problem på jobbet, har jag börjat fundera på hur man skulle kunna bygga en analysator för nummerpresentationsinformation som skickas över POTS.
Det är naturligt vis flera saker som behöver analyseras. Främsta handlar det om inbördes tider mellan olika händelser.
Händelser som jag tror är intressanta är:
* Polaritetsskiften på linjen.
* DTMF-tonernas start och slut. Samt…
* Ringsignalens start och slut.
Dessutom tänkte jag analysera innehållet i DTMF-tonerna.
Polaritetsskiften och ringsignalen tänkte jag detektera med hjälp av några motstånd, några zenerdioder och några optokopplare. Enkelt och utan krusiduller rakt in i loggkretsen. För att analysera innehållet i DTMF-tonerna tänkte jag använda en MT8870. Men MT8870:an har en tydlig fördröjning innan data kommer ut, vilket är helt naturlig. Därför duger inte utdatat från MT8870:an inte till att mäta när DTMF-tonerna startar eller slutar.
Därför har jag tagit fram kretsen i schemat här nedanför. Som synes använder jag två komparatorer i en klassisk fönsterdiskriminatorkoppling. När signalen hamnar utanför fönstret indikerar det närvaro av toner (aktiv låg). Nackdelen med denna koppling är att när tonen går genom ”noll nivån” så blir det en kort puls på utgången. För att kompensera det sitter kondensatorn C2 över R6 på utgången av komparatorerna. Nu till mina funderingar/frågor.
C2 har den fördelen att jag slipper få en hel ”burst” av pulser på ingången av loggningskretsen, när jag bara vill detektera start och slut på DTMF-tonerna. (Det underlättar loggningen.)
Nackdelen med C2 är att den fördröjer detekteringen av slutet på DTMF-tonerna.
Har ni några idéer till alternativa lösningar på burst vs. timingen (C2) i endera hårdvara eller ”mjukvara” för endera microcontroller (Arduino) eller programerbar logik (FPGA).
EDIT: Naturligtvis kommer kretsen innehålla en linjetransformator också. (Se xxargs och mina inlägg nedan.)
Inspirerad av ett problem på jobbet, har jag börjat fundera på hur man skulle kunna bygga en analysator för nummerpresentationsinformation som skickas över POTS.
Det är naturligt vis flera saker som behöver analyseras. Främsta handlar det om inbördes tider mellan olika händelser.
Händelser som jag tror är intressanta är:
* Polaritetsskiften på linjen.
* DTMF-tonernas start och slut. Samt…
* Ringsignalens start och slut.
Dessutom tänkte jag analysera innehållet i DTMF-tonerna.
Polaritetsskiften och ringsignalen tänkte jag detektera med hjälp av några motstånd, några zenerdioder och några optokopplare. Enkelt och utan krusiduller rakt in i loggkretsen. För att analysera innehållet i DTMF-tonerna tänkte jag använda en MT8870. Men MT8870:an har en tydlig fördröjning innan data kommer ut, vilket är helt naturlig. Därför duger inte utdatat från MT8870:an inte till att mäta när DTMF-tonerna startar eller slutar.
Därför har jag tagit fram kretsen i schemat här nedanför. Som synes använder jag två komparatorer i en klassisk fönsterdiskriminatorkoppling. När signalen hamnar utanför fönstret indikerar det närvaro av toner (aktiv låg). Nackdelen med denna koppling är att när tonen går genom ”noll nivån” så blir det en kort puls på utgången. För att kompensera det sitter kondensatorn C2 över R6 på utgången av komparatorerna. Nu till mina funderingar/frågor.
C2 har den fördelen att jag slipper få en hel ”burst” av pulser på ingången av loggningskretsen, när jag bara vill detektera start och slut på DTMF-tonerna. (Det underlättar loggningen.)
Nackdelen med C2 är att den fördröjer detekteringen av slutet på DTMF-tonerna.
Har ni några idéer till alternativa lösningar på burst vs. timingen (C2) i endera hårdvara eller ”mjukvara” för endera microcontroller (Arduino) eller programerbar logik (FPGA).
EDIT: Naturligtvis kommer kretsen innehålla en linjetransformator också. (Se xxargs och mina inlägg nedan.)