手機(jī)掃碼查看 移動(dòng)端的落地頁(yè)
深圳市硅天下科技有限公司
主營(yíng)產(chǎn)品: maxim, 海思半導(dǎo)體
美信maxim代理MAX30205臨床級(jí)醫(yī)用溫度傳感器
價(jià)格
訂貨量(片)
¥20.00
≥10
¥8.90
≥2500
店鋪主推品 熱銷潛力款
祺祷祲祶祳祶祺祶祳祹祺
在線客服
MAX30205臨床級(jí)醫(yī)用溫度傳感器
【硅天下備貨信息】GTX-MAX30205MTA+T 8TDFN
【產(chǎn)品簡(jiǎn)介】
MAX30205溫度傳感器為測(cè)溫儀應(yīng)用提供±0.1°C (最大值)精度,提供過熱報(bào)警/中斷/關(guān)斷輸出。器件利用高分辨率、Σ-Δ、模/數(shù)轉(zhuǎn)換器(ADC)將溫度測(cè)量值轉(zhuǎn)換為數(shù)字形式。焊接到最終PCB上時(shí),精度滿足ASTM E1112的臨床測(cè)溫儀技術(shù)規(guī)范。通過I2C兼容2線串行接口進(jìn)行通信。
I2C串行接口支持標(biāo)準(zhǔn)寫字節(jié)、讀字節(jié)、發(fā)送字節(jié)和接收字節(jié)命令,以讀取溫度數(shù)據(jù)以及配置開漏過熱關(guān)斷輸出模式。
MAX30205具有三條地址選擇線,提供總共32個(gè)可用地址。傳感器采用2.7V至3.3V供電電壓范圍、600μA低供電電流、鎖定保護(hù)I2C兼容接口,使其可理想用于可穿戴健身和醫(yī)療應(yīng)用。
器件采用8引腳TDFN封裝,工作在0°C至+50°C溫度范圍。
【MAX30205電路圖】
【關(guān)鍵特性】
高精度和低電壓工作幫助設(shè)計(jì)者滿足誤差和功耗需求
0.1°C精度(37°C至39°C)
16位(0.00390625°C)溫度分辨率
2.7V至3.3V供電電壓范圍
單次溫度轉(zhuǎn)換和關(guān)斷模式幫助降低功耗
600μA (典型值)工作電流
數(shù)字功能使其非常容易集成到任何系統(tǒng)
可選超時(shí),防止總線鎖定
獨(dú)立的開漏OS輸出,可作為中斷或比較器/溫度監(jiān)控器輸出。
【典型電路圖】
【常用時(shí)許圖】
【時(shí)許系列】
【程序代碼】
1)common.h
#ifndef _COMMON_H_
#define _COMMON_H_
#define __DEBUG
#ifdef __DEBUG
#define DEBUG(format, args...) \
printf("FAHW-Lib: " format, ## args)
#else
#define DEBUG(format, args...)
#endif
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <linux/fs.h>
#include <errno.h>
#include <stdarg.h>
#include <stdio.h>
#include <pthread.h>
extern void clearLastError();
extern void setLastError(const char *fmt, ...);
#define EXPORT
extern int writeValueToFile(char* fileName, char* buff);
extern int writeIntValueToFile(char* fileName, int value);
extern int readValueFromFile(char* fileName, char* buff, int len);
extern int readIntValueFromFile(char* fileName);
#define FILE_PATH_LENGTH (128)
#endif
2)libfahw-filectl.h
#ifndef __FRIENDLYARM_HARDWARE_FILECTRL_H__
#define __FRIENDLYARM_HARDWARE_FILECTRL_H__
int openHW(const char *devName, int flags);
int writeHW(int fd, const void *_data, size_t len);
int readHW(int fd, void *_data, size_t len);
int selectHW(int fd, int sec, int usec);
void closeHW(int fd);
int ioctlWithIntValue(int fd, int cmd, int value);
#endif
3)libfahw-spi.h
#ifndef __FRIENDLYARM_HARDWARE_SPI_H__
#define __FRIENDLYARM_HARDWARE_SPI_H__
// SPIBitOrder
#define LSBFIRST (0) ///< LSB First
#define MSBFIRST (1) ///< MSB First
// SPIMode
#define SPI_MODE0 (0) ///< CPOL (0, CPHA (0
#define SPI_MODE1 (1) ///< CPOL (0, CPHA (1
#define SPI_MODE2 (2) ///< CPOL (1, CPHA (0
#define SPI_MODE3 (3) ///< CPOL (1, CPHA (1
#define SPI_CPHA (0x01)
#define SPI_CPOL (0x02)
#define SPI_CS_HIGH (0x04)
#define SPI_LSB_FIRST (0x08)
#define SPI_3WIRE (0x10)
#define SPI_LOOP (0x20)
#define SPI_NO_CS (0x40)
#define SPI_READY (0x80)
// SPIClockDivider
#define SPI_CLOCK_DIV65536 (0) ///< 65536 (256us (4kHz
#define SPI_CLOCK_DIV32768 (32768) ///< 32768 (126us (8kHz
#define SPI_CLOCK_DIV16384 (16384) ///< 16384 (64us (15.625kHz
#define SPI_CLOCK_DIV8192 (8192) ///< 8192 (32us (31.25kHz
#define SPI_CLOCK_DIV4096 (4096) ///< 4096 (16us (62.5kHz
#define SPI_CLOCK_DIV2048 (2048) ///< 2048 (8us (125kHz
#define SPI_CLOCK_DIV1024 (1024) ///< 1024 (4us (250kHz
#define SPI_CLOCK_DIV512 (512) ///< 512 (2us (500kHz
#define SPI_CLOCK_DIV256 (256) ///< 256 (1us (1MHz
#define SPI_CLOCK_DIV128 (128) ///< 128 (500ns (= 2MHz
#define SPI_CLOCK_DIV64 (64) ///< 64 (250ns (4MHz
#define SPI_CLOCK_DIV32 (32) ///< 32 (125ns (8MHz
#define SPI_CLOCK_DIV16 (16) ///< 16 (50ns (20MHz
#define SPI_CLOCK_DIV8 (8) ///< 8 (25ns (40MHz
#define SPI_CLOCK_DIV4 (4) ///< 4 (12.5ns 80MHz
#define SPI_CLOCK_DIV2 (2) ///< 2 (6.25ns (160MHz
#define SPI_CLOCK_DIV1 (1) ///< 0 (256us (4kHz
int setSPIWriteBitsPerWord( int spi_fd, int bits );
int setSPIReadBitsPerWord( int spi_fd, int bits );
int setSPIBitOrder( int spi_fd, int order);
int setSPIMaxSpeed(int spi_fd, unsigned int spi_speed);
int setSPIDataMode( int spi_fd, int mode);
int SPItransferOneByte( int spi_fd, unsigned char byteData, int spi_delay,