Seite 35 von 1010

#511 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 13:05:28
von Crizz
Er hat den Bus mit Pullup auf VCC gelegt und den Clock mit Pullup auf VCC. Glaube nicht das es Sinn macht, ein Clock-Signal hochzuziehen. Da eher Pulldown, wenn durch rauschen keine klaren Impulse kommen, sofern diese positiv sind natürlich. Bei negativen Pulsen würde man Pullup machen, das ist richtig.

#512 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 13:11:22
von calli
Ist doch egal ob Up oder Down. [del]TTL[/del] CMOS nimmt doch eh nur die Änderung des Signals (grob gesagt), also ist es doch reine Definitionssache ob man 0V oder 5V als High annimmt (Edit: bei Timesignalen). Wichtig ist es nur gerade in so "verseuchten" Umgebungen das ein Eingang nicht fluktuieren kann und genau DAS verhindert ein Pullup/Down. Aber ich habe das nicht gelernt, also alles was ich sage entspringt nur jahrzehntelanger Rumstümperei damit, Analoge Denkweisen sollte man aber nicht anlegen.

Carsten

Edit: An sich sind ja Pullups eher für mechanische Schalter an CMOS/Microcontrollern gedacht, vielleicht sollen die Widerstände eher den Bus terminieren oder so. Vielleicht gabs da mal eine Begriffsverwirrung?

#513 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 13:15:50
von trailblazer
Der i²c Bus hat wie schon erwähnt eine recht eindeutige Spezifikation ( http://de.wikipedia.org/wiki/I%C2%B2C ), und obwohl er nur recht niedrige Taktraten hat, ist er doch recht empfindlich auf die Verkabelung. Grundsätzlich sollte man so kleine Pullup Widerstände nehmen, wie möglich, damit die Taktflanken möglichst steil werden, auch die Kabel sollte man so kurz wie möglich machen. Seriell verschaltete (kleine) Widerstände nimmt man eigentlich nur , um bei hohen Übertragungsraten Reflexionen zu vermeiden (dann direkt an den Bauteil Ein/Ausgängen), sie sind in der Spec aber so nicht vorgesehen.

Ich kann nur raten, die Verkabelung so kurz und direkt wie möglich zu machen.

#514 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 13:17:26
von Matoz
trailblazer hat geschrieben:Ich kann nur raten, die Verkabelung so kurz und direkt wie möglich zu machen.
Das war auch bei mir die Lösung...

#515 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 13:19:00
von calli
Ah, endlich mal jemand mit Ahnung ;-) Bitte konkreter werden mit "kleine" und "möglichst" Klein ;-)

Carsten

Ah, daher ist das Nunchuk Kabel nicht länger ;-)

#516 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 13:20:05
von trailblazer
Bei I²C MUSS die SDA und SCL Leitung "extern" auf Vdd über Widerstand gezogen werden. Jedes Device (ob Master oder Slave) darf beide Signalleitungen benutzen. I²C Bausteine haben open-drain Anschlüsse, d.h sie haben entweder hohe Impedanz oder schalten auf Masse. Nur dadurch ist sichergestellt, dass auf so einem einfachen Bus keine Kurzschlüsse möglich sind (z.b. wenn ein Gerät auf High und das andere auf low schalten würde)

#517 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 13:31:39
von calli
Passiert das schon auf den WMP Boards? Wenn nein wundert mich das es in den Schaltplänen nicht vorgesehen ist.

Nicht das es bei mir geholfen hätte...

Wie sind denn die Rs Series Widerstände zu dimensionieren? Ich meine Rp so ca. 4kOhm und Rs so ca. 600Ohm aus dem Diagrammen zu entnehmen.

Carsten

#518 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 13:34:24
von trailblazer
Empfehlungen zu der elektrischen Beschaltung findet man häufig in den Datenblättern zu i²c Bausteinen. In unserem Fall ist das nicht so ganz einfach, weil ich selber auch nicht so genau weiss, welcher Baustein (bzw. bei uns ja ganze Baugruppen) wie und wo die Datenleitungen auf welchen Pegel pulled. Es ist ja jetzt schon ein ziemlicher 3.3V/5V Mischmasch.
Typischerweise habe ich in Schaltungen von 1,8k bis 10kOhm schon alles gesehen. Teilweise werden auch die Pull-Up features der verbauten Controller benutzt.
Um Übertragungsproblemen wirklich auf den Grund gehen zu können, müsste man eigentlich mit einem 2 Kanal Oszi an die Sache herangehen, nur so erkennt man definitiv ob es Timing- oder Levelprobleme gibt ( ..so ein schönes Oszi steht bei mir auch schon lange auf meiner Wunschliste :cry: )

Serienwidestände sollten wenn, dann imo kleiner als 200Ohm sein.

#519 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 13:36:11
von calli
Ja, das habe ich befürchtet. Ich probiere heut nochmal ein paar Widerstände und den originalen Nunchuck.

