DSP kezdonek

Andras Tantos andras_tantos at yahoo.com
Wed May 26 03:07:00 CEST 2004


Hali!

Hat en eleg reg (~10 eve) foglalkoztam DSP-kkel, akkor meg zommel
assembly-ben. Ugyhogy amit irok, az nemi fenntartassal kezelendo...

Szoval, akkoriban harom gyarto prociaji voltak elerhetoek: Analog Devices,
Motorola, es Texas. Mindnek zommel a 16-bites (Motorola 24), fix pontos
verzioit lehetett epeszu aron beszerezni. Nekem a harom csapatbol leginkabb
az Analog Devices ADSP sorozata tettszett. Nagyon konnyen programozhato,
piszok gyors (akkori szemmel), egyszeru, olcso kis joszagok voltak. A Texas
(320x25-os sorozat ?) nagyon fapados volt hozza kepest. A Motorola mar eleg
jo volt, es szelesebb volt a szohossza is, de az assembly-je eleg gyengere
sikerult, vagy legalabbis nekem nagyon nem allt kezre.

Azota persze sokat valtozott a vilag mindharom gyartonal, a sebessegek az
egekbe szoktek az akkor hatalmasnak szamito memoriak (~8kword)
megsokszorozodtak, az arak meg melyrepulesbe fogtak. Elonyokbol hatranyok
lettek es viszont, es persze mindenki kijott egy- vagy ket ujabb
processzor-generacioval.

Na, ennyi bevezeto utan, kicsit bovebben arrol a proci-sorozatrol, amit
kicsit ismerek: ADSP218x az Analog-tol.

Ezek 16-bites, fix-pontos DSP procik kulonbozo mennyisegu beepitett
memoriaval. Azt hiszem ma ugy 80MHz korul jarhatnak. Egy orajel alatt egy
utasitast hajtanak vegre, egy utasitas lehet pl. ket 16-bites szam
ossze-szorzasa, a (32-bites) eredmeny hozzaadasa egy (40-bites)
akkumulatorhoz, esetleges eltolas utan, ket regiszter-memoria muvelet, es
ket pointer-regiszter modositas ket masik regiszter altal megadott
mertekben. Mondom, mindezt egy orajel alatt.

A proci mag nagyon kenyelmesen programozhato assembly-bol, de megvannak a
maga kis specialitasai, amik miatt nagyon nehez ra jo C forditot irni. Ez
amugy a legtobb elso- es masodik- generacios DSP-re igaz.

A sorozat mai tagjai mar eleg szep mennyisegu on-chip memoriat tartalmaznak,
kulso memoriat rakotni nem praktikus, mert nagyon lassu lesz az elerese.
Persze egy kulso boot-FLASH-re szukseged lesz, de ennyi. Azt az IC-t kell
valasztani, amiben a feladatodhoz eleg memoria van, es nem foglalkozi a
kulso memoria illesztesevel. Figyelj ra, hogy (mint minden DSP) Harvard
architekturaju, azaz kulon van adat- es program- memoria, sot, ebben a
prociban a szoszelesseg is mas. A megcimezheto memoria 16-16 kWord a ket
memoria fajtaban. Ha a chip-ben tobb van, akkor azt lapozgatni kell.

Ezek a DSP-k eleg szep szamu on-chip periferiat is tartalmaznak. Ha
audio-felhasznalast tervezel, erdemes a soros-portokat alaposan
tanulmanyozni. Nagyon flexibilis portok ezek, de lehet, hogy a mai AC97-es
codec-ek illesztesevel gondjaid lesznek. Mintha lattam volna valahol errol
egy app.-note ot, de lehet, hogy tevedek.

Audio feldolgozashoz sokan mondjak, hogy a 16-bit keves, es bizony van is
benne valami. Nem lehet csak ugy vadul neki allni megirni a programot,
bizony gondolkodni kell. De ha jol csinalod a dolgokat, akkor a 16-bit
bosegesen eleg (ezt kicsit pontositom: a 16-bit eleg, ha a szorzasokat, es
az osszeadasokat pontosabban tudod vegezni, es a kerekiteseket ossze tudod
vonni tobb ilyen muvelet utanra). Nagyon sok mindent lehet csinalni audio
jelekkel, igy persze lehet, hogy, amit te akarsz csinalni, arra pont tenyleg
nem eleg a 16-bit. Rengeteg algoritmus alapja azonban valamilyen szuro vagy
FFT, ezekre a problemakra meg minden DSP ad aranylag jo megoldast. Ha IIR
szurok hasznalatara adod a fejed, azok bizony (a visszacsatolas es a
kerekitesek miatt) kacifantos dolgokat tudnak csinalni, nekem eleg sokaig
tartott, mire megertettem a mierteket, es a hogyanokat.

Van egy eleg jo konyv, amiben (bar nem pont ezekre a procikra alapozva)
leirnak egy nagy csomo DSP audio algoritmust, eleg reszletesen ahhoz, hogy
meg lehessen erteni oket.

http://www.analog.com/UploadedFiles/Application_Notes/44311363022792059121065L_Audio_Tutorial.pdf

Udv,
Tantos Andras
<http://andras.tantos.homedns.org>

> Hello Lista!
>
> Erdekelne, hogy bevezetonek a temaba milyen DSP-vel erdemes
> kezdeni ami olcso is, beszerezheto is, es hasznalhato
> fejlesztokornyezet is van hozza. :-)
> Azt hiszem hasonlo kerdes volt egypar honapja, mintha VF
> irta is ra, hogy a Motorolanak van egy olcso is dsp-uC
> komboja, talan az 56F8xx sorozatbol. Melyik modell is
> konkretan, ami beszerezheto occsoje'? Lehetoleg MSC-nel,
> hogy postan eljojjon (apropo, MSC es RET-en kivul van meg
> olyan ceg, ahonnan kis tetelben lehet postan rendelni
> alkatreszeket?).
> Bar szemezek az ADSP-kkel is, jo lenne egy 32 bites, hogy ne
> szivjak a sebesseggel, de azt hiszem megiscsak 16 biten
> illene kezdeni. Vegul is felprofi minosegu szinti meg
> hangeffektbe kellene (mellesleg teljesen uj vagyok a
> temaban), a potencialis megrendelo szerint 16 bit tul keves,
> 24bit felbontas alatt ne is alljak neki (most ne menjunk
> bele abba, hogy igazabol nem is 24 bit az effektiv felbontas
> az A/D-D/A atalakitasnal, mert digitalis formaban is
> johet-mehet a jel). Namost 16bites magon 24/32/48 bites
> belso szamitasok elegge lehuzzak a vegsebesseget... Azon
> filozok, hogy probalkozzak olcso(bb) 16 bites DSP-kel, vagy
> inkabb egy dragabb 32 bitessel? Van esetleg
> valamelyikotoknek ilyen teren tapasztalata?
> Illetve 24bit 96/192kHz sztereo codecet hol lehet/erdemes
> beszerezni (mintakunyeralason kivul)?
>
>     Udv
>         Szilard
>
>
>
>
>
>




More information about the Elektro mailing list