Documente Academic
Documente Profesional
Documente Cultură
===============================================
| Un bloc Multiply and Accumulate este un circuit
| combinational proiectat pentru eficientizarea
| operatiilor specifice prelucrarii numerice a
| semnalelor precum operatia de convolutie, FFT,
| filtre FIR.
| In cazul microprocesorului DSP BF537, operatiile
| de tip multiply and accumulate sunt efectuate
| de unitatea aritmetica pentru date prin
| circuite multiplicatoare pe 16 biti, si circuite
| sumatoare pe 40 de biti. Astfel, output-ul unui multiplicator cu 2 intrari
| pe 16 biti va avea 32b, devenind inputul unui sumator pe 40b.
| Cum suma a 2 numere pe 32b poate fi reprezentata pe 33b ,cei 40b ai sumatorului
| asigura posibilitatea efectuarii unui numar convenabil
| de multiplicari si insumari succesive.
|
| uDSP BF537 are 2 multiplicatoare 16b si 2 sumatoare 40b si poate efectua
| intr-un singur ciclu 2 operatii simultane pe 16 biti de MAC cu 2 output-uri pe 32
biti.
===============================================
| 2 fire.
| Avantaj: masuratoarea nu mai depinde de masa.
| Dezavantaj: folosesc 2 fire pentru un singur canal, ce ar trebui
torsadate sau ecranate.
|
| Convertorul AD din K60 implementeaza metoda de conversie analog numerica cu
aproximatie succesiva.
| ... merge dezvoltat cu numaraor + convertor DA + comparator (amplificator
operational) blabla.
==============================================
Ceva despre VDK. Ce primitive pune la dispozitie VDK pentru a-l ajuta pe
programator.
Trebuia sa prezinti pentru achizitia unor esantioane de la un adc parca.. sa zici
de semafoare, intreruperi..nu mai stiu
+
Aplicatia Inregistrare-Redare "Talk Through" folosind VDK
================================================================== //UPDATED1
| VDK pune la dispozitie:
| - fire de executie cu mecanisme de prioritizare si planificare
| - primitive de sincronizare (semafoare, zone critice si zone neplanificate)
| - mecanisme de comunicare intre firele de executie (mesaje)
|
| Exemplu de utilizare a primitivelor VDK in aplicatia TalkThrough:
| Rutina de callback a ADC face POST unui semafor cand un esantion e convertit.
Acestui semafor ii
| face PEND un thred InputThread care preia informatia de la ADC si o muta in
| memorie, intr-un InputBuffer, dupa care ii semnalizeaza unui thread ProcessThread
| ce locatii de memorie au fost scrise. ProcessThread proceseaza informatia si o
muta
| OutputBuffer, semnalizand thread-ul InputBuffer despre ce zone de memorie au fost
| consumate si pot fi rescrise. La randul lui, ProcessThread semnalizeaza mai
departe
| thread-ului OutputThread ce zone din OutputBuffer au fost scrise.
| OutputThread consuma buffer-ul de iesire semnalizand zonele eliberate, si face
POST
| unui semafor partajat cu rutina de callback a DAC, care il decrementeaza pe
masura
| ce converteste esantioanele.
==================================================================
De scris 2 numere in format din ala, gen 1.15(este in carte cica cum se face).
==================================================================
| 0.000 0000 0000 0000 -> 0
| 1.100 0000 0000 0000 -> -0.5 (CC2)
==================================================================