- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 14

Thema: Serielles EEPROM ST24C16 an Mega8 anschließen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte Avatar von Thomas E.
    Registriert seit
    29.12.2011
    Beiträge
    638
    Hallo!


    Vielen Dank für deine Antwort.
    Jetzt ist mir einiges klarer.


    Grüße
    Grüße
    Thomas

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Vielleicht eine blöde Frage aber die kam mir gerade in den Kopf.....was spricht dagegen die internen Pull-ups zu verwenden?
    Sind die vom Wert her zu groß (hab den Wert gerade nicht im Kopf)?
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Hallo,

    Zitat Zitat von Kampi Beitrag anzeigen
    .....was spricht dagegen die internen Pull-ups zu verwenden? Sind die vom Wert her zu groß (hab den Wert gerade nicht im Kopf)?
    hab ich nicht probiert, könnte mir aber Verwicklungen mit den Bascom Routinen vorstellen. Um den internen Pullup einzuschalten, müßte SDA bzw SCL vom Master (µC) als Input konfiguriert werden und dann in dem PORT Register das entsprechende Bit auf "1" geschrieben werden. Da die gleichen Leitungen aber auch als Ausgang genutzt werden und dann das Portregister für die Ausgabe wieder überschrieben wird, wäre der Endzustand für mich ungewiß.

    Habe deshalb die in der Bascom Hilfe vorgeschlagene HW Konfiguration genommen.

    Der Wert der Pullups mit 1kOhm ist relativ niedrig. Wenn man googelt, findet man, daß die meisten Anwender Werte zwischen 1kOhm und 10kOhm benutzen. Die internen Pullups des Mega8 liegen wohl zwischen 20kOhm und 50kOhm.

    Im Datenblatt zum ST24C16 gibt es auf Seite 4 ein Diagramm, das den maximalen Wert des Pullups in Abhängigkeit zur Kapazität der Busleitungen zeigt. Weil der Speicher vermutlich nah am µC liegt, kann man danach ziemlich sicher 10kOhm oder sogar noch höhere Pullups nehmen.

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

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Dank dir für die Antwort.
    Stimmt....das hatte ich gar nicht bedacht, das die Pull-ups nur bei Input-Pins geschaltet werden können, aber I²C selber ja Output-Pins braucht.
    Vermutlich wird es dann nicht nur im Bascom zu ungereimtheiten kommen sondern auch im AVR Studio.
    Ich hab das gestern mal mit PSoCs von Cypress getestet (da kann man im Pinout Editor die "Eigenschaften" jedes Controllerpins verändern). Nur die IDE setzt die Pins für I²C automatisch auf "Strong" ganz egal ob man da vorher High-Z, Pull-down oder Pull-up eingestellt hat.
    So einen "Luxus", das sie die Pins passend der eigentlichen Funktion einstellen, haben die IDEs für die Atmel Controller wahrscheinlich nicht
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Hallo Kampi,
    bisher kenne ich nur Bascom für den µC Bild hier   und da ist mir ein Pinout Editor noch nicht aufgefallen Da übernehmen dann bestimmte Bascom Anweisungen die Konfiguration der Pins. Aufgefallen ist mir das, wenn ich mich recht erinnere, zum erstenmal bei der Konfiguration zum SW-UART mit der OPEN Anweisung. Ist im Nachhinein betrachtet eigentlich klar - aber man erlebt ja jedes mal wenn man was Neues anfängt, immer wieder Überraschungen

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

  6. #6
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Zitat Zitat von Kampi Beitrag anzeigen
    Vielleicht eine blöde Frage aber die kam mir gerade in den Kopf.....was spricht dagegen die internen Pull-ups zu verwenden?
    Sind die vom Wert her zu groß (hab den Wert gerade nicht im Kopf)?
    Die anderen BUS-Teilnehmer müssen in der Lage sein, die Leitungen auf GND zu ziehen. Die internen Pullups sind dafür zu hochohmig und die meisten IO-Stufen versagen dann. Daher findet man in allen TWI-Schaltungen auch Pullups von 1 bis 10k.

    EDIT:
    Gab shcon eine Antwort.
    Grüße,
    Daniel

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Zitat Zitat von ePyx Beitrag anzeigen
    Die anderen BUS-Teilnehmer müssen in der Lage sein, die Leitungen auf GND zu ziehen. Die internen Pullups sind dafür zu hochohmig und die meisten IO-Stufen versagen dann. Daher findet man in allen TWI-Schaltungen auch Pullups von 1 bis 10k
    @ePyx: Bist Du sicher. Ich denke eher so, daß große Werte für den Pullup das auf GND ziehen erleichtern. Wenn die Busteilnehmer den GND wegnehmen, müssen die Pullups die Leitungen nach VCC ziehen und das gegen die Leitungskapazität - müssen die Leitungskapazität aufladen. Damit das schnell geht und damit die Signalform gut bleibt, sollten die Widerstände nicht zu groß sein.

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

  8. #8
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Naja jeder Busteilnehmer der senden will, muss sda auf low ziehen. Sprich nach GND.

    Die Eingangs- und Ausgangskreise von Master- und Slave-Bausteinen werden als Wired-AND-Schaltung bezeichnet. Im Ruhezustand sind die als Open-Collector ausgeführen Transistoren gesperrt und der Bus befindet sich auf High-Pegel. Zur Ausgabe einer logischen 0 wird der Transistor leitend und zieht die entsprechende Leitung auf Masse. Im umgekehrten Fall bleibt die Basis des Transitors stromlos und die Leitung liegt, bedingt durch den Pull-up-Widerstand auf logisch 1. Die Eingangskreise erkennen die Pegeländerungen auf den Busleitungen und können sie dann entprechend auswerten.

    Umso größer die Widerstände umso weniger Strom. Sprich die Tranistoren der Eingangs-/Ausgangsstufen schalten eventuell nicht richtig. Konkrete Werte dafür gibt es nicht. Die einen behaupten 1kOhm tut es, andere nehmen die goldene Mitte von 4,7 kOhm. Da 10 kOhm bei 5 Volt 500µA entspricht, ist das wohl eine Grenze aus der Praxis. Man hat damit einfach sichergestellt, dass nahezu jeder Transistor durchsteuert. Egal wie schlecht er ist.
    Grüße,
    Daniel

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Danke für die Erklärung und ich dachte schon es wär einfach

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

  10. #10
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Bzgl. der Leitungskapzität gibt man ja die Maximallänge der Busleitung an, da dort dann der Kapazitätsbelag/Länge relevant wird. Ansonsten kann man aber auch ein akives Glied zwischen schalten. Im einfachsten Fall wären das 2 Mosfets und 4 Widerstände.

    Halt sone Art Verstärker/Repeater.
    Grüße,
    Daniel

Ähnliche Themen

  1. Serielles Anschlussproblem ???
    Von Looser im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 11.08.2008, 21:13
  2. Serielles (IIC) EEPROM richtig auslesen??
    Von Kandy im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 01.06.2008, 15:52
  3. Serielles Programmierkabel
    Von ch4 im Forum AVR Hardwarethemen
    Antworten: 24
    Letzter Beitrag: 07.03.2006, 22:52
  4. Serielles LCD mit AVR selberbauen
    Von artools im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 23.10.2005, 21:15
  5. Serielles Eeprom
    Von R.H.D.B. im Forum PIC Controller
    Antworten: 3
    Letzter Beitrag: 03.03.2005, 09:44

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress