TI论坛
直播中

姬房有

7年用户 336经验值
私信 关注
[问答]

请教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("[audio TSK]: 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

回帖(5)

李波

2018-8-2 07:53:45
 
#1. 看一下手册的EDMA章节,了解EDMA的工作原理。
#2. 下面页面是关于不用OS的配置EDMA的示例:
http://processors.wiki.ti.com/index.php/Programming_EDMA_without_EDMA3LLD_package
#3. SEM_post是DSP BIOS的东西,不是一定要用,在不了解DSP BIOS之前还是先了解如何手动配置寄存器方式实现更直接。
#4. TI提供的Starterware里有EDMA的例程,可供参考与借鉴:http://processors.wiki.ti.com/index.php/StarterWare
 
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

姬房有

2018-8-2 08:06:18
引用: lifei639156 发表于 2018-8-2 07:53
 
#1. 看一下手册的EDMA章节,了解EDMA的工作原理。
#2. 下面页面是关于不用OS的配置EDMA的示例:

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

周润艺

2018-8-2 08:12:51
引用: lifei639156 发表于 2018-8-2 07:53
 
#1. 看一下手册的EDMA章节,了解EDMA的工作原理。
#2. 下面页面是关于不用OS的配置EDMA的示例:

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

李波

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

Bing,
首先不敢称为高手,会被真正的高手笑话的。你的DSP是哪一颗?我估且认为是C6748吧。
我看了图之后,你的HSTOBE是由HDS2来控制的,另外有两点疑问:
#1. HCNTL为什么是连续的变化?这是用来选择寄存器的,应该是0,0;1,1; 3,3,因为寄存器是32bit的,一个寄存器的访问分为高低16位两次访问。
#2. 没有看到HHWIL信号,这个信号在对同一个寄存器访问时是先高后低,用来选择高低16bit的。
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

更多回帖

发帖
×
20
完善资料,
赚取积分