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