Az INTEL D-2920 analóg mikroprocesszor alkalmazása FAZEKAS DÉNES Távközlési K u t a t ó Intézet
ÖSSZEFOGLALÁS Az I N T E L D—2920-at kifejezetten analóg feladatok megoldására fejlesztették k i . Segítségével olyan felada tokat is k ö n n y e n meg lehet oldani, melyek korábban sok fejtörést okoztak a tervezőknek. Ilyenek pl. nagy p o n t o s s á g ú szűrők, h u l l á m f o r m a generátorok, nemlineá ris funkciók realizálása. A cikk foglalkozik a mikro processzor felépítésével ós m ű k ö d é s é v e l . Speciális pél dákat is bemutat, amelyek telefoncsatorna foglaltság figyelésére szolgálnak.
FAZEKAS DÉNES Diplomáját 1979-ben sze rezte a Budapesti Mű szaki Egyetem Villamos mérnöki Karán 19H2óta dolgozik a Táv közlési Kutató Intézet ben. Digitális jelfel dolgozással foglalkozik, s
u t ó b b i egyik b e m e n e t é n megjelenő adatok egy barrel shifter segítségével 2 -nel szorozhatok n
Bevezetés A D—2920 egychipes mikrocomputer, melyet kifejezetten analóg jelek real-time feldolgozására fejlesztettek ki. Tartalmazza a program memóriát, a RAM-regisztereket, a D / A és A / D konvertert, valamint az I / O áramköröket. A maszkprogramo zott v á l t o z a t — ha a teljes program memóriát k i használjuk — kb. 13 kHz-es mintavételi frekven ciával dolgozik. (Az E P R O M - v á l t o z a t ennél vala mivel lassúbb, a m i n t a v é t e l i frekvencia kb. 8,5 k H z . ) R ö v i d e b b program e s e t é n ez az érték na gyobb, í g y a feldolgozható jel sávszélessége is megnő.
(-13==ÍI=S2).
Az
analóg rész a k ö v e t k e z ő k e t
— — — — —
4 b e m e n e t ű multiplexer, m i n t a v e v ő - t a r t ó áramkör, D/A-konverter, kompár átor, kimeneti demultiplexer, 8 db tar t ó áramkörrel.
A mikroprocesszor telepítése, működése Funkcionális
egységek
A mikroprocesszor felépítése az 1. ábrán látható. A program a maximum 192 lépésben programoz h a t ó programmemóriában található. A z aritmeti kai egység tartalmazza a 40 szavas, tetszőleges hozzáférésű RAM-memóriát és az A L U - t . E z
RST/
—
PROGRAM
RUM/EPROM
3
S/H MUX
4 S/H CLOCK & PC
• SIG0UTI71
V R E F »5V
- 5 V O F S R D D GRDA M 1 M 2
H-262-1
1. ábra. Az I N T E L D-—2920 felépítése B e é r k e z e t t : 1986. X I . 5. ( • )
378
műveletek
A b e m e n ő multiplexer által k i v á l a s z t o t t jel a m i n t a v e v ő - t a r t ó áramkörre kerül. E z u t á n a pro cesszor A / D konverziót hajt végre, melynek ered m é n y e , egy 9 bites szó (8 bit plusz előjel), a D A R ban jelenik meg. A feldolgozott jel kimenetre juttatásához a k i v á l a s z t o t t RAM-regiszter t a r t a l m á t a D A R - b a töltjük. E z u t á n a D/A-konverter jele a k i m e n ő demultiplexer és m i n t a v e v ő - t a r t ó áramkör közve títésével a 8 db kimenet egyikére jut. Digitális
műveletek
A digitális m ű v e l e t e k e t a D—2920 az analóg mű veletekkel egy időben végzi. A program egyszerre k é t RAM-regisztert címez meg (A és B regiszterek). Az A L U elvégzi a kijelölt m ű v e l e t e t , majd az ered m é n y t B-be írja vissza. A z e l v é g e z h e t ő digitális m ű v e l e t e k :
——>
-c—
minta v e v ő
' EOP
RUN/PR00-
MUX
tartalmazza*
E g y speciális, D A R - n e v ű regiszter hozza létre a kapcsolatot a digitális és az analóg egységek k ö között. Analóg
VSP
eddigi munkája során több, a gyakorlatban alkal mazott analóg mikropro cesszoros egység fejleszté sét végezte. Kutatási terü. lete ezen kívül a nagy felbontóképességű, gyors A/D konverterek mérése.
— — — — — — —
értékadó utasítás ( L D A ) , összeadás ( A D D ) , kivonás (SUB), logikai szorzás (AND), kizáró vagy ( X O R ) , abszolút érték képzés (ABS), egy regiszter tartalmához egy másik regiszter abszolút értékének hozzáadása (ABA), — az ábrázolható legnagyobb ós legkisebb érték előállítása ( L I M ) .
Híradástechnika
XXXVIII.
évjolyam,
1987. 8. szám
beszéd
H-262-2 2. ábra. F e h é r zaj és beszéd jel spektruma analóg Input 2912
S/ H 2920
A/
CVTS CVT(k) I D A JEL.DAR
D
SUB SMOOTH.SMOO'IH.RIk) ABA SMO0TM.JEL.Rlk]
ADD LDA SUB LDA SUB LDA SUB 10A
CQNST,DELTA DAR.CONST DAR.SMOOTH COUTI.FULL.CNDS CONST,DELTA,L1 DAR.SMOOTH DAR.WNST COUTI.KPO.CNDS
T E COMP 2 ( í R E F
^ COMP 1
COUT 2
COUT1
AND
C0UT1.C0UTZ
LDA DAR.COUT1 OUT(k)
1 H-262-31
3. ábra.
Fehér zaj és beszéd jel váltósziüővel
megkülönböztetése
A z első n é g y m ű v e l e t v é g r e h a j t á s a egy feltétel b i t logikai á l l a p o t á h o z is k ö t h e t ő . H a ez „O", a k k o r az a d o t t u t a s í t á s helyett egy ü r e s u t a s í t á s kerül végrehajtásra. Alkalmazási példák A mikroprocesszor felépítésének, m ű k ö d é s é n e k r ö v i d á t t e k i n t é s e u t á n b e m u t a t u n k k é t meg v a l ó s í t o t t , a gyakorlatban is m ű k ö d ő a l k a l m a z á s i példát. Első példa E g y a d o t t i n f o r m á c i ó á t v é t e l i c s a t o r n á r ó l meg k e l l á l l a p í t a n i , hogy az foglalt-e. — Azaz, van-e Híradástechnika
XXXVIII.
évjolyam,
1987. 8. szám
rajta t e r h e l é s , és ha igen, az hasznos-e. (Jelen eset ben hasznos t e r h e l é s e n a beszéd jelet é r t j ü k . ) A m e g o l d á s n á l a b b ó l i n d u l u n k k i , hogy a vizs g á l t c s a t o r n á n esetleg megjelenő zaj a 200—2500 H z t a r t o m á n y b a n fehér zaj jellegű (2. á b r a ) , a beszéd jel t e l j e s í t m é n y e ezzel szemben a magasabb f r e k v e n c i á k o n erősen c s ö k k e n . A jelfeldolgozás f o l y a m a t á b r á j a a 3. á b r á n l á t h a t ó . A m i n t a v é t e l e z é s m i a t t szükséges s á v k o r l á t o z á s t egy 2912 t í p u s ú á r a m k ö r végzi. A t o v á b b i feldolgozás m á r a processzoron belül t ö r t é nik. A jelet m i n t a v é t e l e z z ü k (S/H), m a j d A / D k o n v e r z i ó t h a j t u n k v é g r e . A jel ú t j a i t t elágazik. Az egyik ú t e g y e n i r á n y í t á s és szűrés u t á n egy k o m p a r á t o r r a vezet. A k o m p a r á t o r referenciája egy software ú t o n programozott konstans. Amenynyiben a b e é r k e z ő jel nem éri el ezt a szintet, ú g y azt minden esetben zajnak t e k i n t j ü k — f ü g g e t l e n ü l az e g y é b jellemzőitől. A m á s i k ú t egy digitális v á l t ó s z ű r ő r e vezet. A keresztezési f r e k v e n c i á t ú g y v á l a s z t o t t u k meg, hogy ha a s z ű r ő b e m e n e t é r e beszéd jellegű jel k e r ü l , akkor az a l u l á t e r e s z t ő kimeneten jelenik meg a nagyobb t e l j e s í t m é n y . A s z ű r ő k i m e n e t e k jelét a k o r á b b i a k h o z h a s o n l ó an e g y e n i r á n y í t j u k és s i m í t j u k . E g y differenciál k o m p a r á t o r d ö n t i el, hogy m e l y i k a nagyobb, azaz, a jel spektruma b e s z é d vagy zaj jellegű. A z a j / b e s z é d d ö n t é s t ú l s á g o s a n g y a k o r i ingado z á s á n a k elkerülésére a k o m p a r á t o r megfelelő hiszterézissel rendelkezik. E z u t á n n é z z ü k meg, hogy a 2920 segítségével hogyan r e a l i z á l h a t ó k az e l ő z ő e k b e n l e í r t funkciók. A m i n t a v e v ő - t a r t ó az I N ( k ) a n a l ó g u t a s í t á s s a l v a l ó s í t h a t ó meg. I t t k a k i v á l a s z t o t t bemenet s z á m a , é r t é k e 0 és 3 k ö z ö t t lehet. T e k i n t v e , hogy a t a r t ó k a p a c i t á s feltöltődéséhez szükséges i d ő ál t a l á b a n t ö b b , m i n t egy u t a s í t á s v é g r e h a j t á s i ideje, az I N u t a s í t á s t n é h á n y s z o r meg kell i s m é t e l n i . A z A / D k o n v e r z i ó a DAR-regiszter n u l l á z á s á v a l k e z d ő d i k , p l . L D A , D A R , K P 0. E z u t á n a CVTS, C V T (k) u t a s í t á s o k k a l szukcesszív a p p r o x i m á c i ó s A / D k o n v e r z i ó t h a j t u n k végre. A k o n v e r z i ó k ö z ben t e k i n t e t t e l kell lenni a D / A konverter beállási idejére, e z é r t a C V T u t a s í t á s o k k ö z ö t t ü r e s a n a l ó g u t a s í t á s o k a t kellíhagyni. A konverzió útján kapott érték a DAR-ban t a l á l h a t ó , m i v e l v á r h a t ó a n t ö b b s z ö r is fel fogjuk h a s z n á l n i , célszerű á t t ö l t e n i egy k ü l ö n regiszterbe, az L D A J E L , D A R u t a s í t á s s a l . A z e g y e n i r á n y í t á s és s i m í t á s igen e g y s z e r ű e n , m i n d ö s s z e k é t u t a s í t á s s a l e l v é g e z h e t ő . Legyen S M O O T H az a regiszter, amelyben a s i m í t á s u t á n az e r e d m é n y t k a p j u k . A program a k ö v e t k e z ő : S U B S M O O T H , S M O O T H , B(k), A B A S M O O T H , J E L , B(k). — Azaz a S M O O T H r e g i s z t e r b ő l k i v o n j u k a s a j á t , 2*-nal osztott é r t é k é t , m a j d a k ö v e t k e z ő l é p é s b e n h o z z á a d j u k a b e m e n ő j e l u g y a n a n n y i v a l osztott értékét. E n n é l v a l a m i v e l bonyolultabb a hiszterézises k o m p a r á t o r : a k o m p a r á l á s i szintet m e g h a t á r o z ó konstans é r t é k é t a p s z e u d o r e g i s z t e r e k b ő l á l l í t j u k elő és b e t ö l t j ü k a CONST-regiszterbe. A hiszterézis 379
h a s o n l ó a n e l ő á l l í t o t t é r t é k e a DELTA-regiszterben t a l á l h a t ó . E l s ő l é p é s k é n t előállítjuk a hiszterézis t a r t o m á n y felső h a t á r á t : A D D CONST, D E L T A . E z u t á n C O N S T - ó r t é k é t á t t ö l t j ü k a D A R - b a , és k i v o n j u k belőle S M O O T H - é r t é k é t . H a D A R a k i v o n á s u t á n n e g a t í v , akkor a k o m p a r á t o r b e m e n e t é r e a d o t t jel nagyobb, m i n t a felső k o m p a r á l á s i szint, a COUTl-regiszterbe „ 1 " í r h a t ó . E z t végzi el az L D A C O U T l , F U L L , CNDS u t a s í t á s . (Full-regiszterbe k o r á b b a n 1—2~ é r t é k e t t ö l t ö t t ü n k be.) A C N D S - f e l t é t e l m e g a d á s á v a l a processzor csak a k k o r végzi el a m ű v e l e t e t , ha a D A R - e l ő j e l bitje 1. E l l e n k e z ő esetben egy ü r e s u t a s í t á s t (NOP) h a j t v é g r e . A z alsó k o m p a r á l á s i szinttel v a l ó ö s s z e h a s o n l í t á s — a m i n t az a 3. á b r á n l á t h a t ó •— h a s o n l ó a n t ö r ténik. V i s s z a t é r v e az e l á g a z á s h o z , l á t j u k , hogy a j e l a m á s i k ú t o n egy v á l t ó s z ű r ő r e k e r ü l . A z e g y e n i r á n y í t ó és s i m í t ó algoritmus h a s o n l ó az e l ő z ő e k b e n ismertetetthez, ugyanez m o n d h a t ó el a differenciál k o m p a r á t o r r ó l is. Az eredmény a két komparátor kimenetének logikai É S f ü g g v é n y e . A t t ö l t v e ezt az é r t é k e t a D A R - b a az LDA DAR, COUTl u t a s í t á s s a l , a kimeneten OUT(&) -val j e l e n í t j ü k meg. ( I t t k a k i v á l a s z t o t t kimenet s z á m a , O^kwl.)
.zaj
24
Második
I H-262-4I
példa
A feladat h a s o n l ó az e l ő b b i h e z , azzal a kiegészítés sel, hogy egy mikroprocesszorral t ö b b csatorna j e l é n e k feldolgozását v é g e z z ü k el, és a c s a t o r n á k o n m e g j e l e n ő t á v í r ó jelet is hasznos jelnek k e l l t e k i n teni. A d ö n t é s i t t is s p e k t r á l i s j e l l e m z ő k ö n alapul. M e g v i z s g á l j u k a j e l t e l j e s í t m é n y é t 5, n é h á n y s z o r 10 Hz-es frekvencia t a r t o m á n y b a n . A 4. á b r á n ezeket f . . . / 5 - t e l j e l ö l t ü k . E z az ö t p o n t 200 és 2500 H z k ö z ö t t ú g y helyezkedik el, hogy 6, 12 v a g y 24 c s a t o r n á s t á v í r ó jel e s e t é n is legyen leg a l á b b egy o l y a n s á v , a m e l y i k egybe esik valamely t á v í r ó f r e k v e n c i á v a l (pl. a 4c. á b r á n / ) , és legyen l e g a l á b b egy o l y a n s á v , amelyikbe nem esik t á v í r ó j e l (pl- h). A z egyes frekvencia t a r t o m á n y o k b a n m e g j e l e n ő t e l j e s í t m é n y e k e t alkalmas i d ő á l l a n d ó v a l s i m í t v a a k ö v e t k e z ő t tapasztaljuk: fehér zaj e s e t é n az egyes s á v o k b a n m é r t t e l j e s í t m é n y e k a r á n y a l-hez t a r t . B e s z é d j e l e s e t é n a m é r t m i n i m u m és m a x i m u m k ö z ö t t j e l e n t ő s az e l t é r é s . T á v í r ó j e l e s e t é n lesz olyan s á v , ahol csak a csatorna alapzaj telje s í t m é n y e m é r h e t ő , és o l y a n is, ahol t e l j e s í t m é n y maximumot kapunk. A j e l f e l d o l g o z á s á n a k f o l y a m a t á b r á j á t az 5. ábra mutatja. A csatorna k i v á l a s z t á s t egy a n a l ó g m u l t i p l e x e r végzi. U t á n a a m á r ismert 2912 s á v k o r l á t o z ó szűrőt látjuk. O l y a n d i g i t á l i s s á v á t e r e s z t ő s z ű r ő t , amelynek karakterisztikája v á l t o z t a t h a t ó , bonyolult létre hozni, e z é r t a p r o g r a m egy f i x k a r a k t e r i s z t i k á j ú s z ű r ő t és egy v á l t o z t a t h a t ó f r e k v e n c i á j ú oszcilláx
4. ábra. Az információ átviteli csatorna jelei és a ki v á l a s z t o t t frekvenciasávok k ö z ö t t i kapcsolat
t o r t tartalmaz. Az oszcillátor frekvenciája T időnként változik. A frekvenciákat úgy választot t u k meg, hogy k e v e r é s u t á n a b e m e n ő jelnek a k o r á b b i a k szerint k i v á l a s z t o t t t a r t o m á n y a i jussa nak a s á v á t e r e s z t ő s z ű r ő r e , azaz / * S Z C = / B P — /inoo0
A j e l á t l a g o s t e l j e s í t m é n y é t a T i d ő t a r t a m r a az
4
380
a l a p j á n k a p j u k meg. E z t jelen esetben ú g y v a l ó s í t j u k meg, hogy a s á v á t e r e s z t ő s z ű r ő k i m e n ő m i n t á i t n é g y z e t r e e m e l j ü k és T ideig összegezzük. M i v e l s z á m u n k r a az í g y k a p o t t é r t é k e k h á n y a d o s a az é r d e k e s , e z é r t a !T-vel v a l ó o s z t á s e l h a g y h a t ó . E g y csatorna v i z s g á l a t a ö t l é p é s b e n t ö r t é n i k . Az e l s ő b e n az oszcillátor j f r e k v e n c i á t állít elő. K e v e r é s és szűrés u t á n a k a p o t t m i n t á k a t n é g y z e t r e e m e l j ü k és T ideig összegezzük. T i d ő e l t e i v é v e l az összeget b e í r j u k a M I N és M A X regiszterekbe és n u l l á z z u k az összeget k o r á b b a n t a r t a l m a z ó S U M regisztert. A k ö v e t k e z ő n é g y l é p é s b e n az összegzés h a s o n l ó m ó d o n t ö r t é n i k , azonban a T i d ő t a r t a m o k v é g é n m e g v i z s g á l j u k , hogy teljesül-e a SUM^MIN vagy S U M > M A X feltétel, és ha s z ü k s é g e s , a M I N vagy M A X é r t é k é t felülírjuk. 5 T idő elteltével meghatározzuk a M I N / M A X x
o s Z e
Híradástechnika
XXXVIII.
évfolyam,
1987. 8. szám
ANA MUX 2912
]
i
S/H
2920
I
....
A/D X
osc
f
-f -f
k
oszc
BP
'Ln(k)
I
P = l / x ( t ) dt :
96 b i t s h i f t reg
MIN /MAX- CONST 2 0 — NŐISE MIN /MAX- CONST «= 0 — NŐISE
MASK -OUT(K)
H-262-5 5. ábra. Foglaltságfigyelés s á v á t e r e s z t ő szűrő segítségé vel
a r á n y t . H a ez kisebb, m i n t egy előre m e g á l l a p í t o t t konstans, azaz M I N / M A X - C O N S T T F > 0 , a k k o r a v i z s g á l t j e l t á v í r ó v a g y b e s z é d j e l , e l l e n k e z ő eset ben pedig zaj. E z u t á n a processzor egy impulzussal a k ö v e t k e z ő c s a t o r n á r a l é p t e t i az a n a l ó g m u l t u p l e x e r t , és az ö t lépésből álló ciklus ú j r a k e z d ő d i k . A z e d d i g i e k b ő l k i d e r ü l , hogy egy c s a t o r n á t csak igen r ö v i d ideig (kb. 300 ms) v i z s g á l u n k , e z é r t ha csak egy v i z s g á l a t e r e d m é n y é r e h a g y a t k o z n á n k , kicsi lenne a v a l ó s z í n ű s é g e annak, hogy helyes d ö n t é s t hozunk. — Gondoljunk csak p l . a szavak, mondatok k ö z ö t t t a r t o t t szünetekre, amikor a c s a t o r n á n csak annak s a j á t zaja észlelhető. Híradástechnika
XXXVIII.
évfolyam,
1987. 8. szám
E l f o g a d h a t ó é r t é k ű lesz a helyes d ö n t é s v a l ó színűsége, ha az ugyanazon c s a t o r n á n v é g z e t t k o r á b b i m é r é s e k e r e d m é n y é t is figyelembe vesszük, A z ismertetett á r a m k ö r 32 csatorna figyelését végzi. H a a h á r o m u t o l s ó d ö n t é s t a szokásos m ó d o n t á r o l n i akarjuk, ez összesen 96 R A M regisztert igényel. — Viszont a 2920-nak csak 40 R A M regisz tere van. K i h a s z n á l h a t j u k azonban, hogy a t á r o l a n d ó i n f o r m á c i ó 0-k és 1-ek sorozata, és hogy egy regiszter hossza 24 b i t . 4 db 24 bites r e g i s z t e r b ő l software ú t o n k i a l a k í t o t t u k egy 96 bites shift regisztert, amelybe sorban b e t ö l t j ü k az egyes m é r é sek e r e d m é n y é t . A shift regiszter t a r t a l m á t a c s a t o r n á k v á l t á s á v a l szinkronban l é p t e t j ü k . A z 381
í g y tárolt 96 bitből egy software maszk segítségével kiválasztjuk azt a hármat, amely az aktuális csatornán v é g z e t t korábbi vizsgálatok eredményét hordozza. H a a rendelkezésünkre álló n é g y bit logikai szorzata ,,1", a csatorna szabadnak tekint hető, ellenkező esetben beszéd vagy távíró forgalom zajlik. összegzés A z itt ismertetett példákból is látható, hogy analóg
mikroprocesszor alkalmazásával egy sor analóg áramkör megépítését, bemérését kerülhetjük el. Az áramkörök tervezése jelentősen egyszerűsödik, egy analóg mikroprocesszoros egység t ö b b feladat megoldására is felhasználható, hardware v á l t o z t a t tás nélkül. A z áramkörök tervezése során a soft ware fejlesztés kerül előtérbe. I R O D A L O M [1] I N T E L : 2920 Analóg Handbook.
Signal Processzor
Design