Skip to content

Commit fea8817

Browse files
committed
update EmoeDAQ doc 20250303
1 parent d750d62 commit fea8817

File tree

2 files changed

+192
-37
lines changed

2 files changed

+192
-37
lines changed

docs/projects/EmoeDAQ/emoedaq-manual.md

Lines changed: 121 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ tags: analog, emoedaq
99

1010
# EmoeDAQ 编程参考手册
1111

12-
> 硬件版本: 1.3.0
13-
> 手册版本: 0.1.3
14-
> 最后更新时间: 2024-12-16
12+
> 硬件版本: 1.4.0
13+
> 手册版本: 0.1.4
14+
> 最后更新时间: 2025-03-03
1515
1616
## DAQ控制指令集
1717

1818
EmoeDAQ采用SCPI指令集与上位机通过串口进行通讯。
19-
DAQ的SCPI指令集可以分为4类,分别是:
19+
DAQ的SCPI指令集可以分为几类,分别是:
2020

2121
- IEEE 488.2标准命令
2222
- DAQ硬件配置命令
2323
- DAQ采样控制命令
24-
- DAQ系统命令
24+
- DAQ系统命令
2525

2626
SCPI指令集的简写为指定的单词开头(大写),比如 `CONFigure:VOLTage:DC:NPLCycles 10` 这句可以简写为 `CONF:VOLT:DC:NPLC 10`
2727

@@ -52,6 +52,8 @@ SCPI指令集的简写为指定的单词开头(大写),比如 `CONFigure:V
5252
- 示例:*CLS
5353
- 返回值:无
5454

55+
其他指令请参考IEEE488.2规范内容
56+
5557
### DAQ采样控制命令
5658

5759
#### 单次测量电压
@@ -63,7 +65,7 @@ SCPI指令集的简写为指定的单词开头(大写),比如 `CONFigure:V
6365
- 返回值:对应通道的电压值
6466

6567

66-
#### 单次测量电压,附带温度
68+
#### 单次测量电压,附带内部温度
6769

6870
- 格式:**MEASure:VOLTage:DC:TEMPerature? {1|2}**
6971
- 功能:测量指定通道的电压,以及当前DAQ内部温度值
@@ -126,27 +128,11 @@ SCPI指令集的简写为指定的单词开头(大写),比如 `CONFigure:V
126128

127129
### DAQ硬件配置命令
128130

129-
#### 设置通信波特率(仅使用USART接口的固件支持)
130-
131-
- 格式:**SYSTem:BAUDRATE:SET {9600|14400|19200|38400|57600|115200|230400|460800|921600|1500000}**
132-
- 功能:设置DAQ的串口波特率
133-
- 详细解释:用该命令设置DAQ的串口通信波特率,立刻生效,**设置完成后需要切换到新波特率与DAQ通信**
134-
- 示例:SYSTem:BAUDRATE:SET 115200
135-
- 返回值:无
136-
137-
#### 查询通信波特率(仅使用USART接口的固件支持)
138-
139-
- 格式:**SYSTem:BAUDRATE:SET?**
140-
- 功能:查询DAQ当前的串口波特率
141-
- 详细解释:用该命令查询DAQ的串口通信波特率。
142-
- 示例:SYSTem:BAUDRATE:SET?
143-
- 返回值:返回当前的串口波特率
144-
145131
#### 查询DAQ系统设置
146132

147133
- 格式:**CONFigure:INFormation?**
148134
- 功能:查询DAQ当前的系统设置
149-
- 详细解释:用该命令查询DAQ的系统设置,包括 **波特率(仅使用USART接口的固件支持)**、NPLC频率、NPLC周期数、AutoZero是否开启
135+
- 详细解释:用该命令查询DAQ的系统设置,包括 **波特率(仅使用USART接口的固件支持)** (带外壳的DAQ使用USB-VCP通信,无需设置波特率)、NPLC频率、NPLC周期数、AutoZero是否开启
150136
- 示例:CONFIGURE:INFormation?
151137
- 返回值:波特率、NPLC频率、NPLC周期数、AutoZero是否开启
152138

@@ -169,6 +155,118 @@ SCPI指令集的简写为指定的单词开头(大写),比如 `CONFigure:V
169155
- 示例:SYSTem:IDEN
170156
- 返回值:无
171157

