您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF518图像采集
本帖共有1913个阅读者
发表帖子 发表投票 回复主题
BF518图像采集
unconscious(论坛新手)
unconscious
头衔:社区公民
帮派:无帮无派
帖数:67
金钱:746
积分:86
注册时间:2013/8/2
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF518图像采集
你好!因为后面生产时需要标定图像,请问BF518的PPI采集到的图像如何实时传输显示在PC上?我现在用的串口打印,速度太慢。是不是可以用wifi,但不明白怎么用?谢谢~

^_^
等级:论坛新手 参考IP地址:*.*.*.*
2014/4/4 14:40:47
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
可以用wifi,存在的技术点大概包括:wifi模块与DSP的匹配,驱动;网络协议以及上位机接收软件。

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2014/4/4 15:29:02
lvben5d(论坛新手)
lvben5d
头衔:社区公民
帮派:无帮无派
帖数:61
金钱:672
积分:89
注册时间:2014/3/24
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
wifi模块 我有朋友以STM32为控制器做了SPI转WIFI的功能,速率达到4MB/S 估计你的视频流不行啊。图片还凑合。

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2014/4/4 16:33:39
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
如果你有能力的话,可以用网口,不过比较麻烦,PC端也要有软件支持。
还有就是你可以用EBIU接口扩展一个EBIU接口的彩色显示屏,这样可以把PPI采到的图像实时显示在屏上

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2014/4/8 22:43:03
unconscious(论坛新手)
unconscious
头衔:社区公民
帮派:无帮无派
帖数:67
金钱:746
积分:86
注册时间:2013/8/2
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

恩,谢谢各位,这个是后续的工作,到时候再研究~

请教个问题,SDRAM-->DMA-->UART输出,寄存器*pDMA9_START_ADDR = TxBuf,设置的是SDRAM来的数据输入地址,DMA的输出地址怎么设置呢?


^_^
等级:论坛新手 参考IP地址:*.*.*.*
2014/4/9 16:17:40
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
输出地址不需要设置,每个DMA通道都对应一个专用的接口。 在不配置时,默认关系如下:
上传的图片
  20144111013873.jpg [ 56.25 KB 482×597 ] (缩略时请点击查看原图)

 


当你使用DMA9时,这个数据默认会通过UART接口发送。你可以通过DMAx_PERIPHERAL_MAP寄存器对其功能进行配置。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2014/4/11 10:14:42
unconscious(论坛新手)
unconscious
头衔:社区公民
帮派:无帮无派
帖数:67
金钱:746
积分:86
注册时间:2013/8/2
6信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

明白了。谢谢andy。

下面是我UART_DMA9的中断设置。我在主函数中加上Init_DMA9_UART之后,PPI的DMA就不能进了,不是应该DMA0的优先级会高于DMA9吗?这里应该怎么设置呢?

void Init_DMA9_UART(void)
{
    *pDMA9_CONFIG = WDSIZE_8 | DI_EN | SYNC;
    ssync;
    *pDMA9_START_ADDR = TxBuf;
    ssync;
    *pDMA9_X_COUNT = 5776;  
    ssync;
    *pDMA9_X_MODIFY = 1;  
    ssync;
    *pDMA9_PERIPHERAL_MAP = 0x9000;
    ssync;
}
void Init_DMA9_Interrupt(void)
{
    *pSIC_IAR2 = 0x1fffffff ;            
    register_handler(ik_ivg10, DMA9_UART_ISR);  
    *pSIC_IMASK0 =1<<23;
    ssync();
}


^_^
等级:论坛新手 参考IP地址:*.*.*.*
2014/4/15 16:40:12
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
7信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
blackfin的中断不能通过中断等级完全解决。如果一个中断太频繁,其他的中断就进不去了,解决方法是,你需要哪个中断,就使能哪个,尽量不要同时使能。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2014/4/15 19:11:47
unconscious(论坛新手)
unconscious
头衔:社区公民
帮派:无帮无派
帖数:67
金钱:746
积分:86
注册时间:2013/8/2
8信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

你好  谢谢    

下面是URAT0_TX的DMA9以及中断的配置

void Init_DMA_UART(void)
{    
        *pDMA9_START_ADDR = TxBuf;
        ssync;
        *pDMA9_X_COUNT = 722;  
        ssync;
        *pDMA9_X_MODIFY = 1;
        ssync;
        *pDMA9_PERIPHERAL_MAP = 0x9000;
        ssync;
        *pDMA9_CONFIG = WDSIZE_8 | DI_EN | DMAEN | SYNC;
        ssync;

}

void Init_DMA9_Interrupt(void)
{
    *pSIC_IAR2 = 0x1fffffff ;            
    register_handler(ik_ivg10, DMA9_UART_ISR);  
    *pSIC_IMASK0 =1<<23;
    ssync;
}
EX_INTERRUPT_HANDLER(DMA9_UART_ISR)
{
      *pDMA9_IRQ_STATUS = 0x1;  
      Disable_DMA_UART();
      
      *pUART0_GCTL &= ~UCEN;
}

主函数中

    if(*pUART0_LSR & THRE)
    {
        Init_DMA_UART();
    }    

可以通过 Init_DMA_UART()打印出数据了   但是会一直输出   在里面一直循环  不进中断  不明白需要怎么设置?  



「该帖子被 unconscious 在 2014-04-18 15:20:25 编辑过」

^_^
等级:论坛新手 参考IP地址:*.*.*.*
2014/4/18 13:45:15
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
9信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
插播广告:OpenADSP开源社区提供ADI DSP芯片,开发板,仿真器及技术支持服务,BF518芯片现货,有需要可联系OP,QQ:5516164,加好友注明来“ADI”

你们继续。

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2014/4/18 15:59:59
13
1
1/2
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159269 Call, 1 Queries, Processed in 0.031250 second(s),