王超的独立博客

发现更大的世界和更小的自己

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

STM32边界扫描应用

试想这样一个场景,我们新设计了一款集成了很多芯片的板卡,包括BGA封装的微控制器,如FPGA/MCU,还有LED、按键、串口、传感器、ADC等基本外设。 我们需要测试一下硬件电路工作是否正常、焊接是否良好,通常我们会写个测试代码,比如控制LED闪烁,读取按键的输入,串口收发一些数据,然后把程序烧录进去,看看现象是否和我们设计的一致。 当现象和设计不一致时,是代码设计的问题、还是硬件原理的...

强大的JTAG边界扫描(3):常用边界扫描测试软件

常用边界扫描测试软件

本文介绍两款常用的边界扫描测试软件:XJTAG和TopJTAG,前者收费、功能强大,后者免费(和谐后),功能简洁。 如果只是要进行简单的边界扫描测试,使用后者即可,本文重点介绍后者,也就是TopJTAG的下载、安装和基本使用。 1. 功能强大的XJTAG XJTAG是由剑桥大学的毕业生们设计开发的一整套系统,包括JTAG调试器硬件和上位机软件,功能强大,价格不菲。 官方网站:www....

强大的JTAG边界扫描(2):BSDL文件

BSDL文件

1. 什么是BSDL文件? BSDL,Boundary Scan Description Language的缩写,即边界扫描描述语言,属于VHDL的一个子集,内容符合VHDL的语法标准,用于描述JTAG在指定设备中的实现方式,只要设备符合JTAG标准,那么它必须具有对应的BSDL文件, BSDL文件主要包括以下信息: 当前芯片所支持的最大TCK频率 定义了管脚的名称和序号 ...

强大的JTAG边界扫描(5):FPGA边界扫描应用

FPGA边界扫描应用

上一篇文章,介绍了基于STM32F103的JTAG边界扫描应用,演示了TopJTAG Probe软件的应用,以及边界扫描的基本功能。本文介绍基于Xilinx FPGA的边界扫描应用,两者几乎是一样。 1. 获取芯片的BSDL文件 FPGA的BSDL文件获取方式,可以参考之前的文章:BSDL文件获取。 以Xilinx Kintex-7系列FPGA XC7K325T为例,可以在BSDL L...

强大的JTAG边界扫描(1):基本原理

基本原理

我是怎么了解到边界扫描的呢? 这就要从我淘到一块FPGA板卡的事情说起了。 前段时间我在某二手平台上淘了一块FPGA板子,它长这样: 板子的整体尺寸很小巧,和手掌差不多大,外设也很简单: 12v供电,带一个散热器 FPGA芯片是Xilinx XC7K325T,FFG676封装,芯片等级2I,生产日期是2017年21周 4路LED 3路轻触按键,其中一路是Conf...

基于STM32+ESP8266的全球新冠疫苗接种数据实时监控平台

我们一起苗苗苗

中国疾控中心免疫规划首席专家王华庆说,我国要建立免疫屏障,可能需要10亿以上的人接种新冠疫苗,接种率越高,免疫屏障就越牢固。 张文宏医生说,“年轻人打疫苗是为国家做贡献,最好在今年打、尽快打!”。最近,你打疫苗了吗? 上周三,我去打疫苗了,第一针。预约,健康状况询问,打针,观察,人不算太多,整个流程下来很顺利,目前没有任何的不良反应。 去年春节期间,宅在家为国家做贡献的...

一文看懂I2C协议

I2C协议详解

有哪些内容 I2C是什么 5种速率 4种信号 读写时序 7位和10位地址 I2C保留字节 FPGA实测I2C波形 SPI和I2C的对比 I2C是什么 在消费电子,工业电子等领域,会使用各种类型的芯片,如微控制器,电源管理,显示驱动,传感器,存储器,转换器等,他们有着不同的功能,有时需要快速的进行数据的交互,为了使用最简单的方式使这些芯片互联互通,于是...

一文看懂SPI协议

SPI协议详解

SPI协议简介 板卡内不同芯片间通讯最常用的三种串行协议:UART、I2C、SPI,之前写过串口协议及其FPGA实现,今天我们来介绍SPI协议,SPI是Serial Perripheral Interface的简称,是由Motorola公司推出的一种高速、全双工的总线协议。 与IIC类似,SPI也是采用主从方式工作,主机通常为FPGA、MCU或DSP等可编程控制器,从机通常为EPRO...

2020,年终总结

年终总结

昨天晚上看了不少大佬的年终总结,仔细想了想,我的2020年终总结,大家引以为戒: 年度代码累计10万行,修复BUG 221个,新增BUG 109个 内存泄露21次,空指针12次,数据类型定义错误11次 单片机程序跑飞23次,造成通宵加班15次 调试单片机程序遇到HardFault异常错误29次 调试Qt程序遇到程序异常结束12次 和产品经理吵架58次,其中23次发...

如何用FPGA解一道初中数学题

FPGA的那些骚操作

前几天和同事聊天,他说他上初中的儿子做出了一道很难的数学题,想考考我们这些大学生看能不能做得出来? 题目很简单: 大家先尝试做一下?我没想出怎么算的,只是用排除法确定了a和b的范围,然后再逐个尝试。 1.对4361进行开方计算,得到结果最大为66,则a,b的值均小于等于66。 2.对4361/2进行开方计算,则得到结果为46,则a,b两者,一个是1-46,一个是46-66之间的数。...