RV1103外设I2C与FPGA通信调试

3 篇文章 1 订阅
3 篇文章 0 订阅

RV1103外设I2C与FPGA通信调试

介绍RV1103与FPGA通过I2C通信调试过程。FPGA厂家为易灵思。

一、RV1103的DTS设置

        本次使用RV1103的I2C4。在DTS中进行设置。地址位0x0a。

&i2c4 {
    status = "okay";
    clock-frequency = <400000>;
    pinctrl-names = "default";
    pinctrl-0 = <&i2c4m2_xfer>;
    elinx@0a {
        status = "okay";
        compatible = "elinx,fpga_t13";
        reg = <0x0a>;
    };        
};

二、RV1103编译

运行后,查询系统上存在的I2C总线。

# ls /sys/bus/i2c/devices/
4-0030  i2c-4   4-000a  i2c-3

三、FPGA代码设计,FPGA的I2C作为Slave端

FPGA端I2C地址设置位0x0a。正常后下载FPGA进行联调。调用FPGA内部IP。

四、FPGA与RV1103联调

# i2cdetect -a -y 4
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- 0a -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

发现0X0a端的FPGA。

五、RV1103读FPGA操作

# i2cget -f -y 4 0x0a 0x00
0xff

读地址0x00,数据为0xff。

FPGA在线捕获I2C波形,如下图。

# i2cget -f -y 4 0x0a 0x01
0xff

读地址0x01,数据为0xff。

FPGA在线捕获I2C波形,如下图。

i2cget -f -y 4 0x0a 0x05
0xff

读地址0x05,数据为0xff。

FPGA在线捕获I2C波形,如下图。

# i2cdump -f -y 4 0x0a
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

从地址0x00开始dump。

六、RV1103先通过I2C写进FPGA,之后再读

# i2cset -f -y 4 0x0a 0x00 0x55

地址0x00,写数据为0x55。

# i2cget -f -y 4 0x0a 0x00
0x55

之后读地址0x00,数据为0x55。


# i2cset -f -y 4 0x0a 0x01 0xAA



# i2cget -f -y 4 0x0a 0x01
0xaa

读写正常。

# i2cset -f -y 4 0x0a 0x02 0x5A
# i2cget -f -y 4 0x0a 0x02
0x5a

读写正常。

# i2cset -f -y 4 0x0a 0x03 0xA5
# i2cget -f -y 4 0x0a 0x03
0xa5

读写正常。

# i2cdump -f -y 4 0x0a
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 55 aa 5a a5 00 00 00 00 00 00 00 00 00 00 00 00    U?Z?............
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

dump读写正常。

六、验证完成,读写功能正常

欢迎讨论交流,微:moning_hello

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anhuihbo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值