- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
PAGE1
PAGE1
JTAG调试基础
1JTAG接口与引脚功能
JTAG(JointTestActionGroup)接口是一种国际标准测试协议,主要用于芯片的测试和调试。它通过一组特定的引脚来实现对芯片内部电路的测试和访问,这些引脚包括:
TCK(TestClock):测试时钟输入,用于同步JTAG指令和数据的传输。
TMS(TestModeSelect):测试模式选择输入,用于控制状态机的模式切换。
TDI(TestDataInput):测试数据输入,用于向芯片内部发送测试或调试数据。
TDO(TestDataOutput):测试数据输出,用于从芯片内部读取测试或调试数据。
TRST(TestReset):测试复位输入,用于复位芯片,不是所有芯片都支持此引脚。
通过这些引脚,JTAG可以实现对芯片内部的扫描链(ScanChain)进行控制,从而进行边界扫描测试(BoundaryScanTesting),检查芯片的焊接质量和电路连接情况。此外,JTAG还可以用于芯片的编程、调试和故障诊断。
2JTAG协议详解
JTAG协议的核心是状态机(StateMachine)和指令集(InstructionSet)。状态机控制JTAG操作的流程,而指令集则定义了可以执行的具体操作。
2.1状态机
JTAG状态机有以下几种状态:
测试逻辑复位(Test-Logic-Reset):初始状态,所有引脚处于高阻态。
运行测试/空闲(Run-Test/Idle):在此状态下,可以进行数据的输入和输出。
选择DR扫描(Select-DR-Scan):选择数据寄存器(DataRegister)进行操作。
捕获DR(Capture-DR):将TDI的数据捕获到数据寄存器中。
移位DR(Shift-DR):在数据寄存器中进行数据的移位操作。
退出1DR(Exit1-DR):从移位状态退出到捕获状态的过渡状态。
暂停DR(Pause-DR):暂停数据寄存器的操作。
退出2DR(Exit2-DR):从暂停状态退出到运行测试/空闲状态的过渡状态。
选择IR扫描(Select-IR-Scan):选择指令寄存器(InstructionRegister)进行操作。
捕获IR(Capture-IR):将TDI的数据捕获到指令寄存器中。
移位IR(Shift-IR):在指令寄存器中进行数据的移位操作。
退出1IR(Exit1-IR):从移位状态退出到捕获状态的过渡状态。
暂停IR(Pause-IR):暂停指令寄存器的操作。
退出2IR(Exit2-IR):从暂停状态退出到运行测试/空闲状态的过渡状态。
2.2指令集
JTAG指令集包括:
测试数据输入(TestDataInput):将数据输入到数据寄存器中。
测试数据输出(TestDataOutput):从数据寄存器中输出数据。
测试数据输入/输出(TestDataInput/Output):同时进行数据的输入和输出。
测试指令输入(TestInstructionInput):将指令输入到指令寄存器中。
测试指令执行(TestInstructionExecute):执行指令寄存器中的指令。
2.3示例:使用Python进行JTAG操作
#导入JTAG库
importpyjtag
#初始化JTAG链
jtag_chain=pyjtag.JTAGChain()
#添加设备到JTAG链
jtag_chain.add_device(pyjtag.XilinxFPGA())
#设置JTAG链的引脚
jtag_chain.set_tck(1000000)#设置时钟频率为1MHz
jtag_chain.set_tms(0)#设置TMS为0,进入运行测试/空闲状态
jtag_chain.set_trst(1)#设置TRST为1,进行复位
#执行JTAG操作
jtag_chain.shift_tdi([0x01,0x02,0x03,0x04])#向数据寄存器中输入数据
jtag_chain.capture_dr()#捕获数据寄存器中的数据
output_data=jtag_chain.shift_tdo(4)#从数据寄存器中读取数据,读取4位
#输出结果
print(读取的数据:,output_data)
在上述示例中,我们使用了Python的pyjtag库来实现JTAG操作。首先,我们初始化了一个JTAG链,并添加了一个XilinxFPGA设备。然后,我们设置了JTAG链的引
您可能关注的文档
- 前端开发工程师-软技能与项目管理-JIRA_JIRA报告与度量.docx
- 前端开发工程师-软技能与项目管理-JIRA_JIRA服务台与客户支持.docx
- 前端开发工程师-软技能与项目管理-JIRA_JIRA高级有哪些信誉好的足球投注网站技巧.docx
- 前端开发工程师-软技能与项目管理-JIRA_JIRA工作流设计与优化.docx
- 前端开发工程师-软技能与项目管理-JIRA_JIRA核心功能详解.docx
- 前端开发工程师-软技能与项目管理-JIRA_JIRA集成与插件.docx
- 前端开发工程师-软技能与项目管理-JIRA_JIRA简介与历史.docx
- 前端开发工程师-软技能与项目管理-JIRA_JIRA敏捷开发支持.docx
- 前端开发工程师-软技能与项目管理-JIRA_JIRA权限与用户管理.docx
- 前端开发工程师-软技能与项目管理-JIRA_JIRA数据迁移与备份.docx
- 嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG的IEEE1149.1标准介绍.docx
- 嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG调试案例分析.docx
- 嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG调试基础概念.docx
- 嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG调试器与目标系统连接.docx
- 嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG调试中的常见问题与解决策略.docx
- 嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG接口与信号线解析.docx
- 嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG未来发展趋势.docx
- 嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG与软件调试结合.docx
- 嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG与芯片内部结构.docx
- 嵌入式软件工程师-嵌入式系统调试与测试-JTAG调试_JTAG在现代集成电路测试中的应用.docx
最近下载
- 血透室护士在医疗行为中的职业暴露与职业防护专家讲座.pptx VIP
- 水利工程事故应急方案【精选资料】.doc VIP
- 西奥扶梯XO-9800电气原理图纸.pdf
- 2025年中级注册安全工程师《安全生产法律法规》考试真题及答案解析.docx VIP
- 配送中食材卫生保障措施.docx VIP
- 国家科学技术学术著作出版基金资助力度与科技学术著作出版成本初探.pdf VIP
- DBJ50T-323-2019 滨江步道技术标准 .docx VIP
- 2025年电竞教育机构运营模式与盈利分析.docx
- 5.2染色体变异课件(共47张PPT)人教版(2019)高中生物学必修2(内嵌音频+视频).pptx VIP
- 【复习资料】00642传播学概论(章节复习要点).doc VIP
有哪些信誉好的足球投注网站
文档评论(0)