3921|4

92

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

Dsp中EDMA传输 [复制链接]

我是个初学者,在dsp中用EDMA传输数据,那位能解释下数据传输的流程吗?

最新回复

数据以文本形式存在计算机中,我想应该采用文件读写到一个数组中然后最后要在DSP中对数据进行处理。 是不是还要设置一个地址L2缓存,就可以把数据放到缓存中,然后对他进行处理。  详情 回复 发表于 2010-5-29 11:40
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
不知道,楼主有没有用过DMA,EDMA是增强的DMA,它们的流程都差不多,只不过,触发方面有点不同,EDMA是RAM结构的。
配置通道,配置源地址目标地址,配置通道传输相关的信息,然后是否开启中断,事件处理等。。。就可以开始传输了。
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
CSL_init();
/* DSP调用芯片支持库初始化*/
IRQ_nmiEnable();
/* enable NMI and GI */
IRQ_globalEnable();
IRQ_setVecs(vectors);
/* point to the IRQ vector table */
   IRQ_reset(IRQ_EVT_EDMAINT);
//禁止、清除相应的中断
EDMA_clearPram(0x00000000);
// 清除所有EDMA的配置RAM 区

hEdma12 = EDMA_open(EDMA_CHA_XEVT0, EDMA_OPEN_RESET);
//开启发送通道Channel 12 ,得到句柄
hEdma13 = EDMA_open(EDMA_CHA_REVT0, EDMA_OPEN_RESET);
//开启接收通道Channel 13 ,得到句柄
hMcbsp0 = MCBSP_open(MCBSP_DEV0, MCBSP_OPEN_RESET);
//打开通道 channel 0
    ConfigEDMA();
   
IRQ_enable(IRQ_EVT_EDMAINT);
//使能EDMA中断
EDMA_intEnable(12);
//EDMA通道使能.enable EDMA int (CIER)  
    EDMA_intEnable(13);
EDMA_enableChannel(hEdma12);
//使能发送通道,事件使能寄存器( EER) 的bit12 置1
EDMA_enableChannel(hEdma13);
//使能发送通道,事件使能寄存器( EER) 的bit12 置1
     
ConfigMcBSP();
MCBSP_enableSrgr(hMcbsp0);
//使能采样率发生器,置GRST = 1

for (waittime=0; waittime < 0xFF; waittime++);
//应该是轮询检测XRDY和RRDY状态位,向发送寄存器写入待发送的数据,检查是否已经收到数据
MCBSP_enableXmt(hMcbsp0);
//使能发送器
MCBSP_enableRcv(hMcbsp0);
//使能接收器
MCBSP_enableFsync(hMcbsp0);
//使能帧同步信号发生器,置FRST = 1

        IRQ_disable(IRQ_EVT_EDMAINT);
    EDMA_RSET(CIER, 0x0);
MCBSP_close(hMcbsp0);
/* close McBSP 0 */
EDMA_close(hEdma12);
/* close EDMA 12 */
EDMA_close(hEdma13);
/* close EDMA 13 */
}
这段程序是我找的,我把他们注释了,我想知道是在打开EDMA通道之前就发送数据到McBSP了吗?
在IRQ_disable(IRQ_EVT_EDMAINT)之前传输数据,必须是在一个死循环中等待中断吗?

 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

4
 
我想知道是在打开EDMA通道之前就发送数据到McBSP了吗?看代码应该是,我想问你,你的数据时从什么地方搬到什么地方,然后用mcbsp输出到哪里去?

第二问,不用死循环等待,你可以做其他事情,EDMA传输完,会自动进入中断,因为你打开中断了。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

5
 
数据以文本形式存在计算机中,我想应该采用文件读写到一个数组中然后最后要在DSP中对数据进行处理。
是不是还要设置一个地址L2缓存,就可以把数据放到缓存中,然后对他进行处理。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表