www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik usbn2mc USB Schnittstelle für alle Controller(AVR,R8C,ARM7)


Autor: Benedikt Sauter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mit dem Projekt usbn2mc(http://usbn2mc.berlios.org) wollte ich eine
einfache Möglichkeit anbieten, eine USB Schnittstelle in das eigene
Projekt mit einzubauen.

Da USB ein haufen Theorie ist greifen viele auf die einfach Chips von
FTDI und co zurück. Was eigentlich viel zu Schade ist, da die lange
nicht die funktionalität von USB Anbieten die es es eigentlich kann.

Das Projekt wurde komplett in ANSI C geschrieben, es gibt eine große
Version die ist ca 6 K groß und eine kleine in der man sich besser
auskennen muss, die ist ca. 2 K groß.

Um usbn2mc an den eigenen Controller anzudocken, braucht man nur für
den Controller ein entprechendes Interfacefile. Für Atmels AVR habe ich
bereits eins, an einem für R8C und ARM7 bin ich gerade dran.

Das Pojekt ist mit der USB Bridge von National Semiconductor
USBN9604/03 entwickelt worden. Diese ist einfach und güsntig zu
bekommen.

Auf der Webseite habe ich Versucht die Einfachheit der API zu
erklären.


Das Projekt findet ihr hier:

http://usbn2mc.berlios.org

Falls jemand diese Schnittstelle für einen anderen Controller erweitern
möchte gebt mir bescheid ich helfe euch gerne.

Für Anregungen und Kritik habe ich immer ein offenes Ohr.


Benedikt

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Domain usbn2mc.berlios.org wurde von
>für ein zukünftiges Projekt oder im
>Auftrag eines Kunden reserviert.
falsche url  oder noch nicht live ?

Bye, SImon

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
au backe


usbn2mc.berlios.de natürlich!

Gruss Bene

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Connection refused (146)

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder das wwweglassen, dann stimmts
http://usbn2mc.berlios.de/
nicht
http://www.usbn2mc.berlios.de/

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Für Anregungen und Kritik habe ich immer ein offenes Ohr.

Also ich haette die Leute das alles selber machen lassen, schliesslich
ist der USBN960x doch recht einfach zu verwenden und es gibt sogar einen
Beispielsource von National.

Das Problem bei fertigen Sachen ist naemlich das sie immer viel zu fett 
sind und nie so recht in das eigene Design passen. So braucht z.B meine 
Anbindung am R8C so 60-100Bytes (je nach Buffergroesse).

Ansonsten kann ich dir aber nur zustimmen. Die FTDI Dinger sind ein 
hirntoter Krampf im vergleich zu einem USBN wo man alles selber 
festlegen kann.
Interessant koennte es aber werden wenn jetzt demnaechst fuenf Leute 
irgendein Projekt damit veroeffentlichen und alle dieselbe ID
verwenden. :-)

Olaf

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zitat von Olaf: "schliesslich ist der USBN960x doch recht einfach zu 
verwenden"

Einfach ist immer relativ. Ueberleg mal was du alles ueber USB weisst, 
und wie lange es gedauert hat. Angefangen von DATA0/DATA1 bis zu den 
Unterschieden bei der Enumeration unter Windows und Linux.

Ich denke es ist auf jedenfall ein zeitlicher Gewinn, wenn man sich das 
ganze theorie Thema USB ersparen kann, aber trotzem die Vorteile davon 
nutzen kann.

Mit usbn2mc muss man eigentlich nur Wissen das ein Schnittstelle zum 
Datenaustauschen Endpoint heisst, und das man zu jedem Endpoint eine 
Funktion definieren muss, die aufgerufen wird wenn Daten vorhanden sind.

Und das ist von einem Programmierer eher der Altag, als sich mit 
irgendwelchen Toggel Bits usw... zu beschaeftigen.

Ich persoenlich bin ein Fan von schoenen APIs die mir viel abstrahieren 
und ich nicht jeden Mist ins feinste Detail durchdenken muss.

