欢迎光临散文网 会员登陆 & 注册

单片机项目中使用新IC芯片调试方法

2021-05-20 00:13 作者:想啥_做啥  | 我要投稿


前一阵子,一位小伙伴咨询我一款新IC芯片怎么使用,借此机会我顺便把我日常工作中经常用到的一种调试方法介绍给小伙伴们,希望对对大家有所帮助。准备仓促,文中难免有技术性错误,欢迎大家给予指正,并给出好的建议...🤝🤝

前言:

我们在单片机的项目开发过程中经常会遇到使用新IC芯片的情况,某宝卖家有个时候也提供不了对应开发程序,到网上找资料也找不到;很多初学者面对这样的问题往往束手无策,这里我给大家介绍我经常用的其中一种新IC调试的方法。

因为这个芯片比较简单我这里采用下面步骤进行:
第一步:先用arduino+面包板快速搭建电路验证芯片功能
第二步:使用STM32CubeIDE快速搭建工程验证在STM32上工作是否正常
Tips:由于我手头没有万用表,这里我使用arduino的模拟电压采集功能通过串口打印出来作为电位计的电压监控用。

首先,我们先快速浏览芯片数据手册,获取重要信息
IC型号:TPL0501
电压范围:2.7~5.5V
温度范围:-40~125℃
通信方式:SPI
阻值:100KΩ
阻值偏差:±20%
该芯片是某州仪器的一款单通道数字电位计,通信方式是SPI总线,单方向的,即只能控制芯片,不能读取输入数据,下面是数据手册的具体介绍。
环境参数:主要包括温度使用范围、电压使用范围、误差、温度漂移以及实物引脚对应关系都在这里。

环境参数

功能框图:主要介绍该芯片的内部组成和工作原理


功能框图

引脚定义:每个引脚的功能介绍。

引脚定义

SPI通信说明:主要介绍芯片的通信方式,这个芯片因为没有设置模式功能,只需要对芯片直接写数据即可,通信方式与我们所使用的74HC595的方式类似。

SPI通信说明

真值对照表:也就是数字量对应的实际电阻值,我这里只截取了一部分,剩下的大家可以自行去参考详细手册。

真值对照表

对于要调通这个芯片这些介绍基本满足我们的需求了

芯片模块的快速制作
在芯片商城上买了两片回来调试,芯片购买的费用小伙伴给付了。

准备好芯片+转接板


焊接两块是为了防止在使用过程中意外弄坏另一块可以立马补上,确保调试正常进行而不耽误太多时间。

焊接好排针,并在供电端加上0.1uF的滤波电容,降低高频供电干扰。


这样我们的模块就制作完成了

电路原理图

引脚对应关系:
arduino uno 引脚4 -> CLK
arduino uno 引脚5 -> DIN
arduino uno 引脚6 -> CS
arduino uno 引脚5v -> VCC、VREF
arduino uno 引脚GND -> GND、L
arduino uno 引脚A0 -> VRES_OUT
首先用面包板+杜邦线搭好电路
说明:我在这里使用的供电电压和数字电位计参考电压都是使用的5V,相应的输出结果也是在0~5V范围。

然后使用arduino自带的库,编写代码,再变动阻值参数,看下输出的实际结果和真值表是否对应的上
数值为0x00时对应的模拟电压输出

数值为0x88时对应的模拟电压输出


数值为0xFF时对应的模拟电压输出

经过验证,在arduino上跑没有问题,接下来我们准备在STM32上去运行
arduino代码部分:

STM32搭建工程验证

说明:STM32使用的供电电压和数字电位计参考电压都是3V3,相应的输出结果也是在0~3V3范围。

电路原理图

引脚对应关系:
PA4 -> CLK
PA5 -> DIN
PA6 -> CS
3V3 -> VCC、VREF
arduino uno 引脚GND -> GND、L
arduino uno 引脚A0 -> VRES-OUT
开发板+面包板搭建电路

用STM32CubeIDE建立一个工程


配置好PA4、PA5、PA6引脚为输出


生成代码,并添加TPL0501的驱动代码


编译看运行的效果,输入值为0x55


编译看运行的效果,输入值为0x55

更改输入的数值为0x22,验证是否正确

main函数代码:

总结:

1、这里介绍了众多新IC芯片调试方式中的一种,后期有机会再陆续介绍其他IC或新模块的调试方法。
2、文中只是简单的对芯片进行功能测试,实际项目中还会有移植、驱动的可靠性、稳定性等测试工作 。
3、我们要善于运用手头的工具、arduino等快速验证开发环境;模块的快速验证,特别是在项目开发过程中,时间就是金钱,对每一种工具的熟练掌握也是单片机开发过程中不可或缺的重要技能。
4、硬件调试与软件调试有很大的区别,很多时候是一次性,不可逆转的,不像软件Ctl+Z可以撤销;硬件在使用过程中出现意外损坏情况很正常:焊接不当、意外插错,静电防护不到位等等;我们要善于运用一些项目技巧,权衡时间或花费;这里之所以选择焊接两个芯片模块也是为了防止这种意外的发生而对调试造成不必要的时间耽搁。

单片机项目中使用新IC芯片调试方法的评论 (共 条)

分享到微博请遵守国家法律