MAX31855电偶至数字输出转换器 1、【备货信息】 MAX31855KASA+T -200°C to +1350°C 8SO MAX31855JASA+T -40°C to +750°C 8SO MAX31855NASA+T -200°C to + 1300°C 8SO MAX31855SASA+T -50°C to +1600°C 8SO MAX31855TASA+T -250°C to +400°C 8SO MAX31855EASA+T -40°C to +900°C 8SO MAX31855RASA+T -50°C to +1770°C 8SO 2、【典型应用电路】 3、【实际应用电路】 4. SPI串口协议及时序 器件处理来自热电偶的读数,并通过串口发送数据。驱动CS为低电平,并在SCK端施加时钟信号,从SO读取结果。器件始终在后台执行转换,只有CS为高电平时才能更新故障状态和温度数据。 驱动CS为低电平时,SO引脚将输出第一位数据。通过串口读取完整的冷端补偿热电偶温度,需要14个时钟周期。读取热电偶和参考端温度需要32个时钟周期。在时钟下降沿读取输出位。第一位D31为热电偶温度符号位。 D[30:18]位包含温度转换数据,顺序为MSB至LSB。D16位正常状态下为低电平,热电偶输入开路或对GND或VCC短路时变为高电平。参考端温度数据从D15开始。 输出转换数据时,CS任何时候均可变为高电平。 5. 存储器映射—位加权和功能说明 6. 程序源码MAX31855测温程序,分别使用STM32硬件SPI和软件模拟时序两种方式读取温度数据。 /** ****************************************************************************** * @brief : MAX31855 cold-junction compensated thermocouple-to-digital * converter program body. ****************************************************************************** * * Copyright (c) respeke, www.etdev.net * All rights reserved. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "max31855.h" #include "stm32f1xx_hal.h" /* External variables --------------------------------------------------------*/ SPI_HandleTypeDef hspi1; /* Private variables ---------------------------------------------------------*/ float tcTemp = 0, cjTemp = 0; bool tcError = false; /* Private function prototypes -----------------------------------------------*/ /** * @brief Delay about 11ns per NOP (72MHz*1.25MIPS/MHz=90MIPS) * @param None * @retval None */ static void SPI_Delay(uint32_t counter) { for(int i=0; i<counter; i++) { __NOP(); } } 未完待续……
|