Wenn es aber um Optimierung und Tuning geht, da bin ich ganz deiner 
Meinung nach, macht es mehr Sinn nur das Wesentliche in die eigene 
Firmware einzubauen.


Und meiner Meinung nach gibt es verstaendlichere und schoenere Code 
Beispiele als der vom USBN von National Semiconductor.

Du musst auch beruecksichtigen, das viele verschiedene Wissenschaften 
(auser der Informatik) Mikrocontroller Anwendungen entwicklen. Das sind 
nicht alles Leute die in C, ASM & Co reden, denken und traeumen koennen.

Man sollte solche Aussagen wie Deine immer von verschiedenen Seiten 
anschauen, so denke ich.


Gruss Bene




Autor: USB User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bene,

finde ich toll. Kannst Du denn Schaltplan des Demo Boards auch als PDF 
anbieten, da nicht alle mit Eagle arbeiten - Danke.

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist zu meinem Board ein PDF Plan.
http://www.ixbat.de//files/admin/projekte/usbn2mc/...

Autor: willivonbienemaya (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat mal jemand getestet welche Geschwindigkeiten damit erreicht werden? 
Mich Interessiert va die Richtung vom Controller zum PC.

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Autor: USB User (Gast) schrieb am 24.10.2006 10:21:

>Hallo Bene,

>finde ich toll. Kannst Du denn Schaltplan des Demo Boards auch als PDF
>anbieten, da nicht alle mit Eagle arbeiten - Danke.

Ich habe mal versucht die Platine von Benedikt mit gEDA nachzubauen,
hier gibt es Bilder und die gEDA Dateien:

http://www.ssalewski.de/AVR_USB_gEDA.html.de

Ist allerdings noch ungetestet.

Gruß

Stefan Salewski

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

> Hat mal jemand getestet welche Geschwindigkeiten damit erreicht werden?
> Mich Interessiert va die Richtung vom Controller zum PC.

Wenn ich mich richtig erinnere, ist schon eine Weile her das ich das
getestet habe, lag ich so bei 6-8kbyte/s. Der Engpass ist der SPI zum
USBN. Parallel angeschlossen ginge sicher noch viel mehr. Allerdings 
will man ja an einem Microcontroller nicht die ganzen Beine 
verschwenden.

Olaf

Autor: Benedikt Sauter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutze usbn2mc in diesem Projekt hier:

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

Dort uebertrag ich ueber einen Endpoint 250KB/s

Die Geschwindigkeit wird eigentlich nur durch das Programm im AVR 
gebremst. Man kann mit dem USBN9604 locker die komplette Bandbreite 
ausschoepfen, aber da braucht man schon einen sehr schnellen Prozessor 
der die Daten in den USBN9604 schaufelt.

In einem test habe ich so errinnere ich mich knappe 500KB/s geschafft.

Wobei es auch wieder drauf ankommt ob man im Bulkmodus oder Isochron- 
uebertraegt. Bei Bulk wird jedes Paket bestaetig, d.h. jedes 2. ms geht 
fuer das drauf.


Gruss Bene

@Stefan: Ich wusste noch nicht ob ich dein Board erwaehnen darf, hatte 
aber dein Link auch schon in meinem Beitrag drin :-)





Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich nutze usbn2mc in diesem Projekt hier:
> http://www.ixbat.de/index.php?page_id=92

Ich kann kaum glauben das dein Board richtig funktioniert. :-o

Fuer meinen Geschmack ist der Quarz viel zu weit vom USBN entfernt!

Und ich haette mir auch die Schutzwiderstaende in D+ und D- nicht 
eingespart.

Olaf

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Olaf (Gast) schriem am 24.10.2006 um 15:34 Uhr:

>Und ich haette mir auch die Schutzwiderstaende in D+ und D- nicht
>eingespart.

Schutzwiderstände?

Wo werden die im USBN960x Datenblatt erwähnt?
Ausgangsimpedanz von D+ bzw. D- ist 35 Ohm (Datenblatt Seite 53), wenn 
man da  willkürlich Zusatzwiderstände einfügt ist das wohl eher 
nachteilig!

