RK3562J技術(shù)分享 | 使用SPI掛載數(shù)字式RTD溫度傳感器的方法
飛凌嵌入式最新推出的RK3562J開發(fā)板上預(yù)留出了SPI2接口,位于P8插針引腳上:
SPI2_CLK_M0、
SPI2_CSN0_M0、
SPI2_MOSI_M0、
SPI2_MISO_M0。
本篇文章,將為大家介紹在RK3562J開發(fā)板上使用SPI2掛載MAX31865(數(shù)字式RTD溫度傳感器)芯片的方法。
1. 修改思路
添加一個SPI設(shè)備的思路為:
在設(shè)備樹中添加描述 → 設(shè)備樹描述中對應(yīng)設(shè)備驅(qū)動 → 設(shè)備驅(qū)動添加到內(nèi)核
2. 修改方法
(1)MAX31865模塊支持2線、3線、4線接線方式,這里我們選用3線方式接線。3線連接是一種折中方案,比4線方案少一條引線。為補償導(dǎo)線上的壓降,從(RTDIN+ RTDIN-)中減去FORCE+和RTDIN+之間的電壓,利用FORCE2對輸入采樣實現(xiàn)。如果電纜電阻具有很好的一致性,即可消除電纜電阻引入的誤差。
接線之前需要在模塊上焊接一下,按照下圖焊接成3線模式。
(2)在設(shè)備樹里添加MAX31865的相關(guān)描述,因為我們是3線的接法,所以我們需要添加maxim,3-wire參數(shù)。
3. 將驅(qū)動編譯成模塊
(1)在內(nèi)核源碼/drivers創(chuàng)建max31865文件夾,添加max31865.c和Makefile文件。
(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模塊。
(3)將max31865.ko 拷到飛凌RK35562開發(fā)板中,執(zhí)行insmod max31865.ko加載。
4. 測試
使用22Ω的電阻模擬鉑電阻,使用以下命令查看ADC原始值。
cat/sys/bus/iio/devices/iio:device2/in_temp_raw
可以看到22Ω的電阻,ADC的值是1655,對比芯片手冊中的值,發(fā)現(xiàn)是正常的,對應(yīng)的溫度大概在-190℃左右。
至此一個新的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)產(chǎn)品 >
-
OK3562J-C開發(fā)板
RK3562開發(fā)板,采用核心板+底板分體式設(shè)計,CPU采用瑞芯微工業(yè)級芯片RK3562J設(shè)計,RK3562J是瑞芯微專為工業(yè)自動化及消費類電子設(shè)備打造的一款高性能、低功耗國產(chǎn)化應(yīng)用處理器,集成了4個ARM Cortex-A53高性能核,主頻高達(dá)1.8GHz。RK3562核心板采用3組80Pin板對板連接器,可插拔式設(shè)計便于產(chǎn)品的安裝與維護(hù)。 了解詳情 -
FET3562J-C核心板
RK3562核心板,采用高性能低功耗工業(yè)級芯片RK3562J設(shè)計,RK3562J是瑞芯微專為工業(yè)自動化及消費類電子設(shè)備打造的一款高性能、低功耗國產(chǎn)化應(yīng)用處理器,集成了4個ARM Cortex-A53高性能核,主頻高達(dá)1.8GHz。RK3562核心板采用3組80Pin板對板連接器,可插拔式設(shè)計便于產(chǎn)品的安裝與維護(hù)。 了解詳情