einfache aber flexible USB Schnittstelle für AVR/ARM/R8C

Gast #371101
Hallo,

hier ensteht eine Treiber Schicht für den USBN9604 / 02 und 03
von National Semiconductor ( für erstmal Linux ).

Dieser Baustein ist eine sogenannte USB Bridge, d.h er macht alles
physikalisches des USB Busses.

Die komplette Paket Decodierung muss man selber implementieren. Dafür
kann man über 63 Register den USB Chip ansteuern.

Ziel des Projektes ist es eine einfache USB Schnittstelle anbieten zu
können, dass jeder schnell und einfach USB im vollen Umfang in sein
Projekt integrieren kann, ohne sich erst ewig einlesen zu müssen.

Angesteurt kann der USB Chip werden über SPI, ein 8 Bit breites
Interface oder sogar DMA.

Ich habe die Firmware zurzeit in einem ARM7 von Analog Devices und
einem ATmega32 von Atmel laufen.
Ebenfalls bin ich zurzeit an einer Version für r8c 13 ( das
Weihnachtgeschenk vom Elektor ) dran.


Für Linux entsteht ebenfalls zurzeit ein Treiber und eine Bibliothek um
die Schnittstelle schnell und einfach in bestehende Projekte zu nehmen.

Falls jemand Interesse, Anregungen oder Sonstiges hat, lasst es mich
wissen. Würde für Windows ein großes Interesse geben?

Ich habe ein kleines Testboard gepinselt, denke eine Platine mit
Bauteilen wird so um die 20 EUR maximal kosten.

Hier die Links:
Alles noch sehr spatanisch da alles ganz frisch ist.


Foto:

http://www.ixbat.de/index.php?page_id=36

Quelltexte:
http://80.190.146.252:8000/usbn2mc/browser/

Viele Grüße
Bene
Gast #371102
Interessantes Projekt, da hast du ja schon viel Arbeit reingesteckt. Den
Chip gibts ja relativ günstig bei Angelika, insofern gäbe es schon mal
keine Beschaffungsprobleme.

Vom Umfang der Firmware würde ich sagen, ist eher was für ATMega16
aufwärts. Für kleinere AVR bliebe da wieder nur FTDI (oder IGOR) als
Alternative.

Windowstreiber wären wohl nicht schlecht, ich zumindest habe mit Linux
nichts am Hut. Auf der anderen Seite wäre das wohl wieder sehr viel
Arbeit.

Matthias
(Firma: embedded projects GmbH) #450374
Zu einem hab ich mit der libusb auch ueber Windows meine Geraete 
angesteuert. Oder ich hab eine Klasse in Visual ... (keine Ahnung ob 
Basic oder c++) von einem bekommen.

Schreib mir nochmal gezielt eine Email, dann kann ich das Zeug mal 
onlinestellen. Brauch nur so ne kleiner Erinnerung.


Gruss Bene
Gast #454169
Hallo Bene,

ich hab grad zwei PCBs aus gekriegt, rat mal von wem. Leider ohne 
Bauteile und den USBN960x gibt es z.Z. doch nicht bei Angelika. 
Vielleicht findet sich mit Deinem Thread doch noch ein Einsatz. Mich 
würde eine universelle Lösung interessieren, die mehrere Endpoints mit 
allen vier Transfermodi unterstützt. Bis jetzt nehme ich immer die 
RS232-USB Variante, bissel lahm und unflexibel. Wenn mal 'ne SD-Card 
genutzt wird, wäre Bulktransfer super. Die ARM-Lösung aus der Elektor 
fand ich sehr interessant, mit reichlich 100€ zum Basteln zu teuer und 
ganz lassen sich die Macher auch nicht in die Karten gucken. Zu guter 
Letzt, ich gehöre zur Windowsgemeinde.
Ich wünsche Dir viel Erfolg und engagierte Mitstreiter.

Grüßle
Lothar

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.