采集问题
DAQ 启动失败
症状
点击「开始」按钮后,DAQ 无法启动,提示错误信息。
可能原因及解决方案
1. 设备未连接
错误信息示例:
[ERROR] Device not connected
[ERROR] Cannot start DAQ: No active connection
解决方案:
1. 确认硬件设备已正确连接并上电
2. 右键设备节点 →「连接」
3. 或按 F2 连接设备
4. 等待状态栏显示「已连接」
2. 变量地址未解析
错误信息示例:
[ERROR] Variable address not resolved: g_var1
[ERROR] Cannot start DAQ: Address resolution failed
解决方案:
1. 右键工程节点 →「解析所有地址」
2. 检查 ELF 文件是否正确加载
3. 确保变量在 ELF 文件中存在
4. 重新从 ELF 文件导入变量
3. 没有观测变量
错误信息示例:
[ERROR] No observation variables configured
[ERROR] Cannot start DAQ: Empty variable list
解决方案:
1. 从 ELF 文件添加变量到工程
2. 将变量添加到多变量图形分析窗口
3. 在多变量图形分析窗口中勾选「显示」列
4. 其他工程正在运行 DAQ
错误信息示例:
[ERROR] Another project is running DAQ
[ERROR] Please stop other DAQ first
解决方案:
1. 先停止其他工程的 DAQ
2. 再启动当前工程的 DAQ
DAQ 运行中断
症状
DAQ 运行一段时间后自动停止。
可能原因及解决方案
1. 通信超时
错误信息示例:
[ERROR] Communication timeout
[ERROR] DAQ stopped due to connection lost
解决方案:
1. 检查 USB 连接是否松动
2. 检查目标设备是否复位
3. 增加超时时间设置
4. 降低波特率(如果当前设置过高)
2. 缓冲区溢出
错误信息示例:
[ERROR] Buffer overflow
[ERROR] DAQ stopped: Data rate too high
解决方案:
1. 减少观测变量数量
2. 降低采样率
3. 增加缓冲区大小
3. 目标设备复位
错误信息示例:
[ERROR] Connection lost
[ERROR] Target device reset detected
解决方案:
1. 检查目标设备电源稳定性
2. 检查目标程序是否崩溃
3. 重新连接并启动 DAQ
数据异常
症状
采集到的数据与预期不符。
可能原因及解决方案
1. 变量类型不匹配
现象:
- 数值显示异常(如很大的负数)
- 波形显示为直线但数值在变化
解决方案:
1. 检查变量类型设置是否正确
2. 从 ELF 文件重新导入变量
3. 确保变量类型与目标设备一致
2. 字节序错误
现象:
- 数值显示为乱码
- 数值大小与预期相差很大
解决方案:
1. 检查目标设备的字节序(大端/小端)
2. 在变量配置中设置正确的字节序
3. 地址错误
现象:
- 数值始终为 0
- 数值随机变化
解决方案:
1. 重新解析变量地址
2. 检查 ELF 文件是否与目标固件匹配
3. 确认变量在内存中的实际位置
采样率问题
症状
实际采样率与设置不符,或数据丢失。
可能原因及解决方案
1. 总线带宽不足
现象:
- 实际采样率低于设置值
- 数据点不均匀分布
解决方案:
1. 降低采样率
2. 减少观测变量数量
3. 提高波特率(如从 115200 提高到 921600)
2. 目标设备处理能力不足
现象:
- 高采样率时数据丢失
- 目标设备响应变慢
解决方案:
1. 降低采样率
2. 优化目标设备 XCP 驱动
3. 使用事件触发模式代替时间触发模式
3. 采样率计算错误
现象:
- 时间轴显示不正确
- 频率分析结果错误
解决方案:
1. 检查采样率设置
2. 确认目标设备的时钟频率
3. 重新校准时间基准
触发条件问题
症状
触发条件不生效或触发位置不正确。
可能原因及解决方案
1. 触发变量未配置
错误信息示例:
[ERROR] Trigger variable not configured
[ERROR] Cannot enable trigger mode
解决方案:
1. 在触发条件设置中指定触发变量
2. 确保触发变量已添加到工程
3. 解析触发变量的地址
2. 触发阈值设置不当
现象:
- 触发不生效
- 触发过于频繁
解决方案:
1. 调整触发阈值
2. 选择合适的触发条件(上升沿/下降沿/等于)
3. 设置触发预采样点数
3. 预采样点数过大
现象:
- 触发后等待时间过长
- 内存占用过高
解决方案:
1. 减少预采样点数
2. 增加采样间隔
3. 减少观测变量数量
记录模式问题
症状
记录模式不工作或记录数据不完整。
可能原因及解决方案
1. 记录参数设置错误
错误信息示例:
[ERROR] Invalid record parameters
[ERROR] Record length must be greater than 0
解决方案:
1. 检查记录长度设置
2. 确认记录变量已配置
3. 验证记录参数范围
2. 记录缓冲区不足
现象:
- 记录数据被截断
- 记录过程中断
解决方案:
1. 增加记录缓冲区大小
2. 减少记录变量数量
3. 使用触发模式代替连续记录
3. 记录文件写入失败
错误信息示例:
[ERROR] Failed to write record file
[ERROR] Disk full or permission denied
解决方案:
1. 检查磁盘空间
2. 检查文件写入权限
3. 更改记录文件保存路径
性能优化建议
减少 CPU 占用
- 降低采样率:在满足需求的前提下使用最低的采样率
- 减少变量数量:只采集必要的变量
- 使用触发模式:避免持续高负荷采集
减少内存占用
- 限制缓冲区大小:设置合理的缓冲区大小
- 及时保存数据:避免长时间采集不保存
- 清理历史数据:定期删除不需要的历史数据
提高稳定性
- 使用高质量 USB 线缆:避免通信中断
- 稳定的电源供应:防止目标设备复位
- 合理的超时设置:避免过于敏感的超时检测
调试技巧
查看详细日志
- 打开输出窗口
- 设置日志级别为 DEBUG
- 重新启动 DAQ
- 分析详细日志信息
使用 Watch 窗口验证
- 将关键变量添加到 Watch 窗口
- 对比 Watch 窗口和波形显示
- 验证数据一致性
分段测试
- 先测试单个变量采集
- 逐步增加变量数量
- 逐步提高采样率
- 定位性能瓶颈
获取帮助
如果以上方法无法解决采集问题,请准备以下信息联系技术支持:
- 软件版本:EmeyeStudio 版本号
- 硬件信息:目标设备型号、固件版本
- 配置信息:采样率、变量数量、触发设置
- 错误日志:输出窗口的完整错误信息
- 复现步骤:详细的操作步骤