DS18B20是一款常用的单线串行测温芯片,linux内核上的w1总线可以挂接这种类型的设备,所以考虑在当前海思linux4.9内核上挂接该设备。
配置分为几个步骤
1、内核的配置
启用w1子模块,也可以编译进内核,但是考虑调试的方便性,编译成模块更合适一些。

在该子系统的内部,又分为两部分,一部分是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,会在用户文件系统的目录/sys/devices/w1_bus_master1/下出现一个slave设备目录
/sys/devices/w1_bus_master1/28-00000b19d368
其中28代表DS18B20设备,00000b19d368是芯片的id
通过读取该目录下的w1_slave文件,就能够读取到温度

编辑:hfy
-
Linux
+关注
关注
88文章
11817浏览量
219535 -
DS18B20
+关注
关注
10文章
782浏览量
83511 -
海思
+关注
关注
45文章
546浏览量
120586
发布评论请先 登录
HJ18B20 数字单总线温度传感器
探索DS1629:2线数字温度计与实时时钟的卓越之选
高精度温度测量利器:LMT01数字输出温度传感器解析
一文看懂常用传感器:温度、光照、气体全覆盖
TDK NTC热敏电阻温度测量探头组件B57861E0103A010技术解析
分享1-Wire接口数字温度传感器IC型号
单总线接口数字温度传感器芯片GX18E20
国产AI芯片真能扛住“算力内卷”?海思昇腾的这波操作藏了多少细节?
使用18b20软件包报错怎么解决?
Analog Devices Inc. LTM2985数字温度测量系统数据手册
基于海思linux4.9内核的DS18B20温度芯片测量温度
评论