Hallo, falls jemand sehr professionelle USB Beispiele fuer den LPC2148 basierend auf den Keil Compiler runterladen moechte, dann sind die hier zu finden: http://www.keil.com/mcb2140 Warum ich das hier poste? Weil es heute ein Update gab und weil sich der Text im Copyright geaendert hat. Die Beispiele duerfen jetzt auch kommerziell benuetzt werden solange ein LPC der Zielprozessor ist. Gruss, Robert
Hallo Robert! Ich habe vor einigen Monaten ein ARM-Seminar besucht. Vorgestellt wurden die LPC-Familien. Damals gab es den LPC2148 noch nicht, aber er wurden vom Vortragenden erwähnt. Er sagte auch, dass es sich zwar um ein USB2.0 Gerät handle, dieses aber leider nur mit Full-Speed arbeiten würde. Dies hätte den Grund, dass der Controller sowieso die ca.400MBaud nicht vollständig ausnützen kann. Damals war mir das klar, aber ich dachte über dieses Thema nach und kam zu dem Schluss, dass dies ja völlig egal wäre. Es ist doch egal, wenn der µC nicht die volle Bandbreite ausnützen kann. Haupsache er überträgt schneller als 1Mbyte pro Sekunde. Ich selbst finde den LPC2148 echt toll, da auch sehr unangenehme Fehler der Vorgänger behoben wurden. Aber ich wollte Fragen ob auch ein ARM-Prozessor mit USB2.0-Hi-Speed in Planung ist. Wenn es so einen gäbe wie den LPC2148 mit USB2.0-Hi-Speed und über eingebauten Bootloader über USB programmierbar, dies wäre echt großartig. Es ist zwar jetzt schon der LPC2138 und der LPC2148 für mich der ultimative Controller, aber so einen Hi-Speed Controller auch flashable über USB, wäre für mich am ultimativsten. Danke für deine Antwort Schönnen Gruß, Martin
Jetzt, da Keil/ARM und Philips-"Apps" grade dabei sind: Vielleicht noch ein weiteres Beispiel fuer usbser.sys/usbserial fuer einen "virtueller COM-Port". Ist wahrscheinlich nicht viel Arbeit, jetzt da man sich eingearbeitet hat. Zumindest mich wuerde eine vom Hersteller abgesegnete "vorgekaute" Loesung interessieren. Soweit gesehen, sind die aktuellen Beispiele fuer den Keil-Compiler. Der LPC-yahoo-Group kann man entnehmen, dass fuer gcc-Compiler Anpassung notwendig sind (packen von structs). Waere sicher nicht schlecht, wenn Philips/Keil diese im Beispiel integrieren (im Prinzip #if def keilc else if def gcc ...). Keil unterstuetzt deren Version des arm-elf-gcc-Compilers ja ohnehin bereits in deren IDE, warum also nicht auch die USB-Beispiele dahingehend erweitern. Martin Thomas
@ Martin Thomas Es wird im naechsten Quartal mehr info zu einem ARM7 mit Flash und USB 2.0 HS geben. Kann noch nicht so viel sagen, da noch einiges in der Schwebe ist. Wird aber ein groesserer Chip sein als der LPC214x Robert
@Robert Teufel Hmm, ok, ich meinte eigentlich schon neue/erweiterte Beispiele fuer die jetzt verfuegbare LPC214x-Serie. Dass man fuer usbserial-Unterstuetzung einen "groesseren" Chip benoetigt, wenn viele anspruchsvollere Geraeteklassen bereits implementiert werden koennen, erscheint mir ungewoehnlich. Oft benoetigt man (zumindest ich) gar keine high-speed USB sondern einfach eine Schnittstelle zum PC (v.a. Notebooks ohne RS232), um ein Geraet zu konfigurieren oder Daten auszulesen. Quasi ein UART/RS232-Ersatz ohne zusaetzliche Hardware wie externe USB-seriell-Adapter oder FTDI bzw. SiLabs-ICs. Das Ganze ohne dass man die USB-Interna detailliert kennen oder eigene Geraete-Treiber auf PC- und Microcontroller-Seite erstellen muss. Beide Aufgaben sind mit einem "virtuellen COM-Port"-Treiber (bei Win2k/XP und wohl auch Linux bereits im Betriebsystem bzw. Kernel) und vorgefertigtem USB-Code fuer den Mikrocontroller realtiv einfach zu realisieren. Atmel liefert Beispiele fuer usbserial mit SAM7 in deren USB-Examples fuer diverse Compiler - auch fuer den "kleinen" AT91SAM7S64. (Zumindest eines dieser Beispiel war relativ simpel an gcc anpassbar und fuer eigene Anwendungen nutzbar). Ich kann beim -oberflaechlichen- Vergleich der USB-"Makrozellen"-Beschreibung von LPC214x und AT91SAM7Sx nicht nachvollziehen, dass ein LPC214x fuer diese Aufgabe zu "klein" sein soll. Wie auch immer, war nur ein Vorschlag. Martin Thomas
Martin, war ein Missverstaendnis. Hab unseren Ansatz zum Virtual COM part drangehaengt, hat ein Kollege hier basierend auf Philips internen Treibern erstellt. Wie immer, keine Garantien aber getestet haben wirs Gruss, Robert
Robert, Danke fuer die prompte Reaktion. Code schaut sehr brauchbar aus. Anpassung an gcc sollte auch kein Hexenwerk sein. Werde Code und Anpassung ausprobieren, sobald ein LPC214x-Board auf "der Werkbank" liegt. (Im Moment etwas "eingespannt" mit zwei anderen Projekten - eines davon (noch) auf LPC2138-Basis). Gruss, Martin
Ich habe gesehen, dass der LPC2148 eine weitere PLL-Einheit besitzt. Wozu benötigt man diese? Gruß, Martin
Weitere PLL; Damit ein Ausgang 48 MHz und der Ausgang fuer die CPU 60 MHz gleichzeitig liefern kann. Daher empfiehlt es sich einen externen Quartz mit 12 MHz zu verwenden. Robert
Achso, der Ausgang mit 48MHZ ist wahrscheinlich für den USB. Gruß, Martin
Hallo, ich benötige dringend hilfe mit der Ansteuerung einer Schrittmotorkarte mit LPC214x.SYS Treiber von Phillips. Die Karte hat einen USB Eingang und hier liegt auch schon mein Problem. Im ganzen Netz habe ich keinen gefunden der mir hier weiterhelfen kann und durch Zufall bin ich heute hier gelandet. An die Karte werden einfache Plot Befehle gesendet z.B. PD,PU etc das ganze habe ich mit einem USB Monitor verfolgt und ausgelesen von der org. Ansteuerungssoftware. Ich möchte mir eine eigene Ansteuerung unter Visual Basic 6.0 schreiben. Leider bekomme ich es absolut nicht hin den Befehl PD (ich weiss noch nicht mal in welchem Format der gesendet wird, aber im USB Monitorprogramm stand ja der Textsting PD; PU usw.). Ich suche ein Beispiel welches mir den Befehl PD über USB Ausgang an den Phillips Treiber LPC214x.SYS sendet. Und das ganze leider in Visualbasic. C+ kann ich leider nicht. Vielleicht kann mir hier jemand weiterhelfen - ich wäre wirklich sehr sehr dankbar über jede Hilfe. Gruß Mario Merlin-1979@gmx.de
Das ist eine fertig programmierte und funktionsfähige Schnittstellenkarte von einem Hersteller? Dieser Hersteller liefert eine SYS-Datei, die auch richtig installiert ist? (Siehe Systemsteuerung >> Gerätemanager >> ...) Normalerweise kann man mit einem Gerätetreiber mit den WinAPI Befehlen CreateFile(), DeviceIoCtrl() und CloseHandle() kommuniziernen. Im CreateFile muss man den Gerätename übergeben, der von der SYS Datei dem Betriebssystem zur Verfügung gestellt wird. Im DeviceIoCtrl muss man Datenbuffer, gefüllt mit irgend welchen Bytes übergeben, die von der SYS Datei ausgewertet werden und in USB Befehle gewandelt werden. Das ohne Doku vom Hersteller der SYS Datei ist unmöglich hin zu bekommen. Selbst wenn Du den Quellcode der SYS Datei hättest, die Befehle da drin sind ganz andere als wie in einer z.B. DLL, denn eine Sys-Datei muss/kann nur Kernelbefehle verwenden. (Logischerweise führen Fehler in der SYS Datei sofort zu einem Blue-Screen!) Einfacher geht es, wenn der Hersteller auch eine DLL mit liefert, die dann schon die vorgebackenen Befehle bereit stellt, dann musst Du nur noch die DLL in VB einbinden. Doku braucht es dennoch. USB ist in jedem Fall eine Wissenschaft für sich. Wenn Du mal USB programmieren möchtest (Mikrocontroller), dann ist das ein muss: Das Dokument "USB_20.pdf" von der USB Organisation, besonders Kapitel 9.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.