2016-08-29 3 views
0

Мой профессор попросил меня найти способ потоковой передачи данных АЦП на ПК (или Matlab) с использованием блейд-панели Beaglebone Black (BBB) ​​с частотой 10 кГц ~ 20 кГц или более по USB ,Как я могу использовать интерфейс USB для отправки данных в реальном времени с помощью Beaglebone

Я знаю, что я могу использовать PRU для программирования в реальном времени, и я знаю, что USB-протокол имеет режим Isochronous transfer для потоковой передачи данных. Или я могу использовать USB-serial для его архивирования.

Итак, моя идея использует PRU для захвата данных АЦП и отправки их через USB в Matlab.

Я нашел библиотеку python, которая захватывает данные ADC с использованием PRU, но я не знаю, как ее адаптировать для передачи данных на ПК.

Ссылка: https://github.com/pgmmpk/beaglebone_pru_adc

+0

не ответ на ваш вопрос, но есть MATLAB [конкретные инструментарии которые позволяют решать проблемы ввода от USB] (http://uk.mathworks.com/solutions/test- измерение /). Может быть, это облегчает жизнь? –

+0

Как будут уверены, что 'BBB' серийные часы' STABLE'? Определение уровня ОС 'CLOCK' -' FUZZY'! Нужно использовать «IC» или «MCU» для высокоскоростной + стабильной последовательной связи. (Я протестировал 'teensy 3.01' на скорости' 6Mbps' без ошибок!) – dsgdfg

ответ

0

стандарт USB имеет CDC класс устройства USB. Он может эмулировать COM-порт (RS 232). https://en.wikipedia.org/wiki/USB_communications_device_class

Вы можете реализовать это на Beaglebone (Beaglebone как устройство не как хост), а затем использовать стандартные библиотеки RS 232 в Matlab или C для получения данных. В Linux вы видите USB CDC (ACM) устройство как /dev/ttyACMx или /dev/ttyUSBx

Согласно этому https://groups.google.com/forum/#!topic/beagleboard/-HBwQdkuzes Beaglebone выполнивших USB CDC (ACM) RS232-над-USB пока. Это самый простой способ, потому что вы можете использовать стандартные команды RS-232 в Matlab для получения данных.

Если вы используете штекер linux в BBB и запустите dmesg или lsusb -v, чтобы увидеть встроенные интерфейсы USB BBB.

это очень хороший обзор через USB http://www.beyondlogic.org/usbnutshell/usb1.shtml

+0

Проблема в том, что я хочу использовать высокоскоростную передачу (это 200 кГц 12 бит), а я, если буду использовать RS232, ограничусь до 115 Кбит/с. Пока я использую usb через ethernet. –

+0

по скорости USB RS232 не ограничивается 115 Кбит/с, см. Http://stackoverflow.com/questions/38190995/virtual-com-port-or-using-raw-endpoints/38192868#38192868 –

+0

Выполнение обеих команд, которые я получил: http://pastebin.com/bAyQ62Mn –