Achizitii de date cu ajutorul unei interfete SOUNDBLASTER
Intoducere
În acest document este descris un program în C/C++ de achizitii de date cu ajutorul unei interfete SOUNDBLASTER, si prelucrarea semnalelor care permit:
calculul functiilor de autocorelatie
calculul functiilor de intercorelatie
Principiul functionarii
Programul foloseste o placa SOUNDLBLASTER pentru achizitionarea semnalelor, semnalul analogic (continuu) este convertat în semnal digital (discret), care este prelucrat de program care realizeaza functiile cerute.
Cerinte
Calculator >386
OS: DOS >6.20 (Win9x,Win XP,NT,2000)
Placa SOUNDBLASTER
Monitor VGA
Programul a fost testat pe un sistem cu OS: Win98, SVGA, placa de sunet C-Media Inc.8330 (compatibil SB16), pe acest sistem programul functioneaza stabil.
Descriere program
Programul principal 123.exe,utilizeaza biblioteca grafica egavga.bgi.Are ca argument 0,1,2:
0 – doar osciloscop
1 – osciloscop + fct. de autocorelatie
2 – osciloscop +fct. de intercorelatie
În program sunt utilizate:
IRQ,DMA,VGAPAGEFLIP.etc
Programul foloseste o placa SOUNDBLASTER pentru achizitionarea semnalelor
Semnalul analogic este aplicat la intrarea de microfon a placii SOUNDBLASTER.
Semnalul analogic (continuu) este convertat în semnal digital (discret) de CAN din placa SOUNDBLASTER. Structura principial este reprezentat în Figura 1:
Programul foloseste acest convertor analog-digital pe 8 biti.(În cazul SB16 acest convertor este pe 16 biti dar se poate folosi si pe 8 biti)
Transferul de date se face prin DMA.
Pentru a functiona corect pentru placa SOUNDBLASTER trebuie sa fie setat urmatorii parametrii:
Adresa de baza 0x220
IRQ 5
DMA 1
Programul nu detecteaza automat setarile, daca placa SOUNDBLASTER are alte parametrii trebuie modificat fisierul sbaster.h,dma_mem.c
Programarea unitatii DSP (Digital Signal Processor) din placa SOUNDBLASTER,se face prin porturi.
Porturile placii SOUDBLASTER
Tabel 1:
02x00h C/MS 1-6 - Data Port