原创 USB3.0芯片终于出来了(44)_通过I2C总线与SENSOR通信

2013-7-22 10:19 2612 14 14 分类: MCU/ 嵌入式

        美光的SENSOR都含有一个I2C总线,用来配置SENSOR的寄存器。这个帖子主要是从编程的角度解释一下I2C总线通信。

        CYUSB3014含有一个低速的I2C总线,可以方便地通过I2C总线与其它芯片通信,并且这个I2C总线是独立的,不是与其它引脚复用的(像RS232接口是与SPI接口复用的)。这里介绍一下 良子USB3.0入门开发板上的I2C总线。(开发板可以查看http://item.taobao.com/item.htm?spm=a1z10.1.w4004-18564524.6.4LhpEn&id=18876010726)

      1、用ECLIPSE导入UsbI2cRegMode工程后,如下图,

 

liangziusb_cyusb3014_44_0.jpg
       其中第2项是对固件UsbI2cRegMode的说明:实现三个自定义命令(供应商命令)通过I2C总线对开发板上的EEPROM进行读写,这三个命令分别是:
#define CY_FX_RQT_ID_CHECK                                  (0xB0)
#define CY_FX_RQT_I2C_EEPROM_WRITE              (0xBA)
#define CY_FX_RQT_I2C_EEPROM_READ               (0xBB)
       对应的源代码如下,
liangziusb_cyusb3014_44_1.jpg
      2、编绎上面的工程,通过控制面板下载固件到开发板后,控制面板如下,
 
liangziusb_cyusb3014_44_2.jpg
 
      上图左侧显示只有一个控制端点(端点0),没有其它的关于数据传输的IN或者OUT端点。
       3、开发板上的EEPORM型号是24LC256,按如下内容输入各项命令,实际测试一下I2C通信,
liangziusb_cyusb3014_44_3.jpg

        上图中1是选择控制端点;2是要传输的字节数是8;3是数据传输方向是开发板向电脑方向,为IN;4是供应商命令;5是具体的命令是0xBB;6是命令成功执行后从开发板上实际读回的8字节数据。

       以上是固件下载及控制传输命令的具体操作,关于I2C通信及程序代码分析详见下一篇博客。

 

(另公布一群号178338109,CYUSB3014开发专业讨论区。)

 

 

我的博客:http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM

淘宝店铺:http://shop64171919.taobao.com

良子.2013年    承接USB开发工程  USB毕设指导

QQ:2687652834

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
14
关闭 站长推荐上一条 /3 下一条