Névjegyek

Hangáramú dtmf jelek mikroáramú generátora. A dtmf jelek vevőjének és adójának vizsgálata. Dtmf jel kondicionálás

Az egyszerű eszközök témakörében úgy döntöttem, hogy DTMF jelgenerátort építek ugyanahhoz az ATtiny2313 -hoz. Aki nem tudja, a DTMF (angol kettős hangú többfrekvenciás) egy kéttónusú többfrekvenciás analóg jel, amelyet tárcsázáshoz használnak telefonszám... Olvassa el a Wikipédiát.

Az ilyen eszköz összeszerelésére vonatkozó döntést az a vágy diktálta, hogy megpróbáljunk összetett analóg jeleket megvalósítani egy mikrokontroller segítségével. Nem praktikus alkalmazás számára ez az eszköz nem volt tervezve, de tud valaki ilyen eszközt használni? Használd!

DTMF generátor forrás


Most nézzük, mit kaptunk.

A jelet a PWM segítségével alakítják ki, és a kívánt alak megadásához RC láncot használnak. Ennek eredményeként az RC lánc után a következő jelet kapjuk (a 6 gombot megnyomjuk):

A hasznos jel teljes görbéje mentén nagyfrekvenciás fésűt figyelünk meg (a frekvencia magasabb, mint a hallható, tehát nem fog zajt kelteni) - ez az RC lánc munkája. Simábbá teheti a vonalat a kondenzátor kapacitásának vagy az ellenállás ellenállásának növelésével, de ebben az esetben a hasznos jel lengése jelentősen csökken.

Megnézzük a jelspektrumot, és megbizonyosodunk arról, hogy kettő van egyéni frekvenciák(a PWM frekvencia túllépte a kijelző területét), akkor minden rendben van - a készülék úgy működik, ahogy kell.

Kész megoldások

A DTMF jel generálásának és dekódolásának feladataihoz vannak kész megoldások... Íme néhány adatlap ezekhez a mikroáramkörökhöz.

DTMF generátor
- DTMF dekóder


P.S. Kár, hogy nincs ADC az ATtiny2313 -ban - a DTMF dekódolót is megijesztheted! De semmi, megismétlem mega -n, mindenképpen csatolom.

(6868 alkalommal látogatták meg, 1 látogatás ma)

A találmány tárgya adattovábbításra szánt kéttónusú frekvencia (DTMF) jelek digitális előállítása, például a telefonálás területén. Az elért műszaki eredmény a redundáns áramköri elemek számának csökkenése, a gazdasági hatékonyság növekedése. A DTMF jelgenerátor, amely a DTMF jelgenerálási módszert valósítja meg, két akkumulátort, két reteszelő regisztert, két memóriaeszközt, egy végső összeadót, egy digitális-analóg átalakítót, egy DTMF jelek konverterét egész számok sorozatában, egy osztót tartalmaz. Az állítható osztási tényezőjű DTMF jelgenerátor főfrekvenciájából egy átalakító DTMF kódolja a jeleket az osztási tényező kódjába. 2 mp és 3 c.p. f-ly, 2 dwg.

