RK3562开发板使用SPI挂载RTD温度传感器
发布时间:2025-3-31 15:15
发布者:秦彻呀呀呀
MAX31865是一款设计简洁且功能强大的热敏电阻至数字输出转换器,特别适用于铂电阻温度检测器(RTD)的应用。该器件通过外部电阻设置RTD的灵敏度,并利用高精度Δ-Σ模数转换器(ADC)将RTD电阻与基准电阻的比值转换为数字信号输出。其输入端具备高达±45V的过压保护,并能检测RTD及电缆的开路、短路情况,因此在医疗、工业、温度控制、卫星、气象以及阻值计算等高精度温度测量领域得到了广泛应用。 飞凌嵌入式基于瑞芯微RK3562处理器推出的OK3562J-C开发板,在P8插针引脚上预留了SPI2接口,包括: SPI2_CLK_M0、SPI2_CSN0_M0、SPI2_MOSI_M0和SPI2_MISO_M0。 本文将详细介绍如何在飞凌嵌入式RK3562开发板上使用SPI2接口挂载MAX31865数字式RTD温度传感器。 ![]() 在飞凌嵌入式RK3562开发板上添加一个新的SPI设备,通常需要遵循以下步骤:
![]() 2. 设备树配置 在设备树中添加MAX31865的相关描述。由于我们采用的是3线接法,因此需要添加maxim,3-wire参数。 ![]() 3. 驱动编译与加载 (1)在内核源码的/drivers目录下创建max31865文件夹,并添加max31865.c和Makefile文件。 ![]() ![]() (2)修改父目录/kernel/drivers/Makefile文件,添加对max31865目录的编译支持。具体修改如下: /drivers/max31865/Makefile内容:
/kernel/drivers/Makefile添加:
执行./build.sh kernel脚本编译内核,编译完成后,在/drivers/max31865目录下会生成max31865.ko模块。 ![]() 使用22Ω的电阻模拟铂电阻,通过以下命令查看ADC的原始值:
![]() 观察到22Ω电阻对应的ADC值为1655。与芯片手册中的值进行对比,确认该值在正常范围内,对应的温度大约在-190℃左右 ![]() 至此,我们成功在飞凌嵌入式RK3562开发板上通过SPI2接口挂载了MAX31865数字式RTD温度传感器。开发者可以根据读取到的ADC原始值,开发自己的应用来对应当前测量的温度。 |
网友评论