www.mikrocontroller.net

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

Autor: Benedikt Sauter (Gast)
Datum: 28.04.2006 20:39

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: 28.04.2006 21:13

>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 (flopper)
Datum: 28.04.2006 21:14

au backe


usbn2mc.berlios.de natürlich!

Gruss Bene
Autor: Stefan (Gast)
Datum: 02.05.2006 09:50

Connection refused (146)
Autor: Christoph Kessler (db1uq) (Gast)
Datum: 24.10.2006 08:35

Autor: Christoph Kessler (db1uq) (Gast)
Datum: 24.10.2006 08:36

oder das wwweglassen, dann stimmts
http://usbn2mc.berlios.de/
nicht
http://www.usbn2mc.berlios.de/
Autor: Olaf (Gast)
Datum: 24.10.2006 09:04

> 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 (flopper)
Datum: 24.10.2006 09:24

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: 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.
Autor: Benedikt Sauter (flopper)
Datum: 24.10.2006 10:52

Hier ist zu meinem Board ein PDF Plan.
http://www.ixbat.de//files/admin/projekte/usbn2mc/...
Autor: willivonbienemaya (Gast)
Datum: 24.10.2006 12:28

Hat mal jemand getestet welche Geschwindigkeiten damit erreicht werden?
Mich Interessiert va die Richtung vom Controller zum PC.
Autor: Stefan Salewski (Gast)
Datum: 24.10.2006 12:47

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: 24.10.2006 13:09


> 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: 24.10.2006 13:37

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: 24.10.2006 15:34

> 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: 24.10.2006 16:03

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: 24.10.2006 21:26

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 (flopper)
Datum: 24.10.2006 21:54

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: 24.10.2006 22:57

> 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: 24.10.2006 23:26

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: 24.10.2006 23:53

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: 25.10.2006 08:12


> 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: 25.10.2006 08:52

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: 25.10.2006 10:53
Dateianhang: usbn9604.png (15,4 KB, 499 Downloads)
preview image for usbn9604.png

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: 25.10.2006 11:25

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: 25.10.2006 11:40

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: 25.10.2006 12:28


> 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 (flopper)
Datum: 25.10.2006 14:19

@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 (flopper)
Datum: 25.10.2006 14:23

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 (flopper)
Datum: 25.10.2006 14:45

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: 25.10.2006 14:53

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 (flopper)
Datum: 25.10.2006 15:00

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: 25.10.2006 15:02

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: 25.10.2006 16:24

Hallo,

@John: ich hätte Interesse an einem deiner Bords.
Autor: John Crispin (john)
Datum: 25.10.2006 17:04

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: 25.10.2006 23:45

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: 25.10.2006 23:46
Dateianhang: usb.png (18,9 KB, 584 Downloads)
preview image for usb.png

bild vergessen :)
Autor: Andy (Gast)
Datum: 26.10.2006 10:05

der B ist zwar nicht arg gross, aber ich finde den Mini besser.
Autor: John Crispin (john)
Datum: 26.10.2006 12:15

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: 26.10.2006 20:50
Dateianhang: sch.png (71,3 KB, 557 Downloads)
preview image for sch.png

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: 26.10.2006 20:51
Dateianhang: brd.png (21,4 KB, 296 Downloads)
preview image for brd.png

und hier noch das board
Autor: Benedikt Sauter (flopper)
Datum: 26.10.2006 20:54

ich nehm 3

Gruss Bene
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: Lothar (Gast)
Datum: 26.10.2006 21:35

Hallo,

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

Lothar Lehmann
Autor: John Crispin (john)
Datum: 26.10.2006 21:39

@ lothar und stefan:  ihr habt beide post :)
Autor: florian (Gast)
Datum: 27.10.2006 00:29

ich nehm auch 2

gruss florian
Autor: John Crispin (john)
Datum: 27.10.2006 08:41

hi florian,

dann sag doch bitte mal deine mail adresse

gruss,
John
Autor: Andy (Gast)
Datum: 27.10.2006 12:46

ich nehme auch 2.

h.andyz(at)yahoo.de
Autor: florian (Gast)
Datum: 27.10.2006 16:20

hi

admin@bratschi-reinach.ch

wann wird etwa bestellt?

gruss florian
Autor: John Crispin (john)
Datum: 27.10.2006 16:33

morgen bestelle ich vorraussichtlich...

schicke aber noch ne mail heute abend rum
Autor: Chris (Gast)
Datum: 27.10.2006 16:44

Am resetschlatkreis fehlt ne junction ;)
Autor: John Crispin (john)
Datum: 27.10.2006 16:58

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: 29.10.2006 12:59

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 (flopper)
Datum: 29.10.2006 13:20

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: 29.10.2006 15:30

hi,

alle die an der sammelbestellung teilnehmen habe gerade post bekommen.

gruss,
John
Autor: Stefan "stefb" B. (stefan) Benutzerseite
Datum: 29.10.2006 19:09

Bei mir ist keine Post angekommen ;-(
Stefan
Autor: John Crispin (john)
Datum: 29.10.2006 19:21

hast auch nie gesagt, dass du ein board willst ...
Autor: Benedikt Sauter (flopper)
Datum: 29.10.2006 19:32

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: 29.10.2006 19:39

Stefan Salewski !=  Stefan Brück

und von Stefan Salewski habe ich schon eine antwort erhalten :)
Autor: Stefan "stefb" B. (stefan) Benutzerseite
Datum: 29.10.2006 19:39

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: 29.10.2006 19:42

hmmm....

ok :) verwirrung bei mir

ich schicke dir ne mail,

sorry
Autor: Benedikt Sauter (flopper)
Datum: 29.10.2006 19:45

:-) ah ok

Gruss Bene
Autor: Hans (Gast)
Datum: 29.10.2006 22:00

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: 30.10.2006 09:31

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 (flopper)
Datum: 30.10.2006 20:37

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: 02.11.2006 07:33

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: 13.11.2006 16:00

Hallo John,

wann denkst du sind die Bausaetze bei uns?

Gruss Bene
Autor: dachs (Gast)
Datum: 20.11.2006 20:59

Hallo John,

ich hatte auch Interesse an einem Board.

Matthias