[Erledigt] Wie treibt man Ein und Ausgänge auf gleichem Bus?

Allgemeine Themen rund um den Propeller Mikrocontroller und Elektronik
Antworten
DJLinux

[Erledigt] Wie treibt man Ein und Ausgänge auf gleichem Bus?

Beitrag von DJLinux »

Hallo da ich den Prop. nicht beschädigen möchte frage ich mal besser hier nach
was ich bedenken muss um folgende Konfiguration gefahrlos verwirklichen zu können.

Hier die Problemstellung:

Code: Alles auswählen

  A  B (2 Draht Bus bidirektional 0 - 3.2 V)
  |  |
  |  |
  +--|--> Pin 0\
  |  |          - fest als Eingänge definiert
  |  +--> Pin 1/
  |  |
  +--|--< Pin 2\
  |  |          - als Ausgänge definiert (Lo wenn Eingänge gelesen werden)
  |  +--< Pin 3/
  |  |
Kann ich mir Pin3/4 "sparen" und bei bedarf die Portrichtung von Pin0/1 umschalten ohne zusätzlichen Bauteile wie z.B. Pull up/down Wiederstände?

Danke für Eure Tips (wenn es geht leicht verständlich da noch Anfänger)

Grüsse Joshy
Zuletzt geändert von DJLinux am Mo 27. Jul 2009, 14:47, insgesamt 1-mal geändert.
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Wie treibt man Ein- und Ausgänge die den selben Bus benutzen

Beitrag von drohne235 »

Hmm, irgendwie hab ich grad einen Knoten im Hirn und verstehe die Sizze nicht...

Alle vier Pins sind an einem Prop?
Die zwei Leitungen A und B sind ein Bus zwischen ...?

Wahrscheinlich brauchst du auf A & B mal einen Eingang und mal einen Ausgang!? Dann kannst du doch zur Laufzeit die Ausgaberichtung umdrehen. Was hängt da dran an A & B außer einem Prop?

P.S. Was machen die Experimente mit deinem Propeller auf dem Steckbrett?
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
DJLinux

Re: Wie treibt man Ein- und Ausgänge die den selben Bus benutzen

Beitrag von DJLinux »

drohne235 hat geschrieben:Hmm, irgendwie hab ich grad einen Knoten im Hirn und verstehe die Sizze nicht...
Ups dabei ist es doch so ein schönes ASCI Skize :)
drohne235 hat geschrieben:Alle vier Pins sind an einem Prop?
Yes Sir (vielleicht sind ja 2 genug das ist ein Teil meiner Frage)
drohne235 hat geschrieben:Die zwei Leitungen A und B sind ein Bus zwischen ...?
D- D+ vom USB Bus (Mit D- mit 1,5K zu VCC als Lowspeed Device, Highspeed wäre D+ mit 1,5K zu VCC)
drohne235 hat geschrieben:P.S. Was machen die Experimente mit deinem Propeller auf dem Steckbrett?
Das ist eins meiner Experimente habe die Nase voll von blinkenden LED's :lol:

Nach dem der USB host (PC) etwas gesendet hat nimmt er seinen Ausgang vom BUS
und A und B sind dann Eingänge mit 1,5M gegen VSS verbunden.
A und B sind wärend der Kommunikation inverse

Bei Lowspeed Geräten:
D-=Hi D+=Lo entspricht einer logischen 1
D-=Lo D+=Hi entspricht einer logischen 0
(Bei Highspeed Geräten genau umgekehrt.)

Für die serielle Kommuikation würde daher schon ein Draht (D- o. D+) reichen
aber um z.B. SOP (Start of Paket) usw. senden zu können muss man
den 2 Draht BUS auch mal gleich Treiben (D- D+=Lo oder beide Hi)

Wenn man diese Beiden (besonderen) Zustände etwas länger (mehre Takteinheiten) auf dem BUS treibt
dann haben sie eine andere Bedeutung (RESET und SLEEP und WAKEUP) daurch kann der Host
USB Geräte in einem Energie sparendem Schlafmodus versetzen und auch wieder wecken.

Bei diversen USB AVR Programmier Projekten habe ich auf den Schaltplänen gesehen das manche zwischem BUS und mC 27 Ohm und manche 68 Ohm Wiederstände haben.
Ich vermute die kleineren Werte für mC's mit 3.3V Pegel und 68 Ohm für 5V Pegel.

Was würde passieren wenn ich aus irgend einem Grund nicht mit dem USB Bus im Takt wäre.
(z.B. weil der Prop. leider keinen Interrupt eingang hat)
Also der BUS noch die Beiden Leitungen treibt und ich auch auf eine der beiden leitungen noch HI drauf lege.

