【经验】芯海科技24位高精度ADC模数转换芯片CS1237应用指南及驱动代码
芯海科技24位高精度ADC模数转换芯片CS1237是一款高精度、低功耗Sigma-Delt模数转换芯片,内置一路ADC,采用两阶Sigma dela调制器,支持一路外部输入差分信号和内部温度传感器。低噪声放大器PGA,增益可选1、2、64、128。在PGA= 128 供电5V条件下,有效分辨率可达20位,封装尺寸小SOP8。由于此款芯片采用自定义2线串口通信,很多用户在初次使用都会遇到时序调试测试带来的系列问题,比较消耗时间精力。为此本文提供基于芯海32bit Cortex M0单片机和CS1237的应用分享,附带程序可以直接拿来使用,已经测试验证。如需要测试工程可以在世强硬创平台找FAE支持。
首先在调试软件之前保证硬件设计没有问题,CS1237外围电路参考如下图所示:VS可以通过内部寄存器配置输出激励信号给传感器和基准源使用,输出电压是芯片供电电压AVDD。MCU供电电压DVDD必须要和CS1237电平保持一致,要么都是3.3V ,要么都是5V供电。有些用户在这里容易犯错误,CS1237采用5V供电,单片机却采用3.3V供电,导致电平不匹配。CS1237识别不了单片机的AD_CLK信号,找不到原因,软件工程师在这里浪费了大量时间和精力。AD_DAT和AD_CLK串联1K电阻是隔离缓冲作用,防止MCU和CS1237之间通信引脚出现高低电平冲突,导致功耗增大影响正常工作。且MCU通信引脚不能有任何上拉或下拉电阻,否则通过1K电阻会形成电阻分压,导致高低电平识别不稳定或失效。
其次在调试软件的时候先对CS1237进行初始化配置,再读取寄存器值,分析是否和写入的值一致。默认寄存器配置是0x0C,初始化值在这里可以先使用0x0E或0x0F。用意是先选择内部温度传感器或者是内部短路,看看效果差异。再修改增益PGA和采样频率,看看效果如何。熟悉后再切换到外部查分输入信号,看看转换结果是否在合理范围内。为什么这么做,原因是有些用户直接使用外部差分信号输入,24bit ADC精度高非常灵敏,mV级别的信号变化都能监测出来,人体靠近离开都对输入信号产生影响,没有个测试标准。还以为是转换结果不稳定,跳动幅度比较大,这又对输入信号源信号质量要有更清晰的了解,一般软件工程师没这个概念。
最后提供测试验证的驱动文件,总结实际用户常见的问题,让大家少走弯路,避免浪费时间和精力。如果还有其他问题,需要工程文件或者技术支持,可以在世强硬创平台找FAE支持。
附驱动代码如下:
/* PROJECT NAME: ELECTRONIC SCALE. */
/* CAMPANY : Chipsea technologies Co., LTD. */
/* LANGUAGE : C */
/* EDITOR : SEKORM.Gonagawa_gao */
/* DATE : 2021.10.29 */
/*----------------------------------------------------------------------------
CODE NAME : AD_Communication.C
- description
- MCU与ADC通讯相关子程序CS32F035+CS1237
-----------------------------------------------------------------------------*/
#include "main.h"
//整个通讯时序的时间必须小于1个数据转换周期
//推荐每个CLK的时间长度:2uS ~ 15uS
#define IO_DATA_AD IO_Data_AD_rd()
#define R_ADREG_WR 0x65 //写寄存器指令
#define R_ADREG_RD 0x56 //读寄存器指令
#define R_ADREG_DA 0x0E //配置寄存器,0x02选择内部传感器
void F_Delay();
void IO_CLK_AD(_Bool sta);
_Bool IO_Data_AD_rd(void);
void IO_Data_AD_dir(_Bool sta);
void IO_Data_AD_wr(_Bool sta);
struct
{
uint32_t word;
}R_AD0;
union _UCHAR_BIT
{
uint8_t byte;
struct {
int b00:1;
int b01:1;
int b02:1;
int b03:1;
int b04:1;
int b05:1;
int b06:1;
int b07:1;
}bit;
};
union _UCHAR_BIT reg_data;
uint8_t regdata;
/*-----------------------------------------------------------------------------
Name : F_AD_Clock
Function: ADC时序时钟
-----------------------------------------------------------------------------*/
void F_AD_Clock(void)
{
IO_CLK_AD(1);// = 1;
F_Delay();
IO_CLK_AD(0);// = 0;
F_Delay();
}
/*-----------------------------------------------------------------------------
Name : F_Read_AD_Byte
Function: 读3字节AD值
-----------------------------------------------------------------------------*/
void F_Read_AD(void)
{
uint8_t i;
R_AD0.word = 0;
__disable_interrupt(); //关闭MCU_DAT管脚的外部中断(防止读写时误触发)
for(i = 0; i < 24; i++) //发送24个CLK,接收数据
{
R_AD0.word <<= 1;
F_AD_Clock();
if(IO_DATA_AD)
{
R_AD0.word ++;
}
}
F_AD_Clock();
F_AD_Clock();
F_AD_Clock(); //CLK27,拉高DRDY
//如果一个数据转换周期内对ADC进行两次或以上的读写操作,则需要发送46个CLK,而不是27个CLK
//(即:发送24个CLK读取数据,然后再发送22个CLK)
__enable_interrupt();// = 1; //重新开启MCU_DAT管脚的外部中断
}
/*-----------------------------------------------------------------------------
Name : F_Rd_AdReg
Function: 读取ADC寄存器
-----------------------------------------------------------------------------*/
uint8_t F_Rd_AdReg(void)
{
uint8_t i;
union _UCHAR_BIT R_Temp;
//----------------------------------
__disable_interrupt();//EIC20_EIE0 = 0; //关闭MCU_DAT管脚的外部中断(防止读写时误触发)
//----------------------------------
//1 ~ 3:clk1-clk27
//----------------------------------
for(i = 0; i < 27; i++)
{
F_AD_Clock();
}
//----------------------------------
//4:clk28-clk29
//----------------------------------
IO_Data_AD_dir(1); //把MCU_Data管脚设为输出
F_AD_Clock();
F_AD_Clock();
//----------------------------------
//5:clk30-clk36(发送读命令)
//----------------------------------
R_Temp.byte = R_ADREG_RD; //读命令(0x56)
for(i = 0; i < 7; i ++)
{
if(R_Temp.bit.b06) //MSB 判断bit.b06 因为命令是7bit长度,循环7次。
{
IO_Data_AD_wr(1);// = 1;
}
else
{
IO_Data_AD_wr(0);// = 0;
}
R_Temp.byte = R_Temp.byte << 1;
F_AD_Clock();
}
//----------------------------------
//6:clk37
//----------------------------------
IO_Data_AD_dir(0); //把MCU_Data管脚设为输入
F_AD_Clock();
//----------------------------------
//7:clk38-clk45(读取寄存器)
//----------------------------------
R_Temp.byte = 0;
for(i = 0; i < 8; i++)
{
R_Temp.byte <<= 1;
F_AD_Clock();
if(IO_DATA_AD)
{
R_Temp.byte ++;
}
}
//----------------------------------
//8:clk46
//----------------------------------
F_AD_Clock();
//----------------------------------
__enable_interrupt(); //重新开启MCU_DAT管脚的外部中断
return R_Temp.byte;
}
/*-----------------------------------------------------------------------------
Name : F_Wr_AdReg
Function: 写入ADC寄存器
-----------------------------------------------------------------------------*/
void F_Wr_AdReg(uint8_t R_AdReg)
{
uint8_t i;
union _UCHAR_BIT R_Temp;
//----------------------------------
__disable_interrupt();//EIC20_EIE0 = 0; //关闭MCU_DAT管脚的外部中断(防止读写时误触发)
//----------------------------------
//1 ~ 3:clk1-clk27
//----------------------------------
for(i = 0; i < 27; i++)
{
F_AD_Clock();
}
//----------------------------------
//4:clk28-clk29
//----------------------------------
IO_Data_AD_dir(1); //把MCU_Data管脚设为输出
F_AD_Clock();
F_AD_Clock();
//----------------------------------
//5:clk30-clk36(发送写命令)
//----------------------------------
R_Temp.byte = R_ADREG_WR; //写命令(0x65)
for(i = 0; i < 7; i ++)
{
if(R_Temp.bit.b06) //MSB
{
IO_Data_AD_wr(1);// = 1;
}
else
{
IO_Data_AD_wr(0);// = 0;
}
R_Temp.byte = R_Temp.byte << 1;
F_AD_Clock();
}
//----------------------------------
//6:clk37
//----------------------------------
F_AD_Clock();
//----------------------------------
//7:clk38-clk45(写入寄存器)
//----------------------------------
R_Temp.byte = R_AdReg;
for(i = 0; i < 8; i ++)
{
if(R_Temp.bit.b07) //MSB
{
IO_Data_AD_wr(1);// = 1;
}
else
{
IO_Data_AD_wr(0);// = 0;
}
R_Temp.byte = R_Temp.byte << 1;
F_AD_Clock();
}
//----------------------------------
//8:clk46
//----------------------------------
IO_Data_AD_dir(0); //把MCU_Data管脚设为输入
F_AD_Clock();
//----------------------------------
__enable_interrupt(); //重新开启MCU_DAT管脚的外部中断
}
void IO_CLK_AD(_Bool sta)
{
if(sta)
gpio_bits_set(GPIOA,GPIO_PIN_12); //MCU PA12
else
gpio_bits_reset(GPIOA,GPIO_PIN_12);
}
void IO_Data_AD_wr(_Bool sta)
{
if(sta)
gpio_bits_set(GPIOA,GPIO_PIN_11); //MCU PA11
else
gpio_bits_reset(GPIOA,GPIO_PIN_11);
}
void IO_Data_AD_dir(_Bool sta)
{
gpio_config_t gpio_config_struct;
if(sta)
gpio_config_struct.gpio_mode = GPIO_MODE_OUTPUT;
else
gpio_config_struct.gpio_mode = GPIO_MODE_INPUT;
{
gpio_config_struct.gpio_pin = GPIO_PIN_11;
gpio_config_struct.gpio_speed = GPIO_SPEED_HIGH;
gpio_config_struct.gpio_out_type = GPIO_OUTPUT_PP;
gpio_config_struct.gpio_pull = GPIO_PULL_NO_PULL;
gpio_init(GPIOA, &gpio_config_struct);
}
}
_Bool IO_Data_AD_rd(void)
{
return gpio_input_data_bit_read(GPIOA,GPIO_PIN_11); //数据引脚MCU_Data
}
void F_Delay(void)
{
__no_operation();__no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation();
__no_operation();__no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation();
__no_operation();__no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation();
__no_operation();__no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation();
__no_operation();__no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); __no_operation(); //48Mhz 时钟,48个nop指令,延时大概1us
}
void Init_adcIC(void)
{
IO_CLK_AD(0); //CS1237进入工作状态
while(!IO_Data_AD_rd()); //等待初始化信号,高电平脉冲
while(IO_Data_AD_rd());
F_Wr_AdReg(R_ADREG_DA); //初始化寄存器配置
}
提供两种操作模式,一种是查询模式,一种是中断模式。这两种中断模式建议任选一种,避免操作异常,每次采样周期操作一次读写操作,如非必要尽量不要在一个周期内连续操作。
cs_start_GPIO_init(); //初始化MCU_data,MCU_clk引脚为输出高电平。
Init_adcIC(); //初始化寄存器配置
在主程序中使用查询模式如下:
while (1)
{
if(IO_Data_AD_rd() == 0)//查询方式,开启后必须关闭中断模式!
{
regdata = F_Rd_AdReg(); //read regdata 首次操作先读寄存器初始化值是否正确
// F_Read_AD(); //read ADdata update R_AD0.word 判断读取寄存器值时屏蔽读结果
if(++j >= 10) j = 0;
R_AD0_buf[j] = R_AD0.word;
}
}
在中断函数中使用中断模式如下:如果已经使用查询模式,屏蔽中断内部操作
void EXTI4_15_IRQHandler(void)
{
static uint8_t i=0;
if(exti_interrupt_status_get(EXTI_LINE_11) != RESET)
{
//中断方式,开启后必须关闭查询模式!
{
regdata = F_Rd_AdReg(); //read regdata
/* //F_Read_AD(); //read ADdata
if(++i > =10) i = 0;
R_AD0_buf[i] = R_AD0.word;*/
}
exti_interrupt_status_clear(EXTI_LINE_11);
}
}
- |
- +1 赞 0
- 收藏
- 评论 0
本文由超哥提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】高精度24位国产ADC芯片CS1237通信时序相关配置操作步骤
CS1237是由芯海科技推出的一款高精度24位的国产ADC芯片,主要特性:24位无失码、内置晶振、集成温度传感器以及2线SPI 接口,最快速率为1.1MHz ,主要应用于工业过程控制、 电子秤、液体/气体化学分析、血液计、 智能变换器、便携式设备等产品设计方案,本文主要介绍CS1237双线通信的时序相关配置。
【经验】如何处理24位高精度ADC CS1237AD值跳动问题?
芯海科技推出的CS1237是一款低功耗的24位高精度ADC,在实际应用中,会遇到芯片的AD值每隔一段时间会跳动一下,然后又恢复正常的情况,这是因为CS1237在New Data Update期间会更新AD值,并且时序复位,如果读取AD期间遇到New Data Update就会导致时序错乱, 表现为AD码值错乱。
【经验】使用芯海ADC CS1237测量10mV电压不准确的处理方式
CS1237是芯海推出的1路24位无失码的差分输入的高精度、低功耗模数转换芯片,内置温度传感器和高精度振荡器。CS1237的PGA支持1、2、64、128选择。常应用于工业过程控制、电子秤、液体/气体化学分析、血液计、智能变换器的产品。
【应用】芯海科技高精度ADC模数转换芯片CS1237-SO用于燃气表测温模块,实现24位高精度采样
目前北方燃气公司要求在燃气表内增加温压传感器,客户打算通过ADC芯片外接热电偶的方式来进行直流模拟量的采集,为了确保测量精度,客户需要ADC至少20位以上,且具备低功耗的特点。本文推荐芯海科技高精度ADC模数转换芯片CS1237-SO。
芯海科技闪耀2024苏州电动工具控制与充电技术研讨会,全面展示在智能电动工具领域创新产品与应用实践
8月23日,第七届苏州电动工具控制与充电技术研讨会在苏州尼盛万丽酒店隆重举行。这场技术与创新的盛宴,汇聚了众多业内知名企业和权威专家,共同探讨电动工具控制与充电技术的最新进展和未来趋势。芯海科技以“智控锂速,芯领未来”为主题,全面展示了在智能电动工具领域的创新产品与应用实践。
芯海科技(CHIPSEA)信号调理/数据转换器/模拟前端/MCU/电源管理/无线连接芯片选型指南(详版)
描述- 芯海科技成立于2003年9月,是一家集感知、计算、控制、连接于一体的全信号链集成电路设计企业。专注于高精度ADC、高可靠性MCU、测量算法以及物联网一站式解决方案的研发设计。产品和方案广泛应用于工业测量与工业控制、通信与计算机、锂电管理、消费电子、汽车电子、智慧家居、智能仪表、智慧健康等领域。
型号- CSU-IDE,CS32F103CBW6,CS32A011K8V6T,CS1259,CS32G051,CS32F034-RA,CS1231-SO,CDS1282A1M6,CSU38F20-SSOP24,CS32F116CBT8Q,CS1256,CS1251,CSM37F71,CSM37F70,CS1253FY6,CS32F103C8T7,CS1243,CS1233-SOP14,CS1242,CSWRITERUX,CS32F034F8P6-RA,CS17951NNPP8QT-P,CSHC69T60-C8,CS32A010E8K7ET,CS1237-SO,CST92F30-QFN32,CS32L010F8K6,CSU38F20-SOP16,CS32A039R8T6,CS32F036K6T7,CS32F116RBT8Q,CSU18M91-LQFP48,CS1238-QFN16,CPW6410,CSU8RP1381-BD,CSS34PB16-SOP8,CSU38F20-MSOP10,CS32G020K8U7QH,CS17953NNP8ET-A,CDS8702K6V7ET,CS32G023,CS32F030C8T6,CS1253EU6,CSU32P13,CS32A011K8V7ET,CS17952P8ET,CS32F036K6U7,CS32G020,CS32G021,CSU32P10,CS1231-TS,CS32A010E8V7ET,CSU8RP1186B-BD,CS17951P8QT,CBM8560,CSU3AF10,CS32F035F6P7,CS32F030F8P7-RA,CDS8712,CDS1883,CDS8711,CS1232-TS,CS32F034K8U7-RA,CSU18M91-LQFP64,CSU18MD92,CS32F030-RA,CDS1181A0M6,CS17953P8ET,CSU34F20-SSOP24,CSM92F32,CSU8RP1001B,CSU8RP1382D-BD,CDS8703,CST92F30-QFN48,CDS8702,CSU32P10-SOP14,CSM92F25,CS17951NNP8QT-A,CST92F42KEV6HC,CSU34F20,CBM8580,CS1256-QFN16,CBM8581,CSS34P16B-SSOP16,CSA37F72-WLCSP24,CS32G023K8V6,CSU18M69-WLCSP16,CPW3301UE,CST92F25,CS32F031K8S6-RA,CST92F42KEV7HI,CSU18M92-LQFP48,CPW3102,CPW3101,CST92P23B,CDS1181,CSU18M68-QFN16,CS32F030C8T7-RA,CSU32M11-SOP16,CS1238-SO,CS32F103VBT7,CS32F031-RA,CSU32M13-CSOP16,CSA37F70-WLCSP56,CS32F116VBT8Q,CSU18P88-SSOP24,CS32F036K6S7Q,CS32F036F6P7,CS17952P8QT,CSU8RP1186,CSU32M10-QFN16,CS32F036Q,CS17953P8QT,CST92F42,CSU32P10-TSSOP14,CSU18M63-QFN16,CST92F25-QFN32,CSA37F62,CST92F32-QFN32,CSU32P13-CSOP8,CSU38F21-QFN24,CSE7761-SSOP16,CSU8RP3215-TS,CSU34F20-SOP16,CSE7759,CSU38F20H-QFN24,CS32F035K6U6,CDS8712-QFN24,CS17904,CS17908,CSU8RP3216-QN,CDS1282,CST92F30,CSU32P10-SOP8,CSU32M13,CSU18MB86,CST92F42CEV6HC,CS32F031G8U7-RA,CSU32M10,CST92F32,CSU32M11,CSU38F21,CS32G020E8U6,CSU38F20,CS32A010K8V6T,CSU38F23,CPW3101AY,CSU32P10-MSOP10,CSU8RP3215-SO,CS1256-SOP16,CS32F103,CS32F030F6P6,CSU8RP3215,CSU8RP3216,CS1247B,CSU18MB86-SSOP20,CSU18P88-SOP16,CPW3301,CS32G021K8U6,CS32F031G8U6-RA,CSU8RP3216-SS,CSU18P88-QFN32,CS32L015K8V6,CS32A010K8V7ET,CSU18MB86-SSOP24,CSU3AF10-QFN28,CSU38F20-QFN20,CSU8RP3216-SO,CSA37F60-WLCSP40,CS1180S,CSU8RP2113,CSS34P16P,CSU18P88,CSS34P16D,CDS8711-QFN32,CSS34P16,CSA37F62-LQFP48,CS1259-QFN32,CS32F031K8U6H,CS32F103RBT7,CS1180,CS17950P8ET,CSU8RP1382,CSM92F30D,CSU8RP1381,CSU18M68-WLCSP16,CS32F030C8T6-RA,CS32L015C8T6,CS32F031K8U7-RA,CSU18MB86-SOP16,CS1242-TSSOP16,CSA37F60-QFN40,CS32L010F8U6,CS1262HY6RJ,CS1259B-SOP16,CS32F031K8V6-RA,CSM92F42NIB,CDS1883L3Y6,CSM92F42NIE,CS32F031E6Y6,CS32F036,CS32F103CBT7,CSU8RP1186B,CSU8RP1001,CS32F035,CS32L015,CS32F030,CS32F031,CS32L010,CSU18M88,CBM6560,CSU18M88-LQFP48,CSU34F20-QFN20,CSU18M65-WLCSP16,CS1239-SOP16,CSU18M91,CSU18M92,CDS8703K6V7ET,CS1239-QFN16,CSU8RP3216-TS,CS32G051KCU6,CS32F031G8K6-RA,CSU32M10-MSOP10,CSU1182B,CS32F030F6P6-RA,CSU38F23-QFN20,CS17953NNP8QT-A,CS1270,CS17953NNP8QT-P,CSU8RP1391-BD,CS1262 PPG,CS32F031G6U6,CS32F116Q,CS1253 BIA,CS32F031K8U6-RA,CS32G020Q,CSA37F71-WLCSP36,CS17951P8ET,CS17950P8QT,CS32F030K6T6,CSU1181B,CBM6580,CST92P23B-SOP8,CS32F031K8V7-RA,CSU18PD88,CS32F031C8T6,CS1251-SOP16,CSE7759B,CSU8RP2113-SO,CS32G020K8U6
芯海科技(CHIPSEA)信号调理/数据转换器/模拟前端/MCU/电源管理/无线连接芯片选型指南(简版)
描述- 芯海科技(股票代码:688595)成立于2003年9月,是一家集感知、计算、控制、连接于一体的全信号链集成电路设计企业。公司专注于高精度ADC、高可靠性MCU、测量算法以及物联网一站式解决方案的研发设计。
型号- CS17953P8QT,CSU32P10-TSSOP14,CSU18M63-QFN16,CS32F103CBW6,CS32A011K8V6T,CST92F25-QFN32,CS1231-SO,CDS1282A1M6,CSU38F20-SSOP24,CST92F32-QFN32,CSU32P13-CSOP8,CS32F116CBT8Q,CSU38F21-QFN24,CSE7761-SSOP16,CSU8RP3215-TS,CSU34F20-SOP16,CSE7759,CSU38F20H-QFN24,CS32F035K6U6,CDS8712-QFN24,CS17904,CS17908,CSU8RP3216-QN,CSM37F71,CSM37F70,CS1253FY6,CS32F103C8T7,CSU32P10-SOP8,CS1243,CST92F42CEV6HC,CS32F031G8U7-RA,CS1233-SOP14,CS32G020E8U6,CS1242,CS32A010K8V6T,CPW3101AY,CSU32P10-MSOP10,CS32F034F8P6-RA,CS17951NNPP8QT-P,CSHC69T60-C8,CSU8RP3215-SO,CS1256-SOP16,CS32A010E8K7ET,CS32F030F6P6,CS1237-SO,CS1247B,CST92F30-QFN32,CS32L010F8K6,CSU38F20-SOP16,CS32A039R8T6,CS32F036K6T7,CS32F116RBT8Q,CSU18MB86-SSOP20,CS32G021K8U6,CSU18P88-SOP16,CSU18M91-LQFP48,CS1238-QFN16,CS32F031G8U6-RA,CPW6410,CSU8RP3216-SS,CSU8RP1381-BD,CSS34PB16-SOP8,CSU18P88-QFN32,CS32L015K8V6,CSU3AF10-QFN28,CS32A010K8V7ET,CSU18MB86-SSOP24,CSU38F20-MSOP10,CS32G020K8U7QH,CSU38F20-QFN20,CSU8RP3216-SO,CS17953NNP8ET-A,CSA37F60-WLCSP40,CDS8702K6V7ET,CS32F030C8T6,CS1180S,CS1253EU6,CS32A011K8V7ET,CS17952P8ET,CS32F036K6U7,CDS8711-QFN32,CSA37F62-LQFP48,CS1231-TS,CS1259-QFN32,CS32F031K8U6H,CS32F103RBT7,CS1180,CS17950P8ET,CSU8RP1186B-BD,CSM92F30D,CSU18M68-WLCSP16,CS17951P8QT,CS32F030C8T6-RA,CBM8560,CS32F035F6P7,CS32L015C8T6,CS32F030F8P7-RA,CS32F031K8U7-RA,CSU18MB86-SOP16,CS1232-TS,CS1242-TSSOP16,CSA37F60-QFN40,CS32F034K8U7-RA,CSU18M91-LQFP64,CSU18MD92,CS32L010F8U6,CS1262HY6RJ,CS1259B-SOP16,CDS1181A0M6,CS17953P8ET,CSU34F20-SSOP24,CS32F031K8V6-RA,CSM92F32,CSM92F42NIB,CDS1883L3Y6,CSM92F42NIE,CS32F031E6Y6,CSU8RP1001B,CSU8RP1382D-BD,CS32F103CBT7,CST92F30-QFN48,CSU32P10-SOP14,CSM92F25,CBM6560,CS17951NNP8QT-A,CSU18M88-LQFP48,CSU34F20-QFN20,CSU18M65-WLCSP16,CS1239-SOP16,CST92F42KEV6HC,CDS8703K6V7ET,CS1239-QFN16,CBM8580,CBM8581,CS1256-QFN16,CSU8RP3216-TS,CSS34P16B-SSOP16,CSA37F72-WLCSP24,CS32G023K8V6,CSU18M69-WLCSP16,CS32G051KCU6,CS32F031G8K6-RA,CSU32M10-MSOP10,CPW3301UE,CSU1182B,CS32F031K8S6-RA,CST92F42KEV7HI,CSU18M92-LQFP48,CS32F030F6P6-RA,CSU38F23-QFN20,CS17953NNP8QT-A,CS1270,CSU18M68-QFN16,CS17953NNP8QT-P,CS32F030C8T7-RA,CSU8RP1391-BD,CS32F031G6U6,CSU32M11-SOP16,CS32F031K8U6-RA,CS1238-SO,CSA37F71-WLCSP36,CS17951P8ET,CS32F103VBT7,CS17950P8QT,CS32F030K6T6,CSU32M13-CSOP16,CSA37F70-WLCSP56,CSU1181B,CS32F116VBT8Q,CSU18P88-SSOP24,CS32F036K6S7Q,CS32F036F6P7,CBM6580,CST92P23B-SOP8,CS32F031K8V7-RA,CSU18PD88,CS17952P8QT,CS32F031C8T6,CS1251-SOP16,CSU8RP1186,CSE7759B,CSU8RP2113-SO,CSU32M10-QFN16,CS32G020K8U6
【经验】24位高精度ADC CS1237如何避免读取无效的AD值
芯海科技推出的CS1237是一款高精度,低功耗的24位ADC芯片,其内置 RC 振荡器,同时可通过2线SPI接口SCLK、DRDY与MCU进行通信。主控通过SCLK和DOUT引脚与CS1237进行通信,来读取芯片采集到的AD值,那么如何避免读取无效的AD值呢?本文详细介绍。
基于24位高精度ADC芯片CS1237的电子秤应用设计,具有小体积(SOP8封装)、集成度高、外围电路简单等特点
本文介绍了芯海科技有限公司设计的24位高精度ADC芯片——CS1237应用在电子秤上的解决方案。系统通过CS1237内置放大器对称重传感器的微弱电压信号进行放大,然后通过Sigma-Delta ADC进行模数转换,最后使用2线SPI接口输出数据给MCU来进行处理。MCU处理完毕后,把重量信息送往显示模块或无线发射模块。
芯海科技(CHIPSEA)MCU产品介绍
描述- 芯海科技专注于混合信号集成电路设计,是国内信号链MCU的领先企业。公司成立于2003年,总部位于深圳,拥有合肥、西安研发中心。产品涵盖高精度ADC、高性能MCU、测量算法及物联网一站式解决方案,广泛应用于智慧健康、压力触控、智能家居感知、工业测量等领域。公司研发人员占比62%,拥有超过400项全球专利,其中授权专利超过100件。
型号- CS32GSTAR,031C8T6,CS32F03X,030K6T6,CS32F031C8,CSU38M20,CSA37F61,CSU32P20,CS32F031G6,CS32F031K8,CSE7759,CSE7758,CSU18M63,N76XX03,CSMXXX12X2,031K8U6,031G6U6,031K6U6,CST92F30,CS32F036,CSU8RP3117B,CS32A060,CSU8RP321X,T220TWS,CSU8RP1001,IQ00 PRO,CS32F030,CS32F031,CS1243,CSU18M88,CS7730,CSU32M10,CSU32M11,CS32G020E8U6,CS1242,CSU38F20,CSU18M53,CS32M10,IQ00,CSE7761,CXXX9F12X2,CS32F030C8,CSS21P10-DFN8,CS32G02X,CSU8RP3215,CSU8RP3216,CSS21P10-DFN6,CS1237,CS1239,CS1238,CS1233,CSS31P12,HA-A10T,CS1232,CSS31P13,CS32F030G6,CSS32P21,CS1231,CS32F031G8U6,CSU18M86,030F6P6,CSU32M1X,TM5XXX28,CS1270,CST92P1X,CSU8RP311X,CS32A0,CSU8RP3115B,N76E003,CSU8RP3119B,TMXXXA28,CS125X,CS32G020,030G6U6,CS32G021,CSU18M9X,CSS34P16,CSU18M65,CSU32P10,CS32F030F6,030C8T6,NEX 3S,CSU39F10,NEX3,NXXX003,CSE7759B,S030,CS32A039,CS32G020K8U6
芯海科技(CHIPSEA)高精度ADC和AFE产品介绍
描述- ADC/AFE产品简介
型号- CS1237,CS1215,TI/ADS1240,CS1259,CS1258,CS1239,CS1238,CS1233,CS1232,CS1213,CS1257,TI/ADS1241,CS1256,CS1232-TSSOP24,CS1251,CS1231,CS1270,CS1243,TI/ADS1232,TI/ADS1230,CS1243-SSOP28,CS1242,CS1180,CS1242-SSOP24,CSE7761,CSE7759B,CS1213-TSSOP16
【应用】国产24位高精度模数转换器CS1237用于无线测温终端设备,掉电模式下功耗低至0.1μA,大大延长产品使用寿命
某客户研发一款基于无线(LoRa)的测温设备,通过LoRa模块将所采集到的温度数据上传到物联网平台上。该无线测温设备采用锂电池供电,对功耗要求较高,且对ADC的精度要求在20bit以上,根据客户需求推荐芯海的高精度、低功耗ADC CS1237,具有24bit的高分辨率,正常工作电流仅2mA左右,掉电状态下功耗低至0.1μA。
【经验】芯海高精度24位ADC CS1237如何配置为内短模式?
芯海科技推出的CS1237是由一款高精度24位的ADC芯片,内置晶振及温度传感器,可通过2线SPI接口SCLK、DRDY与MCU进行通信,CS1237采用两阶sigma delta 调制器,通过低噪声放大器结构实现PGA 放大,放大倍数可选:1、2、64、128,同时内部带有内短功能,如何将ADC配置为内短(将输入通道内部进行短接)模式呢?本文将详细介绍。
CS1242 数据手册 24-bit Sigma-Delta ADC
描述- CS1242是一款24位无失码、22位有效精度的Sigma-Delta模数转换器,具有高精度、低功耗的特点。该芯片广泛应用于工业过程控制、重量计、液体/气体化学分析、血液分析和便携式设备等领域。其主要特性包括集成50Hz、60Hz陷波,可编程增益(1~128倍),单时钟周期准备就绪,可编程模数转换数据速率输出,外接参考电压范围为0.1V~5V,集成立方体硅半导体技术公司(Chipsea)生产。
型号- CS1242,CS1242-SSOP24,CS1242-TSSOP16,CS1242-SSOP
电子商城
服务
加工精度:精密平面磨床正负0.002;铣床正负0.02,ZNC放电正负0.01。CNC加工材料:铝、钢、聚合物等材料。专注于半导体行业、医疗器械、汽车行业、新能源行业、信息技术行业零部件加工。
最小起订量: 1个 提交需求>
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
登录 | 立即注册
提交评论