智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3728|回复: 14
打印 上一主题 下一主题

求解关于模拟索尼CCD摄像头怎么 触发DMA 用了外部AD

[复制链接]

10

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1087
威望
546
贡献
273
兑换币
336
注册时间
2015-1-9
在线时间
134 小时
跳转到指定楼层
1#
发表于 2015-1-21 13:04:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用了外部AD用IO口直接读取 ,但想试试DMA ,但是不知道触发源怎么解决,有没有人做过的?
回复

使用道具 举报

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
2#
发表于 2015-1-21 16:35:29 | 只看该作者
触发源我用的像素中断
回复 支持 反对

使用道具 举报

10

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1087
威望
546
贡献
273
兑换币
336
注册时间
2015-1-9
在线时间
134 小时
3#
 楼主| 发表于 2015-1-21 21:06:00 | 只看该作者
Quixote 发表于 2015-1-21 16:35
触发源我用的像素中断

模拟的没有像素中断吧
回复 支持 反对

使用道具 举报

13

主题

1457

帖子

0

精华

知名人物

黑暗中的光

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
41768

活跃会员奖章优秀会员奖章论坛元老奖章在线王奖章

威望
33026
贡献
7082
兑换币
272
注册时间
2014-10-25
在线时间
830 小时
4#
发表于 2015-4-24 22:06:32 | 只看该作者
wustyhj 发表于 2015-1-21 21:06
模拟的没有像素中断吧

有,1881视频分离出来有的
回复 支持 反对

使用道具 举报

14

主题

69

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1489
威望
734
贡献
437
兑换币
458
注册时间
2013-10-22
在线时间
159 小时
5#
发表于 2015-4-25 16:26:17 | 只看该作者
暗光 发表于 2015-4-24 22:06
有,1881视频分离出来有的

分离出的不是 场中断 和 行中断吗
回复 支持 反对

使用道具 举报

14

主题

69

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1489
威望
734
贡献
437
兑换币
458
注册时间
2013-10-22
在线时间
159 小时
6#
发表于 2015-4-25 16:28:22 | 只看该作者
暗光 发表于 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使能

}



回复 支持 反对

使用道具 举报

13

主题

1457

帖子

0

精华

知名人物

黑暗中的光

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
41768

活跃会员奖章优秀会员奖章论坛元老奖章在线王奖章

威望
33026
贡献
7082
兑换币
272
注册时间
2014-10-25
在线时间
830 小时
7#
发表于 2015-4-25 20:42:42 | 只看该作者
扫把小猪 发表于 2015-4-25 16:26
分离出的不是 场中断 和 行中断吗

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

使用道具 举报

13

主题

1457

帖子

0

精华

知名人物

黑暗中的光

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
41768

活跃会员奖章优秀会员奖章论坛元老奖章在线王奖章

威望
33026
贡献
7082
兑换币
272
注册时间
2014-10-25
在线时间
830 小时
8#
发表于 2015-4-25 20:50:34 | 只看该作者
扫把小猪 发表于 2015-4-25 16:28
我 现在用的片内AD采集 DMA传输 但是 DMA进不去中断 我用的是 ADC0做触发源 可以不这样
void dma_init() ...

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

14

主题

69

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1489
威望
734
贡献
437
兑换币
458
注册时间
2013-10-22
在线时间
159 小时
9#
发表于 2015-4-27 08:45:50 | 只看该作者
谢谢,已经找到了DMA触发中断的问题了,
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
420
威望
227
贡献
129
兑换币
131
注册时间
2013-12-16
在线时间
32 小时
毕业学校
eee
10#
发表于 2015-5-26 10:35:21 | 只看该作者
能参考一下你的io直接读取程序吗
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-6 13:36 , Processed in 0.049917 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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