A találmány tárgya eljárás adatátvitelre szánt DTMF (kéttónusú frekvenciájú) jelek digitális módszereinek előállítására, például a hangzásfrekvenciás tárcsázás területén. Technikailag a legközelebb áll az igényelt eljáráshoz a DTMF jelek előállítására szolgáló módszer, amelyet az 5034977 számú amerikai egyesült államokbeli szabadalmi leírás ismertet, 04.04.89, publ. 91/07/23, M.cl. 5 H 04 M 1/00. A DTMF jelek előállításának egyik ismert módja magában foglalja a DTMF jelkomponensek első és második frekvenciájának megfelelő mintavételi szögek első és második kódjának kiválasztását, az első és a második mintavételi kód összesített összegzését. szög, periodikusan rögzítve, az óra mintavételi gyakoriságának megfelelő periódussal, az összesített összegzés első és második eredményével, megkapva a megfelelő DTMF jelkomponensek első és második értékét, amelyek a megfelelő címzett cellákban vannak tárolva a DTMF jelkomponensek diszkrét értékeinek táblázatait, a megfelelő táblázatokból olvasva a mintavételi szögkódok összesített összegzésének eredményeinek megfelelő címekről, összegezve a DTMF jelösszetevők első és második diszkrét értékét hogy megkapjuk a DTMF jelértéknek megfelelő harmadik diszkrét értéket. A DTMF jelek generálásának ismert módszere a következő: a DTM kódtól függően F jel a DTMF jelkódok első átalakításával, az első kód kerül kiválasztásra, amely meghatározza a jel mintavételi szögét a csoportnak megfelelő frekvenciával tripla- oszlopok, és a DTMF jelkódok második átalakításával a második kód kerül kiválasztásra, amely meghatározza a jel mintavételi szögét az alacsonyabb frekvenciák csoportjának megfelelő frekvenciával - sorok, periodikusan, a mintavételi órajel frekvenciája esetén az első mintavételi szög kódot a megfelelő akkumulátorban összegzik, és rögzítik a megfelelő regiszterben, amelynek kimenete az eredmény, amelynek értéke megfelel a megfelelő írásvédett memóriában tárolt táblázatcella címének és amelyben a sinusok megfelelő diszkrét értékei találhatók, amelyek ugyanúgy határozzák meg a DTMF jel felső frekvenciáját, periodikusan, az óra mintavételi frekvenciájának megfelelő periódussal, a mintavételi szög második kódját összegzik fel a megfelelő tárolóba, és rögzítve van a megfelelő regiszterben, amelynek kimenete az az eredmény, amelynek értéke megfelel a megfelelő cellában tárolt cella címének csak olvasható memória, és amelyben a DTMF jel alsó frekvenciáját meghatározó szinuszok megfelelő diszkrét értékei találhatók, a DTMF jel felső és alsó frekvenciáját meghatározó szinuszok diszkrét értékei a végső összeadó, a DTMF jel diszkrét értékének meghatározása és a digitális-analóg átalakítás révén a kimenetre kerül, fokozatosan-a DTMF jel bemeneti kódjának megfelelő szinuszos DTMF jelet képezve. Az ismert módszer hatástalan alacsony technikai és gazdasági mutatók és technológiai mutatók A technikai és gazdasági mutatókat az elérni kívánt módszer alkalmazása során szükséges költségek határozzák meg szükséges paramétereket a DTMF jelekhez. V ismert módszer a frekvenciagenerálás pontossága a mintavételi szögnek megfelelő kód bitmélységétől függ, ami nagy akkumulátorteljesítményt igényel, ami megnehezíti a módszer egyszerű hardverrel történő megvalósítását. Ugyanis a mintavételi szög kódját az ismert módszerben a K = (F / F t) 32 ..., (1.1) kifejezés határozza meg, ahol K a mintavételi szögnek megfelelő kód; F a generált frekvencia; F t a mintavételi frekvencia. A generált frekvencia egyértelműen a generált frekvencia és a mintavételi frekvencia arányától függ. 8 bit, magas frekvenciák esetén legalább 9 bit, és kumulatív összegzés esetén legalább 12 bit, amely az ismert módszert megvalósító eszközök alkotóelemeinek számának növekedéséhez vezet. Az ismert módszer megvalósítására szolgáló ismert eszközök, nevezetesen a hozzáadók, regiszterek, csak olvasható memóriák, 4 és 8 bit szélességű bemenettel / kimenettel rendelkeznek. Ezért nagyobb bitkapacitás mellett további technikai és gazdasági költségekre van szükség az azonos funkciójú eszközök megvalósításához. Ugyanakkor az ismert módszerben a tizedesvessző utáni számjegyek számának csökkenése a megengedett értéket meghaladó frekvenciahibához vezet. A technológiai mutatókat a módszer megvalósításának sokoldalúsága és egységessége határozza meg, pl. a technika jelenlegi állása, amely az anyagfelhasználás, az alkotóelemek és az eszközök multifunkcionalitásának csökkenését vonja maga után, mikrovezérlők használatát igényli. A telefonos és telemetriai mérésekben használt széles körben elterjedt mikrovezérlők 8 bites adatokat és 8 bites aritmetikai-logikai eszközt használnak, ami további számítási műveleteket igényel az adatösszegzéssel kapcsolatban, több mint 8 bit szélességgel és a hordozójel elemzését az ismert megvalósítás során módszer, amely növeli a parancsok számát és ennek megfelelően a mikrokontroller órajelét, valamint a hangerőt véletlen hozzáférésű memória mikrokontroller, ami az eszközök költségeinek növekedéséhez vezet egy ismert módszerrel a DTMF jelek generálására. Ezt a következtetést vonjuk le, amikor az ismert módszer alkalmazását elemezzük az Atmel, Microchip tnc stb. Által gyártott mikrokontrollereken alapuló hangtárcsázóban. Így az ismert módszer alapvetően hatástalan az alacsony műszaki és gazdasági mutatók miatt, amelyek megnövekedett anyagfelhasználásban vannak kifejezve. , energiafogyasztás és alacsony technológiai mutatók, mivel korlátai vannak a módszer használatakor, beleértve a széles körben használt mikrokontrollerek összetételét is, ami megnövekedett technikai sajátosságok A mikrokontrollerekre alkalmazzák, ami csökkenti azok sokoldalúságát. A technikailag és az elért eredményhez legközelebb állítólagos DTMF jelgenerátorhoz az 5034977 számú amerikai egyesült államokbeli szabadalmi leírásban bemutatott DTMF jelgenerátor található. 91/07/23, M.cl. 5 N 04 M 1/00. A DTMF jelek ismert generátora a következőket tartalmazza: az első akkumulátort, az első reteszelő regisztert, az első memóriaeszközt, a második felhalmozó összeadót, a második reteszelő regisztert, a második memóriaeszközt, a végső összeadót, a digitális-analóg konverter, és az első akkumulátor kimenete az első reteszelőregiszter bemenetéhez van csatlakoztatva, az első reteszelőregiszter kimenete az első memóriaeszköz bemenetéhez, valamint az egyik az első tároló összeadó bemenetei, az első memóriaeszköz kimenete a végső összeadó egyik bemenetéhez van csatlakoztatva, a második tároló összeadó kimenete a második reteszelő regiszter bemenetéhez, a második retesz kimenete regiszter a második memóriaeszköz bemenetéhez, valamint a második akkumulátor egyik bemenetéhez van csatlakoztatva, a második memóriaeszköz kimenete a végső összeadó másik bemenetéhez van csatlakoztatva, a végső összeadó kimenete csatlakoztatva van a digitális bemenethez naplóátalakító, amelynek kimenete egy DTMF jelgenerátor kimenete. Az ismert generátor tartalmaz egy DTMF jelkódok első konverterét is a DTMF jel magas frekvenciáinak megfelelő mintavételi szögkódokká, egy második konvertert. A DTMF jelek a DTMF jel alacsonyabb frekvenciáinak megfelelő mintavételi szögek kódjaiba kódolnak, és a DTMF jelek első konverterének kimenete az első akkumulátor másik bemenetéhez van csatlakoztatva, a DTMF jelek második konverterének kimenete A második akkumulátor egy másik bemenetéhez csatlakoztatva a DTMF jelek első és második átalakítójának bemenetei a DTMF jelgenerátor bemenetei, az első és a második reteszelő regiszter órajelei pedig össze vannak kötve, és órajel frekvenciája DTMF jelgenerátor mintavételezés A jól ismert DTMF jelgenerátor alacsony technikai eredményt nyújt a különbözőekhez kapcsolódó túl sok áramköri elem miatt, valamint ugyanazon funkcionális elemek többletkapacitása miatt. Ezenkívül az ismert műszaki megoldás megvalósítása külön integrált mikroáramkör formájában is lehetséges, azonban ehhez speciális gyártás megszervezése szükséges, de tekintettel arra, hogy a DTMF jelgenerátorok a multifunkcionális eszközök részét képezik (fejlett képességű telefonok, eszközök telemetriai információk továbbítására telefonvonalak stb.) alapján jelenleg végrehajtott univerzális mikrovezérlők , a DTMF jelek egyes mikroáramköreinek előállítása gazdaságilag nem hatékony. A javasolt technikai megoldás alapja az a feladat, hogy a DTMF jelgenerátor segítségével létrehozzunk egy módszert a DTMF jelek előállítására, amelyben a feltételek és a műveletsor megváltoztatásával A módszert magas technikai és gazdasági mutatókkal hajtják végre az azonos típusú műveletek bitkapacitásának csökkenése, magas technológiai mutatók miatt, a módszer megvalósításakor, mind az egyszerű hardverrel rendelkező áramkörök tervezésében, mind a multifunkcionális mikrokontroller részeként. a technikai megoldás azon a feladaton alapul, hogy létrehoz egy DTMF jelgenerátort, amelyben az új elemek bevezetésével és az új kapcsolatok megvalósításával növeli a redundáns áramköri elemek számát, és ennek megfelelően növeli a gazdasági hatékonyságot A problémát megoldja az a tény, hogy a DTMF jelek generálására szolgáló ismert módszerben, beleértve a DTMF jelkomponensek első és második frekvenciájának megfelelő mintavételi szög első és második kódjának kiválasztását, az első és a második a második kódolás külön -külön mintavételi szögeket tartalmaz, sorrendben időszakosan rögzítve, a mintavételi órajel frekvenciájának megfelelő periódussal, az összesített összegzés első és második eredményével, és megkapja a címben található cellákban tárolt DTMF jelkomponensek első és második diszkrét értékét. a DTMF jelkomponensek diszkrét értékeinek megfelelő táblázatait a megfelelő táblázatokból a mintavételi szögkódok összesített összegzésének eredményeinek megfelelő címek, a DTMF első és második diszkrét értékeinek összegzése alapján jelkomponenseket a harmadik diszkrét érték eléréséhez A DTMF jelértéknek megfelelő érték új, hogy a DTMF jelösszetevők diszkrét értékeinek megfelelő tábláinak címhelyein lévő celláiban tárolt DTMF jelkomponensek első és második diszkrét értékeinek fogadása a megfelelő táblázatokból kiolvasva az egész számok első és második szekvenciájának összesített összegzésének eredményeinek megfelelő címekről, amelyek átlagértéke megfelel a mintavételi szögek kódjainak DTMF jel. Ezenkívül a halmozott összegzés eredményét képező egész számok sorozatának átlagértéke lehet ezeknek a számoknak a számtani átlaga. Ezenkívül a halmozott összegzés első és második eredményének időszakos rögzítése lehet egy a mintavételi órajel frekvenciája, amely különböző a különböző DTMF jeleknél. Az is megoldott, hogy az ismert DTMF jelgenerátor, beleértve az első akkumulátort, az első reteszelő regisztert, az első memóriát, a második akkumulátort, a második reteszelő regisztert, a második memóriát, a végső összeadó, a digitális-analóg átalakító és az első akkumulátor kimenete az első reteszelőregiszter bemenetéhez van csatlakoztatva, az első reteszelőregiszter kimenete az első memóriaeszköz bemenetéhez, valamint az első akkumulátor egyik bemenete, az első memóriaeszköz kimenete az egyik bemenethez van csatlakoztatva a végső összeadóba a második akkumulátor kimenete a második reteszelőregiszter bemenetéhez, a második reteszelőregiszter kimenete a második memóriaeszköz bemenetéhez, valamint a második akkumulátor, a második memóriaeszköz kimenete a végső összeadó másik bemenetéhez van csatlakoztatva, a végső összeadó kimenete egy digitális-analóg konverter bemenetéhez van csatlakoztatva, amelynek kimenete a DTMF kimenete jelgenerátor, a találmány szerint új, hogy a DTMF jelgenerátor ezenkívül tartalmaz egy egész számokból álló DTMF jelek konverterét, a DTMF jelgenerátor főfrekvenciájának osztóját állítható osztási tényezővel, kódkódoló DTMF jeleket az osztási tényező kódja, és a DTMF jelek konverterének első kimenete egész számok sorozatában az első akkumulátor másik bemenetéhez, a DTMF jelek konverterének második kimenetéhez van csatlakoztatva Az egész számok sorozata a második akkumulátor másik bemenetéhez van csatlakoztatva, a DTMF jelgenerátor állítható osztási arányú főfrekvencia -osztójának kimenete az egész számok sorrendjében a DTMF jeleket konvertáló óra bemenetéhez is csatlakozik. Ami az első tartóregiszter óra bemenetét és a második tartóregiszter óra bemenetét illeti, a DTMF jeleket konvertáló kimenet az osztási tényező kódjához csatlakozik a bemenethez, amely a fő frekvenciaosztó osztási tényezőjének beállítására szolgál. DTMF jelgenerátor, a DTMF jelgenerátor fő frekvenciaosztójának bemenete állítható osztási tényezővel a DTMF jelgenerátor főfrekvenciájának bemenete, a DTMF jelek konverterének bemenete a csatlakoztatott osztási tényező kódhoz a DTMF jelek konverterének bemenete egész számokban, és a DTMF jelek generátorának bemenete. Ezenkívül a DTMF jelek átalakítója egész számok sorozatában készülhet vezérelt programozható memória formájában, amelynek memóriája a DTMF jelek számának megfelelő memóriaterületekből áll, amelyek a az egész számok sorozatának hossza, úgy, hogy a memóriacella egyik felében az első egész sorozathoz kapcsolódó számot tárolja, a memóriacella másik felében pedig a másik egész sornak megfelelő számot tárolja, amelyek a az egyes akkumulátorok összegeit, és a programozható memóriavezérlés a memória külön kiválasztási vezérlőterületeinek és egy külön memóriacellának a lehetőségével történik. ezek az objektumok az objektumok új műszaki tulajdonságait biztosítják, és ezen tulajdonságok következtében biztosítják új szükséges technikai eredmény születik. A javasolt módszer jellemzői és az elért műszaki eredmény között az ok -okozati összefüggést a következőképpen magyarázzuk. A javasolt műszaki megoldás lényegének feltárásához a következő számítások lesznek kényelmesek: y (P ) = sin (n) (1.2), ahol y (P) a szinuszfüggvény diszkrét értéke; = wT = 27F / Fr (1.3) a mintavételi szög, radiánban mérve; n a minta sorszáma - minta; F t = F OSC / kd a mintavételi órajel frekvenciája, ahol F OSC a beállítási frekvencia eszköz; kd - állítható osztási arány, majd = 2FK D / F OSC. (1.4) Mint ismeretes, a szinuszfüggvény periodikus, 2 periódussal. A mintavételi szög radiánból relatív egységgé alakításához és a mintavételi szög kódjának megszerzéséhez az egész periódust m részekre osztjuk, ahol m bináris egész szám. Így az időszak minimális diszkrét részét kapjuk: = 2 / m. (1.5) A mintavételi szög kódja a mintavételi szög relatív értéke az időszak egy részének megfelelően, nevezetesen K = / = 2F / F t: 2P / m = Fm / F t. (1.6) Például a generált 1477 Hz és 697 Hz frekvenciákhoz (megfelel a „3” jel DTMF kódjának), m = 64, és az órajel frekvencia F t = 32768 Hz K 697 = 1,36; K l477 = 2,88. Nyilvánvalóan a mintavételi szög K kódjának bináris megjelenítése K 697 = 1,36 v, ill. + 1280 + 640 + 321 + 160 + 80 + 40 + 20 + 10). Ebben az esetben a kumulatív összegzéshez, illetve a bináris ábrázoláshoz 12 bit szükséges, ami meghatározta az ismert megoldás fent leírt hátrányait. . A javasolt technikai megoldás például az 1.36 számot határozza meg az 1 és 2 egész számok sorozatának átlagos értékeként, nevezetesen 1,36 = (1x + 2y) / (x + y), ahol x és y az 1 számok száma és 2., periodikusan ismétlődik egy periódussal (x + y) A mintavételi szög kód értéke egy egész Ts részből és egy tört részből áll, azaz például 1,36 = 1 + 0,36. Az ilyen helyettesítés relatív pontossága az (1.7) = K / C (1.7) kifejezésnek megfelelően növekszik a mintavételi szög kód értékének egész részének növekedésével. Például a generált frekvencia 697 Hz, m = 64 és az órajel frekvenciája F t = 32768 Hz esetén a hiba, ha a K 697 = 1,36 értéket az 1 -es és a 2 -es számok értékeivel helyettesíti, 36, illetve 32%. Ugyanakkor, ha növeljük m = 256 értékét, akkor az a hiba, hogy a K 697 = 5,45 értéket az 5 és 6 számok értékeivel helyettesítjük, 9, illetve 10%-kal csökken. Ebben az esetben a hiba a generált gyakoriságból, például amikor a K 697 = 5,45 értéket az 5 -ös és a 6 -os számok értékeivel helyettesítjük egy ismétlési periódussal, amely 16, 5,45 = (5x + 6y) / (x + y), ahol ( x + y) = 16. Az egyenletet megoldva x = 9, y = 7, azaz tizenhat halmozott összegzési művelet közül az 5. kifejezést kilencszer, a 6. kifejezést hétszer adjuk hozzá, míg valójában K 697 = 5.4375, ezt az értéket m (256, F t = 32768 Hz) (1.6) kifejezéssel helyettesítve, határozza meg a generált frekvencia tényleges számított értékét F = 696 Hz, míg a hiba 0,1%maradt. Így egy egész számok sorozatának összesített összegzése, amelynek átlagos értéke megfelel a megfelelő mintavételi szögeknek, lehetővé teszi a magas technikai és gazdasági mutatókat a kumulatív összegzési műveletek bitmélységének csökkentésével a fenti kifejezések összetevőinek változtatásának lehetősége miatt, és ennek megfelelően a javasolt módszert megvalósító eszközök bitkapacitásának csökkenésével, ami a hardver és a energiaköltségeket a módszer végrehajtásakor, valamint a javasolt módszer magas technológiai teljesítményének biztosítását, amikor használják többfunkciós eszközök Az ok -okozati összefüggést a javasolt technikai megoldás jellemzői és az elért műszaki eredmény között a következőképpen magyarázzuk: A DTMF jelgenerátor magas műszaki eredményét a DTMF jelkód -átalakító új elemeinek soron belüli bevezetése biztosítja. egész számok, a DTMF jelgenerátor beállítási frekvenciájának osztója állítható osztási tényezővel, a DTMF jelek kódjainak osztó tényező kódká alakítása, amelyek biztosítják a módszer megvalósítását az azonos bites mélységű áramkör-elemekkel, amelyek nem haladják meg a 8 bitet, míg nem több elem megoldásához szükséges elemek redundanciája, például az összesített összegzés eredményének rögzítéséhez, és ugyanannyi bitet használnak a megfelelő tárolóeszköz kezelésére, amelyet legfeljebb 8 bites regiszter valósít meg. nyilvánosan elérhető eszközökkel hajtható végre egy mikroáramkör vagy mikroprocesszoros kivitelben egy memóriacella formájában. Ezen túlmenően a tároló -kiegészítők megvalósítása azonos eszközök formájában, azonos bitkapacitással, nyilvánosan elérhető összeadó mikroáramkörök formájában is végrehajtható 4 bites feltételekkel. hogy a számok és ennek megfelelően a fent leírt egészsorokat alkotó eszközök, amelyek kombinációja határozza meg a mintavételi szögek megfelelő kódjait, eltérő bitmélységűek lehetnek, de a legoptimálisabbak , az igényelt megoldás által kitűzött célok teljesítése szempontjából 4 bites számok. A technikai eredmény akkor is biztosított, ha a javasolt műszaki megoldást a mikrokontrollerek részeként valósítják meg, ahol a mikrovezérlők parancsrendszere szükségszerűen magában foglalja a működő parancsokat 4 bites számokkal - csipkelődések. Így a DTMF jelgenerátor javasolt technikai megoldása lehetővé teszi magas műszaki eredmény, amely az áramköri elemek számának csökkenésével jár, és sokoldalúságot biztosít a DTMF jelgenerátor megvalósításában mind a nyilvánosan elérhető hardverek, mind a multifunkcionális mikrovezérlők részeként, ami meghatározza a műszaki megoldás magas gazdasági hatékonyságát. ábrán egy DTMF jelgenerátort ábrázol, amely megvalósít egy módszert DTMF jelek generálására. A DTMF jelgenerátor egész számok sorrendjében tartalmazza a DTMF jelek 1. átalakítóját, a DTMF jelgenerátor master frekvenciájának 2. osztóját, állítható osztási tényezővel, a a DTMF konverter 3 átalakítója kódmegosztási tényezővé kódolja a kódokat, az első 4 akkumulátort, az első reteszelő regisztert 5, az első memóriaeszközt 6, a második memóriaeszközt 7, a második reteszelő regisztert 8, a második akkumulátor összeadót, a végső összeadót 10 , a digitális-analóg átalakító 11. A DTMF jelgenerátor működését a DTMF jelek előállítására szolgáló módszer megvalósításának példája szemlélteti. (1.4, 1.6) kifejezések és műszaki adatok alapján, különösen annak az eszköznek a fő frekvenciáján, ahol a javasolt módszert megvalósítják , egész számokat számolnak ki, amelyek meghatározzák a megfelelő mintavételi szögek kódjait, és osztható tényező kódokat a DTMF jelgenerátor master frekvenciájának 2. osztójához állítható osztó tényezővel, amelyeket az 1. konverter megfelelő memóriacelláiba írnak. a DTMF jelek egész számok sorozatában, és a DTMF jelek 3 konvertere osztó tényezőkódokká, szintén előre kiszámítja a megfelelő függvények diszkrét értékeit, amelyek számát az m minták száma határozza meg, és DTMF jel generálásakor egy ideig a megfelelő 6 és 7 memóriaeszközökbe íródnak, az 1 -es és a 3 -as átalakító bemeneteire, amelyek generátor bemenetek. A DTMF jel közül a generált DTMF jel kódja kerül beállításra, a 3 átalakító kimenetén egy kód kerül beállításra, amely meghatározza a 2 osztó osztási tényezőjét, míg a 2 osztó kimenetén a mintavételi órajel frekvenciája időszakosan, a mintavételi órajel frekvenciájának megfelelő periódussal, az 1 -es átalakító első kimenetétől az első akkumulátor 4 bemenete kerül az egész számok első sorába, és az 1 -es konverter második kimenetéből írja be a második akkumulátort bemenetre 9 bináris számot, amely a DTMF jel összetevőinek megfelelő egész számok második sorozatába tartozik, az összesítő összegzés eredményeit a halmozódó összeadók kimeneteiből a megfelelő reteszelő regiszterek bemenetei szolgáltatják. A 8. ábrán az 5 és 8 reteszelési regiszterek kimeneteiből az összesített összegzés eredményei, a mintavételi órajel frekvenciájának megfelelő periódussal, a megfelelő akkumulátorok más bemeneteire kerülnek. 4 és 9 digitális kiegészítők, valamint a megfelelő 6 és 7 memóriaeszköz bemenetei, amelyek a DTMF jel megfelelő összetevőinek szinuszainak diszkrét értékeinek címét állítják be a memóriaeszközök kimeneteiből 6 és a 7. ábra, a DTMF jel megfelelő összetevőinek diszkrét értékeit a teljes 10 összeadó megfelelő bemenetei táplálják, amelynek kimenetén diszkrét bináris DTMF jel keletkezik, amelyet a digitális bemenetre táplálnak -11 analóg átalakító, amelynek kimenetén a DTMF jel bemeneti kódjának megfelelő szinuszos DTMF jel keletkezik. A jelek DTMF -kódjainak 1 konvertere egész számok sorozatában (1. ábra) a 2. ábrán látható formában készíthető el, ahol az egész számok sorozatában lévő DTMF -kódok konvertere tartalmaz egy 12, a programozható memória 13. A DTMF jelgenerátor működését a továbbiakban szemléltetjük konkrét példa a javasolt módszer megvalósítása a telefon hangfrekvenciás tárcsázójában. Előzetesen a kifejezések (1.4, 1.6) és a műszaki adatok alapján kiszámítják az egész számok sorozatát, amelyek meghatározzák a mintavételi szögek megfelelő kódjait és az osztó tényezők kódjait a a DTMF jelgenerátor master frekvenciája állítható osztási tényezővel. Tekintettel arra, hogy a módszer megvalósítása azonos típusú számításokat tartalmaz, a munka egy konkrét példán való szemléltetésére a hang-impulzusos tárcsázó "7" gombjának megfelelő DTMF-jel előállítására szolgáló módszer megvalósítását adjuk meg . A generátor beállítási frekvenciája be van állítva kvarc frekvencia, a telefontechnikában a legelterjedtebb, nevezetesen az F OSC = 3579545 Hz. A „7” gomb megnyomása egy DTMF jelnek felel meg, amelynek felső (oszlop) frekvenciája 1209 Hz, és az alsó (vonal) frekvencia 852 Hz. Mivel a DTMF jel egyidejűleg két frekvenciát továbbít, az osztási együtthatókat magasabb - felső frekvenciára kell kiszámítani úgy, hogy a megfelelő mintavételi szögkód az (1.6) kifejezésnek megfelelően közel legyen a maximális értékhez - 16, amely legfeljebb 4 bites adatok. Így F OSC = 3579545 Hz esetén a szinuszok diszkrét értékeinek száma m = 128, az osztási tényező számított értékei a DTMF jelgenerátor master frekvenciájának 2. osztójához, állítható osztási tényezővel KD = 240 = 460, míg a mintavételi szögek megfelelő kódjai a felső frekvenciára K 1209/852 = 10,376, az alsó frekvenciára K 852/1209 = 7,312 A találmány szerint a mintavételi szög kódjait egy egész számok, 10/11 és 7 / 8.10.375 = (10x + 11y) / (x + y), míg valójában K 1209/852 = 10.3757.312 = (7x + 8y) / (x + y), míg valójában K 952/1209 = 7,313, (x + y) = 16. Így a 10.375 értéket időszakosan ismétlődő, 10 10 -szeres és 11 6 -szoros egész számok ismétlődő sorozata váltja fel, a 7 312 -et pedig 7 11 -szer és 8 -szor 5 -ször. a bináris „7” jel DTMF kódjának memóriaterülete a következő:
Így tizenhat táblázat kerül kiszámításra a DTMF jelkódoknak megfelelően, nevezetesen 0, 1, 2 ... 9, *, #, A, B, C, D, és előre rögzítve a 13 programozható memória memóriájában (konverter a DTMF karakterkódból Ha bekapcsol egy gombot, például a „7” gombot a generátor bemenetén, a DTMF jelzés idejére a „7” (0111) DTMF jel bináris kódja van beállítva, az átalakító 3 A DTMF jelkódból az osztási tényezőbe konvertálja a DTMF jelkódot a kd együttható kódosztássá a generátor master frekvenciájának 2. osztójához állítható osztási tényezővel, a 2 osztó kimenete beállítja az F mintavételi órajel frekvenciát t = F OSC / KD. A jel DTMF -kódja is megérkezik a programozható 13 memória magasabb bitjeinek címbemeneteire (a DTMF -kódok jelfeldolgozója egész számokban), és ott van a DTMF -jelzés idejére. A 12 vezérelt eszköz, például számláló formájában (DTMF jelek konvertálója egész számok sorozatában), t frekvenciájú órajelek hatására, ciklikusan megváltoztatja értékét a párhuzamos kimeneteken 0000-ról 1111-re, ennek megfelelően megváltoztatva a programozható 13 memóriaeszköz legkevésbé szignifikáns bitjeinek címbemeneteinek értékeit (DTMF jelek konvertálója egész számokban), 8 bites (byte) számok jelennek meg a kimeneten egy programozható 13 memória mintavételi órajel -frekvenciával, míg az 1. táblázatnak megfelelően a legjelentősebb négy bit (nagy nibble) egész számokból álló sorozatot alkot, amelyek összegyűjtése, nevezetesen az aritmetikai átlag határozza meg a mintavételi szög kódját a felső (oszlop) gyakoriságnak megfelelő, és az alsó négy bit (alsó rágás) egész számok sorozatát alkotja, amelyek összegyűjtése, nevezetesen a számtani átlag határozza meg a kódot a mintavételi szög, amely megfelel az 1. táblázatnak megfelelő, alacsonyabb (vonal) frekvenciának, négybites adatnak, a programozható memória 13 kimenetéből (DTMF jelek konvertálója egész számokban), külön-külön betáplálásra kerül a a megfelelő 4 és 9 akkumulátort, a megfelelő 4 és 9 összeadók kimenetein az adatok 0 és m közötti mintavételi órajel mellett (ebben az esetben m = 128) változnak, meghatározva és rögzítve az 5 és 8 reteszelő regiszterek segítségével a 6 és 7 memóriaeszközök címei, amelyekben a DTMF megfelelő szinuszos komponenseinek bináris diszkrét értékei írott jel, a 6 és 7 tárolóeszköz kimeneteiből, a megfelelő szinuszos komponensek bináris diszkrét értékei a DTMF jelet a 10 végösszegző megfelelő bemeneteire táplálják, amelynek kimenetén a DTMF jel bináris diszkrét értékei jönnek létre, amelyeket ezután a 11 digitális-analóg konverter bemenetére táplálnak. amelynek kimenete egy lépcsős szinuszos DTMF jel. A DTMF jelgenerátor jól ismert alapján valósítható meg technikai eszközök, leírva például: Az integrált áramkörök használata az elektronikus számítástechnikában. Kézikönyv / Szerk. B.N. Fayzulaeva, B.V. Tarabrina. - M.: Rádió és kommunikáció, 1986. Ebben az esetben a DTMF jelek konverterének 3 kódolói osztási tényezők kódjává alakíthatók, például 155PE 3 olvasható memóriachip formájában (343. o.). , a regiszterek megvalósítását a 6. oldalon ismertetjük. A 108. ábrán az akkumulátorok megvalósítását ismertetjük. 114. A találmány szerinti módszer és a DTMF jelgenerátor szintén a Microchip Inc. technikai eszközei alapján valósul meg. (8 bites egycsipes mikrovezérlők, mint a pic16f628), a "Kadran" (Ukrajna, Zaporozhye) cég által gyártott "Kadran-NKT-01" impulzushangú telefonhívó részeként. Parancsrendszer és belső szervezet A mikrokontroller csomópontok leírása: Prokopenko B.Ya. Egy chipes mikrovezérlők. Dodeka, 2000, ISBN8-87835-056-4. A DTMF jelparaméterek leírását például az alábbiak tartalmazzák: Integrált áramkörök: Mikroszkópok a telefonáláshoz. 1. szám - M.: Dodeka, 1994, 256 p. -ISBN-5-87835-003-3., P. 12, 13.

