在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 2913|回复: 2

[原创] MAX31855代码

[复制链接]
发表于 2020-3-15 18:37:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
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.png 5.png
3、【实际应用电路】
2.png
4. SPI串口协议及时序
4 .png 3 .png
器件处理来自热电偶的读数,并通过串口发送数据。驱动CS为低电平,并在SCK端施加时钟信号,从SO读取结果。器件始终在后台执行转换,只有CS为高电平时才能更新故障状态和温度数据。
驱动CS为低电平时,SO引脚将输出第一位数据。通过串口读取完整的冷端补偿热电偶温度,需要14个时钟周期。读取热电偶和参考端温度需要32个时钟周期。在时钟下降沿读取输出位。第一位D31为热电偶温度符号位。
D[30:18]位包含温度转换数据,顺序为MSB至LSB。D16位正常状态下为低电平,热电偶输入开路或对GND或VCC短路时变为高电平。参考端温度数据从D15开始。
输出转换数据时,CS任何时候均可变为高电平。
5. 存储器映射—位加权和功能说明
6.png

6. 程序源码MAX31855测温程序,分别使用STM32硬件SPI和软件模拟时序两种方式读取温度数据。
7.png
/**
******************************************************************************
* @file           : max31855.c
* @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();
}
}
未完待续……

发表于 2020-8-19 14:07:01 | 显示全部楼层
thanks
发表于 2022-2-19 10:32:45 | 显示全部楼层
没用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-24 11:58 , Processed in 0.020782 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表