查看: 186|回复: 0

[评测分享] 【米尔-MYD-LR3568-GK开发板--试用评测】5——I2C通讯测试

[复制链接]
  • TA的每日心情
    慵懒
    前天 10:54
  • 签到天数: 186 天

    连续签到: 2 天

    [LV.7]常住居民III

    发表于 2024-11-13 23:09:02 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 stm1024 于 2024-11-13 23:10 编辑

    今日测试一下I2C接口,I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线,多用于主机和从机在数据量不大且传输距离短的场合下的主从通信,特别是芯片之间的通讯,这也符合其名字Inter-Integrated Circuit(集成电路总线)的描述。本次测试并不是简单的对着手册操作一下,也根据自己的理解,去扩展使用该开发板的功能。

    1.  环境准备
    i2c-tools 是一个专门调试 I2C 接口的开源工具, 可以获取挂载的设备及设备地址, 具有在对应的设备上读取和设置寄存器值等功能,可以使用交叉编译方式,将从网站下载的源码,在Ubuntu上通过交叉编译的方式获取其ARM环境下的工具,当然开发板已经帮我们移植好了,所以这里就跳过了编译的步骤,直接使用就可以了。
    i2c-tools下面有好几个工具,其中:
    i2cdetect用于检测总线;
    i2cdump用于导出数据;
    i2cget/i2cset用于获取/设置单个寄存器的值。
    如果是自己编译的话,还有一个工具是i2ctransfer,这个是按照i2c的读写时序操作的。
    通过使用i2cdetect -l查看总线信息:
    11.jpg

    可以选择其中的一个I2C通道,列举其总线上挂着的设备,例如以I2C7为例:
    12.jpg

    这里需要说明一下返回的字符说明:
    1.--表示这个地址被检测到,但是没有芯片应答;
    2. UU表示这个地址被内核驱动使用;
    3. 数字表示这个地址被芯片使用并应答。

    注意:有UU表示该地址被内核驱动占用,但并不意味着一定有设备响应。具体有没有设备不一定,不是所有的i2c设备都能探测到,有些16位寄存器i2c设备无法探测到,可以尝试使用i2ctransfer去尝试读写来判断当前地址是否存在设备。

    2. 硬线连接
    通过查阅硬件手册,可知在J13上有I2C_5可供使用:
    13.jpg

    可以使用J13上的2,3,5,6号针脚,与AT24C02进行连接。我这里选择I2C器件是经典的AT24C02,七位I2C地址是0x50。接线情况如下:
    14.jpg

    具体而言是红色接VCC5,绿色接GND,**色接的SDA,橙色接的SCL。

    3. 通讯测试
    通过i2cdump可以查看器件中的数据,先看看这个命令怎么使用:
    15.jpg
    那么可以构造命令如下:
    1. i2cdump -f -y -r 0x00-0x1f -a 5 0x50
    复制代码
    用于读取器件的前16个寄存器中的数据,结果如下:
    16.jpg
    写数据可以使用i2cset,同样试试看这个命令如何使用:
    17.jpg
    如果需要设置0x10地址中的值为0xaa,可以构造命令如下:
    1. root@myd-lr3568x:~# i2cset -f -y 5 0x50 0x10 0xaa
    2. root@myd-lr3568x:~# i2cdump -f -y 5 0x50 # display
    复制代码

    运行效果如下:
    18.jpg


    读取一个数据还可以简单使用i2cget:
    19.jpg


    使用i2cset还可以批量设置数据:
    20.jpg

    今日测试先到这里。


    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 02:22 , Processed in 0.130413 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.