注册 登录
查看: 627|回复: 4

鹰眼摄像头的问题

[复制链接]
发表于 2013-5-14 13:37:35 | 显示全部楼层 |阅读模式
被迫要改芯片了,想问下冷火的芯片能不能用鹰眼啊?
回复

使用道具 举报

发表于 2013-5-14 19:21:25 | 显示全部楼层
我们没用过冷火系列,不知道他的DMA 能否支持
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-14 21:10:44 | 显示全部楼层
Admin 发表于 2013-5-14 19:21
我们没用过冷火系列,不知道他的DMA 能否支持

好吧。那我就来钻研钻研。。理论上应该是可行的吧。。
回复 支持 反对

使用道具 举报

发表于 2014-1-13 09:01:05 | 显示全部楼层
楼主,加个好友吧,我也正研究咋用冷火连鹰眼呢!
回复 支持 反对

使用道具 举报

发表于 2014-1-13 09:18:14 | 显示全部楼层
路子 发表于 2014-1-13 09:01
楼主,加个好友吧,我也正研究咋用冷火连鹰眼呢!

质子一号  已经把 代码 发出来的

事实证明,冷火的dma是可以用来采集摄像头图像的。
使用的是dtim触发dma请求。
下面是dma初始化代码

/*********************************% 质子一号 %*************************************
* 实现功能     : 初始化摄像头的dma与中断模块。
* 备注          :  dtin0触发dma请求
**********************************************************************************/
void Ov7725_exti_Init()
{

MCF_GPIO_PTIPAR = 0x00;      // 配置PTI为普通IO   
    MCF_GPIO_DDRTI = 0x00;    // 设置PTI为输入
//行、场中断
init_irq(3);//行中断
init_irq(5);//场中断

//DMA 配置
MCF_GPIO_PTCPAR |= MCF_GPIO_PTCPAR_DTIN0_DTIN0;  //DTin0

MCF_DMA0_DSR |= MCF_DMA_DSR_DONE;
/* Enable DMA master access in both supervisor and user mode */
MCF_SCM_MPR = MCF_SCM_MPR_MPR(0x05);
//dtim0 trigger DMA0
MCF_SCM_DMAREQC = MCF_SCM_DMAREQC_DMAC0(0x4);

MCF_DMA_SAR(0) = (uint32)CAMERA_ADDRESS;     
MCF_DMA_DAR(0) = (uint32)IMG_BUFF;            
MCF_DMA_BCR(0) = CAMERA_DMA_NUM;
MCF_DMA_DCR(0) = //MCF_DMA_DCR_INT   //不触发DMA中断
        MCF_DMA_DCR_SSIZE(1)    //ssize : byte   
      | MCF_DMA_DCR_DSIZE(1)    //dsize : byte
      | MCF_DMA_DCR_DINC     //目的地址自增
       //| MCF_DMA_DCR_SINC     //源地址保持不变
      | MCF_DMA_DCR_D_REQ    //传输完毕后,关闭dma请求
      | MCF_DMA_DCR_EEXT     //外部触发dma
      | MCF_DMA_DCR_CS;   //一个请求触发一次

//DTMR 配置   
MCF_DTIM0_DTMR =  0;    //清空dtmr寄存器

MCF_DTIM0_DTMR = MCF_DTIM_DTMR_CE_RISE //上升沿捕捉
                             | MCF_DTIM_DTMR_CLK_DIV1;   //使用系统时钟sysclk;
   
MCF_DTIM_DTXMR(0) |=  MCF_DTIM_DTXMR_DMAEN;   //dma请求使能

//MCF_DTIM_DTXMR(0) |=  MCF_DTIM_DTXMR_HALTED;  //挂起状态停止计数
   
//MCF_DTIM_DTXMR(0) &=  ~MCF_DTIM_DTXMR_MODE16;
  
//MCF_DTIM_DTMR(0) &=  ~MCF_DTIM_DTMR_FRR;  //Restart  

//MCF_DTIM_DTMR(0) |=  MCF_DTIM_DTMR_OM;   //OutputMode

MCF_DTIM_DTMR(0) |= MCF_DTIM_DTMR_PS(0x5);

      //启动DTMR  
    MCF_DTIM_DTMR(0) |= MCF_DTIM_DTMR_RST;

}



MCF_DTIM_DTMR(0) |= MCF_DTIM_DTMR_PS(0x5);    这句代码是可以注释掉的,用于对时钟进行分频。有没有都一样。
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回列表 返回顶部