您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> [求助]Blackfin533的调用DMA0来接收PPI接口... 
本帖共有676个阅读者
发表帖子 发表投票 回复主题
[求助]Blackfin533的调用DMA0来接收PPI接口接收的数据,DMA0中断进不去是什么情况啊?
HADIST(论坛新手)
HADIST
头衔:社区公民
帮派:无帮无派
帖数:3
金钱:132
积分:4
注册时间:2013/5/20
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]Blackfin533的调用DMA0来接收PPI接口接收的数据,DMA0中断进不去是什么情况啊?
如题,不知道是什么问题,PPI初始化函数如下:
void init_ppi(void)
{
    *pPPI_CONTROL = 0x3800 |  0x000C ;  //PPI接收模式  Data Length 16bits,

    //*pPPI_DELAY   = 0x0001;
    *pPPI_DELAY   = 0x0;     //0 clock delay after FS assertion
    
*pPPI_COUNT   = RECEIVE_BUFFER_SIZE+1;// (512*100)
    //*pPPI_COUNT   = RECEIVE_BUFFER_SIZE;
*pPPI_FRAME   = 0x0000;
    
   //initialize the DMA channel for PPI
  
  
   //last_word_pointer   =   *last_word_pointer;  
  
*pDMA0_CONFIG =  0x0020 | WDSIZE_16 | WNR | DI_EN;  //WNR表示存储器写
short *receive_pointer;
receive_pointer = sPPI_RxBuffer1+(RECEIVE_BUFFER_SIZE)*stored_data_times+8+data_left_length/2;
//receive;
*pDMA0_START_ADDR   = (void*)(receive_pointer);
*pDMA0_X_MODIFY = 2;
*pDMA0_X_COUNT = RECEIVE_BUFFER_SIZE+1;
//*pDMA0_X_COUNT = RECEIVE_BUFFER_SIZE;
asm("ssync;");
}

void start_ppi(void)
{
*pDMA0_CONFIG = *pDMA0_CONFIG | DMAEN ;
asm("ssync;");

*pPPI_CONTROL = *pPPI_CONTROL | PORT_EN;
asm("ssync;");
}



「该帖子被 HADIST 在 2013-05-20 10:23:48 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/5/20 10:22:23
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
通常PPI进不了中断,主要有以下几点:
1. PPICLK和行、场同步信号缺少。请用示波器确认这些信号存在并且波形正常。
2. 设置采集的参数大于图像实际的参数,如你一行设置采1000个点,实际信号一行只有800个点,这样永远达不到采集完成的条件,导致DMA无法完成采集,请确认。
3. PPI时序配置错误,PPI寄存器中的POLC位和ALT_TIMING位控制采集的时序,可以将几种情况都尝试一下。
4. DMA或PPI其他寄存器配置错误,你可以参考www.openadsp.com上 下载专区中的CMOS代码的配置。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/5/20 10:33:28
HADIST(论坛新手)
HADIST
头衔:社区公民
帮派:无帮无派
帖数:3
金钱:132
积分:4
注册时间:2013/5/20
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
都OK的  还是不行

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/5/20 23:41:27
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159171 Call, 1 Queries, Processed in 0.015625 second(s),