829|4

33

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

[FireBeetle 2 ESP32C6开发板] i2c_tools初尝试 [复制链接]

本帖最后由 xhackerustc 于 2024-5-3 16:38 编辑

据esp32c6 datasheet,芯片有两个i2c控制器,即分别在主系统和低功耗系统各有一个 I2C 控制器。其中主系统中的i2c控制器既然可以做master又可以做slave,FIFO有32字节;低功耗系统中的i2c控制器只能当master使用,fifo缩减为16字节。除此以外是基本一样的,尤其对于软件编程来说区别并不大。此次i2c测评以主系统的i2c控制器为对象。

 

笔者惯例芯片/板子i2c bring up并不是一上来就写代码的,而是利用i2c-tools这套工具集先测试基本读写没问题后才写成代码。巧的是esp-idf也有类似工具(由此可以看出esp的软件生态确实做得不错)。

 

i2c_tools的配置

examples/peripherals/i2c/i2c_tools
idf.py set-target esp32c6
idf.py menuconfig

由FireBeetle 2板子原理图可知GPIO19和GPIO20可分别用作SDA和SCL引脚,不过也不是非要用GPIO19和GPIO20,因为对于像i2c这样的慢速设备,esp32c6可利用gpio交换矩阵把i2c的信号通过任意gpio引出,但是板子原理图相当于做了一次信号引脚分配,且引脚丝印印好就跟着用不费脑。笔者的配置如下图所示(注:i2c_tools也支持运行时通过i2cconfig命令改SDA和SCL引脚)

笔者还同时把store command history in flash禁用了没啥意义。

 

i2c_tools编译&烧录

idf.py build
esptool.py -p /dev/ttyACM0 -b 460800 --before default_reset --after hard_reset --chip esp32c6 --no-stub write_flash --flash_mode qio --flash_size 4MB --flash_freq 80m 0x10000 build/i2c_tools.bin

 

i2c_tools初尝试

测试用的是max30102的模块,用杜邦线把它VIN/SDA/SCL/GND引脚和板子对应引脚接好后,板子上电。

发现i2c_tools是个命令行,“help”命令把所有支持的命令参数都显示出来了

检测下看看能否探测到slave设备:

Nice在0x57探测到了一个i2c slave设备,0x57也确实是这个max30102模组的芯片地址。据max30102 datasheet,0xfe和0xff两个寄存器分别对应REV_ID和PARTID,是只读寄存器,读取看看

i2c slave读取成功!现在可以测试写了,根据max30102 datasheet,enable温度sensor再读取:

以上数据显示温度大概是0x17+0x0d*0.0625 = 23.8125摄氏度

此帖出自RF/无线论坛

最新回复

感谢楼主分享的技术内容,希望自己在今后的项目中能用到楼主提供的工具和方法   详情 回复 发表于 2024-5-4 11:32
点赞 关注
 

回复
举报

6960

帖子

11

TA的资源

版主

沙发
 

i2c_tools初尝试,这个工具挺强呀!

此帖出自RF/无线论坛

点评

i2c-tools这套工具很有用,通常i2c设备(比如一些sensor、PMIC等等)bring up时不写代码,用i2c-tools读写跑通基本功能后,最后才写完整代码的  详情 回复 发表于 2024-5-3 21:19
 
 

回复

33

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
lugl4313820 发表于 2024-5-3 19:24 i2c_tools初尝试,这个工具挺强呀!

i2c-tools这套工具很有用,通常i2c设备(比如一些sensor、PMIC等等)bring up时不写代码,用i2c-tools读写跑通基本功能后,最后才写完整代码的

此帖出自RF/无线论坛

点评

感谢感谢呀,我以后在linux上面也学着用一下,这样的工具真好。  详情 回复 发表于 2024-5-4 07:38
 
 
 

回复

6960

帖子

11

TA的资源

版主

4
 
xhackerustc 发表于 2024-5-3 21:19 i2c-tools这套工具很有用,通常i2c设备(比如一些sensor、PMIC等等)bring up时不写代码,用i2c-tools读写 ...

感谢感谢呀,我以后在linux上面也学着用一下,这样的工具真好。

此帖出自RF/无线论坛
 
 
 

回复

755

帖子

4

TA的资源

纯净的硅(高级)

5
 

感谢楼主分享的技术内容,希望自己在今后的项目中能用到楼主提供的工具和方法

此帖出自RF/无线论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表