MAX31865是簡單易用的熱敏電阻至數(shù)字輸出轉(zhuǎn)換器,優(yōu)化用于鉑電阻溫度檢測器(RTD)。外部電阻設(shè)置RTD靈敏度,高精度Δ-Σ ADC將RTD電阻與基準(zhǔn)電阻之比轉(zhuǎn)換為數(shù)字輸出。MAX31865輸入具有高達(dá)±45V的過壓保護(hù),提供可配置的RTD及電纜開路、短路條件檢測。適用于醫(yī)療、工業(yè)、溫度計算、衛(wèi)星、氣象、阻值計算等高精溫度設(shè)備,應(yīng)用范圍非常之廣泛。
飛凌嵌入式最新推出的OK3562J-C開發(fā)板上預(yù)留出了SPI2接口,位于P8插針引腳上:
SPI2_CLK_M0、SPI2_CSN0_M0、SPI2_MOSI_M0、SPI2_MISO_M0。
本篇文章,將為大家介紹在OK3562J-C開發(fā)板上使用SPI2掛載MAX31865(數(shù)字式RTD溫度傳感器)芯片的方法。
![wKgaomaxwfWASVWLAAB6MsvVLBs25.jpeg](https://file1.elecfans.com/web2/M00/01/AD/wKgaomaxwfWASVWLAAB6MsvVLBs25.jpeg)
1. 修改思路
添加一個SPI設(shè)備的思路為:
在設(shè)備樹中添加描述 → 設(shè)備樹描述中對應(yīng)設(shè)備驅(qū)動 → 設(shè)備驅(qū)動添加到內(nèi)核
2. 修改方法
(1)MAX31865模塊支持2線、3線、4線接線方式,這里我們選用3線方式接線。3線連接是一種折中方案,比4線方案少一條引線。為補(bǔ)償導(dǎo)線上的壓降,從(RTDIN+ RTDIN-)中減去FORCE+和RTDIN+之間的電壓,利用FORCE2對輸入采樣實(shí)現(xiàn)。如果電纜電阻具有很好的一致性,即可消除電纜電阻引入的誤差。接線之前需要在模塊上焊接一下,按照下圖焊接成3線模式。
![wKgZomaxwfaAOrexAAC_1Pq18_o18.jpeg](https://file1.elecfans.com/web2/M00/00/C3/wKgZomaxwfaAOrexAAC_1Pq18_o18.jpeg)
(2)在設(shè)備樹里添加MAX31865的相關(guān)描述,因為我們是3線的接法,所以我們需要添加maxim,3-wire參數(shù)。
![wKgZomaxwfWAX3rgAAAjQgvLT5I21.jpeg](https://file1.elecfans.com/web2/M00/00/C3/wKgZomaxwfWAX3rgAAAjQgvLT5I21.jpeg)
3. 將驅(qū)動編譯成模塊
(1)在內(nèi)核源碼/drivers創(chuàng)建max31865文件夾,添加max31865.c和Makefile文件。
![wKgaomaxwfWAfSv3AAD0cNRa3XE07.jpeg](https://file1.elecfans.com/web2/M00/01/AD/wKgaomaxwfWAfSv3AAD0cNRa3XE07.jpeg)
![wKgaomaxwf-AZ081AAAsCbGsrbg14.jpeg](https://file1.elecfans.com/web2/M00/01/AE/wKgaomaxwf-AZ081AAAsCbGsrbg14.jpeg)
(2)修改父目錄/kernel/drivers/Makefile文件,執(zhí)行全編譯操作,修改如下:
/drivers/max31865/Makefile內(nèi)容如下:
obj-m += max31865.o
/kernel/drivers/Makefile添加如下代碼:
obj-y += max31865
再執(zhí)行 ./build.sh kernel腳本編譯內(nèi)核,即可在 /drivers/max31865目錄下生成ko模塊。
![wKgZomaxwfWAYWsAAABY7iIirGE80.jpeg](https://file1.elecfans.com/web2/M00/00/C3/wKgZomaxwfWAYWsAAABY7iIirGE80.jpeg)
(3)將max31865.ko 拷到OK3562J-C開發(fā)板中,執(zhí)行insmod max31865.ko加載。
![wKgaomaxwfWAOXyFAAAyd4X31iM35.jpeg](https://file1.elecfans.com/web2/M00/01/AE/wKgaomaxwfWAOXyFAAAyd4X31iM35.jpeg)
4. 測試
cat /sys/bus/iio/devices/iio:device2/in_temp_raw
![wKgZomaxwfWAUTdDAAAcFHVnShI43.jpeg](https://file1.elecfans.com/web2/M00/00/C3/wKgZomaxwfWAUTdDAAAcFHVnShI43.jpeg)
可以看到22Ω的電阻,ADC的值是1655,對比芯片手冊中的值,發(fā)現(xiàn)是正常的,對應(yīng)的溫度大概在-190℃左右。
![wKgaomaxwfaAFngMAAGBWcAa85455.jpeg](https://file1.elecfans.com/web2/M00/01/AE/wKgaomaxwfaAFngMAAGBWcAa85455.jpeg)
至此一個新的MAX31865(數(shù)字式RTD溫度傳感器)設(shè)備添加成功,開發(fā)者可以根據(jù)讀到的adc原始值,開發(fā)自己的應(yīng)用去對應(yīng)現(xiàn)在測到的溫度。
以上就是OK3562J-C開發(fā)板上使用SPI2掛載MAX31865(數(shù)字式RTD溫度傳感器)設(shè)備的方法,希望能夠?qū)Υ蠹业捻椖块_發(fā)有所幫助。
-
傳感器
+關(guān)注
關(guān)注
2550文章
50860瀏覽量
752545 -
嵌入式
+關(guān)注
關(guān)注
5076文章
19055瀏覽量
304046 -
瑞芯微
+關(guān)注
關(guān)注
23文章
405瀏覽量
51274 -
MAX31865
+關(guān)注
關(guān)注
1文章
6瀏覽量
9373 -
RK3562
+關(guān)注
關(guān)注
0文章
24瀏覽量
44
發(fā)布評論請先 登錄
相關(guān)推薦
延時僅33us,Linux-RT實(shí)時性能測試分享—基于瑞芯微RK3562J國產(chǎn)平臺
“雙系統(tǒng)”出爐!瑞芯微RK3562J非對稱AMP:Linux+RTOS/裸機(jī)
數(shù)字式溫度傳感器精度問題
傳統(tǒng)模擬式傳感器和新興科技數(shù)字式傳感器
數(shù)字式傳感器與模擬式傳感器的八個區(qū)別
數(shù)字式傳感器
數(shù)字式位移傳感器
什么是數(shù)字式傳感器
數(shù)字式傳感器稱重技術(shù)
數(shù)字式直線位移傳感器等數(shù)字式傳感器相關(guān)知識解析
![<b class='flag-5'>數(shù)字式</b>直線位移<b class='flag-5'>傳感器</b>等<b class='flag-5'>數(shù)字式</b><b class='flag-5'>傳感器</b>相關(guān)知識解析](https://file.elecfans.com/web2/M00/49/5E/poYBAGKhwKeAVNrJAABXZt8wMLw692.png)
數(shù)字式稱重傳感器原理及安裝
數(shù)字式溫度傳感器芯片的測溫原理
![<b class='flag-5'>數(shù)字式</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>芯片的測溫原理](https://file.elecfans.com//web2/M00/4A/F8/pYYBAGKmkz6APoC7AAAgOP8v2lM169.jpg)
深度對比!瑞芯微RK3562J比RK3568J好在哪里?
![深度對比!瑞芯微<b class='flag-5'>RK3562J</b>比<b class='flag-5'>RK3568J</b>好在哪里?](https://file.elecfans.com/web2/M00/7E/BA/poYBAGOHAv6AbvjgAAA8o4Btlss933.png)
評論