问题标签 [data-acquisition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
stm32 - 在 STM32F4-Nucleo 上设置多个 DAC
我正在做一个需要我使用 5 个 TLC7524 DAC 的项目。它们都将从 8 位总线接收数据。对于数据传输,过程是CS pin,WR pin,发送数据。我想知道我是否可以将所有这些引脚上的 CS 引脚接地并仅用 WR 引脚控制它们。
链接到 TLC7524 的数据表 - http://www.ti.com/lit/ds/slas061d/slas061d.pdf
python - 通过数据库在python进程之间交换数据
我有一个带有MCC118 daqhat的树莓派。目标有三个:
- 获取数据并将其记录到数据库
- 尽可能接近实时地通过专用 LAN 将数据流式传输到浏览器(网络 GET/POST 速度受限)
- 分析此数据并根据分析驱动设备 (RPi.GPIO)
我的程序同时受 cpu 和 I/O 限制,因为程序必须等待来自 daqhat 的数据输入(I/O 限制),并且一旦读取数据,就必须对其进行记录和分析(cpu 限制)。对于 cpu 绑定部分,我正在利用多处理来构建数据库。然后将通过查询数据库来更新浏览器显示(通过烧瓶)。为了有效地做到这一点,我开发了以下示例代码作为项目记录和显示方面的基础:
我刚刚向 Postgres 介绍了自己(我使用的是 sqlite3),以便以我认为是“数据安全”的方式来实现写入和查询数据的并发性。但是,我的问题如下:
- 是否有更高效的内存和/或数据安全的方式来执行此操作(例如管道)?
KeyboardInterrupt
抛出异常时是否有更好的退出方式?(我的异常打印语句从不打印,表明进程也在离开进程僵尸。)
注意:我最初只是在每次 GET 请求通过 LAN 进入时从 daqhat 读取单个数据值,然而,这意味着采样率取决于网络速度。为了数据的完整性和一致性,我想使用多处理来让数据采集以恒定的采样率完成它的工作,并根据网络请求从数据库中读取数据。
image - 如何使用函数“getdata”(imaqtool)直接在 GPU 上传输数据
我目前正在使用 imaqtool 库中的函数“getdata”来获取我的相机数据,并在我的 GPU 上进行一些后处理。
因此,我想将数据直接从缓冲 CPU 内存传输到我的 GPU 内存。
据我了解,“getdata”将数据从 CPU 内存(缓冲区)移动到 CPU 内存。因此,将这些数据直接传输到我的 GPU 应该是微不足道的。
但是,我找不到任何关于它的信息。
任何帮助表示赞赏。
stm32 - 如何在 RTOS 的 Cortex-M3 微控制器中以高频(> 100kHz)运行周期性线程?
我正在使用 STM32F107VC 微控制器实现高频(>100kHz)数据采集系统。它使用 spi 外设与高频 ADC 芯片通信。我必须使用 RTOS。我怎样才能做到这一点?
我尝试过 FreeRTOS,但它的最大滴答频率是 1000Hz,所以我不能使用 FreeRTOS 每 1us 运行一个线程。我也试过 Keil RTX5,它的滴答频率可以高达 1MHz,但我在某处研究过,不建议将滴答频率设置为高,因为它会增加整体上下文切换时间。所以我该怎么做?谢谢。
matlab - 如何每 n 毫秒从 Simulink 中的 .txt 文件中读取一个双精度值以用于实时应用程序?
我正在做的是一个用于视觉伺服的实时应用程序,它需要在运行时读取坐标的 X 和 Y 值。在模拟运行时,这些值会通过 Python 脚本及时更改,然后,我需要在 Simulink 中每隔 n 毫秒(比如 20 毫秒)读取一次这些变化的值,以根据所述(X,Y)坐标移动一些直流电机。
总而言之,我需要的是如何从 Simulink 的外部文件中读取运行时值。我可以是 .txt 或任何其他类型的文件,但它必须实时读取变化的值。
我非常感谢您的帮助!
我尝试从用户定义的 simulink 块中读取 .txt 文件,但我使用的函数在 simulink 中不受支持,例如 fscanf。
python - 用于保存扩展数据以在 Python 中记录数据的数据类型
我正在用 Python 编写一个串行数据记录器,我想知道哪种数据类型最适合这个。每隔几毫秒就会从串行接口读取一个新值,并与当前时间一起保存到我的变量中。我不知道记录器要运行多长时间,所以我无法为已知大小预先分配。
直观地说,我会为此使用一个 numpy 数组,但是每次从我读过的内容中附加/连接元素都会创建一个新数组。
那么,什么是合适的数据类型呢?
另外,描述这个问题的合适词汇是什么?
labview - 未针对此 I/O 控制类型实现
当我在 VI 中右键单击“DAQ 助手”并选择“生成 NI-DAQmx 代码”时,出现错误:
我正在使用 NI-9237。难道我做错了什么?
arm - 用于高速微控制器测试台控制器/数据采集器的系统架构
我正在为火箭发动机试验台设计控制器和数据采集单元。该系统需要控制测试台上的多个执行器,并且还能够将收集到的数据传输回主机,团队将在主机上安全地观看实时数据/摄像头馈送。
总体设计要求如下:
- 以 1KHz 从约 15 个模拟传感器采集数据
- 控制测试台上的执行器,包括阀门和点火开关
- 将数据实时传回我们避难所的主机
- 接受来自主机的控制,例如手动阀门驱动、测试序列修改、序列中止等。
在为这个系统布置软件时,我不确定从哪里开始。我正在考虑使用运行频率为 180 MHz 的 STM32 ARM Cortex-M4 处理器。我无法弄清楚我应该如何解决这个问题。我曾考虑过使用 RTOS 系统,但根据我所看到的情况,这些系统会产生大量开销,因为调度程序必须运行每个滴答声,因此运行速度更快。我反复考虑的另一个想法是状态机与一些基于定时器的中断相结合,用于读取然后将数据发送回 PC。任何有关如何解决此问题以最小化代码复杂性的建议将不胜感激。谢谢。
编辑:有人告诉我要澄清一些有关系统技术规格的事情。
我的执行器包括:
- 6 个螺线管(通过继电器/MOSFET 进行数字控制,每秒切换一次)
- 2 个直流电机(在 PID 回路中使用 PWM 输出驱动,需要能够可控地斜坡位置)
- 一个点火器,再次通过继电器/MOSFET控制
我的传感器包括:
- 8 个压力传感器(模拟电压)
- 4 个热电偶(模拟电压)
- 2 个电机编码器(正交编码器)
- 1个光传感器(模拟电压)
- 1 个称重传感器(模拟电压)
理想情况下,所有收集的数据(所有上述传感器)加上一些额外的数据(时间戳、电机设置位置、螺线管位置)都会实时流回主机。