-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Mehere Ausgangspins

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    24.03.2010
    Ort
    Steiermark
    Alter
    24
    Beiträge
    65

    Mehere Ausgangspins

    Anzeige

    Ich bin mir nicht sicher ob das der richtige Bereich für meine Frage ist aber ich versuch es mal.

    Ich möchte meinen µC mit mehr Ausgangspins ausstatten weiß aber nicht genau wie , deshalb hab ich mich im Internet zu dem Thema schlau gemacht und bin dann auf Schieberegister gestoßen, das Problem ist dass ich über keine Erfahrung mit Schieberegistern und der gleichen habe. Meine Frage ist also wie/ welches Schieberegister ich an meinen µC anschließen soll. Falls das eine Hilfe ist ich brauch das ganze für meine RP6 M32 Erweiterungsplatine.

    MfG Snow Wolf

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo Snow Wolf!

    Ich werde gerne versuchen dir zu helfen.

    In allgemeinem gibt es zwei Arten von Schieberegister (SR), wie im Code:

    1. Mit seriellen Eigang (Daten werden bitweise "eigeschoben") und parallellem Ausgang ("eigeschobene" Bits sind paralell z.B. als Byte am Augängen verfügbar). Solche SR werden als Erweiterung von Ausgangspins von einem µC benutzt und benötigen zwei davon (DATAIN und CLOCK).

    2. Mit paralellen Eingang (Daten werden paralell z.B. byteweise geladen) und seriellem Ausgang (geladenes Byte wird bitweise "ausgeschoben"). Solche SR werden als Erweiterung von Eigangspins von einem µC benutzt und benötigen drei davon (LOAD, DATAOUT und CLOCK).

    Beide verlangsamen die Geschwindigkeit des Datentransfers, z.B. für 8-bittige SR 8-fach.

    Wenn dich noch etwas daruber interressiert, dann bitte fragen.

    Code:
    
                           D D D D D D D D
                           7 6 5 4 3 2 1 0
    
                           A A A A A A A A
                           | | | | | | | |
                          .---------------.
         vom µC  DATAIN ->|               |
         vom µC  CLOCK  ->|               |
                          '---------------'
                                 1.
    
    
    
                                 2.
                          .---------------.
         zum µC DATAOUT <-|               |
         vom µC CLOCK   ->|               |
         vom µC LOAD    ->|               |
                          '---------------'
                           A A A A A A A A
                           | | | | | | | |
    
                           D D D D D D D D
                           7 6 5 4 3 2 1 0
    
    
    
    (created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
    Geändert von PICture (13.03.2011 um 01:03 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Hallo,
    es gibt auch Portexpander, die man über den I²C-Bus ansteuern kann, wie z.B. den PCF8574. Damit kannst du 8 zusätzliche Ein-/Ausgänge erhalten. Es lassen sich auch mehrere ICs von der Sorte betreiben, wenn du ihnen unterschiedliche I²C-Adressen zuordnest.
    Grüße, Bernhard

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    24.03.2010
    Ort
    Steiermark
    Alter
    24
    Beiträge
    65
    Es sind beide Möglichkeiten sehr interessant nur das Problem ist das ich keinerlei Erfahrungen mit den Systemen habe, und mir deshalb etwas schwer tue mir etwas darunter vorzustellen.

    MfG Snow Wolf

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Damit du verstehst wie das funktioniert musst du dich in den jeweiligen Bus einlesen. Wie schon geschrieben wurde gibt es mehrere Möglichkeiten eine Erweiterung zu verwenden.
    Wenn du dich für die Schieberegister interresierst musst du dich in den SPI (Seriell Peripheral Interface) Bus einlesen. Der Nachteil bei diesem Bus ist, wie schon Picture geschrieben hat, das du für den Eingabe und Ausgabe jeweils eigene ICs brauchst.

    Wenn du dich für I2C interresierst gibt es dafür Portexpander, wie den PCF8574, den du für die Eingabe und Ausgabe nutzen kannst. Wie du ihn ansteuerst steht im Datenblatt (z.B. http://www.nxp.com/documents/data_sheet/PCF8574.pdf ).
    Ein weiterer Vorteil vom PCF8574 ist, dass du einen Interruptausgang hast. Wenn sich am Port etwas ändert (wenn als Eingang genutzt) wird ein Interruptsignal erzeugt. Das hat den Vorteil, dass der PCF nur dann ausgelesen werden muss, wenn sich etwas ändert. Das erspart dem µC Rechenzeit.

    Für welchen Bus du dich entscheidest ist Geschmackssache. Du solltest dir auch überlegen, was du noch brauchen wirst. Am SPI Bus kannst du z.B. auch Funkübertragungssysteme nutzen, aber auch SD Karten auslesen/beschreiben.
    Für den I2C Bus gibt es auch sehr viele sinnvolle Erweiterung wie z.B. Echtzeituhr (RTC), Analog Ein- bzw Ausgabe,....

    MfG Hannes

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    Zitat Zitat von Snow Wolf Beitrag anzeigen
    Es sind beide Möglichkeiten sehr interessant nur das Problem ist das ich keinerlei Erfahrungen mit den Systemen habe, und mir deshalb etwas schwer tue mir etwas darunter vorzustellen.
    Und jetzt ?

    An dem Punkt hab ich folgendes gelesen:
    1. http://www.rn-wissen.de/index.php/AV...leicht_gemacht
    2. http://www.rn-wissen.de/index.php/Portexpander_am_AVR

    Dazu immer versucht die zugehörigen Datenblätter zu verstehen und dann experimentiert.

    Herausgekommen ist bisher das:
    http://www.roboternetz.de/community/...OM-u.-ATtiny45

    Danach sollten für Dich Modifikationen an der M32 Platine nicht mehr so unüberwindlich erscheinen. Konkrete Fragen werden bestimmt im Forum beantwortet.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    24.03.2010
    Ort
    Steiermark
    Alter
    24
    Beiträge
    65
    Dann werde ich es einmal mit dem Port-Expander PCF8574 versuchen nur dann stellt sich die Frage wie ich den Port-Expander PCF8574 an den I²C Bus anschließe.


    MfG Snwo Wolf

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Das steht im Datenblatt. Du brauchst VCC (positive Versorgungsspannung), GND (0V), SCL (Taktleitung für den Bus) und SDA (Datenleitung für den Bus). Beim Bus darfst du den Pullup Widerstand nicht vergessen.

    MfG Hannes

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    24.03.2010
    Ort
    Steiermark
    Alter
    24
    Beiträge
    65
    Dann werde ich mir mal ein paar von den IC's kaufen und herumprobieren. Aber es stellen sich noch einige Fragen wie kann ich die Adresse des IC's ändern, und wie kann ich die Ausgänge über I²C schalten.

    MfG Snow Wolf

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    09.05.2010
    Ort
    Baden Württemberg
    Beiträge
    11
    Steht alles im Datenblatt...
    http://www.nxp.com/documents/data_sheet/PCF8574.pdf
    Von den 7 Adressbits des I2C-Bus sind beim PCF8574 4 festgelegt, die anderen 3 kann man über die Leitungen A0-A2 einstellen. Damit sind 8 Bausteine an einem Bussegment möglich. (der PCF8574A hat einen anderen festen Adressteil, so dass damit nochmal 8 Bausteine möglich sind - siehe Fig.10, Seite 9 im Datenblatt)
    Wenn man aber so viele IOs braucht, nimmt man besser gleich 16-Bit oder gar 32-Bit Portexpander.
    Der 8574 hat Quasi-Bidirektionale Ein/Ausgänge. So wie beim alten 8051 ist ein Pin dann als Eingang verwendbar, wenn eine 1 im Output-Register steht. Wenn man eine 0 Schreibt, dann ist der Pin außen auf 0 gezogen. Jede "harte" Verbindung zu VCC muss dann vermieden werden. Also als reinen Ausgang einfach die gewünschten Bits setzten und löschen. Der Baustein kann bei einer 1 am Ausgang aber kaum Strom treiben. LEDs und Taster daher besser Low-Aktiv betreiben.
    Bei den moderneren Bausteinen (8-Bit PCA9554, 16-Bit PCA9555) müssen die Ausgänge zunächst über das Port-Configuration-Register auf Ausgang geschaltet werden. Ein Schreibvorgang auf einen Eingangspin bleibt hier Wirkungslos.
    Siehe 6.2 in http://www.nxp.com/documents/data_sheet/PCA9555.pdf

    tschuessle
    Bernhard

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •