基于DSP的OFDM系统的设计
在进行中断处理是时,要注意执行的顺序,首先要保存原来的中断向量表,再清除原来的中断,然后将局部中断允许位开放(即关屏蔽位),开全局中断,最后将中断服务程序填入中断向量表。
old_intm = IRQ_globalDisable();
IRQ_clear(xmtEventId);
IRQ_enable(xmtEventId);
IRQ_setVecs(0x10000);
IRQ_plug(xmtEventId,&dmaXmtIsr);
在程序任务完成之后,还要记得还原中断,关掉Mcbsp和DMA。
MCBSP_close(hMcbspr);
DMA_close(hDmaRcv);
DMA_close(hDmaXmt);
DMA_stop(hDmaXmt);
IRQ_disable(xmtEventId);
DMA_stop(hDmaRcv);
IRQ_disable(rcvEventId);
在设定的控制字下,串口1将以CPU时钟频率的1/70发出帧定位信号,宽度为一个码元长度,上升沿有效,以帧定位 信号的1/80发出时钟定位信号(因为一帧有80个元素),也是上升沿有效,发送元素是32bit的数,这是因为发散的数据是复数,分为虚部和实部,先放 实部后放虚部,所以一个元素是32个bit。
串口2是接收端,接收外部帧同步信号和时钟同步信号用来同步。外部传来的各种信号和数据格式和串口1发送的相同,不过收的时钟定位信号是下降沿有效。
在DMA方面,通道4是发送通道,通道5是接收通道,同步事件分别是发送串口和接收串口,在一个数据串口接收到了后会发中断给DMA,使其接收数据或传下一个数据,所以在发端,需要手工先送一个数据过去。
3 性能分析
可靠性以外,速度是一个通信系统最重要的评估因素,而数据的处理速度在很大程度上限制了传输速度,成为了提高系统速 度的瓶颈。在设计中对系统传输由于是用DMA和Mcbsp的结合使用,