8通道24位∑型模数转换器ADS1256原理及特点8通道24位∑型模数转换器ADS1256原理及特点8通道24位∑型模数转换器ADS1256原理及特点8通道24位∑型模数转换器ADS1256原理及特点
2023-04-20 17:16:04 127KB ad1256
1
基于STM32的ADS1256驱动程序 HAL库 软件SPI 自用
2023-03-25 15:35:27 10KB HAL ADS1256 STM32
1
ADS1256是公司Burr-Brown产品线推出的微功耗、高精度、8通道、24位△-∑型高性能模数转换器(ADC)。该器件提供高达23比特的无噪声精度、数据速率高达30kSPS(次采样/秒)、0.0010%非线性特性(值)以及众多的板上外设(输入模拟多路开关、输入缓冲器、可编程增益放大器和可编程数字滤波器等),可为设计人员带来完整而高分辨率的量测解决方案。ADS1256采用SSOP-2封装,1000颗采购量零售单价为8.95美元。ADS1256主要特点1、8通道输入:可同时采集8路信号输入。2、测量范围广:基本范围为0-5V输入电压,可在输入端可焊接分压电阻,将电压调整至0-5V内,所以此采
1
ads1256驱动代码,用verilog编写,在quartus上运行成功
2022-11-01 00:46:57 8.31MB ads1256+fpga ads1256_verilog ads1256_驱动 dropv54
1
stm32 uGUI操作系统和ADS1256模拟采集显示曲线例程
2022-07-24 21:51:23 44.61MB uGUI ads1256
1
STM32F407 IO模拟读取ADS1256 内含中断读取,循环读取 单通道读取 差分读取 亲测可行
1
ADS1256高精度AD芯片验证-ADS1256芯片验证.rar
2022-03-17 10:17:53 5.75MB 电子设计
1
STC15F2K60S2单片机读写ADS1256并LCD1602显示驱动程序源码,可以做为你的学习设计参考。 void main() { signed long Adc; float Volts; DelayMs(50); ADS1256_Init(); //ADS1256 参数初始化 LCD_Init(); while(1) { Adc = ADS1256ReadData( ADS1256_MUXP_AIN0|ADS1256_MUXN_AINCOM); Volts = Adc*0.00059453; // 0.00000059453 为系数,ADC生产出后都有一定的偏差,在此校准。 display_num4(LINE1_COLUMN(1),Volts); delay_ms(100); Adc = ADS1256ReadData( ADS1256_MUXP_AIN1|ADS1256_MUXN_AINCOM); Volts = Adc*0.00059453; // 0.00000059453 为系数,ADC生产出后都有一定的偏差,
2022-02-03 14:04:52 59KB 单片机 嵌入式硬件 ADS1256 LCD1602
STM32单片机(STM32F429)读写(8通道带PGA的24位ADC)ADS1256软件例程源码,可以做为你的学习设计参考。 int main(void) { uint8_t i; bsp_Init(); PrintfLogo(); /* 打印例程Logo到串口1 */ bsp_DelayMS(100); /* 等待上电稳定,等基准电压电路稳定, bsp_InitADS1256() 内部会进行自校准 */ bsp_InitADS1256(); /* 初始化配置ADS1256. PGA=1, DRATE=30KSPS, BUFEN=1, 输入正负5V */ /* 打印芯片ID (通过读ID可以判断硬件接口是否正常) , 正常时状态寄存器的高4bit = 3 */ #if 0 { uint8_t id; id = ADS1256_ReadChipID(); if (id != 3) { printf("Error, ASD1256 Chip ID = 0x%X\r\n", id); } else { printf("Ok, ASD1256 Chip ID = 0x%X\r\n", id); } } #endif ADS1256_CfgADC(ADS1256_GAIN_1, ADS1256_30SPS); /* 配置ADC参数: 增益1:1, 数据输出速率 1KHz */ ADS1256_StartScan(); /* 启动中断扫描模式, 轮流采集8个通道的ADC数据. 通过 ADS1256_GetAdc() 函数来读取这些数据 */ while (1) { bsp_Idle(); /* 空闲时执行的函数,比如喂狗. 在bsp.c中 */ /* 打印采集数据 */ for (i = 0; i < 8; i++) { int32_t iTemp; iTemp = ((int64_t)g_tADS1256.AdcNow[i] * 2500000) / 4194303; /* 计算实际电压值(近似估算的),如需准确,请进行校准 */ if (iTemp < 0) { iTemp = -iTemp; printf("%d=%6d,(-%d.%03d %03d V) ", i, g_tADS1256.AdcNow[i], iTemp /1000000, (iTemp%1000000)/1000, iTemp%1000); } else { printf("%d=%6d,( %d.%03d %03d V) ", i, g_tADS1256.AdcNow[i], iTemp/1000000, (iTemp%1000000)/1000, iTemp%1000); } } printf("\r\n"); bsp_DelayMS(500); /* 每隔500ms 输出一次数据 */ } }