Достаточно ли только аналого-цифрового преобразования для передачи аналоговых данных на USB?

341
Everyone

Как раз то, что говорится в названии ...

Геофон дает аналоговый выход. Он должен быть оцифрован, прежде чем он может быть размещен на USB. Достаточно ли просто оцифровки? Что еще должно произойти после оцифровки, прежде чем сигнал можно будет подать на USB?

1
Почему закрытие голосования? Everyone 12 лет назад 0
Ваш вопрос очень широкий и открытый и не подходит для модели вопросов и ответов Stack Exchange. ChrisF 12 лет назад 0

3 ответа на вопрос

2
sawdust

Нет, вы не можете просто «поместить данные на USB ».

USB является универсальной последовательной шиной . Автобус (в компьютере) является контроль и данные пути, в этом случае для подключения periperal устройств (ака адаптеры ) к компьютеру. USB подключает периферийные устройства так же, как PCI принимает карты / платы адаптера. Ожидается, что USB-хост свяжется с USB-устройством по протоколу USB. USB - это просто способ подключения периферийных устройств к компьютеру; USB (сама шина) не является устройством или соединением конечного пользователя.

Скорее всего, вы путаете «USB» с последовательным (RS-232) коммуникационным USB-адаптером. То, что вы думаете, это просто USB-порт на самом деле USB- устройство для последовательного порта связи. Windows сообщит о таком устройстве USB, как COM-порт; тот факт, что соединение осуществляется через USB, скрыт, если вы не ищете дополнительную информацию, такую ​​как просмотр диспетчера устройств.

Чтобы ответить на очевидный дополнительный вопрос: «Нет, вы не можете просто поместить данные в последовательный канал связи», если вы ожидаете, что они будут надежно прочитаны на принимающей стороне.

  • Вы просто поместите двоичные данные в ссылку без каких-либо проверок целостности (плохая идея).
  • Если A-D-преобразование производит более 8 битов на выборку, то у вас есть значения многобайтовой выборки. Вам нужно какое-то кадрирование данных, чтобы сгруппировать и идентифицировать байты для выборки.
  • Существуют линейные протоколы, которые используют (дольше, чем «нормальный») временные промежутки для указания границ кадрирования или пакета (например, Modbus), но это требует поддержки последовательного порта и драйвера на принимающей стороне для надежной работы. На уровне приложения / пользователя нет способа точно измерить время между полученными байтами. Поэтому использование дополнительных байтов для обеспечения кадрирования является наиболее надежным.
  • Правильный способ отправки и получения данных по последовательной связи для определения и использования протокола, особенно если данные являются двоичными (не текстовыми). Даже если поток данных является однонаправленным, выберите записи фиксированной или переменной длины и определите компоновку, которая организует передаваемые данные.
1
kingchris

Возможно, вам придется нормализовать сигнал до некоторого стандарта. Вы также должны решить диапазон значений, которые вы хотите оцифровать. Для воссоздания данных из источника данных вы будете использовать 8, 16 или 32-битные оцифрованные данные. Кроме того, с каким перекосом изменяется исходный сигнал, поэтому сколько точек вы будете читать в секунду, чтобы снова воссоздать исходные данные.

Так что да, одного преобразования достаточно, но какие особенности преобразования будут важны. Вам придется экспериментировать с.

1
Mikhail Kupchik

Вы должны убедиться, что частота дискретизации (частота дискретизации) во 2 раза превышает максимальную частоту (которая считается нешумной) во входном сигнале.

В противном случае вы получите простой мусор.

Это называется теоремой выборки Найквиста.

Похожие вопросы