阅读:1460回复:7
I2C问题,各位大虾,这次一定要帮忙啊~!
我现在在做USB接口摄像头的firmware部分,68013和外部SENSOR的通讯是采用了I2C接口,现在下载了程序进去之后,外部sensor已经工作(只要主时钟被驱动了就可以工作),但是sensor上产生的数据并不能通过I2C传到68013里面,也就是I2C在主机和外部设备之间没有起到通讯的作用,我现在初步确定是软件里面I2C部分出了问题,但是不知道具体是什么地方出了问题?是不是在I2C里面还要设置什么东西?
|
|
|
沙发#
发布于:2004-11-18 11:28
你的问题说的太笼统,这种问题的原因很多:
1。i2c采用主从方式传输,从机是不能主动通知主机进行数据读取的,只能主机发送读取命令! 2。主机在对从机进行读取操作的时候,从机地址为单字节或双字节以及多字节的读取方式都不一样。 3。为了保证数据传输,你的sda和scl需要接上拉电阻。 4。主从机传输速率需要匹配,主机时钟信号不能过快 :( |
|
板凳#
发布于:2004-11-18 13:15
谢谢SKYMY大哥的分析,我现在第一、三、四都应该没问题
因为这个sensor在三星的一块板子上试过是没问题的,在我自己的板子的上下载了程序之后,就是不行(硬件电路应该是没问题的),其他信号都很好的,但是就是I2C不能用,68013根本不能读取sensor产生的数据,SCL和SDA根本没有信号。 从机的地址是0010001+读写信号(0或者1) 这种读取操作是怎样进行的呢? 请大哥给解释好吗? |
|
|
地板#
发布于:2004-11-18 13:49
还要我想问一下:关于读写I2C的时候在程序里面主要要注意那些点,各位大虾有没有关于这方面的源程序阿,要是有的话发给我一份好吗?我会给你们分的,虽然我现在不能给你们太多,但是我会感激不尽,chen.fajun@byd.com.cn
|
|
|
地下室#
发布于:2004-11-18 14:32
俺也被第2条坑了一把,而且68013的读写I2C的例子,ID地址传到相关寄存器前还左移一位,-_-b
[编辑 - 11/18/04 by mariocn] |
|
5楼#
发布于:2004-11-19 10:43
楼上的大侠,请问你的问题怎么解决的?
我现在急啊,就快要交差了,这个问题还没解决~ :( |
|
|
6楼#
发布于:2004-11-19 11:38
我可能没把问题说的很清楚
我的问题是: 现在如果我把I2C通讯和数据传输分开的话 两者都能很好的工作,但是一旦把两者联合 起来,I2C就不能工作,现在的主要目的是 怎么把两者结合起来~!! |
|
|
7楼#
发布于:2004-11-19 16:03
偶认为i2c最需要注意的就是读写顺序的问题
遵照Sensor DataSheet提供的i2c读写时序就不会有太大问题了 |
|