Wenn in die Datenleitungen Widerstände gehören, sollte dies doch wohl im 
Datenblatt ausdrücklich erwähnt werden (siehe AT90USB, dort je 22 Ohm)

Stefan Salewski

Autor: Bertrik Sikken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
I have been working on a similar API for the LPC214x range of 
microcontrollers (ARM7 + USB from Philips/NXP). The basic idea behind 
the API is that there is a common core which handles the hardware 
interface and 'chapter 9' processing and that everything else can be 
installed on top by registering structures or callback function 
pointers. The project page is at:
http://wiki.sikken.nl/index.php?title=LPCUSB

For example, a USB virtual COM port can be as simple as this:
http://lpcusb.cvs.sourceforge.net/lpcusb/target/ex...
(this example simply echoes back everything you send)

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich muss auch gestehen ich bin Informatiker und habe von der 
E-Technik nicht die tiefe Ahnung. Das mit dem Quarz, ist schlecht da 
gebe ich dir Recht, werde es auch mal ausbessern, aber als Informatiker 
gings mir immer mehr um die Software.

Das Board habe ich bereits 4 mal aufgebaut und es geht einwandfrei. Das 
Problem das der USBN9604 eher hat ist, dass er nur mit teueren, sprich 
guten Quarzen arbeitet. Die von der Angelika (Reichelt) gehen leider 
nicht.


Noch was anderes. Ich hab bereits einige Projekte mit usbn2mc 
realisiert, hier ein kleiner Auschnitt:

- Ethernet Netzwerkstack im AVR angesprochen ueber USB als Netzwerkkarte
- PS2 zu USB Tastatur Adapter
- RS232 zu USB Wandler (inkl. Treiber fuer Linux /dev/ttyUSB0)
- Logik Analyser
- ATMega Bootloader ueber USB ( so kann man sein Geraet ueber USB 
ansteurn und neu programmieren)

Die Links dazu findet ihr hier:

http://www.ixbat.de/

Gruss Bene

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das Board habe ich bereits 4 mal aufgebaut und es geht einwandfrei. Das
> Problem das der USBN9604 eher hat ist, dass er nur mit teueren, sprich
> guten Quarzen arbeitet. Die von der Angelika (Reichelt) gehen leider
> nicht.

Lass mich mal raten, Reichelt schickt keine Grundwellenquarze bei
24Mhz? :-)

Das mit den Widerstaenden habe ich uebrigens in irgendeine Applikation 
gesehen. Da waren zwei 47R in den Datenleitungen. Ich weiss aber nicht 
mehr wo da es schon ein 2Jahre her ist seitdem ich das gemacht habe.

> - PS2 zu USB Tastatur Adapter

Gibt es sowas nicht fertig zu kaufen? :-o

Ich hab mir einen USB-HPIB Konverter gebaut und als letztes ein 
DDS-Generator mit USB.
Uebrigens noch ein Tip. Ich hab mir den Quarz am Microcontroller 
eingespart. Der USBN hat ja noch einen Taktausgang.

Olaf

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Olaf (Gast) schrieb am 24.10.2006 um 22:57 Uhr:

>Lass mich mal raten, Reichelt schickt keine Grundwellenquarze bei
>24Mhz? :-)

Ja, 3. Oberton! Sind die unbrauchbar für den USBN960x?
Grundton haben sie in SMD-Gehäuse -- kostet aber das vierfache.

>Uebrigens noch ein Tip. Ich hab mir den Quarz am Microcontroller
>eingespart. Der USBN hat ja noch einen Taktausgang.

Da hatte ich auch schon dran gedacht -- ich war mir aber nicht sicher, 
ob man dann nicht Probleme bekommen kann, wenn man in den Sleep- bzw. 
Suspend-Mode gehen bzw. wieder aufwachen will. Und nach einem Reset 
liegt die Frequenz des Taktausgangs des USBN ja bei 4 MHZ -- man muss 
dann im Betrieb die Taktfrequenz durch Beschreiben eines Registers des 
USBN eventuell umschalten. Verträgt der AVR diesen Taktwechsel 
problemlos?

Gruß

