RK3562J技术分享 | 使用SPI挂载数字式RTD温度传感器的方法

news2024/11/24 19:53:59

MAX31865是简单易用的热敏电阻至数字输出转换器,优化用于铂电阻温度检测器(RTD)。外部电阻设置RTD灵敏度,高精度Δ-Σ ADC将RTD电阻与基准电阻之比转换为数字输出。MAX31865输入具有高达±45V的过压保护,提供可配置的RTD及电缆开路、短路条件检测。适用于医疗、工业、温度计算、卫星、气象、阻值计算等高精温度设备,应用范围非常之广泛。

飞凌嵌入式最新推出的OK3562J-C开发板上预留出了SPI2接口,位于P8插针引脚上:

SPI2_CLK_M0、SPI2_CSN0_M0、SPI2_MOSI_M0、SPI2_MISO_M0。

本篇文章,将为大家介绍在OK3562J-C开发板上使用SPI2挂载MAX31865(数字式RTD温度传感器)芯片的方法。

1. 修改思路

添加一个SPI设备的思路为:

在设备树中添加描述 → 设备树描述中对应设备驱动 → 设备驱动添加到内核

2. 修改方法

(1)MAX31865模块支持2线、3线、4线接线方式,这里我们选用3线方式接线。3线连接是一种折中方案,比4线方案少一条引线。为补偿导线上的压降,从(RTDIN+ RTDIN-)中减去FORCE+和RTDIN+之间的电压,利用FORCE2对输入采样实现。如果电缆电阻具有很好的一致性,即可消除电缆电阻引入的误差。

接线之前需要在模块上焊接一下,按照下图焊接成3线模式。

(2)在设备树里添加MAX31865的相关描述,因为我们是3线的接法,所以我们需要添加maxim,3-wire参数。

3. 将驱动编译成模块

(1)在内核源码/drivers创建max31865文件夹,添加max31865.c和Makefile文件。

(2)修改父目录/kernel/drivers/Makefile文件,执行全编译操作,修改如下:

/drivers/max31865/Makefile内容如下:

obj-m += max31865.o

/kernel/drivers/Makefile添加如下代码:

obj-y += max31865

再执行 ./build.sh kernel脚本编译内核,即可在 /drivers/max31865目录下生成ko模块。

(3)将max31865.ko 拷到OK3562J-C开发板中,执行insmod max31865.ko加载。

4. 测试

使用22Ω的电阻模拟铂电阻,使用以下命令查看ADC原始值。

cat /sys/bus/iio/devices/iio:device2/in_temp_raw

可以看到22Ω的电阻,ADC的值是1655,对比芯片手册中的值,发现是正常的,对应的温度大概在-190℃左右。

至此一个新的MAX31865(数字式RTD温度传感器)设备添加成功,开发者可以根据读到的adc原始值,开发自己的应用去对应现在测到的温度。

以上就是OK3562J-C开发板上使用SPI2挂载MAX31865(数字式RTD温度传感器)设备的方法,希望能够对大家的项目开发有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1984573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何避免或者减少线上空指针问题的发生

一、背景 在我们的日常工作中,我们会经常遇到空指针问题,理论上来说只是一个判段空指针的小问题,但是因为这行代码的报错,程序中断了后面的执行,可能导致整体业务逻辑受影响。那在工作中我们应该如何避免,…

layer.load 加倒计时

