-         

Ergebnis 1 bis 6 von 6

Thema: Soft-SPI und Soft-I2C

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.03.2005
    Ort
    Lübeck
    Beiträge
    315

    Soft-SPI und Soft-I2C

    Anzeige

    Moin,

    ich möchte verschiedene Sensoren an meinen ATmega anschließen. Doch leider habe ich das Problem, dass einige mit 5V, andere mit 3V laufen. Busübersetzer auf andere Pegel habe ich hier, die Frage ist nur, ob ich alles an einen ATmega anschließen kann. Dafür würde ich dann nämlich auch 2xSPI und 2xI2C benötigen.
    Kennt jemand von Euch einen Link, wo es SPI und I2C als Soft-Variante gibt? Soft-SPI gibt es hier im RN-Wissen, schön wäre aber eine Bibliothek für beides.

    Vielen Dank, Ozzy

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Welche Programmiersprache?

    Prinzipiell ist es aber auch möglich, innerhalb eines Busses von 5V auf 3,3V zu wechseln. Bei SPI ist es einfach, weil die Leitungen alle unidirektional sind, bei I2C ist es etwas schwieriger, geht aber auch.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.04.2005
    Beiträge
    181
    Hallo,

    in C habe ich Soft I2 schon gemacht für C6805 (Gott hab ihn selig) und AVR.
    Bitte melden, wenn interessert

    Bernhard

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.03.2005
    Ort
    Lübeck
    Beiträge
    315
    Moin, Interesse besteht! Bitte sei doch so nett, und schicke mir den Code, Mail-Adresse kommt per PN.

    Vielen Dank!

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Kandel
    Alter
    29
    Beiträge
    1.220
    Warum versuchst du nicht, mit einer I2C und einer SPI-Schnittstelle auszukommen?
    I2C-Devices sind von Haus aus in der Lage, zu mehreren an einem Bus zu hängen, Schaltungsvorschläge bezüglich des Level-Shiftings findest du auch auf i2c-bus.org
    SPI-Devices haben idr. ein Slave-Select Signal, so kannst du mehrere Devices an einem Bus betreiben und immer eines auswählen. Auch hier ist Level-Shifting keine große Kunst.

    mfG
    Markus

    Edit: Es würde dann auf die vorhandenen Hardwareschnittstellen rauslaufen, um das nur nochmal zu verdeutlichen.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.04.2005
    Beiträge
    181
    Hallo,

    ich verwende 2 getrennte I2C Busse, einer Hard I2C, der andere Soft.
    Der Grund ist, der Hard I2C geht auf meinen Hausbus. Über einige 10 Meter geht es hier doch recht fehlerbehaftet. Da hängen aber intelligente Slaves dran, selbst alles Mega8 Controller. Mithilfe der Intelligenz in Master und Slaves fahre ich ein fehlererkennendes Protokoll.
    Deshalb hängt der dumme Slave PCF8583P, eine Echtzeituhr, an einem eigenen Soft I2C Strang, damit er die Störungen nicht mitbekommt.
    Bernhard

Berechtigungen

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