Stefan Salewski

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Scheint so, dass die billigen Reichelt-Quarze, 3. Oberton für 24MHz, für 
den USBN960x unbrauchbar sind:

Datenblatt Seite 7:
"The internal crystal oscillator uses a 24 MHz fundamental crystal"

Das hatte ich übersehen.

Gruß

Stefan Salewski

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

> Da hatte ich auch schon dran gedacht -- ich war mir aber nicht sicher,
> ob man dann nicht Probleme bekommen kann, wenn man in den Sleep- bzw.
> Suspend-Mode gehen bzw. wieder aufwachen will.

Dazu kann ich dir nichts sagen weil ich keinen recht Sinn fuer 
Sleepmodis bei USB-Devices gesehen habe die sich vom Bus versorgen. Ich 
wuesste aber
jetzt keinen Grund wieso das nicht gehen sollte.

> Und nach einem Reset
> liegt die Frequenz des Taktausgangs des USBN ja bei 4 MHZ -- man muss
> dann im Betrieb die Taktfrequenz durch Beschreiben eines Registers des
> USBN eventuell umschalten. Verträgt der AVR diesen Taktwechsel
> problemlos?

Ich habs sowohl mit einem Mega8 wie auch einem R8C13 laufen. Deine Frage 
ist in der Tat nicht ganz dumm da so eine Taktumschaltung theoretisch 
probleme machen kann wenn sie zu einem sehr kurzem Takt fuer eine 
Periode fuehrt, aber ich vermute mal der USBN macht es richtig. 
Jedenfalls hat es bei mir immer funktioniert.
Wenn ich mich richtig erinnere, muesste mal wieder in die Sosse schauen, 
hab ich den Mega8 sogar etwas uebertaktet damit der SPI schneller 
laeuft.
Macht alles keine Probleme.

Olaf

Autor: herbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo leute,

ich hab dazu noch eine kurze Anmerkung hinsichtlich dem 
Eingangsstatement von Benedikt. Diese Bridge kostet bei Farnell ab 10 
Stück ca. 5.80€, der FTDI245BL liegt bei 6.32€. Preislich seh ich da 
keinen grossen Vorteil, hinsichtlich der technischen Unterschiede kann 
ich nicht viel dazu sagen. Lohnt sich dann die Mehrarbeit?! Bei meinem 
Job würd ich gerne auch eine billigere Methode einsetzen -- wobei ich 
mit dem FTDI keine Performanceprobleme habe.

viele grüsse herbert

Autor: John Crispin (john)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich habe das layout von benedikt neu geriutet und die meisten diskreten 
Bauteile auf smd umgestellt.

Ich habe vor die Platinen bei HAKA fertigen zulassen. Das dauert in der 
Regel 2 Wochen. für 50€ würde man 6 platinen erhalten. Ich benötige aber 
nur 2. Hat jemand interesse an den anderen 4 ? Stückpreis würde inkl 
Portr so bei 10€ liegen. Wenn jemand mehr als eine möchte, entfällt 
natürlich das doppelte Porto. Ich rechne den Preis dann auf den cent 
genau aus.

Wer interesse hat, kann sich ja bei mir melden. evtl kann man ja auch 
die Bauteile zusammen bestellen. dann wirds sicherlich billiger (z.B. 
bei CSD)

ich habe ein Bild angehängt von dem Layout. Kann aber noch geändert 
werden, wenn jemand nen Vorschlag hat.

Gruss,
John

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
John Crispin (john) schrieb am 25.10.2006 um 10:53 Uhr:

>Hallo Leute,

>ich habe das layout von benedikt neu geriutet und die meisten diskreten
>Bauteile auf smd umgestellt.

Ein paar kurze Anmerkungen:

- Den 24 MHz Grundton-Quarz gibt es bei Reichelt nur in einem andern 
(SMD) Gehäuse, und Conrad gibt nicht an, ob es Grundton-Quarze sind. Bin 
auch gerade am Überlegen, wo ich am besten einen geeigneten Quarz 
bekomme.

-Vorsicht mit Pin 6 (/DACK), der muss meiner Meinung nach, soweit ich 
das Datenblatt verstanden habe, an VCC.

