你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32F765 调试MAX31856 经验总结

[复制链接]
STMCU小助手 发布时间:2021-12-14 10:33
这几天在做一块新的PCR (荧光免疫监测法)主板,用到2个CAN,USB,PWM,UART,以及SPI,IIC,其中SPI总线是接MAX31856,做K型温度读取,头几天遇到了问题,到周五完全解决,我把整个过程记录一下。以免忘记8 a8 Z! I& {4 S. \4 a& x6 B3 m# N

9 D; X2 o( g# |/ b1 |& ]' _5 ?1. 写SPI驱动,参考了我们以前的SPI驱动,不过是基于STM32 STDLIB的,现在改为HAL LIB 有一点改变,不过还好,一天改好,: @3 B$ S/ ?  S

( m; P0 D: `) W" |4 N2. 第二天测试,发现读出来的温度,常温下时96度,并且手摸后,温度居然下降,奇怪,既然这样,我就要好好看看程序了,先把CR0,CR1读出来,然后通过串口打印出来。发现大部分时候都是正确的,偶尔关机,再开机,这个值就不对了,而且4个都是这样
1 ?/ ?1 t  |5 Y
( N4 k. O* v# N2 S,这就让我为难,不可能都坏了吧,那就用逻辑分析仪看看吧,发现SPI波形很好啊,郁闷啊,说明MCU的SPI是好的啊,+ d. n+ w5 {5 J4 V
7 V; k0 {  V$ O
3. 和公司的硬件工程师商量,请教他有没有啥好的办法。他一会让我测电压,和通断,都测试,OK,& R6 ~0 @2 p5 ]: k

1 r) M. p8 T; ~4. 再看看程序,和以前STM32F103的读法设置一样啊,只不过以前是16位,现在改为了8位,难道这个有问题,我改为16位再试试,还是一样的情况
0 ?8 _) J2 b$ h8 k- l
, A5 F( |3 Q# O; Q2 G3 z5. 这时候,硬件工程师给我建议,看看ready信号,用示波器看正常啊,都有,这时候时间已经过了4天,天啦,这个问题已经拖了4天,太长了,2 o; g& P1 n2 i: g* a7 C3 n

8 E' ^1 u8 M4 R6. 换max31856试试,还是一样,找一个小板子,上面有max31856.用杜邦线接到开发板上试试,发现温度读取正常,说明程序OK,把这个情况和硬件工程师说了一下,他觉得非常奇怪,让我把板子给他,
1 q: q/ D" C0 D" H0 U5 `" k8 h8 @2 W. m3 |$ x6 J8 |- }2 ~
7. 我改为测试读CR0,CR1,他用示波器测SPI总线数据,发现写数据MOSI正常,CS,CLK都正常,MISO也正常,但为啥ready有时候正常,有时候不正常,没有办法,有换一个max31856,还是一样,这时候不敢再怀疑max31856,明明每个部分都是好的,软件,mcu,max31856,电路板都是好的,但为啥读出来的温度就是这么高呢,2 N! l1 S* ^( ^/ |' d* U$ _
: N4 P0 G& l& h" z: t- M
8.没有办法,他到实验室去了一趟,回来把板子给我,说,再测试一下吧,不行,就再焊一块,我没有其他办法,只好再测试一次,这次OK,22.05度,好了,断电上电,测试OK,再断电上电,OK,完全好了,0 K3 {: n8 X# r8 w

+ q6 ?# A0 J. [- R0 U8 b8 K9。我问他,怎么回事,他说用酒精狠狠清洗了一下。跟我说,以后千万不要用焊油这类助焊了,然后拿给我看,这种白色铁盒助焊剂。上面有一行字,说这个会导电,使用后要用酒精清洗。
2 R2 T! d7 U3 h1 H  n  B8 D: A- w
10. 整整花了5天,才解决,教训深刻,所以记录下来,程序在公司电脑里,以及一些图片都在公司,下次补上吧0 L" Q6 M# T* w; B& r& }
5 h) f3 _9 G0 T
1 T# n' K8 [1 E. i! B1 k
收藏 评论0 发布时间:2021-12-14 10:33

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版