Sunteți pe pagina 1din 8

Procesoare digitale

de semnal
Tema 1: Sa se caracterizeze familiile de DSP-uri, de la un fabricant (Texas Instruments,
Analog Devices, Microchip, XMOS, CEVA Inc., din punct de vedere: hardware, software (mediul de
programare si aplicatii), precum si al domeniilor de aplicabilitate (salvare pagini site care ajuta).

Compania XMOS este un furnizor care dezvoltă soluții de comunicații vocale ,muzicale și de
control IC capabile să execte simultan, sarcini în timp real , DSP și flux de control Microcontrolerele
XMOS se disting prin comportamentul lor determinist. Soluțiile XS1 xCORE se află în spatele
echipamentelor(studio , broadcast audio ,consumatori) de calitate superioară de la peste 200
furnizori.

XMOS a dezvoltat familii de dispozitive cu siliciu și software bazat pe tehnolgia xCORE:

 xCORE VocalFusion (lansat în iunie 2017) : dispozitivele VocalFusion combină tehnoligiile de


captare a vocii de la distanță și prelucare digitală a semnalului acustic(DSP) într-un singur
dispozitiv care poate include și suport pentru Sensory ,Inc.
 xCORE-VOICE (lansat în aprilie 2016):procesoarele xCORE-VOICE sunt o combinație a unuia
sau mai multor procesoare xCORE-200 cu software ce permite captarea mai multor semnale
de microfin și agregarea acestora într-un singur semnal .
 xCORE-AUDIO (Aprilie 2016):sunt procesoare audio specificate , construite pe tehnologia
xCORE-200 , destinate aplicațiilor audio profesionale de înaltă rezoluție și aplicațiilor audo
profesionale multicanal.
 xCore-200.
 Xcore XS-L1.

XMOS a inventat termenul de Silicon Defined Software pentru a descrie dispozitivele hardware
care pot fi programate să implementeze protocoale I/O de nivel scăzut .XMOS descrie procesoarele
sale ca fiind conduse de evenimente.

Dispozitivele xCore por fi programate folosind C,C++, xC sau asamblare .Pentru a ajuta
programatorii să acceseze caracteristicile hardware în timp real ale dispozitivelor , s-au adăugat
unele extensii de limbaj multicore pentru C. Aceste extensii formează un limbaj de programare
denumit xC care conține caracteristici pentru paralelism și comunicare bazate pe sarcini, timp și I/O
precise și gestionare sigură a memoriei.

Microcontrolerele xCORE cuprind una sau mai multe plăci de procesor (procesor RISC care poate
executa simultan până la 8 instrucțiuni) conectate printr-un comutator de viteză mare . Sarcinile pot
comunicaîntr ele prin canale sau memorie.

În iunie 2014 a colaborat cu Synaticon pentru a susține tendințele emergente , cum ar fi


Industry 4.0 , în piața de automatizare a fabricilor și piața de robotică.

1
Tema 2: Sa se aleaga un DSP si, pe baza datelor de catalog, sa se caracterizeze acesta din
punct de vedere hardware (descrierea generala de la inceputul documentatiei): arhitectura,
frecventa ceasului, durata unui ciclu instructiune, memoriile de program si date (tip memorie,
capacitatea de memorare, dimensiunea cuvantului memorat), caracteristici ale porturilor
numerice, unitati periferice componente(timer-e, watch-dog timer, convertor analog-numeric,
comparatoare, module de comunicatie seriala, captura, PWM, etc.).

Arhitectura XCore este o arhitectură de microprocesor RISC pe 32 de biți proiectată de


XMOS. Arhitectura este concepută pentru a fi utilizată în procesoare multi-core pentru sistemele
încorporate. Fiecare XCore execută până la opt fire simultane, fiecare fir având un set propriu de
registru, iar arhitectura susține direct comunicarea inter-fir și inter-core și diverse forme de
programare a firelor.

Arhitectura acceptă instrucțiuni native pentru o aritmetică lungă, inclusiv un singur ciclu 32
* 32 în instrucțiuni complete de precizie MACC de 64 biți, instrucțiuni CRC32 cu ciclu unic și alți
operatori DSP.Instrucțiunile DSP pot fi executate pe nucleele logice disponibile în fiecare placă
xCORE, cu o singură latență de ciclu, permițând integrarea DSP de mare viteză în modele xCORE,
alături de I / O, instrucțiuni de sincronizare și cod de aplicație.

Fiecare dispozitiv xCORE are una sau mai multe plăci. Fiecare placă are până la opt nuclee
logice independente pe 32 de biți care rulează paralel fără întrerupere de la alte miezuri. O placă
include, de asemenea, planificatorul xTIME, comutatorul xCONNECT, porturi și miezuri SRAM active
,sunt garantate un nivel minim de MIPS. Nucleele care sunt inactive, nu sunt programate pentru
resursa de procesare.

Mijloacele logice accesează direct instrucțiunile, spre deosebire de microcontrolerele


tradiționale care utilizează maparea memoriei. Toate instrucțiunile completează un singur ciclu de
bază sau întreruperi a nucleului.

Miezurile sunt declanșate de evenimente care sunt gestionate de programatorul xTIME.


Evenimentele care apar la pinii I / O sunt alimentate direct către un nucleu de porturile
HardwareResponse ™.Evenimentele pot fi, de asemenea, generate de cronometre, sarcini și sunt
întreținute de planificator, cu un comportament garantat.

2
Avantajele abordării XMOS includ:

 Timpul de răspuns la evenimente este îmbunătățit dramatic (în coroborat cu arhitectura


xCORE multi-core).
 Justificarea celui mai rău timp de execuție (WCET) ,codul nu poate fi întrerupt în timpul
executării acestuia.

Testele independente arată că un dispozitiv xCORE poate răspunde la evenimente singulare


în interval de 10ns și poate gestiona mai multe evenimente asincrone în timp real într-un timp de
răspuns cel mai rău de 100ns. Acest lucru este de 100 de ori mai rapid decât sistemele convenționale
în timp real și, în mod critic, la sisteme mai mari și mai integrate.

Pinii GPIO ai dispozitivului xCORE sunt gestionați prin logica portului, care poate conduce în
mod eficient pini externi de înaltă și joasă și valori de eșantion. Porturile sunt disponibile în diferite
lățimi (1/4/8/16 / 32bit), în funcție de pachetul dispozitivului. Acestea sunt conduse de ceasuri sau
cronometre, iar datele pot fi tamponate, serializate și marcate cu timp.

Dispozitivele xCORE pot comunica cu interfețe rapide și complexe, care nu ar fi posibile


utilizând tehnicile standard de bitbanging impuse de alte microcontrolere.

Pe lângă rularea aplicațiilor paralele în timp real,Microcontrolerele XMOS permit ca


protocoalele complexe de I / O și combinațiile de periferice să fie implementate prin intermediul
porturilor dintr-un singur dispozitiv.

Sistemul de memorie xCORE este integrat cu planificatorul xTIME și este pe deplin


determinist:

• Fiecare placă conține memorie locală de 64KB, partajată între toate nucleele de pe acea
placă pentru cod și date.

3
• Fiecare nucleu are un slot pentru a accesa memoria într-un singur ciclu; nu există o cerință
pentru un cache.

• Sarcini sincronizate pot partaja structuri de date în memoria locală sau pot transmite date
direct altor sarcini.

• Sarcini comunică explicit cu FLASH / SDRAM extern utilizând porturile I / O, separate de


memoria locală a plăcilor; nu este necesar un manager de memorie suplimentar.

• Sarcini pe dale diferite comunică prin intermediul canalelor de comunicare inter-sarcină


prin comutatorul xCONNECT.

• Fiecare placă are, de asemenea, o memorie de 8KB ,programabilă o singură dată pentru
codul de boot securizat și cheile de criptare.

Memoria este :

 OTP : xCORE integrează o memorie programabilă o dată (OTP) de 8 KB ,împreună cu un


registru de securitate care configurează caracteristicile de securitate la nivel de sistem. OTP
deține date în patru sectoare, fiecare conținând 512 rânduri de 32 de biți, care pot fi folosite
pentru implementarea încărcărilor de boot sigure și pentru stocarea cheilor de criptare.
Datele suplimentare din OTP sunt copiate de la OTP la SRAM și executate mai întâi pe
procesor.
 SRAM : integrează o singură placă SRAM de 256 KB pentru date și instrucțiuni. Toată
memoria internă are o lățime de 32 biți, iar instrucțiunile sunt de 16 biți sau 32 de biți. Sunt
acceptate octeți (8 biți), jumătate de cuvânt (16 biți) sau un cuvânt (32 de biți) și sunt
executate în cadrul unui ciclu de ceas. Nu există o interfață de memorie externă dedicată,
deși memoria de date poate fi extinsă prin utilizarea adecvată a porturilor.

4
Clock:

Pini:

Tema 3: Sa se analizeze DSP-ul din punct de vedere software, analizandu-se setul de


instructiuni din foile de catalog. Se vor preciza: numarul de instructiuni, clasificarea acestora( pe
grupe clasice, de transfer, prelucrare si control), sintaxa unei instructiuni si moduri de adresare (se
va lista tablul cu instructiuni).

O bibliotecă xCORE DSP include funcții pentru:

• Filtre adaptive
• Filtrarea
• Matematică de bază și matrice
• Statistici
• Vectori
• FFT-uri și FFT inverse
• Eșantionarea și supraestimarea

Cele mai multe instrucțiuni sunt de 16 biți, în timp ce câteva au codificare pe 32 de biți.
Instrucțiunile pot folosi între zero și șase operanzi. Cele mai frecvente operații aritmetice (cum ar fi
ADD, SUB, MULT) sunt trei instrucțiuni operand pe baza unui set de 12 registre cu scop general.

5
Forma unei intrucțiuni este deteminată de al patru-lea cel mai semnificativ bit:

 00__: înregstrare operanzi (8 opcodes)


 0100: înregstrare operanzi (2 opcodes)
 0101: înregistrare + 6-bit imediat (4 opcodes, 16 înregistrări permise)
 0110: înregistrare + 6-bit imediat (4 opcodes, 16 înregistrări permise)
 0111: înreistrare + 6-bit imediat (4 opcodes, 12 înregistrări permise)
 10__: înregstrare operanzi (8 opcodes)
 1100: înregstrare operanzi (2 opcodes)
 1101: 10-bit imediat (4 opcodes)
 1110: 10-bit imediat (4 opcodes)
 1111: Prefix opcodes:
 111100: 10 biți suplimentari immediați, pregătiți înaintea instrucțiunilorbiților 6 sau 10.
 11111: trei operanzi în plus față de operazii următoarei instrucțiuni de înregistrare.

6
Bibliografie

1. https://en.wikipedia.org/wiki/XMOS
2. http://www.xmos.com
3. http://www.xmos.com/download/private/xCORE-Architecture-Flyer%281.3%29.pdf
4. http://www.xmos.com/download/private/xCORE-Architecture-Flyer%281.3%29.pdf
5. http://www.xmos.com/products/silicon/xcore-200
6. http://www.xmos.com/download/private/xCORE-200-XE-Product-
Brief%281.3%29.pdf
7. http://www.xmos.com/download/private/xCORE-200-XU-Product-
Brief%281.3%29.pdf
8. https://en.wikipedia.org/wiki/XCore_Architecture

S-ar putea să vă placă și