- Warum Quarzoszillator statt Quarz für AVR? Einfacher Quarz ist 
deutlich preiswerter und verbraucht weniger Energie.

Gruß

Stefan Salewski

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
> - Den 24 MHz Grundton-Quarz gibt es bei Reichelt nur in einem andern
> (SMD) Gehäuse, und Conrad gibt nicht an, ob es Grundton-Quarze sind. Bin
> auch gerade am Überlegen, wo ich am besten einen geeigneten Quarz
> bekomme.
>
also bei CSD gibt es den 24Mhz als grundton. da ich auch dort den usbn 
bestellen wollte ist das kein problem. der 24Mhz kostet da 30 cent :)

> -Vorsicht mit Pin 6 (/DACK), der muss meiner Meinung nach, soweit ich
> das Datenblatt verstanden habe, an VCC.

werde ich nachlesen, bei benedikt scheint aber so zu funktionieren



> - Warum Quarzoszillator statt Quarz für AVR? Einfacher Quarz ist
> deutlich preiswerter und verbraucht weniger Energie.

hast du recht :), kommt heute abend ein normaler quarz mit 2 kerkos hin


danke für die kommentare

John

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

> Eingangsstatement von Benedikt. Diese Bridge kostet bei Farnell ab 10
> Stück ca. 5.80€, der FTDI245BL liegt bei 6.32€. Preislich seh ich da

Ich hab meine USBN immer in Tokyo gekauft. Da kosten sie 600Yen, also
etwa 4Euro. :-)

> ich habe das layout von benedikt neu geriutet und die meisten diskreten
> Bauteile auf smd umgestellt.

Ich wuerde empfehlen dann den Taktausgang des USBN zum ACR 
rueberzuziehen und das so ein Loetbruecke vorzusehen. So kann man sich 
entscheiden ob
man einen Quarz verwenden will oder nicht.

> -Vorsicht mit Pin 6 (/DACK), der muss meiner Meinung nach, soweit ich
> das Datenblatt verstanden habe, an VCC.

Ich will mich jetzt aus dem Kopf nicht festlegen, aber ich glaub auch 
das
man das nochmal ueberpruefen sollte. Ich glaub auch ich hab irgendwie
mehr Kondensatoren an meinem USBN. Ich hab auch noch einen Pullup
fuer CS damit man den Mega8 ueber SPI brennen kann ohne das der
USBN am Bus stoert.
Wenn ich es nicht vergesse stelle ich mein Layout mal auf meine 
Homepage.

Olaf

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@John ich wuerde welche nehmen, brauch eh noch ein paar Testboards

schreib mir am besten eine Email sauter@ixbat.de

Gruss Bene

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab da noch eine Anregung. Wenn wir irgend einen AVR draufbauen 
koennten der mehr als einen UART hat, hatt man den Vorteil, dass man 
wenn man irgendwann keine Lust mehr auf das Board hat dieses als 
einfachen rs232 zu usbwandler hernimmt.

Ich habe schon begonnen einen Treiber fuer Linux zu schreiben, da kann 
man den UART als /dev/ttyUSB ansprechen. Ebenfalls wird man den I2C Bus, 
die IO Ports auch als Linux Geraet ansprechen koennen. (/dev/i2c 
/dev/parport).

Wenn sich jetzt noch jemand finden wuerde der einen Treiber fuer die 
Windowsfraktion schreiben koennte wuerde man das Board noch lange her 
nehmen koennen.


Was meint Ihr?


Gruss Bene

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier habe ich ein bisschen mal Dokumentieren begonnen. Bezgl. dieses 
allgemeinen Schnittstellen Adapter.

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

Gruss Bene

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Bene,

welchen controller hast du gedacht ? atmega128 ? wenn man nen mega128 
nimmt, sollte man auch gleich noch etwas ram drauf packen und evt noch 
etwas spi flash. oder was denkst du ?

John

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir muessen nur aufpassen das es nicht wieder zuviel, dadurch zu teuer 
und dadurch wieder uninteresannt wird.

