打印
[复制链接]
3803|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
herotan24|  楼主 | 2010-7-8 23:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
arm linux 编程最近写一个摄像头驱动,摄像头的数据接在arm的数据总线上(flash、sdram 和 网卡 的数据也接在arm的数据总线上),应该是通过片选来选通摄像头或flash、sdram或网卡等进行读写
但是程序怎么写呢,没什么头绪?!

我的疑惑:
      假如我要读摄像头数据,按道理应该是先选通我的摄像头,然后读取数据,但是,因为数据线时共用的,我得先屏蔽其他选通,以防两设备同时使用总线。可是问题出现了,一旦我屏蔽了sdram,而程序是保存在sdram中的,系统怎么知道下一步该做什么呢?!

      是不是我的想法是错误的?!请大家指教!

相关帖子

沙发
yan2005| | 2010-9-1 13:41 | 只看该作者
假想一下:
cpu有三根线,分别连接到flash\sdram\camera这三个器件的CS片选端上。而且低电平有效。

假定
flash的地址空间的是0x1000 ~ 0x2000-1;
camera的地址空间的是0x2000 ~ 0x3000-1;
sdram的地址空间的是0x3000 ~ 0x4000-1;
那么,当CPU读写0x1500地址的时候,只有连结flash的CS是低电平,其余两个是高电平。此时只有flash是工作的,sdram和camera是不工作的。cpu读的时候,数据总线上的数据都是来自flash的,而sdram和camera不会来的。在cpu写的时候,只有flash会接受数据总线上的数据,而sdram和camera都不会接受这些数据的。

使用特权

评论回复
板凳
lelee007| | 2010-9-13 11:51 | 只看该作者
先读摄像头数据,然后再往内存写,就不会冲突了。系统也不可能让你在同一时间又读有写访问两个不同地址。TI的DSP有超级哈佛架构的,有这样功能,但是当前ARM还没有这样的功能

不过我有个疑问,摄像头的接口是并口的么?普通摄像头并口的貌似没有,高端的摄像头比如有些CCD,上面配的数据采集卡一般会用PCI-E或者USB或者1394,貌似很少见直接并口挂在系统总线上的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

26

帖子

1

粉丝