STM32F765 調試MAX31856 經驗總結

      這幾天在做一塊新的PCR (熒光免疫監測法)主板,用到2個CAN,USB,PWM,UART,以及SPI,IIC,其中SPI總線是接MAX31856,做K型溫度讀取,頭幾天遇到了問題,到週五完全解決,我把整個過程記錄一下。以免忘記

1. 寫SPI驅動,參考了我們以前的SPI驅動,不過是基於STM32 STDLIB的,現在改爲HAL LIB 有一點改變,不過還好,一天改好,

2. 第二天測試,發現讀出來的溫度,常溫下時96度,並且手摸後,溫度居然下降,奇怪,既然這樣,我就要好好看看程序了,先把CR0,CR1讀出來,然後通過串口打印出來。發現大部分時候都是正確的,偶爾關機,再開機,這個值就不對了,而且4個都是這樣

,這就讓我爲難,不可能都壞了吧,那就用邏輯分析儀看看吧,發現SPI波形很好啊,鬱悶啊,說明MCU的SPI是好的啊,

3. 和公司的硬件工程師商量,請教他有沒有啥好的辦法。他一會讓我測電壓,和通斷,都測試,OK,

4. 再看看程序,和以前STM32F103的讀法設置一樣啊,只不過以前是16位,現在改爲了8位,難道這個有問題,我改爲16位再試試,還是一樣的情況

5. 這時候,硬件工程師給我建議,看看ready信號,用示波器看正常啊,都有,這時候時間已經過了4天,天啦,這個問題已經拖了4天,太長了,

6. 換max31856試試,還是一樣,找一個小板子,上面有max31856.用杜邦線接到開發板上試試,發現溫度讀取正常,說明程序OK,把這個情況和硬件工程師說了一下,他覺得非常奇怪,讓我把板子給他,

7. 我改爲測試讀CR0,CR1,他用示波器測SPI總線數據,發現寫數據MOSI正常,CS,CLK都正常,MISO也正常,但爲啥ready有時候正常,有時候不正常,沒有辦法,有換一個max31856,還是一樣,這時候不敢再懷疑max31856,明明每個部分都是好的,軟件,mcu,max31856,電路板都是好的,但爲啥讀出來的溫度就是這麼高呢,

8.沒有辦法,他到實驗室去了一趟,回來把板子給我,說,再測試一下吧,不行,就再焊一塊,我沒有其他辦法,只好再測試一次,這次OK,22.05度,好了,斷電上電,測試OK,再斷電上電,OK,完全好了,

9。我問他,怎麼回事,他說用酒精狠狠清洗了一下。跟我說,以後千萬不要用焊油這類助焊了,然後拿給我看,這種白色鐵盒助焊劑。上面有一行字,說這個會導電,使用後要用酒精清洗。

10. 整整花了5天,才解決,教訓深刻,所以記錄下來,程序在公司電腦裏,以及一些圖片都在公司,下次補上吧

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章