2 Stimmen

arm7 usb-programmierung

Wir entwickeln ein Sendegerät mit einem arm7 (aktuell: LPC2368).

dieses Gerät tastet ein mv-Signal ab, A/D, und muss diese Signaldaten an den PC senden (kontinuierlich).

gleichzeitig muss der PC Befehle an den arm7 senden (z.B. Temperatur abfragen, Kontrollstatus, etc.)

rs232 ist zu langsam, deshalb wählen wir USB.(20K/s - 200K/s)

aber die Frage ist, wir wissen nicht, wie man Usb-Programmierung (sowohl PC und Arm..)

irgendeine Richtung? irgendein Portal? irgendein Tutorium?

zur Zeit simulieren wir das Gerät nur als HID....

3voto

kgiannakakis Punkte 100768

Für die ARM-Seite benötigen Sie einen USB-Stack. Für die PC-Seite müssen Sie einen USB-Treiber und eine Anwendung implementieren, die eine Schnittstelle zum Treiber bildet. Es ist daher einfacher, sich an eines der gängigen Profile (HID, Massenspeicher, Virtual COM) zu halten. Für alle diese Profile gibt es USB-Stacks, so dass Sie nicht selbst einen implementieren müssen. Außerdem brauchen Sie keinen USB-Treiber für den PC zu implementieren.

Ich denke, dass es am einfachsten ist, einen Virtual COM-Ansatz zu verwenden. Von der PC-Seite aus sieht es so aus, als würden Sie auf eine serielle Schnittstelle zugreifen. Die Geschwindigkeit kann jedoch höher sein als bei Standard-RS232-Ports. Ich habe folgendes gefunden USB-Stapel die auf einen früheren Prozessor abzielen. Sie können ihn für Ihre Bedürfnisse anpassen oder als Referenz verwenden. Im Allgemeinen wird ein virtueller COM-Treiber für den PC zusammen mit dem ARM-USB-Stack bereitgestellt.

Ein anderer Ansatz ist die Verwendung von libusb . Dadurch können Sie mit USB interagieren, ohne einen Kernel-Treiber zu schreiben.

Für Anwendungshinweise und kommerzielle USB-Stacks siehe aquí . Wenn Sie entschlossen sind, Ihren eigenen Stack und Treiber zu schreiben, Jungo ist der Branchenführer für eingebettete USB-Stacks und -Treiber.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X