Carsten

#520 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 13:53:19
von ChristophB
Natürlich jede Leitung gegen VCC gezogen. Nicht untereinander. Jedenfalls funktioniert das so. Ich kann ja mal den Widerstand von SCL entfernen, mal schauen, was passiert. Ich hatte mich http://www.mikrocontroller.net/topic/88806 nach gehalten. Dabei ist habe ich wohl übersehenen, daß in dem Link von SDA und SDL die Rede war, und nicht von SCL.

#521 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 14:13:57
von ChristophB
trailblazer hat geschrieben:Bei I²C MUSS die SDA und SCL Leitung "extern" auf Vdd über Widerstand gezogen werden. Jedes Device (ob Master oder Slave) darf beide Signalleitungen benutzen. I²C Bausteine haben open-drain Anschlüsse, d.h sie haben entweder hohe Impedanz oder schalten auf Masse. Nur dadurch ist sichergestellt, dass auf so einem einfachen Bus keine Kurzschlüsse möglich sind (z.b. wenn ein Gerät auf High und das andere auf low schalten würde)
Wer hat nun Recht?

Wiso sollte auch auf SCL kein Pullup kommen? Der unterliegt doch den gleichen Bedingungen und Pegel wie SDA, nur daß SCL pro Takt ein Signal rausgibt und SDA eine 0 uder 1.

#522 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 14:19:53
von Crizz
Hintergedanke meiner Äußerung : Ein Bustakt ist im Normalfall ein Taktsignal mit positiver Amplitude. Zieh ich das mit Pullup hoch fehlt mir der Low-Pegel, ob der Takt dann noch korrekt erkannt wird weiß ich nicht, wenn Low als 0 V vorgegeben ist.

Beim Bussignal wäre das eigentlich genauso, ist halt die Frage welcher State fest definiert werden muß und ob logisch 0 oder 1 fest definiert sein muß, bei TTL ging man zumindest früher von logisch 1 ( also High-Signal ) aus, alles was drutner war war logisch 0 ( also Low ).

Zur Not kann man zur Vermeidung von Störsignalen die Leitungen auch verdrillen ( Twisted Pair ) , wenn ein paar cm mehr wegen Verlegung nötig sind. Das kann bereits Abhilfe schaffen, ist aber nicth garantiert.

#523 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 14:21:34
von Mataschke
Crizz hat geschrieben:Beim Bussignal wäre das eigentlich genauso, ist halt die Frage welcher State fest definiert werden muß und ob logisch 0 oder 1 fest definiert sein muß, bei TTL ging man zumindest früher von logisch 1 ( also High-Signal ) aus, alles was drutner war war logisch 0 ( also Low ).
So kenne ich das auch noch :roll:
Zur Not kann man zur Vermeidung von Störsignalen die Leitungen auch verdrillen ( Twisted Pair ) , wenn ein paar cm mehr wegen Verlegung nötig sind. Das kann bereits Abhilfe schaffen, ist aber nicth garantiert.
Die idee kam mir eben auch... musste jetzt nochmal nen WMP+ bestellen da DX nicht in die Hufe kommt :-(

#524 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 14:28:08
von trailblazer
Bitte lest doch mal kurz den Wiki-Artikel, da steht eigentlich alles recht kompakt drin. I²C ist kein "klassischer" hart-getakteter Bus, die Funktionsweise ist schon recht unterschiedlich.
Es gibt auch keinen festen Takt, man kann eher von "events" auf dem Bus sprechen (Start, Stop Konditionen usw.)

http://de.wikipedia.org/wiki/I%C2%B2C

Und in dem PDF von NXP stehts dann auch ganz ausführlich (am Ende auch zu den elektrischen Specs, inkl. der Berechnung von Rs, Rp usw. mit vielen Diagrammen)

http://www.nxp.com/acrobat_download/lit ... 340011.pdf

auf Seite 42 gibt es Vorgaben für die Verdrahtung.

#525 Re: Der WII-Copter ( Selbstbau-Projekt )

Verfasst: 21.12.2010 14:31:59
von wolkenloser
Hi Leute,
bis auf meine Andruio Board habe ich ja auch schon alles parat hier liegen.
Was mich gerade irritiert ist die Geschichte mit den "Pull-was-weiß-ich".
Ich bin echt kein Elektroniker dafür kenn ich mich mehr mit Netzwerkprotokollen aus.

Aber habe ich das was falsch verstanden ?
- Der Kopter ist gebaut so das er z.B. mit einem KK Board fliegt,
- Das Wii Board ist zusammengelötet
- alles verkabelt
- Firmware ist geflasht

Jetzt mit der Software geeigente Werte einstellen.
Wenn am Bildschirm alles gut aussieht, dann sollte da doch funktionieren ?

Oder muß ich da noch mit anderen Problemen rechnen ?
Im Moment hört sich das alles etwas wild an als wenn es doch nicht so simpel ist wie e Anfangs schien ?!