Anleitung - HAW Hamburg

Transcription

Anleitung - HAW Hamburg
HAW Hamburg
Fakultät TI
Technik und Informatik
Department Informations- und Elektrotechnik
Labor für Signalverarbeitung
Praktikum Digitale Signalverarbeitung
Digital Signal Processing Lab
Nutzung der DC-Signal-Ein- und Ausgänge DSK6713
Die Ein- und Ausgänge des DSK-Boards sind nicht für Gleichspannungen geeignet. Über die Mini-DINBuchse „DC IN – OUT“ auf dem Board kann ein Adapterkästchen angeschlossen werden, über das auch
Gleichspannung verarbeitet werden kann, z.B. zur Aufnahme von Sprungantworten.
Versuchsaufbau
Das Adapterkästchen ist mit einem separaten Kabel über die DIN-Buchse (Anschluß an Labortisch) mit den
benötigten Spannungen zu versorgen und wird über den Mini-DIN-Stecker mit dem DSK-Board verbunden.
Hinweis: Der Blindstecker, der in der Klinkenbuchse (MIC_IN) auf der DSK-Platine steckt, ist für die Nutzung notwendig
und darf nicht herausgezogen werden!
Ein- und Ausgabe der Signale
Genutzt werden der Eingang „DC IN“ (ein Kanal) und die Ausgänge „DC OUT“, „left“ und „right“ über die
BNC-Buchsen auf dem Adapterkästchen. Diese sind auf dem Board mit MIC_IN und HEADPHONE
verbunden.
Der Eingang MIC_IN wird fünffach verstärkt, daher darf der Signalpegel nur ein Fünftel betragen!
Dem Ausgangssignal ist ein Offset von 3,3 V /2 überlagert.
Erklärung: Der CODEC AIC23 arbeitet im Bereich 0 bis 3,3 V. Das Eingangssignal wird im Adapterkästchen
mit einem entsprechenden Offset versehen.
Programmanpassung in CCS
Um Signale über MIC_IN zu lesen, müssen folgende Registerinhalte geändert werden:
config.regs[4] = 0x14; // Mic boost OFF
config.regs[5] = 0x1; // ADC HP Filter OFF (wrong in docu C6713dskinit.h !!)
Diese beiden Zeilen werden entweder in main() direkt hinter DSK6713_init(); eingefügt oder, wenn die
Initialisierung ausgelagert ist, in der in das Projekt eingebundenen c6713dskinit.c.
Kup 24.11.2010
1/2
Beispiel für die Änderung main():
void main()
{
IRQ_globalDisable();
//disable interrupts
DSK6713_init();
//call BSL to init DSK-EMIF,PLL)
config.regs[4] = 0x14;
config.regs[5] = 0x1;
// Mic boost OFF
// ADC HP Filter OFF (wrong in docu C6713dskinit.h!!)
hAIC23_handle=DSK6713_AIC23_openCodec(0, &config);//handle(pointer) to codec
DSK6713_AIC23_setFreq(hAIC23_handle, fs); //set sample rate
MCBSP_config(DSK6713_AIC23_DATAHANDLE,&AIC23CfgData);//interface 32 bits toAIC23
MCBSP_start(DSK6713_AIC23_DATAHANDLE, MCBSP_XMIT_START | MCBSP_RCV_START |
MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC, 220);//start data channel again
CODECEventId= MCBSP_getXmtEventId(DSK6713_AIC23_DATAHANDLE);//McBSP1 Xmit
IRQ_map(CODECEventId, 5);
IRQ_reset(CODECEventId);
IRQ_globalEnable();
IRQ_nmiEnable();
IRQ_enable(CODECEventId);
IRQ_set(CODECEventId);
while(1);
//map McBSP1 Xmit to INT5
//reset codec INT5
//globally enable interrupts
//enable NMI interrupt
//enable CODEC eventXmit INT5
//manually start the first interrupt
//infinite loop
}
_________________________________________________________________________________
Beispiel für die Änderung in der c6713dskinit.c im Projektordner:
[…]
void c6713_dsk_init()
{
DSK6713_init();
config.regs[4] = 0x14;
config.regs[5] = 0x1;
//dsp-peripheral initialization
//call BSL to init DSK-EMIF,PLL)
// Mic boost OFF
// ADC HP Filter OFF
(wrong in docu C6713dskinit.h!!)
hAIC23_handle=DSK6713_AIC23_openCodec(0, &config); //handle(pointer) to codec
DSK6713_AIC23_setFreq(hAIC23_handle, fs);
//set sample rate
MCBSP_config(DSK6713_AIC23_DATAHANDLE,&AIC23CfgData); //interface 32 bits toAIC23
MCBSP_start(DSK6713_AIC23_DATAHANDLE, MCBSP_XMIT_START | MCBSP_RCV_START |
MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC, 220);//start data channel again
}
[…]
Kup 24.11.2010
2/2

Documents pareils