KÖVETELÉS

1. Eljárás kéttónusú frekvencia (DTMF) jelek előállítására, beleértve a DTMF jelkomponensek első és második frekvenciájának megfelelő mintavételi szög első és második kódjának kiválasztását, az első és a második kód külön-külön kumulatív összegzését mintavételi szögek a mintavételi órajel frekvenciájának megfelelő időszakosan rögzített periódussal, az összesített összegzés első és második eredménye, a megfelelő táblázatok címzett celláiban tárolt DTMF jelkomponensek első és második diszkrét értékeinek megszerzése. a DTMF jelkomponensek diszkrét értékeit a megfelelő táblázatokból olvasva a mintavételi szögkódok összesített összegzésének eredményeinek megfelelő címekről, összegezve a DTMF jelkomponensek első és második diszkrét értékét a harmadik megszerzéséhez a DTMF jelértéknek megfelelő diszkrét érték, azzal jellemezve, hogy az első és a második diszkrét érték vételét a DTMF -jelüket, amelyet a DTMF -jelösszetevők diszkrét értékeinek megfelelő tábláinak címtartó celláiban tárolnak, a megfelelő táblázatokból olvasva kell elvégezni az első és az összesített összegzés eredményeinek megfelelő címekről egész számok második szekvenciái, amelyek átlagolt értéke megfelel a DTMF jel összetevőinek megfelelő mintavételi szögek kódjainak .2. 2. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a halmozott összegzés eredményét képező egész számok sorozatának átlagos értéke e számok számtani átlaga. 2. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a halmozott összegzés első és második eredményének időszakos rögzítését a mintavételi órajel frekvenciájának megfelelő periódussal hajtjuk végre, amely különböző DTMF jelek esetén eltérő. DTMF jelgenerátor, amely magában foglal egy első akkumulátor-összeadót, egy első reteszelő regisztert, egy első memóriaeszközt, egy második akkumulátor-összeadót, egy második reteszelő regisztert, egy második memóriaeszközt, egy végső összeadót, egy digitális-analóg konvertert és a kimenetet az első felhalmozódó összeadót az első reteszelő regiszter bemenetéhez, az első reteszelő regiszter kimenetét a regiszter az első tárolóeszköz bemenetéhez, valamint az első tároló összeadó egyik bemenetéhez csatlakoztatja, az első tárolóeszköz kimenete a teljes összeadó egyik bemenetéhez van csatlakoztatva, a második tároló összeadó kimenete a második reteszelőregiszter bemenetéhez, a második reteszelőregiszter kimenete pedig a a második tárolóeszköz, valamint a második tároló -összeadó egyik bemenetével a második memóriaeszköz kimenete a teljes összeadó másik bemenetéhez van csatlakoztatva, a teljes összeadó kimenete a digitális bemenethez -analóg átalakító amelynek kimenete a DTMF jelgenerátor kimenete, azzal jellemezve, hogy a DTMF jelgenerátor ezenkívül tartalmaz egy egész számokból álló DTMF jelek konverterét, a DTMF jelgenerátor master frekvenciájának osztóját, állítható osztási tényezővel , a DTMF jelek osztási tényező kódba konvertálója, először a DTMF jelek konverterének kimenete egész számok sorozatában az első akkumulátor másik bemenetéhez van csatlakoztatva, a DTMF jelek kódjainak átalakítójának második kimenete az egész számok sorozata a második akkumulátor egy másik bemenetéhez van csatlakoztatva, a DTMF jelek generátorának frekvenciaosztójának állítható osztási arányú kimenete csatlakozik a DTMF jelkódok órajel bemeneti átalakítójához egész számok sorozatában, valamint az első reteszelő regiszter óra bemenetével és a második reteszelő regiszter óra bemenetével a DTMF jelek konverterének kimenete az együtthatókódba A frekvenciaosztó a bemenethez van csatlakoztatva, amely a DTMF jelgenerátor fő frekvenciaosztójának osztási tényezőjét állítja be; egész számok sorrendje és a DTMF jelgenerátor bemenete. 5. A 4. igénypont szerinti DTMF jelek generátora, azzal jellemezve, hogy a DTMF jelek kódjainak konverterét egész számok sorozatában egy vezérelt programozható memória formájában készítik, amelynek memóriája a DTMF számának megfelelő jelek, memóriaterületek, amelyek cellákból állnak, amelyek az egész szám memória sorozatának hosszának felelnek meg, úgy, hogy a memóriacella egyik fele tárolja az egész számok első sorozatához kapcsolódó számot, a memóriacella másik fele pedig egy megfelelő számot egy másik egész számokra, amelyek a megfelelő akkumulátorok összefoglalói, és a programozható memóriát a memóriaterület és a különálló memóriacella kiválasztásának külön szabályozásával lehet vezérelni.