158+
#### 用户增益校准
159+
- 格式: SYSTem:CALibration:GAIN {gain}
160+
- 功能:写入DAQ的系统增益,并保存
161+
- 详细解释: 写入DAQ的系统增益,该增益是线性回归拟合校准得出的增益误差,在DAQ内部参与电压转换的计算,补偿DAQ的系统增益误差
162+
- 示例:SYSTem:CAL:INL:SLOPE 1.00032855
163+
- 返回值:写入的增益值,并提示保存成功与否
164+
165+
#### 用户失调校准
166+
- 格式: SYSTem:CALibration:OFFSET {offset}
167+
- 功能:写入DAQ的系统失调误差,并保存
168+
- 详细解释: 写入DAQ的系统失调误差,该增益是线性回归拟合校准得出的失调误差,在DAQ内部参与电压转换的计算,补偿DAQ的系统失调误差
169+
- 示例:SYSTem:CAL:INL:INT 0.00003882
170+
- 返回值:写入的失调值,并提示保存成功与否
171+
172+
#### ADC系统校准
173+
- 格式: SYSTem:CALibration:ADC
174+
- 功能:执行ADC系统校准
175+
- 详细解释: 该功能执行的是ADC片内自带的校准程序,分别给ADC输入通入0V和VREF,以此来计算ADC前面所有信号链的失调和增益误差.但此方法由于ADC的INL限制,效果有限.如果需要高精度,还是需要高位表+源来校准标定.该过程需要20秒的时间完成,且需要在DAQ充分预热且环境温度较稳定的情况下进行
176+
- 示例:SYSTem:CAL:ADC
177+
- 返回值:校准前的增益\失调寄存器,与校准后的增益\失调寄存器
178+
179+
#### 写入校准日期
180+
- 格式: SYSTem:CALibration:DATE
181+
- 功能:写入校准日期
182+
- 详细解释: 写入校准日期,格式是: yyyy,mm,dd
183+
- 示例:SYST:CAL:DATE 1919,8,10
184+
- 返回值:无
185+
186+
#### 存储ADC系统校准数据
187+
- 格式: SYSTem:CALibration:STORE
188+
- 功能:保存ADC系统校准数据,以及校准日期
189+
- 详细解释: 保存ADC系统校准数据,以及校准日期
190+
- 示例:SYST:CAL:STORE
191+
- 返回值:保存成功以及校准数据明细,如果有未执行的校准项将提示校准未完成
192+
193+
#### 擦除校准数据
194+
- 格式: SYSTem:CALibration:DEFAULT
195+
- 功能:擦除所有校准数据
196+
- 详细解释: 擦除所有校准数据,包括ADC系统校准寄存器\手动输入的增益失调误差\校准日期等
197+
- 示例:SYST:CAL:DEFAULT
198+
- 返回值:校准数据复位成功
199+
200+
#### 查询所有校准数据
201+
- 格式: SYSTem:CALibration:INFormation?
202+
- 功能:查询校准数据
203+
- 详细解释: 查询所有校准数据,包括ADC系统校准寄存器\手动输入的增益失调误差\校准日期等
204+
- 示例:SYST:CAL:INF?
205+
- 返回值:有效校准数据,若未执行过校准/校准数据被擦除,则提示校准数据不存在
206+
207+
#### 查询用户增益校准系数
208+
- 格式: SYSTem:CALibration:GAIN?
209+
- 功能:查询增益校准系数
210+
- 详细解释: 查询DAQ内部存储的增益校准系数
211+
- 示例:SYSTem:CAL:GAIN?
212+
- 返回值:1.00032855
213+
214+
#### 查询用户失调校准系数
215+
- 格式: SYSTem:CALibration:OFFSET?
216+
- 功能:查询失调校准系数
217+
- 详细解释: 查询DAQ内部存储的失调校准系数
218+
- 示例:SYSTem:CAL:OFFSET?
219+
- 返回值:0.00003882
220+
221+
## DAQ校准原理
222+
223+
请参考Emoe上的文章 **[EmoeDAQ-高精度数据采集器-下篇](https://www.emoe.xyz/emoedaq-design-2/#5)** 中的第五节-校准原理
224+
225+
## 校准说明
226+
227+
校准的本质是将DAQ的绝对精度调整到与参考表的精度较为一致的水平,所以,**决定校准后精度的是参考表的精度**
228+
如果需要绝对的精确度,那就需要绝对精确的参考表,比如短期内经过约瑟夫森结传递校准过的Keysight 3458A DMM 或 Fluke的高位Calibrator。
229+
230+
## DAQ校准流程
231+
232+
### 校准所需要的设备
233+
234+
DAQ的直流精度超过 5½ 数字万用表,所以至少需要 6½ 的数字万用表作为校准参考表。同时还需要一个低噪声、极稳定的可调节直流源,如果校准源的噪声较高或漂移较大,会增大校准过程中的不确定性,导致校准精度不及预期。推荐设备如下:
235+
236+
- Keysight 34465A或同等级、甚至更高等级的台式DMM
237+
- 5位半以上的DC源表,能够产生-5V至+5V的可调电压输出
238+
- 铜芯线用于连接
239+
240+
### 推荐校准流程-自动版
241+
242+
如果有可连接至PC的DMM和源表,且能被VISA识别到,可以使用python来完成自动化校准。
243+
🐟使用的是 Keysight 34465A+横河7651,DMM使用USB连接,7651使用GPIB连接。
244+
245+
1. 将源表输出连接到DAQ的CH1输入端(DAQ的INN接地,INP连接源表输出正极)和DMM的电压输入端
246+
2. 使用稳定且足功率的USB端口连接DAQ,通电静置至少半小时让DAQ和其他仪器充分稳定,DMM与源表同步上电静置。
247+
3. 测试VISA连接DMM与源表,能否正常通信,根据自己的设备修改相应的SCPI控制指令
248+
4. 修改校准程序的校准日期等内容,运行自动化校准程序,完成校准
249+
5. 打开串口助手,连接DAQ,查询校准结果是否正确
250+
251+
### 手动校准
252+
253+
如果上述自动校准条件不具备,可以使用手动校准的方式。**不过需注意,无论是哪种校准方式都需要一台高位DMM,以及一个低噪声且稳定可调的电压源。**
254+
255+
为达到最佳校准精度,推荐使用多点校准拟合的方式来得出增益与失调系数。
256+
DAQ的手动校准分为2步,分别是ADC系统校准和用户自定义比对参考表校准。下面给出一个示例:
257+
258+
1. 使用稳定且足功率的USB端口连接DAQ,通电静置至少半小时让DAQ和其他仪器充分稳定,DMM与源表同步上电静置。
259+
2. 将DAQ连接串口助手,手动发送指令 **"SYST:CAL:ADC"** 执行ADC的系统校准,等待20秒输出结果;
260+
3. 手动发送指令 **"SYST:CAL:DATE 2025,1,14"** ,写入校准的日期
261+
4. 手动发送指令 **"SYST:CAL:STORE"** ,保存ADC系统校准数据
262+
5. 将源表输出连接到DAQ的CH1输入端(DAQ的INN接地,INP连接源表输出正极)和DMM的电压输入端
263+
6. 调整源表输出至-4.9V,等待DAQ和DMM读数稳定后记录数值,填入Excel表格
264+
7. 重复上述操作,使源表分别输出-4.9V、-4V、-3V、-2V、... 0V、... 、+4V、+4.9V,记录数据
265+
8. 在Excel中将DMM读数和DAQ读数整理为2列,然后根据这些数据计算一次线性回归系数(可以调用Excel的函数功能)
266+
9. 得到校准系数后,将DAQ连接串口助手,通过校准指令 **"SYST:CAL:GAIN 1.00002243123"、"SYST:CAL:OFFSET 0.000004232"**手动写入DAQ(此处数字仅示例)
267+
10. 发送指令 **"SYST:CAL:INF?"** 查询校准数据是否正确
268+
269+
172270

173271

174272

docs/projects/EmoeDAQ/emoedaq-spec.md

Lines changed: 71 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,51 +11,55 @@ tags: analog, emoedaq
1111

1212
EmoeDAQ是一款双通道、全差分输入的精密数据采集卡,具有±5V输入范围和24bit/32bit分辨率(24bit下,1 LSB等于0.6uV),同时具有极低的Noise Floor、极高的输入阻抗、低输入偏置电流,非常适合用于精密直流数据采集应用。
1313

14-
> 硬件版本: 1.4.0
15-
> 手册版本: 0.1.3
16-
> 最后更新时间: 2025-02-28
14+
> 硬件版本: REV 1.4
15+
> 手册版本: 0.1.4
16+
> 最后更新时间: 2025-03-03
1717
1818
## EmoeDAQ特性概览
1919

20-
- 测量端与数据接口全电气隔离,耐压1.5kV,真浮地测量
20+
- 测量端与数据接口全电气隔离,耐压1.5kV,浮地测量
2121
- 2个全差分输入通道,双极性电压测量
22-
- 输出速率从0.5Hz至500Hz可调
22+
- 采样积分周期从NPLC=100至NPLC=0.1可调(非连续可调)
2323
- 高达22bit无噪声分辨率(同量程范围下,6½数字万用表同等级指标)
24-
- 最大积分非线性误差(INL)为 **±2ppm**(4ppm-Peak to Peak)
25-
- 采样率500Hz时,THD<-100dB(使用DAC11001B测试)
24+
- 校准后最大积分非线性误差(INL)为 **±3.5ppm**(7ppm-Peak to Peak,以34465A的10V档为参考)
25+
- 基准老化性能为25ppm/khr,出厂的DAQ均经过3周早期老化
26+
- 内部主动加热恒温设计,恒温温度一定范围内可调
27+
- 采样率500Hz时,THD<-100dB
2628
- 支持内部失调实时补偿
27-
- 短期稳定性(24小时)等同于6½数字万用表
29+
- 短期稳定性(24小时)等同于6½数字万用表水平
2830
- 支持用户自定义校准
2931
- 兼容标准SCPI指令集
3032

3133
## EmoeDAQ典型应用
3234

33-
- 传感器数据采集
35+
- 电压输出型传感器数据采集
3436
- 精密电压测量与长时间观测
3537
- 1/f噪声测量
36-
- 低频交流信号精密分析
38+
- 自定义设备的模拟采集核心
39+
- 极低频交流信号精密分析
3740
- 自定义测试系统组件
3841

3942
搭配Emoe R&D提供的开源选件,可实现如下应用:
4043

4144
- 精密RTD/热电偶温度测量(RTD/热电偶选件)
42-
- 双向低边电流测量(检流电阻选件
45+
- 双向高/低边电流测量(检流电阻、INA选件
4346
- 超宽动态范围I-V变换电流测量(与EmoeFemto搭配使用)
44-
- 超低噪声测量,nV-Meter(nV-Meter前端选件)
47+
- 超低噪声小信号测量,nV-Meter(nV-Meter前端选件)
4548
- 多通道电信号扫描测量(扫描卡选件)
4649

50+
更多选件仍在开发中,也欢迎在我们的github organization仓库发起讨论,一起开发新玩法。
4751

4852
## 物理接口与标识
4953

5054
- 外壳尺寸100mm / 66mm / 27mm(长宽高),与EmoeNAP相同大小
5155
- 后面板:
52-
- Type-C,用于供电+VCP串口通信
56+
- Type-C,用于供电+USB VCP串口通信
5357
- SCPI通信错误状态指示LED、内部温度状态指示LED
5458
- 前面板:
5559
- 8PIN 2.54mm间距插拔接线端子(KF-2.54),用于输入全差分模拟信号
5660
- 2*3PIN 2.54mm牛角座,用于内部低噪声稳压电源输出,对外I2C接口(连接选件)
5761
- 输入过载指示灯(差分电压大于5V时,亮红灯)
58-
-板内留有SWD接口,方便用户更新固件(一点也不方便))
62+
-板内留有1.25mm-5P SWD接口,方便用户更新固件(一点也不方便))
5963
- 电源
6064
- USB端口供电,电压为+5V±5%
6165

@@ -71,18 +75,71 @@ EmoeDAQ是一款双通道、全差分输入的精密数据采集卡,具有±5V
7175
- 全差分输入测量范围为-5V至+5V(常用的单端测量接法是将IN-接GND,IN+接输入电压)
7276
- 输入端极限过载电压为9V,内部设有气体放电管及PTC熔丝用于过载保护(长时间过载将损坏前端,不建议在信号幅度超出输入范围的场合使用)
7377

78+
## 规格表
7479

80+
| 指标 | | 备注(测试条件) |
81+
| -- | -- | -- |
82+
| 输入阻抗 | 10GΩ> | 输入信号在输入范围内 |
83+
| 输入漏电流 | <200pA | 输入信号在输入范围内 |
84+
| 可用输入测量范围 | -4.95V ~ +4.95V | 可精确测量范围(受基准精度限制) |
85+
| 系统无噪声分辨率 | 22bit | EmoeDAQ-24版 |
86+
| 系统非线性度(INL) | ±3.5ppm | 典型值,以34465A的10V档(标称1ppm)为基准 |
87+
| 电压回读分辨率 | 提供小数点后8位数字,稳定至后6位(1uV) | NPLC=10,DAQ通电稳定后 |
88+
| 基准老化性能 | 25ppm/1000 hours, 51ppm/4500hours | 典型值,制造商保证 |
89+
| 系统温度系数 | TBD | TBD |
90+
| 24小时稳定性 | TBD | TBD |
91+
| CMRR | at DC: TBD | TBD |
92+
| | at 1kHz: TBD | TBD |
93+
| | at 1MHz: TBD | TBD |
94+
| 扫描转换通道间隔离度 | at DC: TBD | TBD |
95+
| | at 10Hz: TBD | TBD |
96+
| | at 1kHz: TBD | TBD |
97+
| | at 1MHz: TBD | TBD |
98+
| 交流动态范围 | > 150dB | NPLC=0.1 |
99+
| 推荐校准周期 | 3 month | 3个月不掉电使用情况下 |
100+
| 推荐恒温温度 | 35°C | 室温25°C下 |
75101

76102

103+
## 详细测试数据
77104

105+
测试仪器:
106+
- Keysight 34465A
107+
- Keysight 34420A
108+
- Yokogawa 7651
109+
- ADR1000 PWM Reference
110+
- EmoeCalibrator
78111

112+
### 输入对地短接失调与噪声
79113

114+
![zero_noise](https://emoe-blog.oss-cn-hangzhou.aliyuncs.com/emoerd/EmoeDAQ/zero_offset.png)
80115

116+
测试对象为EmoeDAQ-24,温度稳定后,读数仅有2个LSB的跳动。
81117

118+
### 上电后内部温升曲线
82119

120+
![temp_rise](https://emoe-blog.oss-cn-hangzhou.aliyuncs.com/emoerd/EmoeDAQ/temp_rise.png)
83121

122+
测试时室温15度,上电后约15分钟达到设定的加热温度
84123

124+
### 交流噪声
85125

126+
![ac_noise](https://emoe-blog.oss-cn-hangzhou.aliyuncs.com/emoerd/EmoeDAQ/AC_NoiseFloor.png)
127+
128+
测试对象为EmoeDAQ-24,NPLC=0.1,采集50000个数据点后导出csv文件,使用numpy分析FFT。
129+
130+
### 校准后非线性度测试
131+
132+
![INL_Test](https://emoe-blog.oss-cn-hangzhou.aliyuncs.com/emoerd/EmoeDAQ/inl_vs34420.png)
133+
134+
使用7651作为DC源,34465A作为参考表对2个DAQ进行INL校准,校准后测试DAQ的INL曲线如上图(2个DAQ均为EmoeDAQ-24)
135+
136+
### 24小时短期稳定性与多单元一致性测试
137+
138+
![24h_test](https://emoe-blog.oss-cn-hangzhou.aliyuncs.com/emoerd/EmoeDAQ/daq_vs_34420_24h.png)
139+
140+
使用以ADR1000为基准的PWM基准源,输出1V为4个设备的公共输入,以34420的1V档位测量值为参考,测试3个DAQ的数据,3个DAQ中DAQ1内部恒温开启,DAQ2和3未开启。测试时间24小时。
141+
142+
可以看出开启了内部恒温的DAQ1读数与34420的读数趋势几乎相同,只存在失调误差;DAQ2和DAQ3的一致性非常好,但是相对于34420的读数而言,稳定性不佳。可见使用温度控制的重要性。
86143

87144

88145

0 commit comments

Comments
 (0)