国产的高精度ADC HX711 CS1237 TM7707等如何选型
目录
名词解释
数据输出速率
建立时间
ADC转换周期
CS1237转换速度与有效位数的关系
TM7707测试代码
最近小伙伴们咨询我,国产很多高精度的ADC,如何选型使用呢?这里我们主要讨论几款24位差分输入。
ADC/DAC相关名词解释
- ADC输入范围
- ADC转换速度
- ADC稳定位数
在我们选的时候主要考虑上面三个参数
型号 | 供电范围 | 输入范围 | 输出速率 | 建立时间 | PGA | 时钟 | 单价(元) |
Hx711 | 10Hz/80Hz | 32,64 和 128 | 内/外 | 2.32 | |||
cs1237 |
VDD:3.0~5.5V Ref外部:1.5~VDD+0.1 |
与增益有关 |
10Hz 、 40Hz 、 640Hz 、 1.28kHz
|
1 、 2 、 64 、 128
|
内/外 | 1.3 | |
tm7707 |
VDD2.7~5.25 Ref内/外;
1~1.75 @3.3
1~3.5 @5V
|
与增益无关
|
500Hz最大 | 双通道约160mS | 1, 2 ,4 ,8 ,16, 32, 64, 128 | 外 | 3.46 |
名词解释
数据输出速率
这里很多人第一次看数据输出速率,很容易理解成是SPI这种接口CLK的频率,这样是错误的。
这里的ADC输出速率是指ADC的转换速率。
这里的SPI clk 要>2KHZ
建立时间
这里的重点是要知道什么情况会发生建立时间
- 电源上电/掉电
- 通道切换
- PGA/速率切换
ADC转换周期
转换周期也可以看作量化时间,可以简单看作 输出速率*位数
如24位ADC ,输出速率1khz
Tconvert ≈ 1ms *24 = 24ms
CS1237转换速度与有效位数的关系
有效分辨率的方只与AD速率和电源压值有关,计算方法为:AD速率增大倍数为增大2^1有效位降低0.5位,2^2为有效位降低2*0.5=1倍
1.28Khz 有效精度 = 20@5V - 7*0.5 = 16.5位
TM7707测试代码
下面这段代码是官方手册中的代码。
// MCU: AT89S52
// Target : TM7707
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SCLK=P1^0;
sbit DIO=P1^1;
sbit RESET=P1^2;
sbit CS=P1^3;
sbit DRDY=P1^4;
uchar *intp;
uchar idata date8[180];
void write_byte1(uchar date) //写一字节数据
{ uchar i;CS=0; //CS 拉低,for(i=0;i<8;i++) { SCLK=0; //SCLK 拉低准备写数据_nop_();if(date&0x80) DIO=1; elseDIO=0; SCLK=1; //SCLK 拉高,写入一位数据 Date<<=1;}CS=1; //写完一个字节后 CS 拉高。
}
uchar read_byte1 ( ) //读一字节数据
{uchar j,b1;CS=0; for(j=0;j<8;j++) {SCLK=0; b1=(b1<<1)|DIO; SCLK=1; } return b1;
}
void save_data(void)
{uchar i0,i1;intp=date8;for(i0=0;i0<60;i0++){while(DRDY); //等待 DRDT 为低时,可读出数据 write_byte1(0x38); //向通信寄存器写入数据,选择通道 1 作为有效,将下一个操作设为读数据 寄存器。for(i1=0;i1<3;i1++) //连续存储一个数据。{*intp=read_byte1();intp++;}CS=1;}
}
void init( ) //初始化
{ RESET=1;SCLK=1;CS=1;DRDY=1;
}
void main(void) //主函数
{init();write_byte1(0X10); //向通信寄存器写数据,选择通道 1 作为有效通道,将下一个操作设为对设置寄存器进行写操作。write_byte1(0X20); //对设置寄存器写操作,选择 16 倍增益,无 BUF 缓冲器,双极性。write_byte1(0X50); //向通信寄存器写数据,选择通道 1 作为有效通道,将下一个操作设为对滤波低寄存器进行写操作。write_byte1(0X00); //向滤波低寄存器写入 0X00。write_byte1(0X20); //向通信寄存器写数据,选择通道 1 作为有效通道,将下一个操作设为对滤波高寄存器进行写操作。write_byte1(0X0F); //向滤波高寄存器写入 0X0F。save_data(); //MCU 连续存储 24 位数据 60 个。while(1); //循环等待。
}
国产的高精度ADC HX711 CS1237 TM7707等如何选型相关推荐
- A7799之STM32程序——STM32测试高精度ADC篇(二)
1. AD7799概述 AD7799是ADI公司早期推出一款高精度低速率的ADC,性能参数如下 •均方根(RMS)噪声: 27 nV(4.17 Hz.AD7799) 65 nV(16.7 Hz. ...
- AD7190之STM32程序——STM32测试高精度ADC篇(三)
1. AD7190概述 AD7190是一款适合高精密测量应用的低噪声完整模拟前端.它集成一个低噪声.24位Σ-Δ型模数转换(ADC).片内低噪声增益级意味着可直接输入小信号. 这款器件可配置为两路差 ...
- STM32 ADS8365 高精度 ADC 采集方案
开源一个 ADS8365 高精度 ADC 检测方案,转载请联系博主,翻版必究. 1.硬件原理图(最多 6 路输入) 2.数据手册 数据手册在这里下载 https://www.alldatasheetc ...
- 热电偶温度采集pid加热控制,高精度adc数据采集继电器输出
热电偶温度采集pid加热控制,高精度adc数据采集继电器输出 整套系统包括: 2路adc数据采集系统,采用24位高精度adc(美国adi公司产品ad7732),分辨率达到0.0002mv,可做高精度数 ...
- 桥式压力传感器输出mV用仪表运放还是选高精度ADC的问题
桥式压力传感器输出mV用仪表运放还是选高精度ADC的问题 这几天博采众长 吸收了很多大师的意见 都不建议用仪表运放去做这种信号的放大采集,直接用高精度的ADC芯片,带MCU那种.(仪表放大器非常难 ...
- ADC芯片——CS1237的使用
最近看到山西省电子设计大赛的一个题目--自制悬臂梁式简易电子称.具体题目要求如下: 这个题目好像是前年TI杯的一个题目.网上资料也比较多. 觉得这个题目应该很适合练手,于是就搞了一下.查了一番,觉得这 ...
- python代码用c语言封装_树莓派开发ADC芯片CS1237(C语言和python库开发)
一.准备工作 1.安装树莓派官方系统 2.安装wiringpi库 1) sudo geit clone git://git.drogon.net/wiringPi 2) sudo apt-get in ...
- 树莓派开发ADC芯片CS1237(C语言和python库开发)
源码地址https://github.com/dyingstraw/CS1237 一.准备工作 1.安装树莓派官方系统 安装树莓派官方系统 2.安装wiringpi库 sudo apt-get ins ...
- STM32F030 12位高精度ADC用法
STM32F030C8有一个12位ADC接口,现用库函数编写ADC驱动代码 1.初始化接口,配置ADC参数通道 void bsp_adc_init(void) { ADC_InitTypeDe ...
最新文章
- 编程小问题系列(2)——为什么WPF里MediaElement等视频控件不起作用
- Http的请求的全过程
- 网络电视视频服务器所放位置,pptv网络电视中多屏互动服务器删除的具体操作步骤...
- 战网AI危机!AlphaStar匿名潜入星际2天梯PK,进化版让人类玩家瑟瑟发抖
- 滑动轮播_这样运营轮播图可以增加订单
- MS-SQL CLR 直接读写文件,飞一般的感觉!
- 只要一点点力气就可以撬起重物?
- PHP gd库 验证码
- html5同心圆代码,HTML5/Canvas 鼠标跟随的同心圆
- Java设计模式笔记(1)单例模式
- 零式机器人_最帅机器人作品“EVA”“天元突破”谁才是男人真正的浪漫
- netcat、nc工具随记
- 数据结构题及c语言版4.31答案,数据结构参考题及答案修正版.doc
- Python编写微信打飞机小游戏(一)
- li标签中,img居中显示
- FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecate;的解决办法
- 已有企业认证的微信公众号快速创建一个企业小程序
- python调用word_Python调用win32com.client.Dispatch('Word.Application')报错汗血宝马
- 软件测试-offer选择,自研or外包
- win7文件夹每次打开新的窗口/卸载ie后/同一窗口中打开每个文件也没用
热门文章
- 那些永远消失的区块链巨头盘点
- Xilinx FPGA的SelectMAP与BPI配置模式的比较
- linux 全双工 wifi热点,wifi是全双工还是半双工
- Linux系统中dd命令用法详解
- 上半年薪资统计,数据岗中位数接近20K!
- svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的暴力解决方法
- [WorldWide_D幻想乡♂模拟赛][JZOJ4599]西行妖
- vue+vux vux安装出现错误
- ubuntu 网口状态_查看Linux下网卡连接状态(up还是down)?
- 我靠加班把老员工弄走了,昨天老板又给我画饼,一天天浑浑噩噩,Android开发究竟还有前途吗?