RK3562J技術分享 | 使用SPI掛載數字式RTD溫度傳感器的方法

原創 2024-08-08 13:35:00 RK3562j rk3562開發板
MAX31865是簡單易用的熱敏電阻至數字輸出轉換器,優化用于鉑電阻溫度檢測器(RTD)。外部電阻設置RTD靈敏度,高精度Δ-Σ ADC將RTD電阻與基準電阻之比轉換為數字輸出。MAX31865輸入具有高達±45V的過壓保護,提供可配置的RTD及電纜開路、短路條件檢測。適用于醫療、工業、溫度計算、衛星、氣象、阻值計算等高精溫度設備,應用范圍非常之廣泛。

飛凌嵌入式最新推出的RK3562J開發板上預留出了SPI2接口,位于P8插針引腳上:

SPI2_CLK_M0、

SPI2_CSN0_M0、

SPI2_MOSI_M0、

SPI2_MISO_M0。

本篇文章,將為大家介紹在RK3562J開發板上使用SPI2掛載MAX31865(數字式RTD溫度傳感器)芯片的方法。


1. 修改思路

添加一個SPI設備的思路為:

在設備樹中添加描述 → 設備樹描述中對應設備驅動 → 設備驅動添加到內核

2. 修改方法

(1)MAX31865模塊支持2線、3線、4線接線方式,這里我們選用3線方式接線。3線連接是一種折中方案,比4線方案少一條引線。為補償導線上的壓降,從(RTDIN+ RTDIN-)中減去FORCE+和RTDIN+之間的電壓,利用FORCE2對輸入采樣實現。如果電纜電阻具有很好的一致性,即可消除電纜電阻引入的誤差。

接線之前需要在模塊上焊接一下,按照下圖焊接成3線模式。


(2)在設備樹里添加MAX31865的相關描述,因為我們是3線的接法,所以我們需要添加maxim,3-wire參數。

3. 將驅動編譯成模塊

(1)在內核源碼/drivers創建max31865文件夾,添加max31865.c和Makefile文件。

(2)修改父目錄/kernel/drivers/Makefile文件,執行全編譯操作,修改如下:

/drivers/max31865/Makefile內容如下:

obj-m += max31865.o

/kernel/drivers/Makefile添加如下代碼:

obj-y += max31865

再執行 ./build.sh kernel腳本編譯內核,即可在 /drivers/max31865目錄下生成ko模塊。

(3)將max31865.ko 拷到飛凌RK35562開發板中,執行insmod max31865.ko加載。

4. 測試

使用22Ω的電阻模擬鉑電阻,使用以下命令查看ADC原始值。

cat/sys/bus/iio/devices/iio:device2/in_temp_raw

可以看到22Ω的電阻,ADC的值是1655,對比芯片手冊中的值,發現是正常的,對應的溫度大概在-190℃左右。

至此一個新的MAX31865(數字式RTD溫度傳感器)設備添加成功,開發者可以根據讀到的adc原始值,開發自己的應用去對應現在測到的溫度。

以上就是OK3562J-C開發板上使用SPI2掛載MAX31865(數字式RTD溫度傳感器)設備的方法,希望能夠對大家的項目開發有所幫助。





相關產品 >

  • OK3562J-C開發板

    RK3562開發板,采用核心板+底板分體式設計,CPU采用瑞芯微工業級芯片RK3562J設計,RK3562J是瑞芯微專為工業自動化及消費類電子設備打造的一款高性能、低功耗國產化應用處理器,集成了4個ARM Cortex-A53高性能核,主頻高達1.8GHz。RK3562核心板采用3組80Pin板對板連接器,可插拔式設計便于產品的安裝與維護。 了解詳情
    OK3562J-C開發板
  • FET3562J-C核心板

    RK3562核心板,采用高性能低功耗工業級芯片RK3562J設計,RK3562J是瑞芯微專為工業自動化及消費類電子設備打造的一款高性能、低功耗國產化應用處理器,集成了4個ARM Cortex-A53高性能核,主頻高達1.8GHz。RK3562核心板采用3組80Pin板對板連接器,可插拔式設計便于產品的安裝與維護。 了解詳情
    FET3562J-C核心板

推薦閱讀 換一批 換一批