A hangtárcsázást (Dual-tone multi-frequency signaling, DTMF) a Bell Labs fejlesztette ki a múlt század 50-es éveiben egy forradalmár számára annak idején nyomógombos telefon... A digitális adatok hangmódban történő megjelenítéséhez és továbbításához a beszéd néhány frekvenciája (hangja) frekvenciatartomány... A rendszer két négyfrekvenciás csoportot határoz meg, és az információt két frekvencia egyidejű továbbítása kódolja - minden csoportból egyet. Ez összesen tizenhat kombinációt jelent, amely tizenhatot képvisel különböző számok, szimbólumok és betűk. A DTMF kódolást jelenleg sokféle kommunikációs és vezérlési alkalmazásban használják, ezt bizonyítja például a Nemzetközi Távközlési Szövetség (ITU) Q.23 ajánlata.

Ez a cikk egy DTMF hanggenerátor áramkört ismertet, amely mind a nyolc frekvenciát reprodukálja, és ennek eredményeként kéttónusú kimenetet állít elő. A szóban forgó rendszert a Silego GreenPAK ™ SLG46620V chip és műveleti erősítők Silego SLG88104V. A kimeneti jel a telefonbillentyűzet sora és oszlopa által meghatározott két frekvencia összege.

A javasolt áramkör négy bemenetet használ a generált frekvenciakombináció kiválasztásához. Az áramkörnek van egy engedélyezési bemenete is, amely rezgést vált ki és meghatározza a jel továbbításának időtartamát. A generátor kimeneti frekvenciája megfelel az ITU DTMF szabvány követelményeinek.

