FőoldalArchívumMicrochip Technology
2008. szeptember 02., kedd ::

Microchip Technology

Hangtámogatású, beágyazott rendszerek fejlesztéseA végtermékkel elérhető felhasználói élmény fokozásának kiváló módja, hogy a rendszer szóból is értsen, vagy akár meg is szólaljon.A parancsok jóváhagyása, állapot ismertetése, a hőmérséklet kiolvasása stb. mind történhet hangalapon. A rendszerek hangalapú támogatással történő kiegészítését eddig inkább kerülték a megvalósítása drágasága és bonyolultsága okán. Cikkünk bemutatja [1], hogyan lehet egy 8-bites PIC® mikrokontroller és impulzusszélesség-modulációs perifériák segítségével olcsón és egyszerűen hangtámogatást adni beágyazott rendszerekhez…


A beszédkódolás egyik módja az ún. adaptív differenciális impulzuskód-moduláció (ADPCM – Adaptive Differential Pulse Code Modulation), amely az analóg jeleket digitalizálja. Az ADPCM az egymást követő beszédminták közötti erős korrelációt kihasználva csak a beszédminta és az előjelzett minta közötti különbséget kódolja le. Visszajátszásnál (dekódolásnál) a következő mintákat predikálja a rendszer. Az ADPCM hatékony tömörítést és minőségi beszédvisszajátszást tesz lehetővé.
Többféle ADPCM-algoritmus létezik. Az Interactive Multimedia Association (IMA) algoritmusának előnye, hogy jelentősen csökkenti a matematikai komplexitást azzal, hogy – lehetőség adtán – táblázatból kikeresett adatokkal helyettesíti a műveletvégzést (jó választás 8 bites mikrokontrolleres alkalmazásokhoz). Mivel az elsődleges feladat a hang visszajátszása, a kódolásra PC-s program használható, a mikrokontrollernek elegendő a dekódolást végeznie.
A visszajátszás interaktívvá tételére a hanganyag darabkáit egyedi, címezhető állományokra bontja a rendszer. Például egy numerikus hőmérsékletérték felolvasásához az 1 … 9, 10, 20, 30, 40, 50, 60, 70, 80 és 90 számokat külön állományokba rögzítik, tehát például a 21 szám visszajátszásánál két fájlt, a 20-at és az 1-et tartalmazókat játssza vissza a mikrokontrolleres rendszer. Az egyes állományok tárolására és felkeresésére egy egyszerű fájlrendszert alkalmaznak. A hangállományok tárolásához szükséges tárterület a bitek számán, a mintavételezés sebességén és a tárolt mennyiségen múlik. Kiváló hangminőségnél (16 bites rögzítés, 8000 minta/s) 1 másodpercnyi hanganyag helyigénye 16 KiB.
Amint a hanganyag az IMA ADPCM algoritmussal kódolásra került, az eredeti méret negyedére zsugorítják össze. A projekthez szükséges hangmennyiségtől függően a tárolás megoldható a mikrokontroller programmemóriájában vagy külső csatlakoztatási flash-memóriában is. Egy 1 Mibit (128 KiB) kapacitású flash-memória kb. 32 másodpercnyi hang tárolására alkalmas, az imént említett feltételek mellett.

Image Image

A bal oldali ábrán látható folyamatábra összefoglalja a folyamat lépéseit. Első lépésben a hangot PC-n WAV fájlként rögzítik. Másodszor, hangszerkesztő program segítségével az eredeti hangot megfelelően megvágják, és 8000 Hz-en újramintavételezik, majd előjel nélküli, 16 bites little-endian fájlként lementik. A harmadik lépésben az IMA ADPCM algoritmussal kódolják a fájlt, és binárisként lementik, majd a negyedik lépésben egy fájlrendszerbe gyűjtik össze valamennyi hangállományt. Végül, az ötödik lépésben a mikrokontroller saját, vagy a csatlakoztatott külső flash-memóriájába töltik fel.
A rendszer hardverét a jobb oldali ábra mutatja. A mikrokontroller a hangállomány megcímzésével visszajátssza azt a memóriából, a PWM modul segítségével pedig dekódolja azt. A PWM modul kimenetét 4 kHz-es sáváteresztéssel aluláteresztő szűrőn bocsátják keresztül, a keletkező analóg jel pedig erősíthető és hangsugárzón visszajátszható lesz. Továbbá, a hangfelvételek pusztán rögzítések eredményei, tehát dallamok, zenei hangok és egyebek is rátölthetők a rendszerekre, a lehetőségeknek csupán a képzelőerő szab határt.

Tudomány / Alapkutatás

tudomany

CAD/CAM

cad

Járműelektronika

jarmuelektronika

Rendezvények / Kiállítások

Mostanában nincsenek események
Nincs megjeleníthető esemény