-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Schnellste serielle Schnittstelle

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607

    Schnellste serielle Schnittstelle

    Anzeige

    Hallo Leute,
    Für mein Projekt brauche ich einen sehr schnellen Bus. Ein paralleler Bus schließt sich fast aus, da ich kaum mehr freie Pins am ATmega16 frei habe.
    Der Takt ist 16MHz.
    I²C (TWI) ist superlangsam, hat einen maximalen Takt von 100kHz (dazu kommen noch Adressbits)
    Der USART ist da etwas schneller, hat sowei ich weiß bei 16MHz einen max Takt von 1Mhz (oder 0,5MHz??).
    Das SPI scheint am schnellsten zu sein, mit einem maximalen Takt von 4MHz (1/4 des Systemtakts)

    Stimmt das alles, oder habe ich irgeneinen Fehler reingebastelt?
    Was ich so komisch finde ist, das I²C so furchtbar langsam ist. Wie kommt das?

    Gruß, Yaro

    Edit: meine Infos habe ich aus dem Buch "mikrocomputertechnick mit Controllern der Atmel AVR-RISC-Familie 4. Auflage"
    Ich habe gerade bei Wiki gelesen, dass I²C bis zu 3,4MHz Takt hat. Stimmt das?

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.545
    Der I2C geht soweit ich weiß bis 400kHz

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607
    Jetzt habe ich noch was neues herausgefunden:
    "Der Bus hat in der aktuellen I2C-Spezikation 2.1 von 2001 eine maximale
    Datenübertragungsrate von 3,4 Mbit/s (High-Speed Modus), jedoch ist der
    ATmega 16 ein Fast-Mode Gerät, daher können nur Übertragungsraten von
    maximal 400 kbit/s verwendet werden."

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.545
    Sher interresant, das habe ich nicht gewusst

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607
    Noch was neues:
    TWI stands for Two Wire Interface and for most marts this bus is identical to I²C. The name TWI was introduced by Atmel and other companies to avoid conflicts with trademark issues related to I²C. A description of the capabilities of TWI interfaces can be found in the data sheets of corresponding devices. Expect TWI devices to be compatible to I²C devices except for some particularities like general broadcast or 10 bit addressing.

    For the time being there is also no TWI high speed mode.

    If you have an I²C analyser it will work with a TWI set-up as well without modifications.

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    SPI geht bis hahlbe Takfrequeunz: 8MHz
    Gruß

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.384
    uart kann man im synchron modus glaube auch bis 8Mhz fahren bei 16Mhz clock! oder ich hab die formel im datenblatt falsch interpretiert (iss ja quasi nix anderes als SPI nur verschwendet der noch 2-3 bits für start und stop, was allerdings der fehlererkennung dienlich ist!)

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Wir haben I2C bei unsrem Bot im Einsatz, und haben mit einigen Experimenten die maximal stabile Frequenz auf 340-360 kHz eingestellt. Darüber funktionierte die Übertragung nicht mehr.

  9. #9
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Das Senden (bzw. als Master) geht der 8 MHz takt bei SPI, als Slave geht es soweit ich weiss nicht so schnell. Da sollten wenigstens 4 Takte je Bit vorgesehn sein. Damit man noch etwa Reserve hat, weil die Quarze ja nicht 100% gleich sind, wird man eventuell sogar 6 Takte nehmen müssen. Und weil das vermutlich nicht einzustellen ist, könnte es sein das 8 Takte je Bit wohl das minimum sein wird.

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607
    Als Slave braucht man für SPI tatsächlich 4 Takte, als Master gehen auch 2 (wieso eigentlich nicht auch 1???)
    Ich hatte SPI mal mit 8MHz laufen, mit 1/4 Takt (master und salve), und es lief ohne Fehler. Habe sogar interne Oszilatoren verwendet, die ja nicht so genau sind....

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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