DTMF hangok

A DTMF szabvány két frekvencia kombinációjaként határozza meg a 0-9 számjegyek, az A, B, C és D betűk, valamint a * és # szimbólumok kódolását. Ezeket a frekvenciákat két csoportra osztják: egy magas és egy alacsony frekvenciájú csoportra. Az 1. táblázat a gyakoriságokat, csoportokat és a megfelelő szimbólumábrázolásokat mutatja be.

Asztal 1. DTMF hangkódolás

Magas csoport

Basszus csoport

A frekvenciákat úgy választották meg, hogy elkerüljék a többszörös harmonikusokat. Sőt, ezek összege vagy különbsége nem ad más DTMF frekvenciát. Ily módon elkerülhetők a felharmonikusok vagy a moduláció torzulása.

A Q.23 szabvány előírja, hogy az egyes átvitt frekvenciák hibájának a névleges érték ± 1,8% -án belül kell lennie, és a teljes torzításnak (harmonikusok vagy moduláció miatt) 20 dB -rel az alapfrekvenciák alatt kell lennie.

A fentebb leírt eredményt a következőképpen írhatjuk le:

s (t) = Acos (2πfhight) + Acos (2πflowt),

ahol fhigh és flow a megfelelő frekvenciák a magas és alacsony frekvencia csoportokból.

Az 1. ábra az "1" számjegy eredményét mutatja. A 2. ábra egy adott jel frekvencia spektrumát mutatja.

Rizs. 1. DTMF hang

Rizs. 2. DTMF hang spektrum

A DTMF hangok időtartama a hangkódolást használó alkalmazástól függően változhat. A leggyakoribb alkalmazásoknál az időtartam értékek általában a manuális és az automatikus között vannak. A 2. táblázat mutatja Rövid leírás tipikus időtartam kétféle tárcsázáshoz.

2. táblázat. A jelek időtartama hanghívással

Típus beállítása

Magas csoport

Magas csoport

Kézi készlet

Automatikus tárcsázás

A nagyobb rugalmasság érdekében az ebben a kézikönyvben kínált DTMF generátor engedélyezési bemenettel van felszerelve, amely a jelgenerálás elindítására és időtartamának meghatározására szolgál. Ebben az esetben a jel időtartama megegyezik az impulzus időtartamával az engedélyező bemeneten.

A DTMF generátor áramkör analóg része

Az ITU Q.23 ajánlata a DTMF jeleket két szinuszhullám által létrehozott analóg jelként határozza meg. A javasolt DTMF generátor áramkörben a Silego GreenPAK SLG46620V chip négyzethullámú jeleket állít elő a kívánt DTMF frekvenciákkal. Analóg szűrőkre és összeadóra van szükség a kívánt frekvenciájú szinuszos jelek megszerzéséhez és a kapott jel (a két szinuszos hullám összege) kialakításához. Ezért ebben a projektben az SLG88104V operációs erősítőkön alapuló szűrők és összeadó használata mellett döntöttek.

A 3. ábra az eszköz javasolt analóg részének felépítését mutatja.

Rizs. 3. Analóg feldolgozó áramkör DTMF jel vételére

Analóg szűrőket használnak szinuszos jelek előállítására téglalap alakú impulzusokból. A szűrés után a két jel összegződik, és létrejön a kívánt kimeneti kéttónusú DTMF jel.

A 4. ábra a Fourier -transzformáció eredményét mutatja, amelyet egy téglalap alakú jel spektrumának megszerzésére használtak.

Rizs. 4. A jel spektruma téglalap alakú

Mint látható, a négyzethullám csak páratlan harmonikusokat tartalmaz. Ha egy ilyen A amplitúdójú jelet Fourier sorozat formájában ábrázolunk, akkor a következő alakú lesz:

Ennek a kifejezésnek az elemzése alapján arra a következtetésre juthatunk, hogy ha az analóg szűrők elegendő csillapítással rendelkeznek a felharmonikusokhoz, akkor teljesen lehetséges, hogy szinuszos jeleket kapjunk, amelyek frekvenciája megegyezik az eredeti négyzethullám frekvenciájával.

Figyelembe véve a Q.23 szabványban meghatározott interferencia -tűrést, biztosítani kell, hogy minden harmonika 20 dB vagy annál nagyobb legyen. Ezenkívül az alacsony frekvenciájú csoport bármely frekvenciáját kombinálni kell a magas frekvenciájú csoport bármely frekvenciájával. Ezeket a követelményeket szem előtt tartva két szűrőt fejlesztettek ki, egy -egy csoportonként.

Mindkét szűrőként aluláteresztő Butterworth szűrőket használtak. Az n rendű Butterworth -szűrő csillapítása a következőképpen számítható ki:

A (f) [dB] = 10 log (A (f) 2) = 10log (1+ (f / fc) 2n),

ahol fc a szűrő határfrekvenciája, n a szűrő sorrendje.

Az egyes csoportok legalacsonyabb és legmagasabb frekvenciája közötti csillapítási különbség nem haladhatja meg a 3 dB -t, ezért:

A (fHIGHER) [dB] - A (fLOWER) [dB]> 3dB.

Tekintettel az abszolút értékekre:

A (fHIGHER) 2 / A (fLOWER) 2> 2.

Ezenkívül, amint azt korábban említettük, a harmonikus csillapításnak 20 dB -nek vagy nagyobbnak kell lennie. Ebben az esetben a legrosszabb eset a csoport legalacsonyabb frekvenciája lesz, mert a 3. felharmonikusa a legalacsonyabb frekvencia és a legközelebb van a szűrő határfrekvenciájához. Tekintettel arra, hogy a harmadik felharmonikus háromszor kisebb, mint az alap, a szűrőnek meg kell felelnie a következő feltételnek (abszolút értékek):

A (3fLOWER) 2 / A (fLOWER) 2> 10/3.

Ha ezek az egyenletek mindkét csoportra vonatkoznak, akkor a használt szűrőknek másodrendű szűrőknek kell lenniük. Ez azt jelenti, hogy két ellenállással és két kondenzátorral rendelkeznek, ha operatív erősítővel valósítják meg. Harmadrendű szűrők esetén az összetevők tűréseivel szembeni érzékenység alacsonyabb lenne. A szűrők kiválasztott határfrekvenciája 977 Hz az aluláteresztő csoportnál és 1695 Hz a felüláteresztő csoportnál. Ezeknél az értékeknél a frekvenciacsoportokban a jelszintek közötti különbségek összhangban vannak a fenti követelményekkel, és az érzékenység az alkatrész -tűrések miatti határfrekvencia -változásokra minimális.

Az SLG88104V használatával megvalósított szűrők sematikus diagramjait az 5. ábra mutatja. Az első RC párokúgy választották ki, hogy korlátozzák az SLG46620V mikroáramkör kimeneti áramát. A szűrő második szakasza határozza meg az erősítést, ami 0,2. A négyzethullámú jelek amplitúdója az op-amp működési pontját 2,5 V-ra állítja. A nem kívánt feszültségeket a kimeneti szűrők kondenzátorai blokkolják.

