强大的JTAG边界扫描(4):STM32边界扫描应用

这篇具有很好参考价值的文章主要介绍了强大的JTAG边界扫描(4):STM32边界扫描应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


试想这样一个场景,我们新设计了一款集成了很多芯片的板卡,包括BGA封装的微控制器,如FPGA/MCU,还有LED、按键、串口、传感器、ADC等基本外设。

我们需要测试一下硬件电路工作是否正常、焊接是否良好,通常我们会写个测试代码,比如控制LED闪烁,读取按键的输入,串口收发一些数据,然后把程序烧录进去,看看现象是否和我们设计的一致。

当现象和设计不一致时,是代码设计的问题、还是硬件原理的问题、又或者是焊接的问题呢?应该如何一一排除呢?

这里就可以使用JTAG边界扫描的测试方法,来验证到底是哪里出的问题,因为JTAG边界扫描不需要写任何代码,只需要一个BSDL文件,就可以控制和读取芯片的任意管脚。

下面我们以意法半导体 MCU STM32F103为例,演示JTAG边界扫描的应用。

1. 获取芯片的BSDL文件

获取意法半导体MCU的BSDL文件,可以到官方网站搜索BSDL,就会弹出对应系列的BSDL文件包。

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

STM32F1系列BSDL文件的下载地址:

STM32F1:
https://www.st.com/content/ccc/resource/technical/ecad_models_and_symbols/bsdl_model/75/4a/50/d0/ad/aa/49/92/stm32f1_bsdl.zip/files/stm32f1_bsdl.zip/jcr:content/translations/en.stm32f1_bsdl.zip

下载到本地之后解压,可以看到很多BSDL文件,我们开发板上的芯片型号是STM32F103ZET6-LQFP144,属于大容量芯片,所以BSDL文件对应的是:

STM32F1_High_density_LQFP144.bsd

关于其他芯片的BSDL文件获取方式,可以参考之前的文章:强大的JTAG边界扫描(2):BSDL文件介绍

2. 硬件连接

按照下图所示,使用排线连接JLink和开发板的JTAG接口。

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

并确保设备管理器里JLink驱动被正确识别。

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

3. 边界扫描测试

关于TopJTAG边界扫描测试软件的介绍和基本使用,可以参考之前的文章:强大的JTAG边界扫描(3):常用边界扫描测试软件

打开TopJTAG Probe软件之后,先创建一个工程,并选择JTAG设备类型,这里我们使用的是JLink。

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

如果硬件连接正确,驱动安装正常,软件会自动识别到连接的芯片。

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

指定芯片所对应的BSDL文件,这里我们选择上一步下载的STM32F1_High_density_LQFP144.bsd文件,并进行IDCODE校验。

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

如果IDCODE不匹配,说明选择的BSDL文件错误,之后就进入到边界扫描测试界面了。

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

点击Instruction按钮,可以选择三种测试命令:

  • BYPASS:旁路掉当前器件,在菊花链拓扑方式时,跳过当前器件
  • SAMPLE:采样模式,可以对所有管脚的状态进行读取,可以统计电平翻转的次数,或者以波形方式显示实时状态
  • EXTEST:可以任意的控制所有外部管脚的状态,可手动指定为高低电平,高阻态。

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

这里我们选择SAMPLE模式,点击RUN按钮,可以看到芯片所有的管脚实时状态,

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

在Pins窗口,可以看到所有管脚的实时状态,选中一个管脚,可以把它添加到Watch窗口,或者Waveform窗口。

切换到EXTEST模式,可以手动设置管脚的高低电平或高阻状态。

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

Watch窗口信号的还原能力,完全取决于JTAG_TCK的频率,即管脚信号的采样时钟。

强大的JTAG边界扫描(4):STM32边界扫描应用,JTAG边界扫描系列教程,STM32,JTAG,边界扫描,测试,FPGA

4. 总结

通过边界扫描可以快速的判断文章开头提到的几个问题,如果使用边界扫描的方式,发现读取和控制管脚的状态不对,那么可以判定是焊接的问题,通过编程,甚至可以按照一定的时序来控制管脚的状态,从而达到控制外部器件的目的。

总之,边界扫描是一种非常实用的测试方法,在电路板生产制造、芯片设计、芯片封测等方面都有很广泛的应用。文章来源地址https://www.toymoban.com/news/detail-703261.html

到了这里,关于强大的JTAG边界扫描(4):STM32边界扫描应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【STM32+HAL+Proteus】系列学习教程2---STM32开发模式选择

    1、熟悉STM32开发常用的三种模式         STM32常用的开发模式有三种:基于寄存器开发、基于标准外设库开发、基于STM32CubeMX+HAL/LL开发。通常我们学习STM32的时候,首先都得先选择一种开发模式,不同的开发模式会导致编程的架构完全不一样。 1、 基于寄存器开发模式(ST

    2024年04月28日
    浏览(36)
  • STM32实战项目系列教程 (一)—— 循迹小车

    以往我们看到很多学习单片机知识的教程往往是从 单片机内部资源 出发,这样的教程原理往往晦涩难懂,初学者很难系统的学习开发单片机的项目。 而本次教程是 从项目出发 教你学习循迹小车的制作,整个项目采用 STM32 单片机作为控制器来实现,所以在学习前需要大家有

    2024年02月11日
    浏览(43)
  • STM32 ICP、ISP、IAP、Bootloader、SWD、JTAG究竟是什么?它们之间有什么关系?

    从代码写入单片机的方式上去区分主要分为3种:ICP、ISP、IAP 一、 ICP(In Circuit Programing) :在电路编程,可通过CPU的Debug Access Port 烧录代码,比如ARM Cortex的Debug Interface主要是SWD(Serial Wire Debug)或JTAG(Joint Test Action Group); ICP 主要通过CPU的DAP(Debug Access Port) 烧录代码,下面以ARM Cor

    2024年02月04日
    浏览(42)
  • STM32的SWD/JTAG下载方式和串口下载方式的区别和联系(附:SWD/JTAG Communication Failure、无法识别的USB设备等问题解决方法)

    使用STM32单片机,下载方式有SWD/JTAG下载方式和串口下载方式,这两种下载方式不尽相同,需要注意区别。现将SW和串口下载方式进行对比。 本帖的例子都是我切身遇到过的,曾经困扰过我好几天的问题,希望能对自己和大家学习STM32有所帮助 区别 : 1.SW下载使用至少三根线进

    2024年02月04日
    浏览(138)
  • STM32循迹小车系列教程(四)—— 使用OpenMV循迹

     本章节主要讲解如何使用OpenMV循迹以及OpenMV与STM32串口通信 软件:STM32CubeMx、Keil5 MDK、串口调试助手XCOM、OpenMV_IDE 硬件:OpenMV、STM32F103C8T6核心板、下载器ST_LINK、USB转TTL或J-LINK、小车一辆 OpenMV是一个开源,功能强大的 机器视觉 模块。 它以STM32F427CPU为核心,集成了OV7725摄像头

    2024年02月04日
    浏览(97)
  • STM32循迹小车系列教程(一)—— 使用PWM控制电机

    本章节主要讲解直流减速电机控制原理,电机驱动电路,以及如何使用PWM控制直流减速电机 1.软件准备:STM32CubeMx、Keil5_ MDK 2.硬件准备:STM32F103C8T6核心板、TB6612电机驱动模块/L298N电机驱动、18650锂电池3节/3S航模电池、杜邦线若干         图2-1为 市场上 常用 的 直流减速 电

    2024年02月05日
    浏览(50)
  • 【STM32】标准库与HAL库对照学习系列教程大全

    前言:开始工作后,学习的时间变少了很多,但是今年的1024节,还是打算送个福利给大家,将之前的STM32教程汇总,方便大家学习与查找,学习嵌入式已经快3年了吧,感觉自己还是在入门阶段,STM32也快一年没碰了,现在经常用的大多都还是工作上的内容,所以文章有不对的

    2024年02月08日
    浏览(41)
  • 【STM32备忘录】【STM32WB系列的BLE低功耗蓝牙】一、测试广播配置搜不到信号的注意事项

    WB系列是双核单片机,用户写M4,无线协议栈使用M0 新买到手的单片机,需要自己刷入使用的无线协议栈 刷入无线协议栈的途径是通过一个叫FUS的东东,类似于bootloader,这个FUS新买的芯片通常已经刷好,但版本不一定是最新的(如果没有需要自己刷入) 刷入FUS和无线协议栈需要

    2024年03月16日
    浏览(55)
  • 【STM32+HAL+Proteus】系列学习教程---PWM(呼吸灯)

    1、利用定时器输出PWM实现呼吸灯 2、学会STM32CubeMX软件输出PWM的配置 3、具体目标:利用定时器3的通道2(部分重映射到PB5管脚)输出1KHz的矩形波,实现呼吸灯。 1、什么是PWM?         PWM (Pulse width modulation)脉冲宽度调制。PWM是通过编程控制输出方波的频率和占空比(高

    2024年04月23日
    浏览(51)
  • STM32循迹小车系列教程(二)—— 使用编码器获取小车速度

    本章节主要介绍编码器的原理,获取编码器脉冲值以及如何计算小车速度和路程 1.软件准备:STM32CubeMx、Keil5_ MDK 2.硬件准备:STM32F103C8T6核心板、带编码器电机、TB6612电机驱动模块/L298N电机驱动、18650锂电池3节/3S航模电池、杜邦线若干 如图 3-1 左所示是市场上常用的编码器图

    2024年02月13日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包