DS18B20是一款常用的單線串行測溫芯片,linux內(nèi)核上的w1總線可以掛接這種類型的設(shè)備,所以考慮在當(dāng)前海思linux4.9內(nèi)核上掛接該設(shè)備。
配置分為幾個步驟
1、內(nèi)核的配置
啟用w1子模塊,也可以編譯進(jìn)內(nèi)核,但是考慮調(diào)試的方便性,編譯成模塊更合適一些。
在該子系統(tǒng)的內(nèi)部,又分為兩部分,一部分是master一部分是slave,其中master部分我們當(dāng)前海思的芯片上沒有硬件相關(guān)的控制器,我們是采用gpio模擬的方式,
所以也需要gpio的模塊支持??紤]應(yīng)用層訪問數(shù)據(jù)的話,也需要打開Userspace communication over connector選項
master部分
slave部分
其中第一個選項里面就包含DS18B20的支持
2、設(shè)備樹的配置
根據(jù)硬件電路圖的連接,需要使用GPIO3_6
修改hi3519av100-smp-emmc.dts文件,在后面追加如下內(nèi)容
&soc {
wire1@0 {
compatible = "w1-gpio";
gpios = <&gpio_chip3 6 0>;
status = "okay";
};
};
3、掛接成功后溫度的讀取
內(nèi)核會周期性掃描總線,如果掃描到設(shè)備,根據(jù)設(shè)備ID,會在用戶文件系統(tǒng)的目錄/sys/devices/w1_bus_master1/下出現(xiàn)一個slave設(shè)備目錄
/sys/devices/w1_bus_master1/28-00000b19d368
其中28代表DS18B20設(shè)備,00000b19d368是芯片的id
通過讀取該目錄下的w1_slave文件,就能夠讀取到溫度
編輯:hfy
-
Linux
+關(guān)注
關(guān)注
87文章
11207瀏覽量
208712 -
DS18B20
+關(guān)注
關(guān)注
10文章
777瀏覽量
80636 -
海思
+關(guān)注
關(guān)注
42文章
442瀏覽量
116014
發(fā)布評論請先 登錄
相關(guān)推薦
評論