查看: 2383|回复: 0
收起左侧

RV-LINK:JTAG 接口和时序

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2021-3-3 12:32
  • 签到天数: 10 天

    [LV.3]

    发表于 2020-10-15 11:20:39 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 皋陶 于 2020-10-15 11:20 编辑

    接口
    引脚
    作用
    TCK
    时钟,上升沿捕获输入,下降沿变更输出
    TMS
    状态选择,仿真器在 TCK 下降沿输出,被测芯片在 TCK 上升沿捕获
    TDI
    串行数据输入,仿真器在 TCK 下降沿输出,被测芯片在 TCK 上升沿捕获
    TDO
    串行数据输出,被测芯片在 TCK 下降沿输出,仿真器在 TCK 上升沿捕获

    TCK 应接下拉电阻,按照 IEEE 1149.1 的要求,被测芯片在 TCK 保持低电平的情况下将保持原有的状态,所以 TCK 应该拉低,确保在没有接仿真器时 TCK 是低电平状态。


    TMS 应接上拉电阻,根据 TAP 状态机,任意状态下,只要 TMS 保持高电平 5 个时钟,那么就会进入复位状态,所以 TMS 拉高是安全的。



    时序
    指令寄存器扫描

    下图从 IEEE 1149.1 文档中截图,为了便于查看,添加了红色栅格线。


    从时序图可以清晰地看出,仿真器在 TCK 下降沿改变 TMS、TDI 电平,被测芯片在 TCK 上升沿捕获输入并更新内部状态。被测芯片在 TCK 下降沿改变 TDO 电平,仿真器在 TCK 上升沿捕获 TDO 数据。


    需要特别注意的是:最后一位数据是在进入 Exit1-IR 状态的那个上升沿捕获的,数据寄存器也同样存在这个特点。


    Nuclei Studio IDE-RV-LINK:JTAG 接口和时序risc-v单片机中文社区(1)


    数据寄存器扫描

    下图从 IEEE 1149.1 文档中截图,为了便于查看,添加了红色栅格线。


    Nuclei Studio IDE-RV-LINK:JTAG 接口和时序risc-v单片机中文社区(2)


    RV-LINK 的实现TCK 周期驱动

    rvl_tap_tick 函数执行一个 TCK 周期,四个阶段:低电平半周期、上升沿、高电平半周期、下降沿。


    1. int rvl_tap_tick(int tms, int tdi)
    2. {
    3.   int tdo;

    4.   /*
    5.    *     ___
    6.    * ___|   |
    7.    */

    8.   // 1. 低电平半周期,首先输出 TMS、TDI 然后延时半个周期
    9.   rvl_jtag_tms_put(tms);
    10.   rvl_jtag_tdi_put(tdi);
    11.   rvl_jtag_delay_half_period();
    12.   // 2. 上升沿,上升沿之后读取 TDO
    13.   rvl_jtag_tck_put(1);
    14.   tdo = rvl_jtag_tdo_get();
    15.   // 3. 高电平半周期
    16.   rvl_jtag_delay_half_period();
    17.   // 4. 下降沿
    18.   rvl_jtag_tck_put(0);

    19.   return tdo;
    20. }
    复制代码


    实测波形

    读取 id 和 dtmcs 的完整波形


    Nuclei Studio IDE-RV-LINK:JTAG 接口和时序risc-v单片机中文社区(3)


    IR 扫描的波形


    Nuclei Studio IDE-RV-LINK:JTAG 接口和时序risc-v单片机中文社区(4)


    DR 扫描的波形


    Nuclei Studio IDE-RV-LINK:JTAG 接口和时序risc-v单片机中文社区(5)


    进入 Shift-IR 状态的细节


    Nuclei Studio IDE-RV-LINK:JTAG 接口和时序risc-v单片机中文社区(6)


    退出 Shift-IR 状态的细节


    Nuclei Studio IDE-RV-LINK:JTAG 接口和时序risc-v单片机中文社区(7)


    实测电路

    link:HiFive1

    target:K210

    Nuclei Studio IDE-RV-LINK:JTAG 接口和时序risc-v单片机中文社区(8)






    上一篇:RV-LINK:实现时注意事项
    下一篇:NucleiStudio的快速上手
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条


    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-27 13:05 , Processed in 0.565930 second(s), 47 queries .

    快速回复 返回顶部 返回列表