Denke ein atmega128 mit dem usbn9604 in Streichholzschachtelgroesse mit 
2 langen reihen pins, waere eine gute Basis fuer viele Projekte.

Gruss Bene

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok....

ich mache mich heute abend an das layout und schicke es die dan zur 
kontrolle zu :) speicher lasse ich weg, und rs232 wandler auch. mache 
leute (wie ich) benutzen eben gerne ftdi boards ohne level shifter :)

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

@John: ich hätte Interesse an einem deiner Bords.

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi andy,

schicke mir über das forum eine nachricht mit deiner e-mail

ich bin gerade dabei das ganze mit mega128 neu zu routen

John

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

hier nochmal die aktuelle Version des Boards.

ich muss noch den ISP roputen und es gibt noch ein paar stellen an denen 
der drc meckert. aber jetzt erst mal ins bett

das board wird ca 7*3 cm

soll ich lieber ein usb B oder mini usb stecker einplanen ?

Autor: John Crispin (john)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
bild vergessen :)

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der B ist zwar nicht arg gross, aber ich finde den Mini besser.

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok,

werde dann den usb mini verwenden.

noch 2 andere Punkte :

* ds1813 als rest baustein ? kostet ca 2 euro
* am mega128 geht isp ja über tx und rx. wenn ich mich recht entsinne, 
gehen rx tx nur im normal betrieb wenn pen = 0 und wen pen=1 dann  sind 
das die isp ports !?!?. also soll ich an pen einen jumper ranhängen ? 
oder lieder einen microswitch ?

ich packe noch 2 mount holes neben den usb stecker, dann sollte alles 
gut funktionieren.

evtl noch die option einen serial flash von ateml auf den bottom layer 
:) denn muss man ja nicht mounten. :)

gruss,
John

Autor: John Crispin (john)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

hier die fertige schematic und das board.
mini usb habe ich nicht verwendet, da die viel teurer sind
das board ist ca 7*3 cm gross, also wird der preis bei ca 5€ liegen, 
wenn wir 12 stck bestellen.

wenn jemand eins will ist jetzt der richtige moment dafür :-)  wenn wir 
8 stück habem werde ich bestellen.

gruss,
John

Autor: John Crispin (john)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und hier noch das board

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich nehm 3

Gruss Bene

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme auch eins!

Post- und EMail-Adresse siehe
http://www.ssalewski.de/Contact.html.de

Gruß

Stefan Salewski

Autor: Lothar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

interessantes Projekt, ich wäre mit zwei Stück dabei.
Kontakt: wizard2001 ad web.de
Gruß

Lothar Lehmann

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ lothar und stefan:  ihr habt beide post :)

Autor: florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich nehm auch 2

gruss florian

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi florian,

dann sag doch bitte mal deine mail adresse

gruss,
John

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich nehme auch 2.

h.andyz(at)yahoo.de

Autor: florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

admin@bratschi-reinach.ch

wann wird etwa bestellt?

gruss florian

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
morgen bestelle ich vorraussichtlich...

schicke aber noch ne mail heute abend rum

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am resetschlatkreis fehlt ne junction ;)

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja.... die tun nicht wirklich not in der schematic. ohne geht es auch. 
im board ist das richtig verdrahtet. der einzige fehler den ich noch 
gefunden habe ist, das C11 ein package 0805 hat, aber ne 1µF tanatl sein 
soll. das werde ich heute abend noch ändern. danach ist dann alles i.O. 
zumindest finde ich nicx anderes

Autor: Bertrik Sikken (bertrik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A large part of the API seems related to creating the USB descriptor, 
however you need to create it only once and the descriptor never changes 
during operation. How about creating the USB descriptor on the PC 
instead of on the microcontroller? For example, you write a simple PC 
program that creates a usbdescriptor.h file that can be #included by the 
microcontroller code). That would save even more program code and RAM.

