Ich verwende einen DSP, um einen sensorlosen bürstenlosen Gleichstrommotor zu steuern. Der DSP befindet sich auf einer Platine mit einem parallelen Anschluss und einer Jtag-Verbindung (es ist ein eZdspTMS320F2812). Was wäre der beste Weg, um zwischen einer PC-Anwendung und der DSP zu kommunizieren, während sie lief? Idealerweise hätte ich gerne ein GUI-Programm mit Buttons wie Start, Stop, Beschleunigen, Abbremsen ... aber so etwas habe ich noch nie gemacht. Welche Ports und Methoden wären am einfachsten zu verwenden? DankeSchnittstelle zwischen einem DSP/Mikrocontroller und einer PC-Anwendung
Antwort
Sie können auch eine einfache RS232-Kommunikation verwenden. Ich benutze immer, weil es billig und einfach zu implementieren ist.
Die RS232-Transceiver sind sehr billig (wie MAX232 von Maxim-IC) und einfach zu bedienen. Sie kommen auch in vielen Paketen wie DIP oder SOIC zum Beispiel und können fast jeden elektronischen Shop gefunden werden.
Sie können jedes USART von Ihrem Mikrocontroller verwenden, um mit MAX232 zu verbinden. Dann, mit einem PC Serial-USB-Konverter (oder wenn Ihr PC hat eine serielle Schnittstelle ist es einfacher), können Sie die serielle Schnittstelle Programmierung aus jeder Programmiersprache verwenden, um Ihre Desktop-Anwendung zu entwickeln.
Danach müssen Sie lediglich ein Protokoll erstellen, um Daten zwischen Ihrem PC-Programm und Ihrem DSP auszutauschen (einige einfache Befehle zum Starten, Stoppen und Ändern der Motorrichtung zum Beispiel).
Viel Glück in Ihrem Projekt.
Der parallele Port ist wahrscheinlich der einfachste Weg. Je nachdem, welches Betriebssystem und welche Programmiersprache Sie verwenden, sollten Sie in der Lage sein, Beispielcode oder Bibliotheken zu finden, um die bidirektionale Kommunikation über den parallelen Port zu unterstützen. Da Sie eine kleine Menge von Befehlen haben, die Sie vielleicht an die DSP-Karte senden möchten, können Sie wahrscheinlich nur ein einzelnes Zeichen für jeden Befehl an die Karte senden, z. 'R' = Start, 'S' = Stopp usw.
- 1. Schnittstelle zwischen ListAdapter und Fragment
- 2. Der Unterschied zwischen einer Brücke und einer Schnittstelle
- 3. Schnittstelle zwischen NetworkX und IGRAPH
- 4. Unterschied zwischen einem Treiber und einer Bibliothek?
- 5. Referenz Konvertierung zwischen Klasse und ihrer Schnittstelle
- 6. Zurückgeben einer Schnittstelle von einem WCF-Dienst
- 7. C++ - Header - Trennung zwischen Schnittstelle und Implementierungsdetails
- 8. Was ist der Unterschied zwischen einem Protokoll und einer Schnittstelle in Objective-c?
- 9. Verwendung einer Schnittstelle und Abhängigkeitsinjektion
- 10. Unterschied zwischen einer "Coroutine" und einem "Thread"?
- 11. Unterschiede zwischen einer Erweiterung und einem Modul?
- 12. Unterschied zwischen einem Subsystem und einer Komponente
- 13. Haskell: Zwischen einer Liste und einem Tupel
- 14. Unterschied zwischen einer Klasse und einem Modul
- 15. Unterschied zwischen einer Fabrik, einem Anbieter und einem Dienst?
- 16. reine abstrakte Klasse und Schnittstelle
- 17. Unterscheiden zwischen einer Datei und einem Verzeichnis in einer Sammlung
- 18. Schnittstelle gemeinsame Funktionalität zwischen Kontrollen
- 19. Warum zeigen alte Editoren wie Vim und Emacs den Unterschied zwischen einer Datei und einem Puffer in der Schnittstelle?
- 20. Unterschied zwischen der Implementierung einer Schnittstelle und dem Erstellen einer Instanz davon
- 21. Schnittstelle zwischen Exe und DLL mit verschiedenen C/C++ Laufzeitbibliothek
- 22. Schnittstelle mit einer Webcam
- 23. Fehler bei der Implementierung der Schnittstelle zwischen Aktivität und Ansicht
- 24. Teilfunktionen einer Schnittstelle definieren und ausführen
- 25. Java-Schnittstelle und Vererbung
- 26. WCF - Unterschied zwischen einem Verhalten und einem Vertrag?
- 27. Worin besteht in Typescript der Unterschied zwischen Typ und Schnittstelle?
- 28. Unterschiede zwischen Abfrage mit LINQ und IQueryable Schnittstelle direkt?
- 29. Wie kann ich eine Schnittstelle zwischen VB6 und C# teilen?
- 30. Unterschied zwischen einer Objekteigenschaft und einer Typeigenschaft
Parallele Kommunikation ist auf Windows NT-basierten Betriebssystemen sehr schwierig. Ich habe den Parallelport für alle meine Mikrocontroller-Projekte benutzt, bin aber deswegen vor ein paar Jahren auf Seriell umgestellt worden. –
@Optimal: es gibt Lösungen dafür, z.B. http://logix4u.net/Legacy_Ports/Parallel_Port/Inpout32.dll_for_Windows_98/2000/NT/XP.html –
Das stimmt, und ich habe diese DLL in der Vergangenheit verwendet. Bei USB/LPT-Adaptern funktioniert es jedoch nicht so gut, und es wird immer schwieriger, PCs mit parallelen Anschlüssen (insbesondere Laptops) zu finden. –