关闭DMA与关闭McBSP的区别

[复制链接]
726|11
 楼主| zhaoxqi 发表于 2017-8-13 21:01 | 显示全部楼层 |阅读模式
关闭DMA与关闭McBSP的区别
dengdc 发表于 2017-8-13 21:03 | 显示全部楼层
在通信领域,为了充分利用DSP的片上外设资源,常常利用DMA把从串口来的数据或要发的数据放入缓冲区,再处理。对DMA而言,只要其在数据缓冲区的指针指向了中断应发生的位置,就产生中断。但此时最后一个数据只是进入了McBSP而并未真正发出去,所以在传送结束的中断程序中只能关闭DMA不能关闭McBSP。
heweibig 发表于 2017-8-13 21:04 | 显示全部楼层
嗯,因为此时McBSP的发寄存器DXR中还有一个字没有发出。
wuhany 发表于 2017-8-13 21:08 | 显示全部楼层

McBSP串口配置的关键时序
jiahy 发表于 2017-8-13 21:11 | 显示全部楼层

主要是寄存器SPCR2的配置:在保持RRST、XRST、FRST各位为0的前提下,配置好其它串口控制寄存器。等待至少2个CLKR/T时钟以确保DSP内部的同步。
jiahy 发表于 2017-8-13 21:13 | 显示全部楼层
可以向DXR装载数据或使能DMA。
jiajs 发表于 2017-8-13 21:17 | 显示全部楼层

使能GRST(GRST=1)(如果需要DSP内部产生采样时钟)。
jiajs 发表于 2017-8-13 21:21 | 显示全部楼层
使能RRST或XRST,注意此时要保证SPCR中仅有此一位发生改变。
wuhany 发表于 2017-8-13 21:23 | 显示全部楼层
使能FRST(FRST=1)(如果需要DSP内部产生帧同步)。
wuhany 发表于 2017-8-13 21:27 | 显示全部楼层
等待2个R/T CLK时钟周期后,收或发端便会有效。
zhanghqi 发表于 2017-8-13 21:29 | 显示全部楼层
在中断程序中先关闭McBSP的发送,使READY=0,随后在程序中发送使能DMA,再打开McBSP的发送即可。如先打开McBSP的发送后打开DMA,也是不会工作的...................................
 楼主| zhaoxqi 发表于 2017-8-13 21:31 | 显示全部楼层
嗯,预料中的结果,先结贴吧,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

808

主题

10636

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部