What I am doing for my USB stack is to put all USB descriptors in a 
single structure. The following relatively simple function then handles 
the data for the GET DESCRIPTOR request:

  102 BOOL USBGetDescriptor(U16 wTypeIndex, U16 wLangID, int *piLen, U8 
**ppbData)
  103 {
  104   U8  bType, bIndex;
  105   U8  *pab;
  106   int iCurIndex;
  107
  108   ASSERT(pabDescrip != NULL);
  109
  110   bType = GET_DESC_TYPE(wTypeIndex);
  111   bIndex = GET_DESC_INDEX(wTypeIndex);
  112
  113   pab = (U8 *)pabDescrip;
  114   iCurIndex = 0;
  115
  116   while (pab[DESC_bLength] != 0) {
  117     if (pab[DESC_bDescriptorType] == bType) {
  118       if (iCurIndex == bIndex) {
  119         // set data pointer
  120         *ppbData = pab;
  121         // get length from structure
  122         if (bType == DESC_CONFIGURATION) {
  123           // configuration descriptor is an exception, length is 
at offset 2 and 3
  124           *piLen =  (pab[CONF_DESC_wTotalLength]) |
  125                 (pab[CONF_DESC_wTotalLength + 1] << 8);
  126         }
  127         else {
  128           // normally length is at offset 0
  129           *piLen = pab[0];
  130         }
  131         return TRUE;
  132       }
  133       iCurIndex++;
  134     }
  135     // skip to next descriptor
  136     pab += pab[DESC_bLength];
  137   }
  138   // nothing found
  139   DBG("Desc %x not found!\n", wTypeIndex);
  140   return FALSE;
  141 }

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thats right. It would be better if the descriptors generated in a pc.
But my idea was to create a really easy to use API.

With my API now you can create a Device with these functions:

interf = USBNAddInterface(conf,0);
USBNInterfaceName(conf,interf,"usblp");

Add Endpoints for the communication:

USBNAddInEndpoint(conf,interf,1,1,BULK,64);
USBNAddOutEndpoint(conf,interf,1,2,BULK,64,&PrintOnLCD);

...

For small Controller this isn't the best way, i know. But for such 
controllers i wrote the tiny firmware, which you also found in the 
source tree. With this version, you have to define the descriptors 
manually.

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

alle die an der sammelbestellung teilnehmen habe gerade post bekommen.

gruss,
John

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir ist keine Post angekommen ;-(
Stefan

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast auch nie gesagt, dass du ein board willst ...

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
doch hat er :-)


Autor: Stefan Salewski (Gast)
Datum: 26.10.2006 21:08

Ich nehme auch eins!

Post- und EMail-Adresse siehe
http://www.ssalewski.de/Contact.html.de

Gruß

Stefan Salewski

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Salewski !=  Stefan Brück

und von Stefan Salewski habe ich schon eine antwort erhalten :)

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bevor es noch mehr Verwirrung gibt:
Stefan Brück (stefb) != Stefan Salewski (Gast)

Hier im Forum hatte ich nicht geschrieben, weil man eh die Emailadresse 
weitergeben musste. Ich hatte mich extra am 26.10 registriert (sic) und 
über das Email-System von µC.net eine Mail an John Crispin (john) 
geschrieben.

Gruß
Stefan

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmmm....

ok :) verwirrung bei mir

ich schicke dir ne mail,

sorry

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
:-) ah ok

Gruss Bene

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi John,

ich hab' den Thread jetzt erst gesehen,
falls moeglich hatte ich gerne auch ein Board bestellt,
(hanshein AT web dot de :-)

Cooles Projekt,
Hans

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi hans,

da alle 12 platinen vergeben sind ist die Bestellung leider voll :(

jedoch... ich habe bereits 4 reservierte Platinen (inkl. deiner) für die 
zweite Bestellung. Ist also nur eine Frage der Zeit bis wir neu 
bestellen. Ich werde dich dan kontaktieren.

gruss,
John

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an Alle,

https://lists.berlios.de/mailman/listinfo/usbn2mc-dev

ich hab heute mal eine Mailling Liste eingerichtet. Denke
da werden noch einige Mails umhergehen wenn die Boards aufgebaut werden.

Denke es ist einfacher ueber so eine Liste. Auserdem kann man in dieser
auch bequem alte Nachrichten lesen, was man hier leider nicht behaupten 
kann.

Gruss Bene
Bene


https://lists.berlios.de/mailman/listinfo/usbn2mc-dev

Autor: John Crispin (john)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

sorry das ich micht gemeldet habe. Ich habe die letzten 3 Tage non-stop 
im büro verbracht, da es ein Problem mit bei einem kunden gab

Platinen und bauteile sind schon bestellt, bank daten erhaltet ihr heute 
abend .

gruss,
John :-)