实现效果 loadinglayer.load(1, {content:"",shade: [0.7, #333],time:5000,success: function(layero,index) {var i 5;var timer null;var fn function() {// 显示的提示layero.find(".layui-layer-content").html(正在连接,请稍等&…

谷歌突然停止为应用程序生成胖APK 只提供AAB包可能会影响用户侧载安装

谷歌最初是在 2018 年开始准备 Android App Bundle (即 AAB) 安装包,到 2021 年这种格式已经成为默认格式,开发者在提交应用程序时需要将其构建为 AAB 格式方便 Google Play 应用商店分发。 AAB 格式的优势在于适用于不同屏幕尺寸、语言、CPU 架构和 An…

js基础与判断

1.加减乘除 2.逻辑运算符 4.分支 5.swicth switch与if-else区别 6.break和continue

Python list加了类型推断运行报错,TypeError: ‘type‘ object is not subscriptable,python3.7

问题描述: 在python3.7 版本 运行代码,报错 def retry( ignore_exception_type_info_list:list[IgnoreExceptionInfo]None):>>> TypeError: type object is not subscriptable解决方案: 去掉list内的参数推断,就正常了&#xff0…

Linux 操作系统速通

一、安装虚拟机 1. VmWare 安装下载 vmware workstation pro 16 下载 win R 输入 ncpa.cpl 确保网卡正常 2. CentOS 系统下载 CentOS 系统下载 将 CentOS 系统安装到虚拟机 3. 查看虚拟机 IP 命令 ifconfig 4. finalShell 安装下载 finalShell 下载 输入用户名一般是 ro…

高标准农田监测设备—农田环境的实时监测和精准管理

TH-Q3高标准农田监测设备是现代农业生产中不可或缺的重要工具,它们通过集成物联网、大数据、人工智能等先进技术,实现了对农田环境的实时监测和精准管理。以下是对高标准农田监测设备的详细介绍: 设备组成 高标准农田监测设备通常由多个子系统…

出现 No mapping for DELETE/GET等

出现 No mapping for DELETE/GET等 错误一:请求url不对 修改前 如下图可知后端请求url为http://localhost:8080/user/addressBook 运行后控制台出现 发现后端请求url比前端请求url少了/ 改正: 在DeleteMapping后面加上 / DeleteMapping("/&quo…

欧科云链对话香港大学、零壹智库:监管加速,市场增长何时就位?

香港Web3行业近期在广泛讨论一个话题——稳定币。它是虚拟资产和Web3市场的重要分支,也是连接传统金融与虚拟资产市场重要的“桥梁”。随着全球Web3 合规进程加速,各国也在积极推进本土稳定币监管及发展,稳定币市场格局正在迎来变革。近日&am…

堆排序以及向上、向下调整算法的时间复杂度推导及实现(超详细)

什么是堆排序? 堆排序是由堆这种数据结构所设计的一种排序算法 堆的分类: 大根堆:每个父结点的值都大于子结点 小根堆 :每个父结点的值都小于子结点 在了解完堆之后,需要先了解建堆,建堆有向上建堆建大…

JavaWeb——CSS的使用

CSS 层叠样式表(英文全称:(cascading stle sheets)能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,简单来说,CSS用来美化页面 一、CSS的引入方式: 1.行内式:通过元素开始标…

清除 Nuxt 数据缓存:clearNuxtData

title: 清除 Nuxt 数据缓存:clearNuxtData date: 2024/8/6 updated: 2024/8/6 author: cmdragon excerpt: 摘要:本文详细介绍了Nuxt.js框架中的clearNuxtData方法,用于清除useAsyncData和useFetch缓存的数据、错误状态和待处理promises&am…

Sentine 源码分析之--AuthoritySlot、SystemSlot、GatewayFlowSlot

前言: 上一篇我对 Sentinel 中统计数据部分的 NodeSelectorSlot、ClusterBuilderSlot、StatisticSlot 的相关源码进行了分析,本篇我们开始分析规则相关的源码。 Sentinel 系列文章传送门: Sentinel 初步认识及使用 Sentinel 核心概念和工…

国家机构选用NAS存储的要求是什么?

西北航天基地采用Infortrend NAS存储做影视后期及共享 国家机构航天基地每天都有升空任务,记录下的视频数据分发给对应的项目组的NAS存储设备上,方便每个项目组做分析总结、对外宣传及学术交流的使用需求,因此选用了Infortrend桌面级NAS存储…

数据采集器与条码扫描器的区别

在条码二维码的应用领域中,数据采集器和条码扫描器是其应用过程两种核心硬件设备,均具备独特的功能与应用场景,您是否真正了解数据采集器和条码扫描器之间的细微差别?这一区别对于您的项目开发成本和工作效率提升有着至关重要的影…

VM16中安装Linux虚拟机

VM16下安装Linux虚拟机 注意这里只安装虚拟机,并没有按照Linux操作系统,按装操作系统请看后续文章 点击“创建新的虚拟机” 选择自定义创建虚拟机 选择虚拟机的硬件兼容性 暂时不选择系统镜像文件我们选择稍后安装 选择操作系统类型和版本 命…

PEER:基于高效专家检索的Transformer模型扩展新方法

谷歌DeepMind提出了一种名为PEER的参数高效专家检索机制,利用产品密钥技术从超过百万个微型专家库中进行稀疏检索,从而提高模型效率和性能,有效解决了Transformer模型规模扩展带来的计算挑战。 论文介绍 在 Transformer 架构中,计…

ADC的一些细节2

一,转换时间 ADC 是挂载在 APB2 总线(PCLK2)上的,经过分频器得到 ADC 时钟(ADCCLK),最高 14 MHz。 转换时间采样时间12.5个周期 12.5个周期是固定的,一般我们设置 PCLK272M&#x…

基于CentOS Stream 9平台搭建Nacos2.4.0.1集群,并使用OpenResty反向代理集群

目录展示 Nacos2.4.0.1集群搭建1. 下载2. 解压3.修改配置3.1分别修改下启动类中JDK路径以及启动大小3.2 分别配置数据源 修改端口去掉前面的#注释(修改数据库地址、数据库用户名、密码)If use MySQL as datasource:Count of DB:Connect URL of DB:密钥鉴…

空气质量传感器 - 从零开始认识各种传感器【第二十八期】

空气质量传感器|从零开始认识各种传感器 1、什么是空气质量传感器? 空气质量传感器是一种检测空气中污染物浓度的设备,广泛应用于环境监测、智能家居、工业控制和健康管理等领域。 2、空气质量传感器是如何工作的? 对于每个人都关心的空气质…