MAX6675 的概述以及 MAX6675 用OSS-ECAL的提供情况。MAX6675 是 Analog Devices 公司生产的温度传感器(±0°C 至 +1024°C)。
MCU interface : SPI、GPIO
注意: 本资源的原始语言为英语。 翻译仅为方便起见提供概要,可能使用了机器翻译,我们对翻译的准确性和合理性不作任何保证。 此外,在进行实际设计等操作前,请务必参考最新版本的Datasheet。
MAX6675
概述
MAX6675 执行冷端补偿并数字化 K 型热电偶的信号。数据以 12 位分辨率、SPI 兼容的只读格式输出。
该转换器可将温度分辨率精确到 0.25°C,支持最高 +1024°C 的测量范围,并在 0°C 至 +700°C 的温度范围内实现 8 LSB 的热电偶精度。
MAX6675 采用小型 8 引脚 SO 封装。
特点
- K型热电偶输出信号的直接数字转换
- 冷接点补偿
- 简单SPI兼容串行接口
- 12 bit,0.25°C分辨率
- 开路热电偶检测
应用
- 工业
- 家用电器
- HVAC
OSS-ECAL规格
API 函数
OSS-ECAL API 函数基本上被假定为周期性Thread (TASK) 的函数调用。
etSTS oMAX6675_CONFIG(void)
oMAX6675_CONFIG 函数是一个 API 函数,用于为微控制器(MCU)配置串行外设接口(SPI)通信。
- 为微控制器(MCU)设置串行外设接口(SPI)通信。
备注:
返回值 | etSTS | OSS-ECAL status code | |
eSTS_FIN | 成功完成 | ||
eSTS_ERR_I2C_OBJECT | SPI 对象选择错误 | ||
eSTS_ERR_OTHERS_RUN | 其他组件正在执行程序 | ||
eSTS_ERR_HAL_OTHERS_RUN | 其他应用程序正在运行 HAL (iMXRT1051B1052B, SSP, STM32F4) | ||
eSTS_ERR_HAL_SPI | HAL SPI 错误 |
etSTS oMAX6675_READ( stMAX6675_O* rlt )
oMAX6675_READ 函数是一个 API 函数,用于读取 MAX6675 的寄存器值,将寄存器值转换并存储在 rlt 中。
- SPI 发送与接收。
- 读取的值保存到 rlt.dummy 以及 rlt.ti、rlt.id、rlt.ste 中。
- 将读取的值转换为温度
温度 = (Register b14-b3) / Gain (Min, Max Limit) - 将温度保存到rlt.temperature中。
返回值 | etSTS | OSS-ECAL status code | |
eSTS_FIN | 成功完成 | ||
eSTS_ERR_MIN | 最低温度误差(rlt.temperature 为最低温度) | ||
eSTS_ERR_MAX | 最大温度误差(rlt.temperature 为最大温度) | ||
eSTS_ERR_I2C_OBJECT | SPI 对象选择错误 | ||
eSTS_ERR_OTHERS_RUN | 其他组件正在执行程序 | ||
eSTS_ERR_HAL_OTHERS_RUN | 其他应用程序正在运行 HAL (iMXRT1051B1052B, SSP, STM32F4) | ||
eSTS_ERR_HAL_SPI | HAL SPI 错误 | ||
参数 OUT | stMAX6675_O* rlt | 从MAX6675接收数据 | |
float32 temperature | 注册 b14-b3 为浮点型 温度[℃] 0.0~1023.75℃ | ||
uint8 dummy | 将b15注册到bit0 Dummy | ||
uint8 ti | 将b2注册为bit0 热电偶 | ||
uint8 id | 将b1至bit0设置为设备ID(仅限0) | ||
uint8 ste | 将b0寄存器设置为bit0状态 |
HAL 支持列表
OSS-ECAL 的 HAL 支持如下。 请注意,即使使用相同的 HAL,不同的版本、MCU 和开发环境也可能无法协同工作。 该列表正在按顺序扩展。
Manufacturer | SDK/IDE Tool | HAL Name | Ver | HALNAME | Support |
---|---|---|---|---|---|
Arduino | Arduino IDE | Arduino | 1.8.6 | ARDUINO | X |
Arm | Keil MDK v6 | Mbed OS | 6.17.0 | MBED | X |
Debian | – | GNU/Linux | 10.3 | Linux | X |
Infineon | ModusToolbox | mtb-hal-cat1 | 2.4.3 | ModusToolbox | X |
NXP | MCUXpresso SDK | SDK_2.x_EVKB-IMXRT1050 | 2.16 | iMXRT1051B1052B | X |
Renesas | Synergy Software Package | HAL | 2.6.0 | SSP | X |
STMicroelectronics | STM32Cube | STM32CubeF4 | V1.28.1 | STM32F4 | X |
开发环境
OSS-ECAL 开发过程中的 MCU 和开发环境如下。
HALNAME | Manufacturer | Board | MCU | IDE |
---|---|---|---|---|
ARDUINO | Arduino | 1.Mega 2560 Rev3 2.Arduino Pro Mini 3.3V | ATmega2560 ATmega328P | Arduino IDE 2.3.3 |
MBED | STMicroelectronics | STM32 Nucleo-64 boards | STM32F401RETx | Arm Keil Studio Cloud |
Linux | BeagleBoard | BeagleBone Black | TI AM335x | – |
ModusToolbox | Infineon | CY8CPROTO-063-BLE PSoC 6 BLE Prototyping Kit | CYBLE-416045-02 | ModusToolbox |
iMXRT1051B1052B | NXP | IMXRT1050-EVKB | i.MX RT1050 | MCUXpresso IDE |
SSP | Renesas | S7G2 SK | R7FS7G27H3A01CFC | e² studio for Renesas Synergy |
STM32F4 | STMicroelectronics | STM32 Nucleo-64 boards | STM32F401RETx | STM32CubeIDE |
文件结构
Folder* | File | summary |
---|---|---|
MAX6675_HALNAME_VERSION/sample | sample.c (.cpp) | Sample Application Program |
| sample.h | Sample Application Header |
MAX6675_HALNAME_VERSION | oMAX6675.c (.cpp) | OSS-ECAL Program for MAX6675 |
| oMAX6675.h | OSS-ECAL Header for MAX6675 |
MAX6675_ARDUINO.ino | Sample application programs for Arduino | |
| oss_ecal.h | OSS-ECAL Common Header |
| user_setting.c (.cpp) | Const and Table of User setting |
| user_setting.h | Header of User setting |
oHAL_i2c_stm32f4.c | HAL Program for STM32Cube FW_F4 | |
oHAL_i2c_stm32f4.h | HAL Header for STM32Cube FW_F4 | |
| readme.md | Readme |
| OSS-ECAL Terms of Use.txt | OSS-ECAL Terms of Use |
* 有关 HALNAME,请参阅 HAL 支持。
OSS-ECAL 下载
请从 OSS-ECAL 英文网站下载 OSS-ECAL。下载时,请先登录 OSS-ECAL 英文网站,然后再进行操作。
内置方法
如何在用户程序中整合多个 OSS-ECAL(相同的 MCU 功能)
如何在用户程序中整合多个 OSS-ECAL(不同 MCU 功能)
注意
OSS-ECAL 示例版本不适用于线程(任务)或不同优先级的中断。 请不要像下面的示例那样使用它。
例如 如果每个传感器被分配到相同的 ADC 组,而 OSS-ECAL API 在具有不同优先级的进程中执行,则可能无法获得正确的值。
ADC Gr0 Ch0 Temperature sensor AD22100A 每隔 100 毫秒采集一次温度(低优先级)
ADC Gr0 Ch1 Pressure sensor MPX5999D 事件中断时采集压力(高优先级)