AUDIO SPREŽNI PODSISTEMI 2012 RT-RK 2/21/2012
AUDIO SPREŽNI PODSISTEMI
2012
RT-RK
2/21/2012
2
Sadržaj Uvod .............................................................................................................................................................. 3
S/PDIF sprega ................................................................................................................................................ 4
Fizički sloj ................................................................................................................................................... 4
Sloj veze ..................................................................................................................................................... 4
Prenos PCM audio podataka preko SPDIF sprege ................................................................................. 5
Prenos višekanalnog audio zapisa pomoću SPDIF sprege (IEC61937)................................................... 6
Prenos lossless audio sadržaja .................................................................................................................. 8
HDMI sprega ................................................................................................................................................ 10
Prednosti HDMI komunikacije ................................................................................................................. 12
Obrada zvuka u HDMI lancu .................................................................................................................... 12
Kratak osvt na HDCP algoritam ............................................................................................................... 13
I2S (Inter-IC Sound) serijska sprega ............................................................................................................. 15
Signalne linije kod I2S sprega .................................................................................................................. 15
Režimi rada I2S sprege ............................................................................................................................ 17
SPI (Serial Peripheral Interface) serijska sprega .......................................................................................... 19
Režimi rada SPI sprege ............................................................................................................................ 19
Prenos podataka ...................................................................................................................................... 20
SPI sprega u audio sistemu ...................................................................................................................... 20
Primer softverske emulacije SPI sprege .................................................................................................. 21
Prednosti i mane ..................................................................................................................................... 22
I2C (Inter-Integrated Circuit) serijska sprega .............................................................................................. 23
Fizički sloj ................................................................................................................................................. 23
Sloj veze ................................................................................................................................................... 24
Dinamika I2C sprege ................................................................................................................................ 24
Prednosti i mane I2C sprege .................................................................................................................... 25
JTAG (Joint Test Action Group) .................................................................................................................... 26
Primer sprežnih podsistema na Cirrus Logic platformi ............................................................................... 29
3
Uvod
Ovaj dokument opisuje uobičajene tipove sprega (interface) koji se koriste u audio uređajima
namenjenim širokom tržištu. Njihovo razumevanje i pravilna upotreba omogućava funkcionisanje čitavog
lanca audio obrade.
U okviru ovog dokumenta obrađeno je nekoliko najčešćih tipova sprega koje možemo svrstati u dve
grupe i to audio sprežni sistemi – razvijeni za specifičnu namenu prenosa audio informacija, i sprežni
sistemi opšte namene koji nisu namenjeni samo za primenu u oblasti obrade audio informacija i koji se
mogu sresti i u drugim uređajima opšte namene.
Audio sprežni sistemi obrađeni u okviru ovog dokumenta su: SPDIF, HDMI, I2S.
Sprežni sistemi opšte namene opisani u ovom dokumentu su I2C i SPI sprege.
4
S/PDIF sprega
S/PDIF (ili SPDIF) je standard koji propisuje povezivanje potrošačkih audio uređaja1 na kratkim
rastojanjima. Definisali su ga Sony i Philips (Sony/Philips Digital Interface) za potrebe povezivanja CD i
DAT uređaja tokom 80-tih godina. Cilj je bio da se korišćenjem digitalne veze izbegnu višestruke A/D i
D/A konverzije u lancu obrade audio signala. Originalno, SPDIF standard je bio namenjen prenosu PCM
podataka (usvojen kao standard IEC60958) ali je kasnije, sa pojavom DVD uređaja i širom upotrebom
audio kompresije, standard nadograđen tako da može da služi za prenos višekanalnog komprimovanog
audio signala (standard IEC61937). Sa pojavom nove generacije Blu-Ray Disk uređaja ovaj vid sprege se
sve manje koristi jer je zamenjen naprednijim tipom digitalne sprege – HDMI spregom. Ipak koncepti
uspostavljeni SPDIF standardom i dalje imaju široku upotrebu i predstavljaju osnovu novijih tipova
digitalnih veza.
SPDIF standard definiše fizički sloj i sloj veze po ISO/OSI modelu.
Fizički sloj Fizički sloj SPDIF standarda definiše dva tipa veze:
Električna veza – koriste se koaksijani kablovi impedanse 75Ω sa RCA (CHINCH) priključcima.
Maksimalna dužina veze je reda 10m.
Optička veza – koristi se optički kabel debljine 1mm (obično plastičan) sa TOSLINK priključcima.
Za izvor svetlosti se koristi crvena LED dioda. Maksimalna dužina kabla je reda 5-6m prvenstveno
zbog gubitaka u (jeftinim) kablovima. Sa druge strane, optička veza je pogodna jer se njome
izbegavaju RF smetnje, ali su kablovi osetljivi na savijanje.
Slika 1 – S/PDIF kablovi: električni sa RCA (CHINCH) priključcima i optički sa TOSLINK priključcima
Sloj veze SPDIF je jednosmerni protokol za slanje podataka od predajnika ka prijemniku. Zasniva se samo na jednoj
liniji za podatke. Pošto ne postoji posebna linija za takt, da bi se obezbedila sinhronizacija sa predajnikom
(koji diktira takt), prijemnik mora da ga regeneriše koristeći PLL sinhronizaciju u odnosu na ulazni tok
podataka (tj. prelaze između nula i jedinica u toku podataka). Da bi se sprečila pojava dugih segmenata
ulaznog signala bez promene vrednosti (npr. niz nula kada je tišina u audio signalu), koji bi onemogućili
sinhronizaciju takta, koristi se biphase mark kod (BMC). Ovakvim kodovanjem se garantuje da će se za
1 Takođe postoji i verzija ovog standarda namenjena za profesionalne (studijske) uređaje koja je poznata kao
AES3/EBU. Ona se u manjoj meri razlikuje od SPDIF-a - prvenstveno po fizičkom sloju (tipovi priključaka i kablova i nivoi signala) dok se sloj veze razlikuje samo po vrednosti Channel Status Bit-a čije vrednosti određuje status consumer/professional. Ovo omogućava međusobno povezivanje dva tipa uređaja (uz primenu adaptera).
5
svaki bit desiti bar jedan prelaz što omogućava brzu sinhronizaciju. Primer ovog koda je dat na slici (Slika
2). Svaki bitski interval je podeljen na dve polovine: deo koji nosi takt i deo koji nosi podatke. Deo za takt
uvek nosi promenu vrednosti (prva polovina intervala), dok kod dela za podatke, promena zavisi od toga
da li se šalje nula (nema dodatne promene) ili jedinica (ima promene).
Slika 2 – Primer kodovanja podataka biphase mark kodom
U slučaju da se regenerisanje takta u prijemniku ne obavi na pravilan način, doći će do oštećenja
podataka (jitter). Problem sinhronizacije (jitter-a) je bio izražen kod uređaja starije generacije.
Prenos PCM audio podataka preko SPDIF sprege
Kao što je ranije pomenuto SPDIF je bio prvenstveno namenjen prenosu dvokanalnog (stereo) PCM audio
sadržaja. Prvobitni standard je bio predviđen za dve učestanosti odabiranja i to 44,1kHz za CD uređaje i
48kHz za DAT uređaje. Kasnije, sa pojavom DVD formata, podržane su i više učestanosti odabiranja i to
88,2kHz i 96kHz. Standard podržava korišćenje 16 ili 20 bita po odbirku uz moguće proširenje do 24 bita.
Svaki PCM odbirak se smešta u 32-bitne podokvire (sub-frame):
Biti Značenje
31-28 Kontrolni biti (validnost, status i paritet) 27-4 Audio biti (MSB levo poravnat)* 3-0 Identifikacioni biti (B, W i M preambule niskog nivoa)
*Nekorišćeni audio biti se postavljaju na nule
16-bitni odbirak
20-bitni odbirak
24-bitni odbirak
31 0
PCM MSB
27 11 37
Slika 3 – Struktura jednog SPDIF podokvira
Podokviri levog i desnog kanala se međusobno razlikuju na osnovu identifikacionih bita (M tip preambule
za levi W ti za desni). Oni zajedno sačinjavaju jedan SPDIF okvir (IEC60958 frame) dužine 64 bita koji
odgovara jednoj periodi odabiranja, što je ilustrovano na slici (Slika 4). Okviri su dodatno grupisani u
audio blokove od po 192 okvira, gde svaki 192-gi okvir ima izmenjene identifikacione bite (B tip
preambule za levi W ti za desni). Na nivou audio bloka (192x2 podokvira) prikupljaju se statusni kontrolni
biti (384 bita) koji nose opis sadržaja i dodatne informacije kao na primer CD tekst.
Sa stanovišta DSP procesora struktura SPDIF okvira nije od naročitog značaja jer se zaglavlja okvira
uklanjaju unutar (eksternog) SPDIF prijemnog bloka, a DSP prima ekstrahovane PCM podatke putem I2S
magistrale. PCM podaci na ulazu u DSP imaju levo poravnat MSB počevši od 31. bita, a donji neiskorišćeni
biti postavljeni su na nule.
6
Levi
kan
alD
esn
i kan
al
SPDIF okvir
SPDIF podokvir
t
T
SPDIF bitski tok
Slika 4 – SPDIF okvir unutar bitskog toka
Prenos višekanalnog audio zapisa pomoću SPDIF sprege (IEC61937)
Sa pojavom DVD diskova, višekanalna audio reprodukcija počinje masovno da se koristi u uređajima
potrošačke elektronike. Za standardni format audio zapisa na DVD diskovima usvojen je Dolby Digital
standard (sa bitskom brzinom od 384 ili 448 kbps), a nešto kasnije i DTS Digital Surround (sa bitskom
brzinom od 1,5 Mbps).
Da bi se iskoristila već postojeća SPDIF sprega koja je tada bila rasprostranjena na tržištu, originalni SPDIF
standard je morao da bude nadograđen. To je učinjeno usvajanjem standarda IEC619372 koji definiše
format prenosa komprimovanog audio bitskog toka putem SPDIF sprege. Da bi se sprečilo da neki od
uređaja pokuša direktno da reprodukuje nedekodovane podatke tretirajući ih kao PCM audio podatke (i
eventualno ošteti zvučnike ili čak nečiji sluh), a cilju zadržavanja kompatibilnost sa PCM SPDIF
standardom, svaki SPDIF audio blok (grupa od 192 SPDIF okvira) ima postavljen statusni bit koji označava
da je u pitanju komprimovani a ne PCM audio sadržaj.
Prenos podataka se vrši tako što se umesto PCM odbiraka unutar SPDIF podokvira šalju 16-bitne polureči
komprimovanog bitskog toka. Dakle, tokom jedne periode odabiranja SPDIF okvirom se prenosi jedna
32-bitna reč komprimovanog bitskog toka. Ovo je prikazano na slici (Slika 5).
Gornjih 16-bita
31 0
00
31 0
Donjih 16-bita
Desni poluokvir Levi poluokvir
SPDIF okvir
32-bitna reč bitskog toka
00
Slika 5 – Izgled SPDIF okvira pri prenosu komprimovanog audio signala
Na osnovu ovoga, može se zaključiti da bitska brzina prenosa SPDIF bitskog toka iznosi 32xFs (obično
48 kHz – 1.5 Mbps, 96 kHz – 3 Mbps).
2 IEC61937 – Digital audio – Interface for non-linear PCM encoded audio bitstreams applying IEC 60958
7
Komprimovani audio bitski tok je izdeljen na podceline ili sekvence koje se samostalno dekoduju. Pri
prenosu SPDIF bitskim tokom svaka sekvenca je označena pomoću četiri 16-bitne polureči – preambule:
Pa, Pb, Pc i Pd (Tabela 1).
Preambula Vrednost
Pa 0xF872 Pb 0x4E1F Pc Reč koja identifikuje tip sekvence (Tabela 2) Pd Dužina sekvence u bitima (eng. payload)
Tabela 1 – IEC61937 preambule
Pc Oznaka tipa bitskog toka
0x0001 Dolby Digital (AC-3) 0x0003 Pauza 0x0004 MPEG-1 (Layer 1) 0x0005 MPEG-1 (Layer 2 or 3 ) 0x0007 Advanced Audio Coding (MPEG-2/4 AAC) 0x000a Dolby Digital Plus 0x000b DTS (512 frame) 0x000c DTS (1024 frame) 0x000d DTS (2048 frame) 0x0015 Dolby Digital Plus 0x0016 MAT (Dolby True HD) 0x001C Advanced Audio Coding (MPEG-2/4 AAC in ADTS) 0x0211 DTS High Resolution Audio 0x0311 DTS Low Bitrate 0x0411 DTS Master Audio
Tabela 2 – Neke od standardnih vrednosti Pc preambule
Kao rezultat dekodovanja sekvence, u dekoderu dobijamo određeni broj rekonstruisanih PCM odbiraka
na izlaznim kanalima. Pošto skoro svaki tip dekodera koristi različitu terminologiju koja se koristi za
imenovanje jedinica dekodovanja (npr. frame, sub frame, sub-sub-frame, audio block, itd.), uvedeni su
generički termini za sekvencu koja se dekoduje – pristupna jedinica – access unit (AU), a generički naziv
za sekvencu koja je dekodovana u PCM – prezentaciona jedinica – presentation unit (PU).
Zbog korišćenja visokog (a često i varijabilnog) stepena kompresije, prenos pristupne jedinice putem
SPDIF sprege traje kraće od trajanja reprodukcije prezentacione jedinice (Slika 6). Da bi se za
reprodukciju u realnom vremenu obezbedila vremenska usaglašenost između ulaza i izlaza iz sistema
(DSP, dekoder), potrebno je usaglasiti vremenske intervale pristizanja pristupnih jedinica sa vremenskim
trajanjem reprodukcije prezentacionih jedinica. U suprotnom, došlo bi ili do prepunjavanja prihvatne
memorije dekodera (FIFO overflow) ili do pražnjenja prihvatne memorije (FIFO underflow), što bi dovelo
do prekida u reprodukciji.
8
Pristupnajedinica
PCM L kanala
PCM C kanala
PCM R kanala
PCM Ls kanala
PCM Rs kanala
PCM Lfe kanala
Prezentaciona jedinica
Dekodovanje
Slika 6 – Odnos pristupne i prezentacione jedinice
Usaglašavanje ulaza i izlaza se postiže dodavanjem ispune nulama (zero padding) između pojedinačnih
pristupnih jedinica. Dužina ispune nulama se obično postavlja tako da trajanje prenosa pristupne jedinice
i ispune nulama bude jednaka dužini trajanja reprodukcije prezentacione jedinice. Ovim postupkom se u
suštini, bitski tok sa varijabilnom bitskom brzinom (Variable Bit Rate), pretvara u bitski tok sa
konstantnom bitskom brzinom (Constant Bit Rate). Konačni izgled IEC61937 okvira je dat na slici (Slika 7).
Pd
Sekvenca u IEC 61937 formatu
Pristupnajedinica
Pd NulePcPbPa
PCM L kanala
PCM C kanala
PCM R kanala
PCM Ls kanala
PCM Rs kanala
PCM Lfe kanala
Prezentaciona jedinica
Slika 7 – IEC61937 sekvenca
Kao što je u uvodnom poglavlju o SPDIF formatu spomenuto, ovaj tip povezivanja audio uređaja se danas
sve manje koristi i to samo radi očuvanja mogućnosti povezivanja sa starijim audio uređajima. Razlog
tome su pre svega mala brzina prenosa (u praksi do 3 Mbps) ali i nedostaci kao što su jednosmerna
komunikacija, nedovoljno pouzdana sinhronizacija, osetljivost na greške itd. Ipak, koncepti uspostavljeni
SPDIF standardom i dalje imaju široku upotrebu i predstavljaju osnovu novijih tipova digitalnih veza. Tako
se IEC60958 i IEC61937 format podataka i dalje koriste kao osnova za prenos audio zapisa putem HDMI i
I2S sprege.
Prenos lossless audio sadržaja Pojavom nove generacije video diskova – Blu-Ray diskova omogućeno je korišćenje lossless audio
sadržaja u uređajima potrošačke elektronike (kućnim bioskopima). Zvučni zapis u novoj generaciji diskova
može da nosi do osam kanala (7.1), sa učestanošću odabiranja do 192 kHz i 24 bita po odbirku.
Maksimalna bitska brzina audio sadržaja je ograničena na 24 Mbps. Zbog potrebne velike brzine prenosa
SPDIF sprega ne može da se koristi, nego se koriste naprednije sprege kao što su HDMI ili I2S sprega.
9
Audio kompresiju bez gubitaka (lossless) karakteriše značajno niži stepen kompresije u odnosu na široko
korišćene tipove audio kompresije sa gubicima (lossy). Naime kod lossy kompresije postižu se stepeni
kompresije 10:1 i više, dok se lossless kompresija kreće u opsegu od oko 2:1 do 4:1. Takođe, lossless
kompresija u znatno većoj meri varira u zavisnosti od entropije muzičkog sadržaja nego što je to slučaj
kod lossy kompresije.
Posledica ovoga je da dužina prenosa pristupne jedinice bude slična, pa čak i veća, od veličine
prezentacione jedinice. Zbog toga se često pristupne jedinice šalju znatno ranije nego što je vreme da
budu dekodovane i reprodukovane, pa lossless dekoderi moraju da imaju velike ulazne FIFO bafere ili čak
više njih.
Da bi se omogućio prenos ovakvog bitskog toka IEC61937 format je nadograđen transportnim slojem koji
nosi dodatne podatke koji omogućavaju pravilno rukovanje i raspoređivanje podataka kao i proveru
grešaka. Primeri ovakvih transportnih protokola su Dolby MAT i DTS chunk layer.
10
HDMI sprega
HDMI sprega je namenjena digitalnom prenosu slike i zvuka. Zasnovana na DVI standardu, HDMI sprega u
trenutno aktuelnoj verziji podržava protok podataka brzine do 10.2 Gbps, što omogućava istovremeni
prenos slike rezolucije preko 1080p (u poslednjoj reviziji 1.4 podržane su rezolucije do 4096x2160 kao i
3D slika) i višekanalnog zvuka. Prihvaćena od strane svih vodećih proizvođača potrošačke elektronike,
HDMI predstavlja de facto standard za povezivanje TV prijemnika sa kućnim multimedijalnim uređajima,
kao što su Blu-Ray® čitači, satelitski prijemnici, multimedijalne konzole i sl.
HDMI podržava povezivanje samo dva uređaja: predajnik i prijemnik. Za povezivanje više uređaja u lancu
distribucije slike i zvuka, potrebno je integrisati i HDMI prijemnik i HDMI predajnik u pojedine karike
lanca veze. Na primer, na slici ispod, kućni bioskop integriše HDMI prijemnik odakle izdvaja audio
informacije, a video informacije pakuje pomoću HDMI predajnika i prosleđuje na televizor.
Slika 8 – Tipična primena HDMI veze za kućni bioskop
Na fizičkom nivou, HDMI se sastoji od tri nezavisna komunikaciona kanala: TMDS (Transition Minimized
Differential Signaling), DDC (Display Data Channel ) i CEC (Consumer Electronic Control).
Dodatno, sa HDMI 1.4 specifikacijom, uvedena je opcionalna HEAC (HDMI Ethernet Audio Controll)
magistrala.
Slika 9 – Komunikacioni kanali HDMI sprege
TMDS je sinhrona sprega koja se sastoji od tri linije podataka: TMDS Data [2:0] i jedne linije takta TMDS
Clock (do 340 MHz). TMDS se koristi za prenos slike i zvuka. Podaci preneseni TMDS magistralom su
šifrovani koristeći zaštitni HDCP algoritam (High-bandwidth Digital Content Protection).
Dodatni HDMI signali omogućavaju kontrolnu komunikaciju:
DDC – zasnovan je na I2C sprezi brzine 100kbps, omogućava razmenu informacija o podržanim
audio ili video formatima.
TRANSMITTER
TMDS
CEC
DDC
HOT PLUG / HEC
5V
RECEIVER
11
CEC – obezbeđuje kontrolu do 10 uređaja koji podržavaju CEC. Tako je moguće da se daljinskim
kontrolerom jednog uređaja kontroliše čitav HDMI lanac (npr. uključivanjem Blu-Ray plejera,
uključuju se i TV i AV prijemnik).
HPD – Hot plug detect , detekcija priključenja
5V power, omogućava komunikaciju uređaja i kada se oni nalaze u stand-by modu.
HEAC – omogućava dvosmerno LAN povezivanje između HDMI prijemnika i predajnika, brznama
komunikacije do 100 Mbps. Dodatno, HEAC obezbeđuje ARC kanal kao povratnu audio spregu od
prijemnika ka predajniku.
U praksi se susreće više tipova HDMI konektora:
Slika 10 – Tipovi HDMI konektora
Konektor tipa A – za opštu upotrebu, jedna TDMS veza, 19 pinova
Konektor tipa B – za opštu upotrebu, dupla TDMS veza, 29 pinova
Konektor tipa C – mini konektor za portabl uređaje (npr. tablet uređaji), 19 pinova
Konektor tipa D – mikro konektor za mobilne telefone, 19 pinova
Konektor tipa E – za primenu u auto industriji
Tip A je najrasprostranjeniji HDMI konektor. Tip A ima 19 pinova kao što je prikazano na slici (Slika 11).
Slika 11 – Detaljan prikaz HDMI konektora A tipa
12
Prednosti HDMI komunikacije HDMI prenosi zvuk i sliku u čisto digitalnom formatu, zbog čega je prenos značajno otporniji na smetnje i
reprodukcija signala verodostojna originalu. U odnosu na SPDIF, HDMI protokol raspolaže značajno većim
propusnim opsegom, omogućavajući mu da podrži najzahtevnije audio formate, kao što su tzv. lossless
formati DTSHD-MA i Dolby TrueHD. Takođe propusni opseg sprege dopušta i prenos video slike u
osnovnom opsegu – bez kompresije.
Prednost HDMI komunikacije jeste jednostavnost upotrebe, gde se jednim kabelom, prenose slika i zvuk
kvaliteta poslednje generacije.
Slika 12 – HDMI 1.4 HEAC magistrala omogućava jednostavno povezivanje audio i video uređaja na Internet mrežu
Obrada zvuka u HDMI lancu Obzirom da je HDMI šifrovan standard prenosa zvuka i slike, neophodno je koristiti namenske HDMI
prijemnike, koji su sertifikovani za upotrebu od strane HDMI fondacije. Primer jednog takvog prijemnika
je Sil9135 od proizvođača Silicon Image®, jednog od osnivača HDMI fondacije.
Slika 13 – Šema procesa obrade zvuka
Kao što je prikazano na slici, Sil9135 dekoduje TMDS tok podataka i izdvaja informacije o slici i o zvuku.
Zvuk se preko I2S magistrale prosleđuje DSP procesoru na dalju obradu zvuka. TMDS tok podataka sadrži
osnovne informacije o tipu audio podataka koji se prosleđuju, među kojima je najvažnija informacija o
frekvenciji odabiranja zvuka. Sil9135 poseduje mehanizam za generisanje ciljne frekvencije odbiranja (I2S
13
LR Clock) koristeći PLL mehanizam te na osnovu informacije o odnosu između frekvencije odbiranja i
frekvencije video takta (TMDS Clock).
Slika 14 – HDMI pre verzije 1.4 nije integrisao ARC komunikacioni kanal te se koristio dodatni SPDIF kabel za povratnu audio spregu, od televizora do kućnog bioskopa.
Slika 15 – HDMI ARC komunikacioni kanal, predstavljen crvenom bojom na slici
ARC (Audio Return Channel) komunikacioni kanal omogucava prenos zvuka od prijemnika ka predajniku.
Bez ARC kanala, tipično se koristio dodatni SPDIF kabel kako bi se zvuk sa televizora povezao na sistem
kućnog bioskopa. Zasnovana na SPDIF standardu, ARC komunikacija pojednostavnjuje povezivanje
potrošačke elektronike, integrišući taj dodatni SPDIF kanal u HDMI kabel.
Kratak osvt na HDCP algoritam HDCP (High-bandwidth Digital Content Protection) je algoritam zaštite prenosa zvuka i slike visoke
rezolucije od neautorizovanog kopiranja. Razvijen od strane kompanije Intel, algoritam se zasniva na
razmeni ključeva između predajnika i prijemnika, neposreno pre prenosa zaštićenih informacija.
14
Prijemnik i predajnik moraju biti licencirani od strane kompanije Intel te posedovati jedinstvene šifre
(ključeve) kako bi dekodovali HDCP kodovan sadržaj.
HDCP onemogućava povezivanje više prijemnika (televizora) na jedan predajnik, kao što je to slučaj sa
analognim konekcijama, te se moraju koristiti namenski uređaji za grananje jednog HDMI signala na više
monitora. Obzirom da je HDCP prevaziđen algoritam za šifrovanje informacija, al još uvek licenciran,
smatra se da je HDCP pre svega alat kojim velike kompanije diktiraju tržište potrošačke elektronike.
15
I2S (Inter-IC Sound) serijska sprega
I2S (IIS, I2S – Inter-IC Sound) protokol je standard koji je razvio Philips za digitalan prenos audio signala
čime je omogućeno povezivanje integrisanih kola različitih proizvođača. U osnovi, I2S je TDM (Time
Division Multiplex) serijski tok sa dva aktivna kanala. TDM je metoda prenosa više od jednog kanala
preko jedne fizičke veze.
Tok audio podataka je isključivo u jednom smeru, ali signale takta može da vodi izvor (source), odredište
(sink) ili čak treći učesnik na magistrali (controller). Može da postoji i više odredišta, pod uslovom da se
zadovolje električni zahtevi vodova i učesnika na magistrali. Svaka linija podataka tipično prenosi dva
diskretna audio kanala, jedan (levi) u jednoj poluperiodi LR takta a drugi (desni) u drugoj.
AUDIO SOURCE
AUDIO CLOCK MASTER
MASTER CLOCK MASTER
AUDIO SINK
AUDIO CLOCK SLAVE
MASTER CLOCK SLAVE
MCLK
SCLK
LRCLK
DATA0
AUDIO SOURCE
AUDIO CLOCK MASTER
MASTER CLOCK SLAVE
AUDIO SINK
AUDIO CLOCK SLAVE
MASTER CLOCK MASTER
MCLK
SCLK
LRCLK
DATA0
AUDIO SOURCE
AUDIO CLOCK SLAVE
MASTER CLOCK MASTER
AUDIO SINK
AUDIO CLOCK MASTER
MASTER CLOCK SLAVE
MCLK
SCLK
LRCLK
DATA0
AUDIO SOURCE
AUDIO CLOCK SLAVE
MASTER CLOCK SLAVE
AUDIO SINK
AUDIO CLOCK MASTER
MASTER CLOCK MASTER
MCLK
SCLK
LRCLK
DATA0
I2S
BU
S 1
I2S
BU
S 2
I2S
BU
S 3
I2S
BU
S 4
Slika 16 – Primeri prostih I2S sprega
Signalne linije kod I2S sprega U većini primena koriste se 3 linije takta i n linija podataka (gde je n veće ili jednako od polovine broja
diskretnih audio kanala).
master takt (MCLK; Master CLocK),
takt za izbor kanala (LRCLK; Left-Right CLocK)
takt bita (SCLK; Serial CLocK)
linije podataka (DATAn)
16
MCLK je glavni takt u sistemu. Na osnovu njega se izvode skoro svi ostali taktovi, što obezbeđuje da sve
komponente sistema budu sinhronizovane. Tipične učestanosti za master takt su 12,288 MHz, 24,576
MHz i 49,152 MHz. SPDIF prijemnici (kola za prijem SPDIF signala) su često izvori master takta. Oni koriste
brže taktove za ekstrahovanje taktova, podataka i metapodataka iz SPDIF signala i u tom procesu
generišu i master takt za ceo sistem.
SPDIF RX
DSP
CODECSPDIF INPUT / I2S OUTPUT
AUDIO PATH
I2S OUTPUT
HEADER
SCLK
LRCLK
DATA0
MCLK
SCLK
LRCLK
DATA0
DATA1
DATA2
DATA3
MCLK
MONITOR
SPDIF IN
Slika 17 – Primer sistema sa SPDIF ulazom
Ukoliko se ne koristi SPDIF prijemnik u sistemu (ili trenutno aktivnoj konfiguraciji sistema), već se ulazni
audio signal dobija iz analognog domena, master takt mogu da vode različite komponente: DSP, kodek,
takt menadžer ili jednostavno kristalni oscilator.
DSP
CODEC
ANALOG INPUT /
I2S OUTPUT
AUDIO PATH
I2S OUTPUT
HEADER
SC
LK
LR
CL
K
DA
TA
0
MCLK
SCLK
LRCLK
DATA0
DATA1
DATA2
DATA3
MONITOR
DA
TA
1
DA
TA
2
DA
TA
3
ANALOG
INPUT
CONNECTORS
FIL
TE
RS
Slika 18 – Primer sistema sa analognim ulazima
Ako sistem koristi I2S kao ulaz, najčešće je sistem podređen master taktu sa I2S ulaza.
17
I2S INPUT
HEADERDSP
CODECI2S INPUT / I2S OUTPUT
AUDIO PATH
I2S OUTPUT
HEADER
SCLK
LRCLK
DATA0
DATA1
DATA2
DATA3
MCLK
SCLK
LRCLK
DATA0
DATA1
DATA2
DATA3
MCLK
MONITOR
Slika 19 – Primer sistema sa I2S ulazom
SCLK je audio takt na čijim se aktivnim ivicama uzorkuju pojedinačni biti linija podataka. Tipične
učestanosti su 3,072 MHz, 6,144 MHz i 12,288 MHz, najčešće 64x učestanost odabiranja (48 kHz, 96 kHz i
192 kHz). Da bi sprega bila kompatibilna sa uređajima audio preciznosti 24 i 32 bita po odbirku, a pošto
se po jednoj liniji podataka I2S sprege prenose dva audio kanala, broj bita prenesenih u jedinici vremena
koja odgovara jednom odbirku je 64.
LRCLK je audio takt koji odgovara učestanosti odabiranja, a služi da odredišni uređaji imaju informaciju o
tome kom audio kanalu pripadaju biti koji se trenutno prenose na linijama podataka. Ako je učestanost
odabiranja 48 kHz, LRCLK ima 48000 perioda a 96000 poluperioda u sekundi. Ovo je dovoljno da se
prenese 48000 odbiraka za oba kanala na liniji podataka, ako se jedan kanal prenosi u nižoj a drugi u višoj
poluperiodi.
Slika 20 – Audio signali na linijama I2S sprege
Režimi rada I2S sprege Iako I2S standard propisuje određene parametre za signale, u mnoštvu primena su neki parametri
izmenjeni.
Propisani parametri su:
odbirci se šalju od bita najveće do bita najmanje važnosti
bit najveće važnosti se šalje jedan period SCLK takta nakon promene LRCLK takta (Slika 20)
biti na linijama podataka mogu da budu poravnati bilo na rastuću, bilo na opadajuću ivicu SCLK
takta
biti na linijama podataka se uzorkuju isključivo na rastuću ivicu SCLK takta
kada je LRCLK na niskom naponskom nivou, prenosi se prvi kanal (levi)
18
LRCLK može da se menja bilo na opadajuću, bilo na rastuću ivicu SCLK takta, ali mora da se
uzorkuje na rastuću
LRCLK ne mora da bude simetričan
Varijacije koje se najčešće sreću su po pitanju pozicije audio podataka u LRCLK okviru:
Left-justified (podaci poravnati na levo)
Right-justified (podaci poravnati na levo)
I2S (podaci kasne za jedan SCLK ciklus, kao po standardu)
19
SPI (Serial Peripheral Interface) serijska sprega
SPI (Serial Peripheral Interface – serijski sprežni sistem za periferije) je sprežni sistem razvijen u Motoroli
koji podržava simultanu dvosmernu komunikaciju (full duplex) između jednog master i jednog ili više
slave uređaja. Iako se koristi u velikom broju familija integrisanih kola, ne postoji zvanična specifikacija
SPI sprege, već postoji mnoštvo ad-hok specifikacija.
U većini primena koriste se 3+n linija (gde je n broj slave uređaja):
takt (SCLK; Serial CLocK),
izlaz iz master uređaja, ulaz u slave uređaj (MOSI; Master Output, Slave Input),
ulaz u master uređaj, izlaz iz slave uređaja (MISO; Master Input, Slave Output),
linije za odabir slave uređaja (SS; Slave-Select).
SPI
master
SCLK
MOSI
MISOSPI
slaveSS
Slika 21 – Trivijalna SPI sprega
U nekim izvedbama se koriste samo tri linije (SCLK, MOSI i MISO), ukoliko postoji samo jedan slave uređaj
(koji ne zahteva opadajuću ivicu SS linije za prenos).
Režimi rada SPI sprege Postoje četiri SPI režima u zavisnosti od polariteta i faze takta. Parametar CPOL (Clock POLarity; polaritet
takta) je 0 ako je linija takta na nivou logičke nule kada je sprega neaktivna, a 1 ako je linija takta na nivou
logičke jedinice kada je sprega neaktivna. Parametar CPHA (Clock PHAse; faza takta) je 0 ako se linije
podataka uzorkuju na vodeću ivicu takta, a 1 ako se linije podataka uzorkuju na prateću ivicu takta. Kada
je CPOL=0, vodeća ivica takta je rastuća, a prateća je opadajuća. Kada je CPOL=1, vodeća ivica takta je
opadajuća, a prateća je rastuća (Slika 22).
Slika 22 – Režimi rada SPI sprege
20
Prenos podataka SPI transakcija počinje time što master uređaj spusti SS signal (koji je aktivan na nuli) željenog slave
uređaja na logičku nulu. Tada, ako je to potrebno, čeka određeno vreme kako bi se slave uređaj
pripremio za komunikaciju. Master počinje da šalje signal takta na SCLK liniji i u svakoj periodi ovog takta
se vrši prenos jednog bita na MISO i jednog na MOSI liniji. Ovo je realizovano kao dva shift registra, jedan
u master i jedan u slave uređaju, koji su povezani u prsten (Slika 3). Registri su najčešće širine 8 ili 16 bita.
Slika 23 – 8-bitni SPI prenos
SPI sprega u audio sistemu Slika 24 prikazuje audio sistem kontrolisan od strane mikrokontrolera (MCU), sa aspekta kontrolnih
sprega. Na prvoj sprezi je mikrokontroler master uređaj, a kodek, DSP i SPDIF prijemnik su slave uređaji.
Na slici se vide zasebni signali za odabir svakog od slave uređaja (nCODEC_SS, nDSP_SS i nSPDIF_RX_SS).
Na drugoj sprezi postoje samo dva uređaja: DSP – master i fleš memorija – slave. Signal za odabir fleš
memorije (nSPI_FLASH_SS) je uzemljen, pa je ovaj uređaj stalno odabran. Ovo je moguće zato što je to
jedini slave uređaj na drugoj sprezi i sam uređaj to podržava, a poželjno je zato što se koristi manje
fizičkih vodova (do uzemljenja je uglavnom najkraći put na štampanoj ploči).
21
MCU DSP
SPDIF_RX
CODEC
SPI FLASHM
OS
I
MIS
O
SC
LK
nSPDIF_RX_SS
nDSP_SS
nCODEC_SS
SCLK
MOSI
MISO
nS
PI_
FL
AS
H_
SS
SPI BUS 1 SPI BUS 2
Slika 24 – SPI upravljačke sprege u audio sistemu
Primer softverske emulacije SPI sprege Kao i mnoge druge sprege, SPI je moguće emulirati na mikrokontroleru pomoću pinova opšte namene. U
nastavku je primer mikrokontrolerskog koda za slanje 8-bitnih reči putem SPI sprege, sa master strane.
Režim rada koji se koristi u ovom primeru je CPOL=1;CPHA=1.
// PIN DEFINITIONS ----------------------------------------
sfr PORT_0 = 0x80;
sbit CS = PORT_0 ^ 1;
sbit SCK = PORT_0 ^ 2;
sbit MOSI = PORT_0 ^ 3;
sbit MISO = PORT_0 ^ 4;
// GLOBAL VARIABLES ---------------------------------------
unsigned char data spiData;
// BIT-ADDRESSABLE GLOBAL VARIABLES -----------------------
unsigned char bdata spiTmp;
sbit spiTmp7 = spiTmp ^ 7;
sbit spiTmp6 = spiTmp ^ 6;
sbit spiTmp5 = spiTmp ^ 5;
sbit spiTmp4 = spiTmp ^ 4;
sbit spiTmp3 = spiTmp ^ 3;
sbit spiTmp2 = spiTmp ^ 2;
sbit spiTmp1 = spiTmp ^ 1;
sbit spiTmp0 = spiTmp ^ 0;
// FUNCTION spiReadWriteBlock ------------------------------
//
// Data is transfered MSB first. The received data replaces the
// existing data in spiData.
//
void spiReadWriteBlock(void)
CS = 0;
22
spiTmp = spiData;
SCK=0; MOSI=spiTmp7; SCK=1; spiTmp7=MISO; // bit 7
SCK=0; MOSI=spiTmp6; SCK=1; spiTmp6=MISO; // bit 6
SCK=0; MOSI=spiTmp5; SCK=1; spiTmp5=MISO; // bit 5
SCK=0; MOSI=spiTmp4; SCK=1; spiTmp4=MISO; // bit 4
SCK=0; MOSI=spiTmp3; SCK=1; spiTmp3=MISO; // bit 3
SCK=0; MOSI=spiTmp2; SCK=1; spiTmp2=MISO; // bit 2
SCK=0; MOSI=spiTmp1; SCK=1; spiTmp1=MISO; // bit 1
SCK=0; MOSI=spiTmp0; SCK=1; spiTmp0=MISO; // bit 0
spiData = spiTmp;
CS = 1;
// MAIN ---------------------------------------------------
void main(void)
// 0. Init SPI Pins
CS = 1;
SCK = 1;
// 1. Program Loop...
while (1)
spiData = 0xAB;
spiReadWriteBlock();
Prednosti i mane Neke od prednosti SPI sprege su:
simultana dvosmerna komunikacija (full duplex)
veći protok od I2C busa (SCLK može biti i više desetina megaherca)
nema metapodataka (ceo propusni opseg je za podatke)
nije ograničena na širinu reči od osam bita
mala potrošnja
Mane SPI sprege su:
zahteva znatno više pinova na kućištima integrisanih kola i vodova na štampanim pločama nego
I2C (zbog Slave select linija)
ne podržava kontrolu protoka od strane slave uređaja
podržava samo jedan master uređaj u sprežnom sistemu
ne postoji zvaničan standard, pa je teško proveriti kompatibilnost implementacija
23
I2C (Inter-Integrated Circuit) serijska sprega
I2C (Inter-Integrated Circuit, često i IIC ili I2C) je serijska komunikaciona sprega koja podržava sprezanje
više vodećih i više pratećih uređaja (master i slave u daljem tekstu) u jedan komunikacioni sistem. Ova
sprega je definisana od strane firme Philips sa ciljem sprezanja perifernih uređaja sa centralnim
procesorima, niskom brzinom komunikacije – tipično 100 kbps. I2C je osnova na kojoj je Intel napravio
SMB (System Management Bus) standard koji se koristi za dijagnostiku uređaja na matičnim pločama
personalnih računara.
Koristeći svega dve linije komunikacije, I2C omogućava jednostavno povezivanje na fizičkom nivou
velikog broja uređaja, do 128 u osnovnoj verziji I2C standarda.
Ovo jednostavno sprezanje računarskog sistema je osnovna prednost I2C magistrale, te se I2C
prvenstveno koristi za inicijalizaciju, podešavanje računarskog sistema, te dijagnostiku i prikupljanje
informacija o stanju sistema kao i za akviziciju podataka gde se ne zahteva velika brzina komunikacije. Na
primeru Cirrus razvojnog okruženja, I2C magistrala se koristi za inicijalizaciju sistema, npr. učitavanje
koda algoritama za obradu zvuka u DSP procesor, inicijalizaciju parametara A/D i D/A konverzije,
inicijalizacija parametara HDMI prijemnika, itd.
I2C magistrala se ne koristi kada je potrebna velika brzina protoka informacija, npr. prenos slike i zvuka,
ili kada je neophodna brza obrada prekida u realnom vremenu.
Slika 25 – Elementi TV uređaja povezani u računarski sistem putem I2C magistrale
Fizički sloj Komunikacija se na fizičkom sloju obavlja koristeći svega dve linije komunikacije: SDA (Serial Data Line) i
SCL (Serial Clock). Koristeći izlaze sa otvorenim kolektorom (otvorenim drejnom za CMOS integrisana
kola) se obezbeđuje da više uređaja može istovremeno da pristupa linijama komunikacije. Kolizija,
momenat kada dva uređaja definišu različita logička stanja na linijama sprege, je u I2C spregi iskorišćena
24
kao koristan događaj za definisanje posebnih stanja u komunikaciji, kao npr. definisanje ACK ili NACK
signala.
Sloj veze U sprezi učestvuju dva tipa uređaja: master uređaji i slave uređaji. Master je onaj uređaj koji definiše takt
komunikacije i koji proziva adrese slave uređaja. Slave je onaj koji prima takt komunikacije i koji sluša
prozvane adrese.
Prema brzini komunikacije tj. brzini takta, režimi rada sprege se dele na:
100 kbps standard mod,
10 kbps low-speed mod,
400 kbps fast mod,
1 Mbps fast mod plus,
3,4 Mbps high speed mod.
Prema referentnom dizajnu, za komunikaciju se koristi 7-bitno ili 10-bitno adresiranje, pri čemu je 10-
bitno adresiranje izuzetak, prisutno samo u specifičnim implementacijama I2C sprege.
Dinamika I2C sprege I2C komunikacija se sastoji od sekvence događaja: Start marker, prozivanje adrese slave uređaja, R/W bit,
ACK/NACK bit, prenos podataka, ACK/NACK bit.
Slika 26 – Dijagram I2C komunikacije sa uspešno (gore) i neuspešno (dole) prenesenim podacima
Start marker je događaj definisan opadajućom ivicom SDA signala, dok je SCL (SCP_CLK na Slika 26) u
logičkom stanju 1. Start marker signalizira ostalim master uređajima (ako su prisutni u sprezi) da je
sprega zauzeta za komunikaciju.
Stop marker je definisan rastućom ivicom SDA signala, dok je SCL signal u stanju logičke 1. Stop marker
signalizira ostalim master uređajima (ukoliko su prisutni u sprezi) da je sprega slobodna za novu
komunikaciju. Start i Stop markeri se uvek generišu od strane vodećeg uređaja (Master).
Nakon start markera sledi adresa. Svi uređaji koji su povezani jednom I2C spregom moraju imati
jedinstvenu adresu u toj sprezi.
25
R/W bit definiše režim pristupa slave uređaju. Stanje logičke 1 ovog bita definiše režim pristupa za čitanje
podataka, i obratno za upis.
ACK/NACK je bit kojim slave uređaj signalizira uspešno prepoznatu adresu i dekodovane informacije.
Stanje logičke 0 označava ACK (uspešan prijem), obratno NCK (neuspešan prijem). Veličina prenesenih
podataka koji slede definisanu adresu i R/W bit nije ograničena.
Ukoliko je aktivan režim pristupa za čitanje, master uređaj je dužan da definiše ACK/NACK bit posle polja
podataka. Tj. onaj koji prima podatke definiše da li su podaci uspešno primljeni. ACK/NACK bit koji sledi
adresnom polju je uvek definisan od strane prozvanog slave uređaja. Ukoliko prozvana adresa nije
validna, ACK/NACK bit ostaje na vrednosti logičke 1, tj, NACK.
Prednosti i mane I2C sprege Prednosti I2C sprege:
jednostavna implementacija na fizičkom sloju,
podržava kontrolu protoka,
podržava povezivanje više master uređaja,
dobro definisana i univerzalno prihvaćena sprega,
prilagođena uređajima niske potrošnje energije.
Mane I2C sprege:
relativno niska ukupna brzina komunikacije,
brzina komunikacije u sprezi je ograničena najsporijim članom sprege,
kvar jednog člana I2C sprege najčešće onesposobljava dalju komunikaciju (SCL i/ili SDA mogu
trajno ostati u stanju logičke nule),
I2C ne omogućava istovremeno dvosmernu komunikaciju jer se iste linije komunikacije koriste za
slanje i za primanje podataka.
26
JTAG (Joint Test Action Group)
JTAG je uobičajeno ime koje se koristi za standard IEEE 1149.1 (Standard Test Access Port and Boundary-
Scan Architecture) odnosno standard za ispitivanje pristupa portovima i arhitekture sa ispitivanjem
granica kojem je kasnije dodat opisni jezik za ispitivanje granica BSDL (Boundary scan description
language). Prvobitna primena JTAG je bila u testiranju štampanih ploča koristeći metodu ispitivanja
granica (Boundary scan metoda), i za ovu primenu se i danas široko koristi.
Osim za ispitivanje JTAG se još koristi i za debagovanje namenskih sistema. Podrška za debagovanje je za
mnoge programere glavni razlog interesovanja za JTAG. Pored navedenog, JTAG programeri se koriste i
za pisanje programa i podataka u fleš memoriju.
Slika 27 – Izgled JTAG na ploči Slika 28 – Dvadeseto-nožični JTAG Slika 29 – USB JTAG programator
Opisni jezik za ispitivanje granica (Boundary scan description language BSDL) je opisni jezik koji se koristi
za ispitivanje elektronike koristeći JTAG, i on predstavlja podskup VHDL.
Arhitektura za ispitivanje granica (Boundary-Scan arhitektura) sadrži takozvane „granične ćelije“ (Slika
30) povezane na svaku nožicu uređaja koji može da im privremeno izmeni funkcionalnost. Te ćelije mogu
biti programirane putem JTAG-a tako da kontrolišu signal na nožici i na određenoj putanji na ploči, koju
želimo da ispitamo. Ćelija na odredištu može biti programirana da čita vrednost na nožici, proveravajući
tako da li ispitana putanja ispravno povezuje dve nožice (ulaznu i odredišnu). Ako je ispitana putanja
kratko spojena ili prekinuta, na izlaznoj nožici neće se prikazati ispravna vrednost signala, i smatra će se
da ploča ima grešku.
Slika 30 – Granična ćelija (Basic Boundary-Scan Cell)
Ćelija ima četiri režima rada: običan, osvežavajući, snimajući, i serijski pomerač. U običnom režimu signal
se samo prosleđuje sa DataIn linije na DataOut liniju. Tokom režima osvežavanja sadržaj izlaznog registra
se prosleđuje na DataOut liniju. U režimu snimanja DataIn signal se rutira na pomerački registar i njegova
vrednost se uzima pri sledećem ClockDR signalu. Tokom režima serijskog pomeranja, ScanOut linija
jednog flip-flopa se šalje na ScanIn liniju drugog flip flopa.
27
Granične ćelije se koriste za dve vrste ispitivanja: unutrašnje i spoljašnje. Unutrašnje ispitivanje
podrazumeva ispitivanje funkcionalnosti jezgra uređaja i još se naziva „internal test“ ili „intest“.
Spoljašnje ispitivanje se koristi za ispitivanje veza između dve strukture dva različita uređaja i još se zove
se zove „external test“ ili „extest“. Spoljašnje ispitivanje (extest) je glavna primena arhitekture za
ispitivanje granica (Boundary-Scan arhitekture), nalazeći oštećenja i kratke spojeve na periferiji uređaja.
JTAG organizacija je oformljena 1985. godine da razvije metod za ispitivanje integrisanih ploča nakon
proizvodnje, i posle pet godina diskusije je konačno predložila arhitekturu prikazanu na slici (Slika 31).
Slika 31 – IEEE 1149.1 arhitektura
Arhitektura na slici sadrži sledeće elemente:
Skup od četiri dodeljene nožice – Test Data In (TDI), Test Mode Select (TMS), Test Clock (TCK),
Test Data Out (TDO) – i jedna opciona ispitna nožica Test Reset (TRST*). Ove nožice se kolektivno
nazivaju ispitna pristupna sprega (Test Access Port TAP).
Granične (boundary-scan) ćelije su povezane na ulaze i izlaze uređaja, a međusobno povezane u
formu serijskog graničnog (boundary-scan) registra.
TAP kontroler mašine sa konačnim brojem stanja sa ulazima TCK, TMS, i TRST*.
n-bit (n = 2) Instruction Register (IR), čuva trenutnu instrukciju.
1-bit bypass register (Bypass).
Opcioni 32-bit Identification Register (Ident) za učitavanje identifikacionog koda uređaja.
IEEE 1149.1-2001 verzija Standarda opisuje tri obavezne instrukcije: Bypass, Sample, i Extest.
Bypass – 111…1 „sve jedinice“ komanda. TAP komandni registar se puni nulama
Extest – 000…0 „Sve nule“ komanda. Puni „boundary scan“ registar između TDI i TDO
Sample – 000…1 „Jedinica u poslednjem bitu“ komanda. Puni 1-bit „bypass“ registar između TDI i
TDO.
Pored obaveznih postoje i opcione instrukcije koje, po standardu ne moraju biti implementirane, kao što
su: intest, clamp, highz, usercode,…
Iako je JTAG dizajniran za ispitivanje štampanih ploča, danas se koristi još i za pristup podblokovima
integrisanih kola, čineći ga tako suštinskim mehanizmom za debagovanje namenskih sistema koji ne
28
podržavaju neki drugi komunikacioni kanal za debagovanje. Emulator u spoju (in-circuit emulator) ili kako
se još naziva JTAG adapter, koristi JTAG kao transportni mehanizam za pristup debag modulima unutar
procesora. Ti moduli omogućavaju programerima debagovanje programa na namenskim sistemima
direktno na nivou mašinskih instrukcija, ako je potrebno, ili na jeziku visokog nivoa.
Napravljene su cele debag arhitekture koristeći JTAG, kao što su ARM coreSight i Nexus. Procesori na tim
arhitekturama mogu biti zaustavljeni, izvršavati jednu po jednu instrukciju (single stepped) ili biti pušteni
da rade slobodno. Tačke zaustavljanja (breakpoints) su podržane u memorijama RAM, ROM i fleš. Većina
arhitektura podržava debagovanje pri zaustavljanju (halt mode debugging), ali neke dozvoljavaju
dibagerima pristup registrima i magistralama podataka bez zaustavljanja procesora koji se debaguje.
Pri razvoju namenskih sistema, emulacijom čuvanja instrukcija se najbrže zatvara „promeni-prevedi“
testni krug (edit-compile-test cycle loop). Korišćenjem JTAG brže se instalira firmver, nego putem
serijskog UART porta npr, tako da se time ubrzava i sam razvoj namenskih sistema.
29
Primer sprežnih podsistema na Cirrus Logic platformi
Sistemi u koji se mogu naći u audio uređajima obično objedinjuju više tipova sprega opisanih u ovom
dokumentu. Slika 32 prikazuje blok dijagram sistema baziranog na Cirrus Logic CS49834 DSP procesoru.
Kao što se može uočiti sa dijagrama, sistem se bazira na sledećim sprežnim linijama:
I2C sprega se koristi za konfigurisanje i upravljanje sistemom.
SPI veza se koristi za povezivanje fleš memorije i DSP-a, i koristi se za učitavanje firmver modula i
čuvanje konfiguracionih parametara sistema.
I2S veze služe za prenos audio podataka do i od DSP procesora.
HDMI i S/PDIF veze služe za povezivanje sa spoljašnjim audio uređajima.
HDMI RX
Sil9134
HDMI TX
Sil9135
MCU
C8051
HDMI IN HDMI OUT
VIDEO
I2C
CODEC
CS42528
DSP
CS49834
I2S
I2SI2S
FLASH
MEMORY
SPI
S/PDIF
OUT
S/PDIF IN
ANALOG
IN/OUT
Slika 32 – Sprege u audio sistemu baziranom na CS49834 DSP