Widerstände für SPI berechnen

  • Hallo,


    hab mal ein Bild von einem alten Testaufbau ausgekramt.


    Es laufen 3 Schnittstellen ohne jegliche Wandler am Raspi, und noch ein paar digitale Ein und Ausgänge.


    1. ein MAX7219 für die LED-Anzeige über SPI

    2. Das Display über I2C

    3. (sieht man schlecht oben rechts) eine PHAT-DAC Soundkarte über I2S


    Und das alles ohne Pegelwandler.


    Viele Grüße

    Thotaa


  • Und das alles ohne Pegelwandler.

    das ich hier schreibe ist auch ein Wunder, ich habe bei rot über die Strasse als Fussgänger und bei rot über die Kreuzung als Autofahrer überlebt.

    Ist das nun der Beweis das rot das neue grün ist?

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Hallo Jar,


    sehe ich auch so.


    Um zurück auf das Thema zu kommen, wenn der Arduino der Master sein soll (ob der das kann weiß ich nicht) so muss man die SPI des Raspi entsprechend konfigurieren (er liefert dann kein CLK und CS Signal und die Pullups sind abgeschalten), wenn das geht, hab das aber auch noch nicht gemacht.


    Sinnhaftig, ist es jedenfalls nicht da die SPI (Serial Peripherie Interface, das sagt der Name eigentlich schon) für eine solche Kommunikation ursprünglich nicht gedacht ist.

    Wie wärs mit I2C oder besser RX/TX (bei zweitem braucht man aber dringend einen Pegelwandler, damit die Pins am Leben bleiben).


    Hier hilft, Versuch mach kluch.


    Viele Grüße

    Thotaa

  • Hallo Jar,


    die SPI ist dafür ausgelegt Slave-"Chips" an einen Master zu koppeln und das absichtlich ohne Pegelwandler.

    Soviel zu roten Ampeln.


    Viele Grüße

    Thotaa

  • Ist das nun der Beweis das rot das neue grün ist?

    Hallo Jar,


    sehe ich auch so.

    du würdest also empfehlen immer bei rot über Ampeln zu laufen oder fahren?

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Bei SPI Betrieb ist der Ausgangstreiber bei High hochohmig somit kann nur über den auf 3,3V geschalteten Pullwiderstand (50kOhm) Strom fließen.

    Bei Low ist der Ausgangstreiber niederohmig zu 0V (GND).


    Die Ausgangstreiber der Slaves sind ebenfalls für High nur hochohmig und für Low niederohmig gegen GND.

    Ist das nicht das, was ich oben beschrieben habe?
    Wenn der Ausgangstreiber des Arduino hochohmig mit Pullup geschaltet ist (also auf INPUT mit PULLUP), legt er über den Pullup 5 V auf die Leitung. Der Eingang des Pi ist auf INPUT gestellt hochohmig. Die 5 V sollten da eingentlich nicht anliegen. Ob der EIngang das überlebt, ist fraglich.
    Als mögliche Lösung könnte man den Pullup auf HIGH stellen, er würde dann die 5 V runterziehen. Beide Pullups (zwischen 5 V und 3,3 V) würden einen Spannungsteile bilden. Die Lösung ist aber extrem schlecht bestimmbar, wenn man die genaue Größe der Pillups nicht kennt. Angenommen, sie sind gleich groß, bleiben 4,15 Volt, was auch nicht toll ist.
    Also nach wie vor - deine Darstellung entbehr jeder greifbaren technischen Detaillierung.


    Wenn die Spannung auf den Leitungen grundsätzlich immer vom Pi bestimmt wird (Ausgang direkt mit dem High-Pegel, Eingang mit Pullup, den der Arduino auf GND zieht - auch das hab ich oben beschrieben) bleibt mir immer noch die Frage offen, wie man den Geräten sagt, wer Master und Slave ist und wer die Spannungspegel bestimmt. Wenn du mir die zugehörigen Funktionen der Library nennst, glaub ich dir das sofort. Ich halte das aber nach wie vor für unzutreffend.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • ob du gerade vom Pi oder vom Arduino sprichst

    Hallo Gnom,


    ich sprach von der SPI im allgemeinen.


    Viele Grüße

    Thotaa

    Wenn der Ausgangstreiber des Arduino hochohmig mit Pullup geschaltet ist (also auf INPUT mit PULLUP), legt er über den Pullup 5 V auf die Leitung. Der Eingang des Pi ist auf INPUT gestellt hochohmig. Die 5 V sollten da eingentlich nicht anliegen. Ob der EIngang das überlebt, ist fraglich.

    Das hängt wie gesagt von dem Wert des Pullwiderstandes ab.

    Die Lösung ist aber extrem schlecht bestimmbar, wenn man die genaue Größe der Pillups nicht kennt. Angenommen, sie sind gleich groß, bleiben 4,15 Volt, was auch nicht toll ist.

    Die parasitäre Diode (wie Jar sie nennt) verhindert das und der Pegel liegt bei ca. 3,8V.

    Also nach wie vor - deine Darstellung entbehr jeder greifbaren technischen Detaillierung.

    Ich klink mich hier aus, Gnom hast es wohl immer noch nicht verstanden, oder willst es einfach nicht verstehen.


    An Rooki_Pi, meine Empfehlung koppel den Arduino nicht mit SPI an den Raspi. Macht zu viele Probleme.


    Viele Grüße

    Thotaa

  • Die parasitäre Diode (wie Jar sie nennt) verhindert das und der Pegel liegt bei ca. 3,8V.

    die darf man aber nicht so nutzen das sie überlebt ist rein zufällig, wie bei rot über die Strasse!


    Kannst ja gerne das Experiment machen AVR über VCC Port gespeist ohne VCC anzulegen und PI über VCC Port gespeist ohne VCC anzulegen.

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • für die Kopplung Arduino Raspberry über TX/RX gibt tausende Anleitungen im Netz.

    warum in die Ferne schweifen, reicht dir mein Beitrag nicht?

    Atmel Atmega 8 an Raspberry Pi

    gebaut und erprobt, aber wie hies es schon früher?


    1615-rs232-jpg


    Es gibt viele Wege nach Rom.......

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Das hängt wie gesagt von dem Wert des Pullwiderstandes ab.

    Also, bei allem Respekt - ich habs oben auch schon gesagt: 5 V sind 5 V! Mit einem Widerstand kannst du den Strom begrenzen. Aber wenn er gegen einen hochohmigen Eingang geht, ist der Strom null und die 5 V bleiben 5 V. Mag sein, dass er es überlebt, wenn der große Pullup den Strom auf zweistellige µA-Werte beschränkt, aber Spezifikationskonform ist das nicht.


    Seltsam, dass du Rooki nun plötzlich empfiehlst, es wegen der "vielen Probleme" doch nicht mit SPI zu machen. Und deine Links zeigen plötzlich Levelshifter und USB-Anbindungen... Mir deucht, dass du deine eigenen Aussagen nicht glaubst.

    Und dass ich mal mit Jar einer Meinung bin ein historischer Moment! :^^:

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!