TI中文支持网
TI专业的中文技术问题搜集分享网站

请教Tong Tang有关6748 eDMA传输的问题

Tong Tang       你好!请教你有关6748的EDMA传输(pingpong )的问题。
一、我的意图
1、McASP接口实现pingpong传输
2、实现pingpong传输完成中断
二、目前近展情况:
1、McASP接口配置完成 (也是在你的帮助下实现的) 2、AIC3106 CODEC配置正常
3、CPU方式读写McASP接口工作正常(通过AudioLineIn函数能正常播放音乐)
三、部分代码说明(详细代码请看附件)
void setup_edma_pingpong_xmt(void *src_ping, void *src_pong, void *dst,
Uint32 acnt, Uint32 bcnt);//设置发送的EDMA链
void setup_edma_pingpong_rcv(void *src, void *dst_ping, void *dst_pong,
Uint32 acnt, Uint32 bcnt)//设置接收的EDMA链
// setup codec and McASP
printf(": initializing audio device…");
I2C_init(I2C0, I2C_CLK_100K);
AIC3106_init();
MCASP_init();
还有一些不明白的代码也像你请教一下,我是从别的例程上看到的。
SEM_new(&xmt_ping_sem, 0);
SEM_post(&rcv_ping_sem);
SEM_pend(&rcv_ping_sem, SYS_FOREVER);
这些代码是不是有关多线程的,而且也找不到源头,究竟需要不需要这些代码呢。要是需要,我怎么用?
是不是要安装6748 BIOSPSP,我发现TI公司的edma3_lld_02_11_02_04这个文件,好像已经实现pingpong传输功能了,
只是苦于不会用,6748 BIOSPSP里面好多功能,就是不会用。有没有这方面的培训呀,我比较笨,看不懂。
四、调试情况
软件环境:CCS5.5 仿真器是合达众的560plus 片子型号:6748

Jiang YanJun:

回复 Tony Tang:

谢谢!按照你给的例程,搬数的问题已经解决了。再次表示感谢!

mallo:

回复 Tony Tang:

Tong Tang 

你好,觉得你是高手,想问你一个问题啊,我用FPGA控制DSP,用verilog编写HPI程序时,为什么HRDY信号总是低电平啊?不能写也不能读,这是怎么回事啊?我想的是只要HDRY正确了一切就好了,问题是我就接了一个礼拜了还找不到问题所在,求大神帮助,以下是时序图!

Tony Tang:

回复 mallo:

Bing,

首先不敢称为高手,会被真正的高手笑话的。你的DSP是哪一颗?我估且认为是C6748吧。

我看了图之后,你的HSTOBE是由HDS2来控制的,另外有两点疑问:

#1. HCNTL为什么是连续的变化?这是用来选择寄存器的,应该是0,0;1,1; 3,3,因为寄存器是32bit的,一个寄存器的访问分为高低16位两次访问。

#2. 没有看到HHWIL信号,这个信号在对同一个寄存器访问时是先高后低,用来选择高低16bit的。

mallo:

回复 Tony Tang:

非常感谢你的回复,我用的是c6416的,我用的是32位的所以不需要HHWIL信号,至于HCNTL我是先写HPIC(00)在写地址HPIA(01)在读刚写地址上的内容HPID(11),可是HRDY一直是低电平,你需要看看我的代码吗?

赞(0)
未经允许不得转载:TI中文支持网 » 请教Tong Tang有关6748 eDMA传输的问题
分享到: 更多 (0)