2016-04-06 18 views
2

Ich arbeite derzeit an einem Projekt, in dem ich mit einem maßgeschneiderten Sonarboard über eine USB <> Serielle Verbindung mit cts/rts Hardware-Flusssteuerung bei einem Baud kommunizieren muss Rate von 4,499,456. MATLAB-Code zum Senden und Empfangen von Daten ist bereits verfügbar und vollständig unter Windows getestet.USB <> serielle Kommunikation funktioniert nicht auf Linux

Das Problem tritt auf, wenn versucht wird, den MATLAB-Code unter Linux auszuführen (Ubuntu 14.10/15.04). Sowohl die Befehle zum Umschalten der LED auf der Karte (Schreiben) als auch zum Empfangen von Informationen (Lesen) funktionieren nicht. Python-Ports des MATLAB-Codes, die die Bibliotheken pyserial und pylibftdi verwenden, ermöglichen zwar das Schreiben, hängen aber auch beim Empfangen von Daten.

Hat jemand eine Idee, warum es unter Windows funktioniert, aber nicht unter Ubuntu? Vielleicht ein Treiberproblem? Oder etwas, das mit cts/rts unter Linux zu tun hat?

lsusb Ausgang

Bus 002 Device 004: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC 

dmesg Ausgang

[11906.209231] usb 2-3: new high-speed USB device number 5 using ehci-pci 
[11906.346701] usb 2-3: New USB device found, idVendor=0403, idProduct=6014 
[11906.346713] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 
[11906.346720] usb 2-3: Product: USB <-> Serial Converter 
[11906.346725] usb 2-3: Manufacturer: FTDI 
[11906.346730] usb 2-3: SerialNumber: FT69T4N 
[11906.351716] ftdi_sio 2-3:1.0: FTDI USB Serial Device converter detected 
[11906.351800] usb 2-3: Detected FT232H 
[11906.352234] usb 2-3: FTDI USB Serial Device converter now attached to ttyUSB1 

Edit: meine Fortschritte, wenn jemand gerade Anmeldung trifft das gleiche Problem. Das Problem scheint in der Baudrate zu liegen; Wenn Sie es auf 115200 ändern, können Sie Daten vom Gerät lesen, aber es werden keine Daten an das Gerät gesendet.

Antwort

0

Offenbar funktioniert der FTDI-Treiber nicht mit sehr hohen/nicht standardmäßigen Baudraten. Ich löste das am Ende mit einer Baudrate von 3.000.000

+0

"Die maximale Baudrate, die mit FTDIs aktuellen Geräten erreicht werden kann, ist 3M Baud." http://www.ftdichip.com/Support/Knowledgebase/index.html?whatbaudratesareachieveabl.htm – Girmi