-
        

Ergebnis 1 bis 7 von 7

Thema: Baudrate, Geschwindigkeit

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Alter
    36
    Beiträge
    170

    Baudrate, Geschwindigkeit

    Anzeige

    Hi.

    Ich glaube ich hab nen ziemlich triviales Problem aber komme einfach nicht auf ne gescheite Lösung.

    Ich will z.B. den Inhalt eines EEPROM (AT24C32) über RS232 verschicken. Wie lange brauche ich dafür?

    Datenmenge ist also 4kByte
    RS232 mit 19200 Baud/s mit 8N1

    8N1 heisst doch: 8Bit - kein parity - 1 Stopbit

    also hab ich 4096[Byte]*8[Bit/Byte] = 32768[Bit] zum versenden.

    da ich immer nach 8 ein Stopbit brauche, sind das nochmal 4096 Stopbits, die dazukommen.

    macht also zusammen 36864 Bits zusammen.

    Kann ich dann annehmen, das ich dafür
    36864[Bit]/19200[Bits*s^-1] = 1,92 [Sekunden] brauche?

    Das kommt mir irgendwie bissle schnell vor, aber wahrscheinlich stimmt meine ganze Rechnung nicht

    Kann das mal einer mit ner Beispielrechnung erklären? Danke

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    Fast richtig, es fehlt noch das Startbit.
    8n1 sind insgesamt 10 Bits pro Byte.
    Startbit, 8 Datenbits und Stopbit.
    4096 Byte werden also als 40960 Bits übertragen,
    und brauchen dann 40960/19200 also 2,13s.

    Gruß Jan

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2005
    Ort
    Hamburg <-> Bremen
    Alter
    37
    Beiträge
    112
    Auf jeden Fall hast Du noch das Startbit vergessen...
    Ansonsten sollte das meiner bescheidenen Meinung nach aber so hinhauen...

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Alter
    36
    Beiträge
    170
    Ach das Startbit, naja ok

    Hmm immerhin fast richtig. Das das doch so schnell geht hätte ich nciht gedacht.

    Ich brauch hier für ein paar Daten nämlich ewig lange - ich sende bisher immer Befehle vom PC zum µC und der gibt dann die Antwort drauf. Irgendwie umständlich, ich sollte wohl besser das ganze EEPROM verschicken und die Daten dann vom PC auseinandernehmenlassen, wenn das schon so schnell geht.

    Jedenfalls Danke!

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Alter
    36
    Beiträge
    170
    Jetzt stellt sich eine weitere Frage - ich kann ja nicht über I2C alles auf einmal lesen bzw. alles auf einmal schreiben.

    Ich hab das Datenblatt (http://www.atmel.com/dyn/resources/p...ts/doc0336.pdf) jetzt schon x-mal gelesen, aber komm irgendwie nicht ganz klar.

    Das EEPROM ist aufgebaut mit 4096 mal 8 Bits. Die sind irgendwie aufgeteilt in 256 Seiten mit jeweils 32 Bytes?!? Daraus werd ich nicht schlau...

    Jetzt steht da noch was mit "32-Byte-Page Write Mode", mit dem ich aber auch nicht richtig was anfangen kann. Heißt das, das ich mit einem Schritt nur 32Bytes schreiben kann und dann warten muss bis das EEPROM das verarbeitet hat?
    Dann würde ich also 128x32 Bytes schreiben, immer maximal 10ms warten müssen?

    D.h..
    --> 2,13 [sek] für die Serielle Datenübertragung
    + 1,28[sek] ( 128*10[ms] )
    = 3,41 Sekunden zum komplett alles beschreiben ?!?
    (ja da fehlt noch die Zeit zum übertragen per I2C auf das EEPROM...)

    Beim Lesen hätte ich laut meiner Interpretation diese Wartezeit nicht, aber kann ich das komplette EEPROM auf einmal lesen?

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Wie der EEPROM intern organisiert ist, kann dir egal sein. Jedenfalls werden beim 'Page Write' maximal 32 Byte unterstützt, beim 'Sequential Read' gibt es keine Beschränkung. Nach dem Senden der zu brennenden Bytes wartest du bis das Teil fertig ist, wie unter 'Acknowledge Polling' beschrieben. Danach geht's weiter.

    Über einen UART 8n1 von 19.2kbit/s bekommst du recht genau 1.92 kByte/s. Allerdings ist das nur die reine Übertragungszeit ohne die Zeit zur Verarbeitung oder wo der PC/µC rumschnarcht oder auf die Gegenseite wartet.
    Disclaimer: none. Sue me.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Alter
    36
    Beiträge
    170
    Dann ist das schreiben klar.

    Bbeim lesen kann ich also - so wie du sagst - die kompletten 4096 Bytes auf einmal lesen? Oder doch nicht?

Berechtigungen

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