131|0

195

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

RK3562J技术分享 | 使用SPI挂载数字式RTD温度传感器的方法 [复制链接]

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温度传感器)设备的方法,希望能够对大家的项目开发有所帮助。

此帖出自信息发布论坛
点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表