DS18B20是一款常用的單線串行測溫芯片,linux內核上的w1總線可以掛接這種類型的設備,所以考慮在當前海思linux4.9內核上掛接該設備。
配置分為幾個步驟
1、內核的配置
啟用w1子模塊,也可以編譯進內核,但是考慮調試的方便性,編譯成模塊更合適一些。

在該子系統(tǒng)的內部,又分為兩部分,一部分是master一部分是slave,其中master部分我們當前海思的芯片上沒有硬件相關的控制器,我們是采用gpio模擬的方式,
所以也需要gpio的模塊支持。考慮應用層訪問數據的話,也需要打開Userspace communication over connector選項

master部分

slave部分

其中第一個選項里面就包含DS18B20的支持
2、設備樹的配置
根據硬件電路圖的連接,需要使用GPIO3_6
修改hi3519av100-smp-emmc.dts文件,在后面追加如下內容
&soc {
wire1@0 {
compatible = "w1-gpio";
gpios = <&gpio_chip3 6 0>;
status = "okay";
};
};
3、掛接成功后溫度的讀取
內核會周期性掃描總線,如果掃描到設備,根據設備ID,會在用戶文件系統(tǒng)的目錄/sys/devices/w1_bus_master1/下出現一個slave設備目錄
/sys/devices/w1_bus_master1/28-00000b19d368
其中28代表DS18B20設備,00000b19d368是芯片的id
通過讀取該目錄下的w1_slave文件,就能夠讀取到溫度

編輯:hfy
-
Linux
+關注
關注
88文章
11758瀏覽量
219009 -
DS18B20
+關注
關注
10文章
782瀏覽量
83341 -
海思
+關注
關注
45文章
530瀏覽量
120216
發(fā)布評論請先 登錄
高精度溫度測量利器:LMT01數字輸出溫度傳感器解析
一文看懂常用傳感器:溫度、光照、氣體全覆蓋
TDK NTC熱敏電阻溫度測量探頭組件B57861E0103A010技術解析
分享1-Wire接口數字溫度傳感器IC型號
單總線接口數字溫度傳感器芯片GX18E20
使用18b20軟件包報錯怎么解決?
STM32項目分享:礦井環(huán)境監(jiān)測系統(tǒng)
Analog Devices Inc. LTM2985數字溫度測量系統(tǒng)數據手冊
血淚教訓總結:Air780EPM的LuatOS二次開發(fā)——OneWire協議調試注意事項
最佳實踐指南:Air780EPM的LuatOS二次開發(fā)——OneWire協議調試的注意事項
具有精度高、一致性好、功耗低、可編程配置靈活的數字溫度傳感芯片-MY18E20
基于海思linux4.9內核的DS18B20溫度芯片測量溫度
評論