Rizs. 5. A kimeneti szűrők sematikus diagramjai

A kimeneten a szűrők jelei összegződnek, és a kapott jel az alacsony és magas frekvenciák csoportjából kiválasztott harmonikusok összege. A szűrő csillapításának kompenzálása érdekében a kimeneti jel amplitúdója két R9 és R10 ellenállás segítségével állítható be. A 6. ábra az összeadó áramkört mutatja. A 7. ábra az áramkör teljes analóg részét mutatja.

Rizs. 6. Sematikus ábrája vipera

Rizs. 7. Az áramkör analóg része

A DTMF hanggenerátor áramkör digitális része

A DTMF hanggenerátor áramkör digitális része számos négyzethullámú generátort tartalmaz, egyet minden DTMF frekvenciához. Mivel ezeknek a generátoroknak a létrehozásához nyolc számlálóra van szükség, a GreenPAK SLG46620V mikroáramkört választottuk megvalósításukhoz. A kijáratoknál digitális áramkör két téglalap alakú jel jön létre, egy -egy frekvenciacsoporthoz.

A négyzethullámú jeleket számlálók és D-flip-flopok generálják, és 50%-os működési ciklussal rendelkeznek. Emiatt a számlálók kapcsolási gyakorisága kétszerese a szükséges DTMF frekvenciának, és a DFF flip-flop kettővel osztja a kimeneti jelet.

A számlálók óraforrása a beépített 2 MHz-es RC-generátor, amelynek frekvenciája ezenkívül 4-gyel vagy 12-vel osztható. Az osztót a bit szélességének és a számláló maximális értékének figyelembevételével választják ki. meghatározott frekvencia.

Kevesebb számlálásra van szükség a magas frekvenciák előállításához, ezért 8 bites számlálókat használnak ezek előállítására, belső RC oszcillátorról, amelynek jele osztva 4-gyel. Ugyanezen okból az alacsonyabb frekvenciákat 14 bites számlálók segítségével valósítják meg .

Az SLG46620V csak három szabványos 14 bites számlálóval rendelkezik, így az egyik alacsonyabb frekvencia egy 8 bites CNT8 számlálóval valósult meg. Annak érdekében, hogy a minták számát 0 ... 255 tartományban tartsuk, és ezt a CNT8 órát kell figyelnünk, az RC generátor jelét kellett osztani 12 -vel. Ehhez az áramkörhöz a legnagyobb mintaszámú frekvencia volt választott, azaz a legalacsonyabb frekvencia. Ez lehetővé tette számunkra, hogy minimalizáljuk a hibát.

A 3. táblázat az egyes négyzethullámok paramétereit mutatja.

3. táblázat. A téglalap alakú impulzusgenerátorok paraméterei

Órajelzés

Frekvencia hiba [%]

Basszus csoport

Magas csoport

Amint a táblázatból látható, minden frekvencia hibája kevesebb, mint 1,8%, tehát megfelelnek a DTMF szabványnak. Ezek a számított jellemzők az ideális RC oszcillátor frekvencián alapulva az RC oszcillátor kimeneti frekvenciájának mérésével állíthatók be.

Bár a javasolt séma szerint minden generátor párhuzamosan működik, de minden csoportból csak egy generátor jele megy a mikroáramkör kimenetére. A specifikus jelek kiválasztása a felhasználó dolga. Ehhez négy GPIO bemenetet (két bit minden csoporthoz) használnak a 4. táblázatban látható igazságtáblával.

4. táblázat. Basszuscsoportok frekvenciaválasztási táblázata

Basszus csoport

5. táblázat. Magas csoportok gyakoriságválasztó táblázata

Magas csoport

A 8. ábra egy 852 Hz -es négyzethullámú generátor logikai diagramját mutatja. Ez a minta minden frekvencián megismétlődik a megfelelő számlálóbeállításokkal és LUT konfigurációval.

Rizs. 8. Téglalap alakú impulzusgenerátor

A számláló a beállításai által meghatározott kimeneti frekvenciát generál. Ez a frekvencia a megfelelő DTMF hang kétszeresével egyenlő. A mérő konfigurációs paramétereit a 9. ábra mutatja.

Rizs. 9. Példa a téglalap alakú impulzusok generátorának számlálójának beállítására

A számláló kimenet a D-Flip Flop trigger óra bemenetéhez van csatlakoztatva. Mivel a DFF kimenet fordítottként van konfigurálva, ha a DFF kimenetet csatlakoztatja a bemenetéhez, a D-flip-flop T-flip-flop-vé alakul. A DFF konfigurációs paraméterei a 10. ábrán láthatók.

Rizs. 10. Példa egy négyzethullámú generátor triggerjének beállítására

A DFF kimenetről érkező jel a LUT igazságtábla bemenetére kerül. A LUT igazságtáblázatok egy jel kiválasztására szolgálnak minden egyes R1-R0 kombinációhoz. Egy példa a LUT konfigurációra a 11. ábrán látható. B ezt a példát ha az "1" az R1 -hez, és a "0" az R0 -hoz, a bemeneti jel továbbításra kerül a kimenetre. Más esetekben a kimenet "0".

Rizs. 11. Példa egy négyzethullámú generátor igazságtáblájának beállítására

Amint fentebb említettük, a javasolt séma Enable bemenettel rendelkezik. Ha az Enable bemeneten egy "1" logikai egység van, akkor a generált négyszöghullámú jeleket egy pár áramkör kimenetre táplálják. Az átviteli időtartam megegyezik az engedélyezési bemenet impulzusszélességével. Ennek a funkciónak a megvalósításához több további LUT igazságtábla -blokkra volt szükség.

A magas csoport egy 4 bites és egy 2 bites LUT-t használ, amint az a 12. ábrán látható.

Rizs. 12. Magas csoport kimeneti áramkör

A 4 bites LUT1 VAGY kapunak van konfigurálva, így logikai magas "1" értéket ad ki, ha "1" van bármelyik bemenetén. A C1 / C0 igazságtáblázatok csak az egyik oszcillátor kiválasztását teszik lehetővé, így a 4 bites LUT1 határozza meg, hogy melyik jel kerül kiadásra. Ennek a LUT-nak a kimenete 2-bites LUT4-hez csatlakozik, amely csak akkor továbbít jelet, ha az engedélyezési bemeneten „1” logika van. A 13. és 14. ábra a 4 bites LUT1 és a 2 bites LUT4 konfigurációit mutatja.

Rizs. 13. 4 bites LUT1 konfigurálása

Rizs. 14,2 bites LUT4 konfiguráció

Mivel már nem voltak 4 bites igazságtáblázatok a LUT-okhoz, két 3 bites LUT-t használtak az alacsony frekvenciájú csoporthoz.

Rizs. 15. Alacsony frekvenciájú csoport kimeneti áramkör

A GreenPAK SLG46620V teljes belső diagramja a 16. ábrán látható. A 17. ábra a DTMF generátor utolsó sematikus diagramja.

Rizs. 16. A DTMF hanggenerátor tömbvázlata

Rizs. 17. A DTMF hanggenerátor sematikus diagramja

A DTMF generátor áramkörének tesztelése

A javasolt DTMF generátor tesztelésének első szakaszában úgy döntöttek, hogy oszcilloszkóp segítségével ellenőrzik az összes generált négyzethullámú jel frekvenciáját. Példaként a 18. és a 19. ábra négyzethullámú kimeneteket mutat 852 Hz és 1477 Hz frekvenciákra.

Rizs. 18. Négyzethullámú jel 852 Hz

Rizs. 19. Négyzethullámú jel 1477 Hz

Miután minden négyzethullámú jel frekvenciáját ellenőrizték, megkezdődött az áramkör analóg részének tesztelése. Az alacsony és magas frekvenciájú csoport összes kombinációjának kimeneti jeleit megvizsgáltuk. Példaként a 20. ábra a 770 Hz és 1209 Hz jelek összegét, a 21. ábra pedig a 941 Hz és 1633 Hz jelek összegét mutatja.

Rizs. 20. DTMF hang 770 Hz és 1209 Hz

Rizs. 21. DTMF hang 941 Hz és 1633 Hz

Következtetés

Ebben a cikkben a Silego GreenPAK SLG46620V mikroáramkörön és a Silego SLG88104V operációs erősítőkön alapuló DTMF hanggenerátor áramkört javasoltunk. A generátor lehetővé teszi a felhasználó számára, hogy négy bemenet segítségével válassza ki a kívánt frekvenciák kombinációit, és vezérelje az engedélyező bemenetet, amely meghatározza a kimenő jelek generálásának időtartamát.

Az SLG46620V chip jellemzői:

  • Típus: programozható vegyes jelű mikroáramkör;
  • Analóg blokkok: 8 bites ADC, két DAC, hat összehasonlító, két szűrő, ION, négy integrált oszcillátor;
  • Digitális blokkok: akár 18 I / O port, csatlakozási mátrix és kombinációs logika, programozható késleltető áramkörök, programozható funkciógenerátor, hat 8 bites számláló, három 14 bites számláló, három PWM generátor / összehasonlító;
  • Kommunikációs felület: SPI;
  • Tápfeszültség tartomány: 1,8 ... 5 V;
  • Üzemi hőmérséklet tartomány: -40 ... 85 ° C;
  • Ház kivitel: 2 x 3 x 0,55 mm 20 tűs STQFN.

Megkülönböztető tulajdonságok:

  • Szinuszos jelek generálása impulzusszélesség -modulációval (PWM)
  • Különféle szinuszos jelek egyesítése egyetlen DTMF jelben
  • Forráskódok szerelési nyelven és C.
  • Az STK500 készülékkel való használatra tervezték
  • A programkód mérete 260 bájt / állandó táblázatméret 128 bájt
  • A táblázat konverziós módszerének használata

