DS18B20是一款常用的單線串行測(cè)溫芯片,linux內(nèi)核上的w1總線可以掛接這種類型的設(shè)備,所以考慮在當(dāng)前海思linux4.9內(nèi)核上掛接該設(shè)備。
配置分為幾個(gè)步驟
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選項(xiàng)

master部分

slave部分

其中第一個(gè)選項(xiàng)里面就包含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)核會(huì)周期性掃描總線,如果掃描到設(shè)備,根據(jù)設(shè)備ID,會(huì)在用戶文件系統(tǒng)的目錄/sys/devices/w1_bus_master1/下出現(xiàn)一個(gè)slave設(shè)備目錄
/sys/devices/w1_bus_master1/28-00000b19d368
其中28代表DS18B20設(shè)備,00000b19d368是芯片的id
通過讀取該目錄下的w1_slave文件,就能夠讀取到溫度

編輯:hfy
-
Linux
+關(guān)注
關(guān)注
88文章
11624瀏覽量
217848 -
DS18B20
+關(guān)注
關(guān)注
10文章
782瀏覽量
83047 -
海思
+關(guān)注
關(guān)注
43文章
525瀏覽量
118969
發(fā)布評(píng)論請(qǐng)先 登錄
要做一個(gè)DS18B20的讀取程序,單總線需要配置為輸入或者輸出,怎么配置好?
單總線接口數(shù)字溫度傳感器芯片GX18E20
使用18b20軟件包報(bào)錯(cuò)怎么解決?
液體介電常數(shù)測(cè)試儀中的溫度控制與熱漂移抑制
血淚教訓(xùn)總結(jié):Air780EPM的LuatOS二次開發(fā)——OneWire協(xié)議調(diào)試注意事項(xiàng)
最佳實(shí)踐指南:Air780EPM的LuatOS二次開發(fā)——OneWire協(xié)議調(diào)試的注意事項(xiàng)
基于FPGA的DS18B20數(shù)字溫度傳感器測(cè)溫實(shí)例
DS18B20實(shí)時(shí)溫度傳感器中文資料
溫度探頭的測(cè)量范圍選擇
基于FPGA的溫度傳感器(ds18b20)驅(qū)動(dòng)設(shè)計(jì)
采用高精度數(shù)字傳感芯片來采集測(cè)量水分含量和溫度的水分溫度模組

基于海思linux4.9內(nèi)核的DS18B20溫度芯片測(cè)量溫度
評(píng)論