仅进行模拟数字转换是否足以将模拟数据传输到 USB?

仅进行模拟数字转换是否足以将模拟数据传输到 USB?

正如标题所述...

检波器提供模拟输出。必须先将其数字化,然后才能将其发布到 USB 上。仅仅数字化就足够了吗?数字化之后还必须进行哪些操作,才能将信号发布到 USB 上?

答案1

不,你不能只是“把数据放在USB“。

USB 是通用串行公共汽车。 A公共汽车(在计算机中)是控制和数据通路,在这种情况下用于连接外围设备(又名适配器) 到计算机。USB 连接外围设备就像 PCI 接受适配卡/板一样。USB 主机希望使用 USB 协议与 USB 设备通信。USB 只是外围设备与计算机连接的方法;USB(总线本身)不是最终用户设备或连接。

您很可能将“USB”与串行 (RS-232) 通信 USB 适配器混淆了。您认为的 USB 端口实际上是 USB设备用于串行通信端口。Windows 会将此类 USB 设备报告为 COM 端口;除非您查找更多信息(例如查看设备管理器),否则通过 USB 进行连接的事实是隐藏的。

回答显而易见的后续问题:“不,如果您希望在接收端可靠地读取数据,您不能只将数据放在串行通信链路上”。

  • 你只需要把二进制数据放在链接上没有任何完整性检查(一个坏主意)。
  • 如果 A-D 转换每个样本产生超过 8 位,则您将获得多字节样本值。您需要某种数据框架对每个样本的字节进行分组和识别。
  • 有些线路协议使用(比“正常”时间更长的)时间间隔来指示框架或数据包边界(例如 Modbus),但这需要接收端的串行端口和驱动程序支持才能可靠地工作。在应用程序/用户级别,没有办法准确测量接收字节之间的时间。因此,使用额外的字节来提供帧是最可靠的。
  • 在串行链路上发送和接收数据的正确方法是定义和使用协议,尤其是当数据是二进制(而非文本)时。即使数据流是单向的,也要选择固定长度或可变长度的记录,并定义组织传输数据的布局。

答案2

您必须确保数字化频率(采样频率)比输入信号的最大频率(被视为非噪声)大 2 倍。

否则你得到的只是一堆垃圾。

这被称为奈奎斯特采样定理。

答案3

您可能需要将信号标准化为某种标准。您还必须确定要数字化的值的范围。要从数据源重新创建数据,您将使用 8、16 还是 32 位数字化数据。此外,源信号的倾斜度会发生变化,那么您一秒钟会读取多少点才能再次重新创建源数据。

所以是的,仅转换就足够了,但转换的具体细节很重要。你必须进行实验。

相关内容