Bevezetés

Ez a dokumentum egy módszert ismertet a DTMF (Dual Tone Multi-Frequency) jelek generálására bármely AVR mikrokontroller segítségével, amely Pulse Width Modulation (PWM) blokkot és SRAM-ot tartalmaz. Ezeket a jeleket széles körben használják a telefonálásban, ahol a telefonkészülék tárcsázó gombjainak megnyomásakor szólalnak meg. A DTMF jel helyes előállításához két frekvenciát egymásra kell helyezni: alacsony frekvenciaju(fb) és nagyfrekvenciás (fa). Az 1. táblázat azt mutatja be, hogy a különböző frekvenciák hogyan keverednek a DTMF hangok előállításához különböző gombok megnyomásakor.

1. ábra - DTMF jelgenerátor áramkör

1. táblázat - Hangformáló mátrix

fb / fa 1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz 1 2 3 A
770 Hz 4 5 6 B
852 Hz 7 8 9 C
941 Hz * 0 # D

Az 1. táblázat sorai az alacsony frekvencia értékeket, az oszlopok pedig a magas frekvencia értékeket mutatják. Például a mátrix azt mutatja, hogy amikor megnyomja az "5" gombot, az fb = 770 Hz és a fa = 1336 Hz frekvenciákat keverni kell. Két különböző frekvenciájú szinuszos jel hozzáadásának eredményeként DTMF jel keletkezik

ahol az amplitúdó arány K = A b / A a az eredeti jeleknek meg kell felelniük a feltételnek

Működési elve

Továbbá Általános információ Az alábbiakban bemutatjuk az impulzusszélesség -moduláció használatát. A következő bekezdés leírja a használat módját alapfrekvencia A PWM különböző frekvenciákat kap. Az elméleti alapok mérlegelése után magát a DTMF jelgenerátort ismertetjük. Szinuszos jelek generálása

A magas VH és az alacsony VL feszültségszintek időtartamának arányától függően a PWM kimenet átlagos értéke megváltozik. Ha mindkét szint időtartama közötti arányt állandó értéken tartjuk, az eredmény egy állandó VAV feszültségszint lesz. A 2. ábra egy impulzusszélesség modulált jelet mutat.


2. ábra - Szintgenerálás állandó feszültség

A feszültségszintet a következő kifejezés határozza meg:

(3)

Szinuszos jel generálható, feltéve, hogy az impulzusszélesség moduláció által generált feszültség átlagos értéke minden PWM periódusban változik. A magas és az alacsony szint közötti arányt a szinuszos jel feszültségszintjének megfelelően kell beállítani a megfelelő időben. A 3. ábra ezt a folyamatot szemlélteti. A PWM kezdeti adatait minden időszakra kiszámítják, és beírják a konverziós táblázatba (TP).

A 3. ábra a fő szinuszhullám gyakorisága és a minták száma közötti kapcsolatot is szemlélteti. Minél nagyobb a minták száma (Nc), annál nagyobb a kapott jel szimulációs pontossága:

(4)

A PWM frekvencia a PWM felbontástól függ. 8 bites felbontásnál az időzítő végértéke (a szám felső része) 0xFF (255). Mivel az időzítő felfelé és lefelé számol, ezt az értéket meg kell duplázni. Ezért a PWM frekvenciát úgy lehet kiszámítani, hogy az f CK időzítő órajel -frekvenciáját elosztjuk 510 -gyel. Így 8 MHz -es időzítővel az eredményül kapott PWM frekvencia 15,6 kHz.


3. ábra - Szinuszos jel generálása PWM használatával

A szinuszos jel frekvenciájának megváltoztatása

Tegyük fel, hogy a szinuszos mintákat a keresési táblázatból nem egymás után, hanem egymás után olvassák le. Ebben az esetben ugyanazon a mintavételi frekvencián kétszeres frekvenciájú jel jön létre (lásd 4. ábra).


4. ábra - A kapott frekvencia megkétszerezése (XSW = 2)

Hasonlóképpen, ha nem minden második értéket olvas ki, hanem minden harmadik, negyedik, ötödik értéket (illetve 3, 4, 5 lépésszélesség ...) stb. generálhat Nc frekvenciákat a tartományban. Vegye figyelembe, hogy nagy frekvenciák esetén a kapott hullámforma nem lesz szinuszos. A lépés szélességét a konverziós táblázat szerint jelöljük X SW, ahol

(5)

A TP jelenlegi pozíciójának kiszámítása a következő PWM időszakra (amikor az időzítő túlcsordul) a (6) kifejezés használatával történik. Új érték a pozícióban X LUT függ korábbi helyzetétől X "LUT lépésszélesség növeléssel X SW

(6)

Különböző frekvenciák hozzáadása a DTMF jelhez

DTMF jel generálható az (1) és (2) kifejezés használatával. Az aritmetikai műveletek egyszerűsége érdekében a K együttható értékét 0,75 -nek vesszük, hogy az aritmetikai műveletet logikai eltolásokkal helyettesítsük. A (6) kifejezést figyelembe véve a PWM vezérlés aktuális értéke kiszámítható a következő kifejezéssel:

és figyelembe véve azt X LUTa=X "LUTa + X SWa ,X LUTb=X "LUTb + X SWb, végre írunk

DTMF generátor megvalósítás

V ezt a mellékletet Fontolja meg egy DTMF hanggenerátor felépítését 8 bites PWM kimenet (OC1A) és egy táblázat segítségével, amely 128 szinuszos függvényérték mintát tartalmaz (Nc), mindegyiket 7 bit (n) állítja be. A következő kifejezések ezt az összefüggést mutatják, és azt is bemutatják, hogyan kell kiszámítani a keresési táblázat elemeit:

(9)

A 7 bit használatának előnye, hogy a magas és az alacsony frekvenciájú jelek összege egy bájt. Támogatásért teljes szett A DTMF hangoknak minden DTMF frekvenciára 8 értéket kell kiszámítaniuk az 1. táblázatból, és be kell írniuk azokat a konverziós táblázatba.

A nagyobb pontosság elérése érdekében a következő megoldást kell végrehajtani: az 5. kifejezéssel számított értékek mindössze 5 bájtot igényelnek. Mind a 8 bájt használatához, amely csökkenti a kerekítési hibát, ezt az értéket megszorozzuk 8 -mal. A konverziós táblázat mutatója ugyanígy van írva. De ebben az esetben két bájt kell a 8x érték tárolásához. Ez azt jelenti, hogy el kell végeznie 3 jobb oldali váltást és egy modul műveletet az Nc bázisban (logikai szorzás Nc-1-vel), mielőtt ezeket a bájtokat a szinuszos értékek mutatójaként használja


5. ábra - Az STK500 -hoz való csatlakoztatás moduljának diagramja

A PWM jel az OC1A tűn (PD5) jön létre. Egy további kimeneti szűrő segít jobban illeszteni a szinuszos hullámformát. A PWM frekvencia csökkenésével szükség lehet egy meredekebb frekvenciaválaszú szűrő alkalmazására a jó eredmény elérése érdekében.

A billentyűzet csatlakoztatása az 1. ábrán látható. A billentyűzet működését úgy kell megszervezni, hogy meg lehessen határozni a lenyomott gombot. Ezt a következő algoritmus szerint lehet megtenni:

  1. A megnyomott billentyű karakterláncának meghatározása
    • konfigurálja a B port junior tetradját a kimenetre, és állítsa be a naplót. "0"
    • konfigurálja a B port felső tetradját a bemenetre a felhúzó ellenállások csatlakoztatásával
    • a megnyomott gombbal ellátott sor a naplóval rendelkező vezető notebook kategóriája. "0"
  2. A megnyomott gomb oszlopának meghatározása
    • konfigurálja a B port vezető nibble -jét a kimenethez, és állítsa be a naplót. "0"
    • konfigurálja a B port junior tetradját a bemenetre felhúzó ellenállások csatlakoztatásával
    • a megnyomott gombbal rendelkező oszlop a legalacsonyabb rágcsálók kategóriájaként van definiálva. "0"

Megjegyzés: Az STK200 -ban az ellenállások sorba vannak kötve a PORTB és a BP5, PB6 és PB7 mikrovezérlő csapok között (lásd az STK200 diagramot). Ez problémákat okozhat, ha a billentyűzet a PORTB csatlakozóhoz van csatlakoztatva.

A 6. ábra az alprogram működését szemlélteti a lenyomott gomb meghatározására. Az intervallum időtartamát a gomb megnyomása határozza meg. A megszakítási rutin ezt az értéket használja a két szinuszos DTM hang PWM beállításának kiszámításához. A megszakítás kezelési eljárását a 7. és 8. ábra mutatja.

Ez a rutin kiszámít egy értéket, amely összehasonlítható a következő PWM időszak időzítő kimenetével. A megszakítási rutin először kiszámítja a következő lekérési érték pozícióját a keresési táblázatban, és beolvassa az ott tárolt értéket.

A minta pozícióját a keresési táblázatban az impulzusszélesség határozza meg, a tényleges impulzusszélességet pedig a generált frekvencia.

Az időzítő összehasonlító regiszterbe írt végső értéket a (7) képlet határozza meg, ahol mindkét DTMF frekvencia mintaértékeit figyelembe vesszük.


6. ábra - A főprogram tömbvázlata

Megkülönböztető tulajdonságok

  • Szinuszos jelek generálása impulzusszélesség -modulációval (PWM)
  • Különféle szinuszos jelek egyesítése egyetlen DTMF jelben
  • Assembler és C forráskódok
  • Az STK500 készülékkel való használatra tervezték
  • A programkód mérete 260 bájt / állandó táblázatméret 128 bájt
  • A táblázat konverziós módszerének használata

