智能车制作

标题: 求解关于模拟索尼CCD摄像头怎么 触发DMA 用了外部AD [打印本页]

作者: wustyhj    时间: 2015-1-21 13:04
标题: 求解关于模拟索尼CCD摄像头怎么 触发DMA 用了外部AD
我用了外部AD用IO口直接读取 ,但想试试DMA ,但是不知道触发源怎么解决,有没有人做过的?

作者: Quixote    时间: 2015-1-21 16:35
触发源我用的像素中断

作者: wustyhj    时间: 2015-1-21 21:06
Quixote 发表于 2015-1-21 16:35
触发源我用的像素中断

模拟的没有像素中断吧

作者: 暗光    时间: 2015-4-24 22:06
wustyhj 发表于 2015-1-21 21:06
模拟的没有像素中断吧

有,1881视频分离出来有的

作者: 扫把小猪    时间: 2015-4-25 16:26
暗光 发表于 2015-4-24 22:06
有,1881视频分离出来有的

分离出的不是 场中断 和 行中断吗

作者: 扫把小猪    时间: 2015-4-25 16:28
暗光 发表于 2015-4-24 22:06
有,1881视频分离出来有的

我 现在用的片内AD采集 DMA传输 但是 DMA进不去中断 我用的是 ADC0做触发源 可以不这样
void dma_init()
{int data;

   SIM_SCGC6|=SIM_SCGC6_DMAMUX_MASK;//打开DMA多路复用器时钟
   SIM_SCGC7|=SIM_SCGC7_DMA_MASK;//打开DMA模块时钟
   DMAMUX_CHCFG0=DMAMUX_CHCFG_ENBL_MASK;
   DMAMUX_CHCFG0=DMAMUX_CHCFG_SOURCE(40);//DMA通道0对应40号DMA请求,即ADC0
   DMA_TCD0_SADDR = (unsigned long int)&(ADC_R_REG(ADC0_BASE_PTR, 0));//源地址
  // DMA_TCD0_SADDR = (unsigned long int)&ADC0_RA;     //原地址 ADC_RA
   DMA_TCD0_SOFF = 0;//每次传送源地址不变

    DMA_TCD0_DADDR=(unsigned long int)BUFF;//设置目的地址,video数组第一个元素
   DMA_TCD0_DOFF=1;//每次写目的地址加1  1

   DMA_TCD0_CITER_ELINKNO=DMA_CITER_ELINKNO_CITER(200);//当前主循环次数,采集点数
   DMA_TCD0_BITER_ELINKNO=DMA_BITER_ELINKNO_BITER(200);//起始主循环次数,采集点数
   DMA_TCD0_ATTR = DMA_ATTR_SSIZE(0) | DMA_ATTR_DSIZE(0);//源数据宽度8bit,目的数据宽度8bit
   DMA_TCD0_NBYTES_MLNO = DMA_NBYTES_MLNO_NBYTES(1);//每次读取一字节1
   DMA_TCD0_SLAST = 0;//主循环结束后源地址0回写tcd
   DMA_TCD0_DLASTSGA = 0;

   DMA_TCD0_CSR= DMA_CSR_DREQ_MASK;//DMA通道0主循环结束后停止硬件请求
   DMA_TCD0_CSR|=DMA_CSR_INTMAJOR_MASK;//使能DMA0中断  主循环结束后产生中断
   DMAMUX_CHCFG0|=DMAMUX_CHCFG_ENBL_MASK;//DMA通道0使能

}




作者: 暗光    时间: 2015-4-25 20:42
扫把小猪 发表于 2015-4-25 16:26
分离出的不是 场中断 和 行中断吗

我记得还有像素中断,我也刚看的模拟摄像头,用128,没有DMA,原来一直用K60,最近才换这一组合。刚才有看了一下,好像没有像素中断,sorry啦

作者: 暗光    时间: 2015-4-25 20:50
扫把小猪 发表于 2015-4-25 16:28
我 现在用的片内AD采集 DMA传输 但是 DMA进不去中断 我用的是 ADC0做触发源 可以不这样
void dma_init() ...

我用K60一直用超核的库,看了你的备注,还是看懂了一些程序,虽然你DMA写触发中断源了,但是还是要看一下AD那边有没有设置触发DMA中断,貌似AD引脚初始化的时候要设置。我只用过像素中断上升沿触发DMA传输摄像头数据,在初始化引脚的时候需要设置为触发DMA,附图[attach]76578[/attach]

作者: 扫把小猪    时间: 2015-4-27 08:45
谢谢,已经找到了DMA触发中断的问题了,

作者: 金瘸子    时间: 2015-5-26 10:35
能参考一下你的io直接读取程序吗
作者: miaobrother    时间: 2015-12-3 17:51
扫把小猪 发表于 2015-4-27 08:45
谢谢,已经找到了DMA触发中断的问题了,

在想能不能用k60输出一路波形做像素中断给DMA采集。请问一下你解决的时候是用的什么方法 ,我用5510把ad值直接转换成8位数据了
作者: 暴风猎人    时间: 2016-1-19 19:50
扫把小猪 发表于 2015-4-27 08:45
谢谢,已经找到了DMA触发中断的问题了,

请问是什么做中断源?

作者: 暴风猎人    时间: 2016-1-19 19:51
miaobrother 发表于 2015-12-3 17:51
在想能不能用k60输出一路波形做像素中断给DMA采集。请问一下你解决的时候是用的什么方法 ,我用5510把ad ...

你现在用什么做中断源呢

作者: miaobrother    时间: 2016-1-19 20:38
暴风猎人 发表于 2016-1-19 19:50
请问是什么做中断源?

DMA 可以自定义采集 不用中断源

作者: 江理工吴灏    时间: 2016-4-13 13:51
兄弟  我也是刚搭了硬件二值化电路  你直接读取io口是行中断触发后用定时器定时采点  采足了点停止采集等待下一个行中断的来临吗   我看岱默给的程序里面还写了锁相环  我用的k60  需要用到锁相环吗  锁相环不是超频用的吗  k60频率挺高了的吧  真心求解




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2