Digital Signal Processing Reference
In-Depth Information
...
void c6713_dsk_init()
//dsp-peripheral init
{
DSK6713_init(); //BSL to init DSK-EMIF,PLL
hAIC23_handle=DSK6713_AIC23_openCodec(0, &config);//handle to codec
DSK6713_AIC23_setFreq(hAIC23_handle, fs); //set sample rate
MCBSP_config(DSK6713_AIC23_DATAHANDLE,&AIC23CfgData);//32bits interface
MCBSP_start(DSK6713_AIC23_DATAHANDLE,MCBSP_XMIT_START | MCBSP_RCV_START
| MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC,220); //start data channel
}
void comm_poll()
//comm/init using polling
{
poll = 1;
//1 if using polling
c6713_dsk_init();
//init DSP and codec
}
void comm_intr()
//for comm/init using interrupt
{
poll = 0; //0 since not polling
IRQ_globalDisable(); //disable interrupts
c6713_dsk_init(); //init DSP and codec
CODECEventId=MCBSP_getXmtEventId(DSK6713_AIC23_codecdatahandle);//Xmit
...
IRQ_setVecs(vectors);
//point to the IRQ vector
IRQ_map(CODECEventId, 11);
//map McBSP1 Xmit to INT11
IRQ_reset(CODECEventId);
//reset codec INT 11
IRQ_globalEnable();
//globally enable interrupts
IRQ_nmiEnable();
//enable NMI interrupt
IRQ_enable(CODECEventId);
//enable CODEC eventXmit INT11
output_sample(0);
//start McBSP interrup out a sample
}
void output_sample(int out_data) //out to Left and Right channels
{
short CHANNEL_data;
AIC_data.uint=0; //clear data structure
AIC_data.uint=out_data; //32-bit data -->data structure
...
if(poll) while(!MCBSP_xrdy(DSK6713_AIC23_DATAHANDLE));//ready to Xmit?
MCBSP_write(DSK6713_AIC23_DATAHANDLE,AIC_data.uint);//write data
}
void output_left_sample(short out_data) //for output->left channel
{
AIC_data.uint=0; //clear data structure
AIC_data.channel[LEFT]=out_data; //data->Left channel->data structure
if(poll) while(!MCBSP_xrdy(DSK6713_AIC23_DATAHANDLE));//ready to Xmit?
MCBSP_write(DSK6713_AIC23_DATAHANDLE,AIC_data.uint);//out->leftchannel
}
void output_right_sample(short out_data) //for output->right channel
...
Uint32 input_sample() //for 32-bit input
{
short CHANNEL_data;
FIGURE 1.14. Partial listing of communication/initialization support program
( C6713dskinit.c ).
28
Search WWH ::




Custom Search