打印

关闭DMA与关闭McBSP的区别

[复制链接]
1215|12
手机看帖
扫描二维码
随时随地手机跟帖
沙发
dengdc| | 2014-11-1 14:35 | 只看该作者
在通信领域,为了充分利用DSP的片上外设资源,常常利用DMA把从串口来的数据或要发的数据放入缓冲区,再处理。对DMA而言,只要其在数据缓冲区的指针指向了中断应发生的位置,就产生中断。但此时最后一个数据只是进入了McBSP而并未真正发出去,所以在传送结束的中断程序中只能关闭DMA不能关闭McBSP。

使用特权

评论回复
板凳
heweibig| | 2014-11-1 14:38 | 只看该作者
嗯,因为此时McBSP的发寄存器DXR中还有一个字没有发出。

使用特权

评论回复
地板
wuhany| | 2014-11-1 14:39 | 只看该作者
McBSP串口配置的关键时序

使用特权

评论回复
5
jiahy| | 2014-11-1 14:40 | 只看该作者
主要是寄存器SPCR2的配置:在保持RRST、XRST、FRST各位为0的前提下,配置好其它串口控制寄存器。等待至少2个CLKR/T时钟以确保DSP内部的同步。

使用特权

评论回复
6
jiahy| | 2014-11-1 14:40 | 只看该作者
可以向DXR装载数据或使能DMA。

使用特权

评论回复
7
jiajs| | 2014-11-1 14:42 | 只看该作者
使能GRST(GRST=1)(如果需要DSP内部产生采样时钟)。

使用特权

评论回复
8
jiajs| | 2014-11-1 14:42 | 只看该作者
使能RRST或XRST,注意此时要保证SPCR中仅有此一位发生改变。

使用特权

评论回复
9
wuhany| | 2014-11-1 14:44 | 只看该作者
使能FRST(FRST=1)(如果需要DSP内部产生帧同步)。

使用特权

评论回复
10
wuhany| | 2014-11-1 14:44 | 只看该作者
等待2个R/T CLK时钟周期后,收或发端便会有效。

使用特权

评论回复
11
zhaoxqi|  楼主 | 2014-11-1 14:46 | 只看该作者
呵呵,你们讨论挺开心啊

使用特权

评论回复
12
zhaoxqi|  楼主 | 2014-11-1 14:46 | 只看该作者
结贴了哈,周末愉快

使用特权

评论回复
13
huangfeng33| | 2014-11-21 12:38 | 只看该作者
在中断程序中先关闭McBSP的发送,使READY=0,随后在程序中发送使能DMA,再打开McBSP的发送即可。如先打开McBSP的发送后打开DMA,也是不会工作的...................................

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

808

主题

10636

帖子

4

粉丝