RISC-V MCU中文社区

【分享】 【分享】关于ICB总线的应用

发表于 中国研究生创芯大赛 2021-06-21 19:36:02
1
6397
5

团队:站着撸代码 

        ICB总线总的可以分为命令通道和响应通道,主机通过ICB总线向从机发送命令,从机通过ICB总线响应主机,如下图所示

        如下是往ICB总线上挂载AXI Peripheral的例程,通过下面的例子来讲述ICB总线应用。

下图向ICB总线上挂载AXI Peripheral。

    命令通道有:

①expl_axi_icb_cmd_valid;    (主设备发送读写请求信号)

②expl_axi_icb_cmd_ready;   (从设备返回读写接受信号)

 ③expl_axi_icb_cmd_addr;   (主设备发送读写地址)

 ④expl_axi_icb_cmd_read;   (主设备发送读/写模式)

 ⑤expl_axi_icb_cmd_wdata; (主设备写数据通道)

 ⑥expl_axi_icb_cmd_wmask;(写数据掩码)

    命令通道:

①expl_axi_icb_rsp_valid;(从设备发送读写反馈请求信号)

②expl_axi_icb_rsp_ready;(主设备返回读写反馈接受信号)

③expl_axi_icb_rsp_err;(读写反馈错误标志信号)

④expl_axi_icb_rsp_rdata;(读反馈数据)


    如下图所示,将icb转AXI的IP外设挂载到总线ICB上。


    下面是通过ICB读写的时序,

                                                            写时序

                                                            读时序

      从上面的读写时序可知,ICB的读写有两次握手,一次是主机发起读写请求,然后从机响应。另一次是从机发起读写反馈请求,主机响应。两次握手结束也就意味着完成一次读写。

通过NucleiStudio SDK使用如下的代码即可测试ICB总线传输。



喜欢5
用户评论 (1)
  • ren7337

    2022-03-05 22:05:47 ren7337 1#

    大佬,icb_mem_read和write这俩函数是得自己写是不?我在drivers那个文件夹里没找到这个函数

未通过实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板