首页 > 其他 > 详细

海思Hi3519AV100使用DS18B20温度芯片测量温度

时间:2020-05-13 12:54:56      阅读:143      评论:0      收藏:0      [点我收藏+]

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文件,就能够读取到温度

技术分享图片

 

海思Hi3519AV100使用DS18B20温度芯片测量温度

原文:https://www.cnblogs.com/wangshenyang/p/12880741.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!