MAX31865是一款設計簡潔且功能強大的熱敏電阻至數字輸出轉換器,特別適用于鉑電阻溫度檢測器(RTD)的應用。該器件通過外部電阻設置RTD的靈敏度,并利用高精度Δ-Σ模數轉換器(ADC)將RTD電阻與基準電阻的比值轉換為數字信號輸出。其輸入端具備高達±45V的過壓保護,并能檢測RTD及電纜的開路、短路情況,因此在醫療、工業、溫度控制、衛星、氣象以及阻值計算等高精度溫度測量領域得到了廣泛應用。 飛凌嵌入式基于瑞芯微RK3562處理器推出的OK3562J-C開發板,在P8插針引腳上預留了SPI2接口,包括: SPI2_CLK_M0、SPI2_CSN0_M0、SPI2_MOSI_M0和SPI2_MISO_M0。 本文將詳細介紹如何在飛凌嵌入式RK3562開發板上使用SPI2接口掛載MAX31865數字式RTD溫度傳感器。 ![]() 在飛凌嵌入式RK3562開發板上添加一個新的SPI設備,通常需要遵循以下步驟:
![]() 2. 設備樹配置 在設備樹中添加MAX31865的相關描述。由于我們采用的是3線接法,因此需要添加maxim,3-wire參數。 ![]() 3. 驅動編譯與加載 (1)在內核源碼的/drivers目錄下創建max31865文件夾,并添加max31865.c和Makefile文件。 ![]() ![]() (2)修改父目錄/kernel/drivers/Makefile文件,添加對max31865目錄的編譯支持。具體修改如下: /drivers/max31865/Makefile內容:
/kernel/drivers/Makefile添加:
執行./build.sh kernel腳本編譯內核,編譯完成后,在/drivers/max31865目錄下會生成max31865.ko模塊。 ![]() 使用22Ω的電阻模擬鉑電阻,通過以下命令查看ADC的原始值:
![]() 觀察到22Ω電阻對應的ADC值為1655。與芯片手冊中的值進行對比,確認該值在正常范圍內,對應的溫度大約在-190℃左右 ![]() 至此,我們成功在飛凌嵌入式RK3562開發板上通過SPI2接口掛載了MAX31865數字式RTD溫度傳感器。開發者可以根據讀取到的ADC原始值,開發自己的應用來對應當前測量的溫度。 |