Documente Academic
Documente Profesional
Documente Cultură
DE SEMNALE
CURS
Arhitectura procesoarelor
numerice de semnal din
familia Blackfin
Autor: Toma Ștefan-Adrian
Cuprins
◼ Sistemul de întreruperi
◼ Sistemul pentru acces direct la memorie
◼ Micro Signal Architecture – studiu de caz BF 533/537
◼ Aplicații în timp real – bare-metal
Sistemul de întreruperi
POOLING ÎNTRERUPERI
Programul așteaptă date (ex. Dispozitivul trimite un semnal
buclă) de la un dispozitiv (ex. către procesor, atunci când are
tastatură). datele disponibile.
Terminologie
canal DMA: cale prin care un dispozitiv transferă date în/din
memorie.
controller DMA: dispozitiv hardware pentru controlul transferurilor
de tip DMA
Single-cycle mode: transfer DMA octet cu octet
Burst-mode: transfer DMA este considerat încheiat atunci când toate
datele au fost transmise.
Direct Memory Access
Micro Signal Architecture
https://www.analog.com/en/products/landin
g-pages/001/blackfin-processor-
roadmap.html
Arhitectura BlackFin
Familia BlackFin - Nucleul de calcul
Familia BlackFin - UAC
• Două multiplicatoare pe 16 biţi;
• Două acumulatoare pe 40 biţi (ACC0 şi ACC1), fiecare compus din (A0.L, A0.H), şi respectiv (A1.L,
A1.H) +
+ 8 biţi de extensie (A0.X, A1.X);
• Două unităţi aritmetice şi logice (ALU) pe 40 de biţi care execută operaţii de multiplicare/
acumulare;
• Patru ALU pe 8 biţi pt. semnale video, operaţii de adunare, scădere, funcţii logice (AND, OR, XOR,
NOT);
• O unitate de deplasare pe 40 de biţi (barrel shifter);
• 8 regiştri de date (R0 – R7) pe 32 biţi sau 16 regiştri pe 16 biţi independenţi (R0.L – R7.L şi R0.H –
R7.H).
Operații aritmetice pentru generarea
adreselor
• Adresarea se face la nivel de octet (Byte) în general
• La nivel de cuvânt (16 sau 32 biţi) : regiştrii de adresare (pointers): P0 – P5
• Unitatea de adresare conţine:
DAG0 şi DAG1 – Data Address Generators (pot lucra simultan)
Regiştri adresă de uz general pe 32 de biţi (P0 – P5);
Regiştri pe 32 de biţi pentru generare de adrese:
Regiştri de tip index (I0-I3)
Regiştri de modificare (M0-M3)
Regiştri de adresă a bazei (B0-B3)
Regiştri de lungime a buffer-elor circulare (L0-L3)
Operații aritmetice pentru generarea
adreselor
Adresare indirectă (little endian): ex. R0=[P0];
Operaţii aritmetice pentru generarea
adreselor
Buffer circular: 0xFF80 0000 - 0xFF80 002B (44 octeţi sau 11 cuvinte pe 32 biţi)
Inițializări:
registrul de bază B0=0xFF80 0000;
registrul de index inițializat cu aceeași valoare I0=0xFF80 0000;
lungimea buffer-ului circular L0=44;
registrul de modificare M0=16; octeţi (4 cuvinte)
Familia BlackFin - Nucleul de calcul
Structură ierarhică:
• common case fast
• reutilizare instrucțiuni recente
• mai mic mai rapid
Arhitectura BlackFin – sistemul de întreruperi
System Interrupt Controller
Core Event Controller
Arhitectura BlackFin (BF-533) - periferice
Aplicația Talkthrough
INTRARE
IEȘIRE
2 canale audio stereo
3 canale audio stereo
Baremetal, RTOS
Baremetal
• programatorul produce cod pentru gestionarea resurselor
hardware;
• există, de obicei, un proiect demonstrativ, de la care se poate
porni realizarea aplicației;
DMA - codec
while(1); Process_data
Interfața audio a plăcii EZ-KIT Lite BF537
Interfața audio a plăcii EZ-KIT Lite BF533
SPY
ess pee eye
AD1836
Interfața audio a plăcii EZ-KIT Lite BF533
• În modul TDM, codecul poate lucra la maxim 48 kHz, dar pot fi utilizate toate intrările și
ieșirile simultan.
• În modul TWI, codecul poate lucra la 96 kHz, dar pot fi utilizate numai 2 canale de ieșire.
Pinii TSCLK0 și RSCLK0 și respectiv TFS0 și RFS0 sunt conectați împreună extern în afara
procesorului. Aceasta se realizează prin comutatorul SW9.
Interfața audio a plăcii EZ-KIT Lite BF533
ADC L0
ADC R0
ADC L1
ADC R1
8 TS 8 TS
DMA DMA
IRQ
Prelucrare
date
8 TS
Temă
Process data
Generator sinus în timp real
Process data
Generator sinus în timp real
Process data
Întrebări