Bevezetés

Ez a dokumentum egy módszert ismertet a DTMF (Dual Tone Multifrequency) jelek generálására bármely AVR mikrokontroller segítségével, amely Pulse Width Modulation (PWM) blokkot és SRAM -ot tartalmaz. Ezeket a jeleket széles körben használják a telefonálásban, ahol a telefonkészülék tárcsázó gombjainak megnyomásakor szólalnak meg. A DTMF jel helyes előállításához két frekvenciát kell egymásra helyezni: az alacsony frekvenciát (fb) és a magas frekvenciát (fa). Az 1. táblázat azt mutatja be, hogy a különböző frekvenciák hogyan keverednek a DTMF hangok előállításához különböző gombok megnyomásakor.


1. ábra DTMF jelgenerátor áramkör

1. táblázat: Hangszínformáló mátrix

fb / fa 1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz 1 2 3 A
770 Hz 4 5 6 B
852 Hz 7 8 9 C
941 Hz * 0 # D

Az 1. táblázat sorai az alacsony frekvencia értékeket, az oszlopok pedig a magas frekvencia értékeket mutatják. Például a mátrix azt mutatja, hogy amikor megnyomja az "5" gombot, az fb = 770 Hz és a fa = 1336 Hz frekvenciákat keverni kell. Két különböző frekvenciájú szinuszos jel hozzáadásának eredményeként DTMF jel keletkezik

ahol az eredeti jelek K = A b / A a amplitúdójának arányának meg kell felelnie a feltételnek

Működési elve

Az impulzusszélesség -moduláció használatára vonatkozó általános információk mellett az alábbiakban bemutatjuk, hogyan képes az impulzusszélesség -moduláció szinuszos jeleket generálni. A következő bekezdés leírja, hogyan lehet különböző frekvenciákat szerezni a PWM alapfrekvencia használatával. Az elméleti alapok mérlegelése után magának a DTMF jelgenerátornak a leírását adjuk meg. Szinuszos jelek generálása

A magas VH és az alacsony VL feszültségszintek időtartamának arányától függően a PWM kimenet átlagos értéke megváltozik. Ha mindkét szint időtartama közötti arányt állandó értéken tartjuk, az eredmény egy állandó VAV feszültségszint lesz. A 2. ábra egy impulzusszélesség modulált jelet mutat.


2. ábra Állandó feszültségszint generálása

A feszültségszintet a következő kifejezés határozza meg:

(3)

Szinuszos jel generálható, feltéve, hogy az impulzusszélesség -moduláció által generált feszültség átlagos értéke minden PWM periódusban változik. A magas és az alacsony szint közötti arányt a szinuszos jel feszültségszintjének megfelelően kell beállítani a megfelelő időben. A 3. ábra ezt a folyamatot szemlélteti. A PWM kezdeti adatait minden időszakra kiszámítják, és beírják a konverziós táblázatba (TP).

A 3. ábra a fő szinuszhullám gyakorisága és a minták száma közötti kapcsolatot is szemlélteti. Minél nagyobb a minták száma (Nc), annál nagyobb a kapott jel szimulációs pontossága:

(4)

A PWM frekvencia a PWM felbontástól függ. 8 bites felbontásnál az időzítő végértéke (a szám felső része) 0xFF (255). Mivel az időzítő felfelé és lefelé számol, ezt az értéket meg kell duplázni. Ezért a PWM frekvenciát úgy lehet kiszámítani, hogy az f CK időzítő órajel -frekvenciáját elosztjuk 510 -gyel. Így 8 MHz -es időzítővel az eredményül kapott PWM frekvencia 15,6 kHz.


3. ábra Szinuszos jel generálása PWM használatával

A szinuszos jel frekvenciájának megváltoztatása

Tegyük fel, hogy a szinuszos mintákat a keresési táblázatból nem egymás után, hanem egymás után olvassák le. Ebben az esetben ugyanazon a mintavételi frekvencián kétszeres frekvenciájú jel jön létre (lásd 4. ábra).


4. ábra A kapott frekvencia megkétszerezése (XSW = 2)

Hasonlóképpen, ha nem minden második értéket olvas, hanem minden harmadikat, negyediket, ötödiket (illetve 3, 4, 5 lépésszélesség ...) stb. generálhat Nc frekvenciákat a tartományban. Vegye figyelembe, hogy nagy frekvenciák esetén a kapott hullámforma nem lesz szinuszos. A konverziós táblázat szerinti lépésszélességet X SW jelöli, ahol

(5)

A TP jelenlegi pozíciójának kiszámítása a következő PWM időszakra (amikor az időzítő túlcsordul) a (6) kifejezés használatával történik. Az X LUT pozíció új értéke az X "LUT pozícióban lévő korábbi állapotától függ, az X SW lépésszélesség hozzáadásával

(6)

Különböző frekvenciák hozzáadása a DTMF jelhez

DTMF jel generálható az (1) és (2) kifejezés használatával. Az aritmetikai műveletek egyszerűsége érdekében a K együttható értékét 0,75 -nek vesszük, hogy az aritmetikai műveletet logikai eltolásokkal helyettesítsük. A (6) kifejezést figyelembe véve a PWM vezérlés aktuális értéke kiszámítható a következő kifejezéssel:

és figyelembe véve, hogy X LUTa = X "LUTa + X SWa, X LUTb = X" LUTb + X SWb, végül megírjuk

DTMF generátor megvalósítás

Ez a függelék bemutatja, hogyan lehet DTMF hanggenerátort felépíteni 8 bites PWM kimenet (OC1A) és 128 mintás szinuszfüggvény (Nc) mintatáblázat használatával, mindegyik 7 bittel (n). A következő kifejezések ezt az összefüggést mutatják, és azt is bemutatják, hogyan kell kiszámítani a keresési táblázat elemeit:

(9)

A 7 bit használatának előnye, hogy a magas és az alacsony frekvenciájú jelek összege egy bájt. A DTMF hangok teljes készletének támogatásához ki kell számítani 8 értéket minden DTMF frekvenciára az 1. táblázatból, és be kell írni azokat a konverziós táblázatba.

A nagyobb pontosság elérése érdekében a következő megoldást kell végrehajtani: az 5. kifejezéssel számított értékek mindössze 5 bájtot igényelnek. Mind a 8 bájt használatához, amely csökkenti a kerekítési hibát, ezt az értéket megszorozzuk 8 -mal. A konverziós táblázat mutatója ugyanígy van írva. De ebben az esetben két bájt kell a 8x érték tárolásához. Ez azt jelenti, hogy el kell végeznie 3 jobb oldali váltást és egy modul műveletet az Nc bázisban (logikai szorzás Nc-1-vel), mielőtt ezeket a bájtokat a szinuszos értékek mutatójaként használja


5. ábra Modul diagram az STK500 -hoz való csatlakozáshoz

A PWM jel az OC1A tűn (PD5) jön létre. Egy további kimeneti szűrő segít jobban illeszteni a szinuszformát. A PWM frekvencia csökkenésével szükség lehet egy meredekebb frekvenciaválaszú szűrő alkalmazására a jó eredmény elérése érdekében.

A billentyűzet csatlakoztatása az 1. ábrán látható. A billentyűzet működését úgy kell megszervezni, hogy meg lehessen határozni a lenyomott gombot. Ezt a következő algoritmus szerint lehet megtenni:

  1. A megnyomott billentyű karakterláncának meghatározása
    • konfigurálja a B port junior tetradját a kimenetre, és állítsa be a naplót. "0"
    • konfigurálja a B port vezető tetradját a bemenetre a felhúzó ellenállások csatlakoztatásával
    • a megnyomott gombbal ellátott sor a naplóval rendelkező vezető notebook kategóriája. "0"
  2. A megnyomott gomb oszlopának meghatározása
    • konfigurálja a B port vezető nibble -jét a kimenethez, és állítsa be a naplót. "0"
    • konfigurálja a B port junior tetradját a bemenetre felhúzó ellenállások csatlakoztatásával
    • a megnyomott gombbal rendelkező oszlop a legalacsonyabb jegyzet kategóriája, naplóval. "0"

Megjegyzés: Az STK200 -ban az ellenállások sorba vannak kötve a PORTB és a BP5, PB6 és PB7 mikrovezérlő csapok között (lásd az STK200 diagramot). Ez problémákat okozhat, ha a billentyűzet a PORTB csatlakozóhoz van csatlakoztatva.

A 6. ábra az alprogram működését szemlélteti a lenyomott gomb meghatározására. Az intervallum időtartamát a gomb megnyomása határozza meg. A megszakítási rutin ezt az értéket használja a két szinuszos DTM hang PWM beállításának kiszámításához. A megszakítás kezelési eljárását a 7. és 8. ábra mutatja.

Ez a rutin kiszámít egy értéket, amely összehasonlítható a következő PWM időszak időzítő kimenetével. A megszakítási rutin először kiszámítja a következő lekérési érték pozícióját a keresési táblázatban, és beolvassa az ott tárolt értéket.

A minta pozícióját a keresési táblázatban az impulzusszélesség határozza meg, a tényleges impulzusszélességet pedig a generált frekvencia.

Az időzítő összehasonlító regiszterbe írt végső értéket a (7) képlet határozza meg, amely mindkét DTMF frekvencia mintaértékét figyelembe veszi.


6. ábra A főprogram tömbvázlata


7. ábra Az időzítő túlcsordulás megszakítás kezelési rutin tömbvázlata


8. ábra A "GetSample" mintaolvasási eljárás tömbvázlata

Publikáció: www.cxem.net

Lásd más cikkeket szakasz.



Tetszett a cikk? Oszd meg