我的教授要求我找到一种方法,通过usb使用10 usb~20 usb或更高频率的Beaglebone黑板(BBB)将ADC数据流式传输到PC (或Matlab)。
我知道我可以使用PRU进行实时编程,我知道USB协议具有同步传输数据的模式。或者我可以使用USB-serial来存档它。
因此,我的想法是使用PRU来捕获ADC数据,并通过usb将其发送到Matlab。
我发现了一个python库,它使用PRU捕获ADC数据,但我不知道如何调整它来将数据传输到PC。
发布于 2016-08-30 04:39:34
USB标准具有USB CDC设备类。它可以模拟一个COM端口(RS232)。https://en.wikipedia.org/wiki/USB_communications_device_class
您可以在Beaglebone上实现这一点(Beaglebone作为设备,而不是主机),然后使用matlab或C中的标准RS232库来获取数据。在linux上,您可以看到USB (ACM)设备为/dev/ttyACMx
或/dev/ttyUSBx
根据这个https://groups.google.com/forum/#!topic/beagleboard/-HBwQdkuzes,Beaglebone已经实现了USB (ACM) RS232-over-USB。这是最简单的方法,因为您可以使用matlab中的标准RS-232命令来获取数据。
如果您使用linux,请插入BBB并运行dmesg
或lsusb -v
来查看BBB的内置USB接口。
这是关于USB http://www.beyondlogic.org/usbnutshell/usb1.shtml的一个非常好的概述。
https://stackoverflow.com/questions/39213246
复制相似问题