Autor: Benedikt Sauter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

wann denkst du sind die Bausaetze bei uns?

Gruss Bene

Autor: dachs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

ich hatte auch Interesse an einem Board.

Matthias

Autor: Matthias S. (dachs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo John,

hier noch mal mit Registrierung und Rechtschreibkorrektur ;-)
ich haette auch Interesse an einem Board.

Matthias

Autor: vosi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

ich habe selbst 5 Jahre mit der USBN 9604 und einem H8S2329 gearbeitet 
und Geräte entwickelt und über die Übertragungsgeschwindigkeit folgendes 
festgestellt: diese Bridge muss um an die 8 bis 9,5 Mbit im Bulktransfer 
zu erreichen mit der DMA Option betrieben werden (DACK Signal) 
allerdings sind die µC nicht gerade die Lowpowerteile. Dazu sollte auch 
das Doublebuffering verwendet werden. Auch die internen Buffer sollten 
maximale Grösse haben um die Interruptlast zu minimieren. 2-4k pro 
Buffer plus die Verwendung mehrer Puffer im µC.

Ansonsten läuft die Bridge ohne Komplikationen.

Grüsse
Vosi

Autor: Andre R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich versuche seit Tagen verzweifelt folgendes Problem zu lösen:
Ich habe eine Verbindung zu meinem USBN9604, lesen, schreiben in 
Register ist alles kein Problem. Frequenz passt auch.
Nun wollte ich eigentlich mein erstes SETUP Paket empfangen, aber das 
kommt nie an. Ich habe ausschließlich RESET und SD3 Events, der RESET 
wird von mir auch ordnungsgemäß verarbeitet.
Nur habe ich eben nie RX events...
als ich gerade mal die Spannungen an den D+ und D- Leitungen gemessen 
hab kam ich zu folgendem Ergebnis:
D+ ca. 2,6 - 2,9 V
D- 0V
(beides gegen GND gemessen)

laut USB Spezifikation darf doch nie eine Leitung unter 0,8 V fallen 
oder ? (Common Mode Range: 0,8 - 2,5V)

Von daher ist meine Frage ob diese Spannungen normal sind und ich 
deshalb evtl. kein SETUP Paket empfange. Und wenn es daran liegt, wie 
kann es sein das D- auf 0V geht ?

Gruss
Andre

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem habe ich nun nach ein paar Monaten endlich gelöst.
Nachdem ich ein paar andere Boards mit dem USBN studiert habe, ist mir 
aufgefallen, dass ich den Entkoppelungskondensator an der D+ Leitung 
falsch platziert habe.

Dieser muss unbedingt zwischen V3.3 und dem 1.5k Pull-Up Widerstand 
platziert werden !
Nicht wie bei mir zwischen 1.5k Pull-Up und D+.

Ich dachte ich poste das mal falls jemals jemand ähnliche Probleme hat.

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle vport Platinen Besitzer!


Es gibt mittlerweile eine Firmware und eine Bibliothek dazu.

Hier sind die Quelltexte:

http://vport.svn.sourceforge.net/viewvc/vport/

Eine Dokumentation und Infoseite folgt demnächst.


Gruss Bene

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also es gibt jetzt wirklich alles fertig zum alten usbn2mc Board.
Wie Ihr erkennen könnt die Struktur ist die gleiche es ist auch 
kompatibel.


http://www.embedded-projects.net/index.php?page_id=152

Die Quelltexte gibt es hier:

http://code.google.com/p/octopususb/source

Ich mach das aber jeden Tag grad etwas sauberer.

Gruss Bene

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.