如何使用USB接口使用Beaglebone发送实时数据

时间:2016-08-29 18:54:45

标签: matlab usb real-time beagleboneblack adc

我的教授让我找到一种方法,使用Beaglebone黑板(BBB)将ADC数据传输到PC(或Matlab),频率为10khz~20kHz或更高频率。

我知道我可以使用PRU实时编程,我知道USB协议具有等时传输模式来传输数据。或者我可以使用USB-serial来存档它。

所以我的想法是使用PRU捕获ADC数据并通过usb发送给Matlab。

我找到了一个使用PRU捕获ADC数据的python库,但我不知道如何调整它以将数据传输到PC。

链接: https://github.com/pgmmpk/beaglebone_pru_adc

1 个答案:

答案 0 :(得分:1)

USB标准具有USB CDC设备类。它可以模拟COM端口(RS 232)。 https://en.wikipedia.org/wiki/USB_communications_device_class

您可以在Beaglebone(Beaglebone作为设备而不是主机)上实现此功能,然后在matlab或C中使用标准RS 232库来获取数据。在Linux上,您会看到USB {CDC(ACM)设备为/dev/ttyACMx/dev/ttyUSBx

根据这个https://groups.google.com/forum/#!topic/beagleboard/-HBwQdkuzes,Beaglebone已经实现了USB CDC(ACM)RS232-over-USB。这是最简单的方法,因为您可以在matlab中使用标准RS-232命令来获取数据。

如果你在BBB中使用linux插件并运行dmesglsusb -v来查看BBB的内置USB接口。

这是对USB http://www.beyondlogic.org/usbnutshell/usb1.shtml

的非常好的概述