0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于海思linux4.9内核的DS18B20温度芯片测量温度

454398 来源:博客园 作者:enginexpert 2020-10-18 11:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

    文章

    11628

    浏览量

    217949
  • DS18B20
    +关注

    关注

    10

    文章

    782

    浏览量

    83083
  • 海思
    +关注

    关注

    43

    文章

    526

    浏览量

    118997
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    要做一个DS18B20的读取程序,单总线需要配置为输入或者输出,怎么配置好?

    目前要做一个DS18B20的读取程序,单总线需要配置为输入或者输出。怎么配置好
    发表于 11-18 06:30

    单总线接口数字温度传感器芯片GX18E20

    成为分布式测温系统的核心选择。GX18E20作为一款基于单总线协议的数字温度传感器芯片,在实现-55℃至+125℃宽范围测温的同时,支持多点组网与报警设定,适用于HVAC、粮情监测、工业过程控制等复杂场景。
    的头像 发表于 11-11 15:22 140次阅读

    使用18b20软件包报错怎么解决?

    In file included from ../packages/ds18b20-latest/src/dallas_ds18b20_sensor_v1.c:12:0: C
    发表于 10-14 06:49

    液体介电常数测试仪中的温度控制与热漂移抑制

    55。同时,温度波动会使电阻、电容等无源元件参数改变,晶体管等有源器件工作点偏移,最终影响测量精度。 温度控制方案设计 温度测量模块 常用
    的头像 发表于 07-31 13:23 444次阅读
    液体介电常数测试仪中的<b class='flag-5'>温度</b>控制与热漂移抑制

    单片机实例项目:DS18B20温度传感器

    单片机实例项目:DS18B20温度传感器,推荐下载!
    发表于 06-03 20:59

    血泪教训总结:Air780EPM的LuatOS二次开发——OneWire协议调试注意事项

    的OneWire通信,大幅提升项目开发效率。 一、LuatOS 及 OneWire 说明   LuatOS 支持 OneWire 通信协议,本文以 DS18B20 温度传感器和 Air780EPM 搭配
    的头像 发表于 03-20 17:52 905次阅读
    血泪教训总结:Air780EPM的LuatOS二次开发——OneWire协议调试注意事项

    最佳实践指南:Air780EPM的LuatOS二次开发——OneWire协议调试的注意事项

    在物联网设备开发中,精准且稳定的数据传输是构建智能系统的核心。 一、LuatOS 及 OneWire 说明   LuatOS 支持 OneWire 通信协议,本文以 DS18B20 温度传感器
    的头像 发表于 03-17 16:57 578次阅读
    最佳实践指南:Air780EPM的LuatOS二次开发——OneWire协议调试的注意事项

    基于FPGA的DS18B20数字温度传感器测温实例

    本文将使用三段式状态机(Moore型)的写法来对DS18B20进行测温操作,以便了解DS18B20和熟悉三段式状态机的写法。
    的头像 发表于 03-17 11:06 2084次阅读
    基于FPGA的<b class='flag-5'>DS18B20</b>数字<b class='flag-5'>温度</b>传感器测温实例

    DS18B20实时温度传感器中文资料

    DS18B20 是一种单总线数字温度传感器,它被广泛应用于各种领域,例如气象监测、室内温度控制、工业自动化等。DS18B20 采用了单总线接口(One-Wire Interface),
    发表于 02-28 17:02 5次下载

    温度探头的测量范围选择

    温度是工业过程中一个关键的参数,它直接影响到产品质量、生产效率和安全性。温度探头作为测量温度的工具,其测量范围的选择直接关系到
    的头像 发表于 01-20 09:54 1440次阅读

    基于FPGA的温度传感器(ds18b20)驱动设计

    的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。 DS18B20 数字温度计提供 9-12位摄氏温度测量
    的头像 发表于 01-16 14:08 2044次阅读
    基于FPGA的<b class='flag-5'>温度</b>传感器(<b class='flag-5'>ds18b20</b>)驱动设计

    采用高精度数字传感芯片来采集测量水分含量和温度的水分温度模组

    MSS(Mysentech Soil Sensor)是一款水分温度模组,采用高精度数字传感芯片结合嵌入式处理与计算,采集测量水分含量和温度.
    的头像 发表于 01-10 09:51 645次阅读
    采用高精度数字传感<b class='flag-5'>芯片</b>来采集<b class='flag-5'>测量</b>水分含量和<b class='flag-5'>温度</b>的水分<b class='flag-5'>温度</b>模组

    温度对电桥测量结果的影响

    温度对电桥测量结果的影响是显著的,主要体现在以下几个方面: 一、电阻值变化 电桥电路中的电阻值会随着温度的变化而变化。通常,电阻的阻值会随着温度的升高而增大,这种变化会导致电桥电路中的
    的头像 发表于 01-09 10:21 1912次阅读

    【正点原子STM32H7R3开发套件试用体验】DS18B20、DHT11温湿度采集

    环境温湿度数据的主要流程和关键代码,并对这两款常见传感器进行了介绍。 DS18B20 DS18B20 数字温度计是 DALLAS 公司生产的 1-Wire 单总线器件,具有线路简单、体积小的特点
    发表于 01-01 11:16

    《DNESP32S3使用指南-IDF版_V1.6》第二十九章 DS18B20实验

    第二十九章 DS18B20实验 本章,我们将介绍ESP32-S3如何读取外部温度传感器的温度,来得到较为准确的环境温度。我们将学习单总线技术,通过它来实现ESP32-S3和外部
    发表于 12-25 09:43