Addieren sich dann die Spannungen bzw. der Strom und Raucht dann der USB Controller im Host ab ?
(Ich weiss nur das der 2 Draht USB Bus Kurzschlussfest ist)

Wie die SIE (serial interface engine) die durch USB Controller Hardware implementiert wird
software mäsig funzt weis ich, dank der USB Specs.
Könnte als Programmierer sofort los legen will aber mir nichts "kaput schießen".

Wenn ich D- über 1,5K nach VSS verbinde dann bekomme ich schon mal den Dialog das der Propeller Chip als fehlerhaftes USB Gerät erkannt wird.
Der Fehler kommt natürlich nur weil ich die Host Anfrage (Enumeration der USB Geräteendpunkte) noch nicht beantworte.

Würde gerne am Wochenende den Prop. als USB Gerät betreiben ohne aber hardwaretechnisch Schiffbruch erleiden zu müssen.

Grüsse und Danke

Joshy
Zuletzt geändert von DJLinux am Mi 15. Jul 2009, 13:37, insgesamt 1-mal geändert.
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Wie treibt man Ein- und Ausgänge die den selben Bus benutzen

Beitrag von Rainer »

DJLinux hat geschrieben:Ich vermute die kleineren Werte für mC's mit 3.3V Pegel und 68 Ohm für 5V Pegel.
Joshy
ACHTUNG !
Genau umgekehrt. Die 68 Ohm sind für 3,3 V. Du musst ja mehr Spannung "vernichten" von den ankommenden 5V wenn Du die Propeller Ports nicht braten willst.

Da ist ein Diagramm und das dazugehörige Propellerprojekt:
http://propeller.wikispaces.com/USB+Slave

Allerdings habe ich irgendwo im Forum gelesen, daß Highspeed auf alle Fälle nicht gehen soll ... da hat der Prop zu wenig Puste. Keine Ahnung ob es stimmt.

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
DJLinux

Re: Wie treibt man Ein- und Ausgänge die den selben Bus benutzen

Beitrag von DJLinux »

Ja das muss ja umgekehrt sein nochmals Danke für den wichtigen Hinweis.

Mist den Spin und C Kompiler gibt es schon,
in der Object lib war kein USB für den Prop.
Daher wollte ich dem Prop am Wochende ein USB Interface verpassen.
Quasi als Einstand, gibt es aber wie ich nun erfahren muste auch schon.

Jetzt muss ich mir für das Wochenende ein neues Projekt ausdenken.
Über einen Fehler im Chip Layout (nicht dokumentierter Befehl) den Prop zum glühen bringen.

Wann kam der Prop für die breite Masse (DIL) auf dem Markt ?

Grüsse Joshy
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Wie treibt man Ein- und Ausgänge die den selben Bus benutzen

Beitrag von Rainer »

DJLinux hat geschrieben:Ja das muss ja umgekehrt sein nochmals Danke für den wichtigen Hinweis.

Mist den Spin und C Kompiler gibt es schon,
in der Object lib war kein USB für den Prop.
Daher wollte ich dem Prop am Wochende ein USB Interface verpassen.
Quasi als Einstand, gibt es aber wie ich nun erfahren muste auch schon.

Jetzt muss ich mir für das Wochenende ein neues Projekt ausdenken.
Über einen Fehler im Chip Layout (nicht dokumentierter Befehl) den Prop zum glühen bringen.

Wann kam der Prop für die breite Masse (DIL) auf dem Markt ?

Grüsse Joshy
Bah, nur nicht aufgeben.
1. Wer sagt denn, daß Dein Interface nicht besser wird.

2. habe ich die Erfahrung gemacht, daß ein Großteil der Leute im Parallax-Forum zwar ziemliche Freaks sind und so ziemlich jedes Problem lösen können, dann aber die Lösungen nicht nutzbringend anwenden. Zu wenig Phantasie ? keine Ahnung. Die werfen z.B. Boards auf den Markt das einem schwindelig wird, aber gemacht wird nie etwas daraus. Schon ein komisches Völkchen :)

3. Um etwas Eigennutz reinzubringen: Versuch halt mal, was Du mit Deinem mathematischen Wissen aus Deinem Propeller Soundmäßig rausholen kannst (ohne externe Hardware außer einem Lautsprecher/Kopfhörer). Alles was Du zum laufen bringst, bringen wir auch auf dem Hive zum laufen. Als Anfang kannst Du dir ja mal die Soundsachen im OBEX ansehen.
Schau mal was laserjones schon alles im "Sound-Thread" hier im Forum geschrieben hat. Ein von einem anderen Programm steuerbarer Synthesizer wäre schon mal nicht schlecht.

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Antworten