Hallo zusammen, ich möchte 60 ATtiny85 über je einen Pin als Eingang an einem ATmega168-Pin, welcher als Ausgang geschaltet ist, anschließen. Die Betriebsspannung ist 5 V. Ich kann mir bei 60 parallel geschalteten Eingängen durchaus vorstellen, dass die Eingangskapazitäten der ATtinys eine nicht unbedeutende Rolle spielen bei der Signalübertragung. Leider habe ich in den Datenblättern nichts zu den Eingangskapazitäten gefunden. Früher zu TTL-Zeiten war das einfacher: Da gab es einen FAN-Out für TTL-ICs, i.d.R 20. Das heisst, man konnte an einen TTL-Ausgang bis zu 20 TTL-Eingänge anschließen. Bei CMOS-Technologie verhält sich das ganze wohl etwas anders. Leider habe ich da zu wenig Kenntnisse. Daher meine Fragen: 1. Kann man überhaupt mit einem ATmega-Ausgang 60 ATtiny-Eingänge treiben? 2. Wie groß wird die Anstiegszeit eines Rechtecks sein? 3. Wäre es besser, einen (TTL-kompatiblen) MOSFET dazwischenzuschalten? Die Anstiegszeit könnte ich leicht berechnen, wenn ich die Kapazität der parallel-geschalteten 60 Eingänge kennen würde. Kenne ich aber leider nicht. Vielleicht kann da mal jemand aus dem Nähkästchen plaudern? Vielen Dank, Frank
@ Frank M. (ukw) Benutzerseite >1. Kann man überhaupt mit einem ATmega-Ausgang 60 ATtiny-Eingänge > treiben? Ja, wenn man nicht zu oft schaltet. >2. Wie groß wird die Anstiegszeit eines Rechtecks sein? Kann man abschätzen. tau = R * C R ist der Innenwiderstand vom ATmega, irgendwas um die 30 Ohm. C sind die parasitären Kapazitäten der ATtinys, sagen wir 5pF für jede Pin und 5pF pro Zuleitung, macht 600pF ins Summe, OK, sagen wir 1nF. Macht tau ~ 30ns, was in ca. 50ns Anstiegszeit resultiert. >3. Wäre es besser, einen (TTL-kompatiblen) MOSFET dazwischenzuschalten? Nicht zwingend. >Vielleicht kann da mal jemand aus dem Nähkästchen plaudern? Done. MFG Falk
wie schon der Vorredner sagt. Im Endeffekt ist nur die Treiberstärke relevant und wenn du genug Zeit hast, dann kannst du in der Regel jedes Fan-out laden. soviel anders sind ttl und cmos nicht. (natürlich muss man das interface auch richtig aufbauen, pegel, eingangsströme, usw.)
Wie schon gesagt - statisch oder quasistatisch wird es funktionieren. Alles auf einer Platine? Oder räumlich verteilt? Es kommt auch darauf an, ob du damit einen flankengesteuerten Interrupt auslösen willst (dafür gibts vorgeschriebene Mindeststeilheiten) oder den Eingang pollst. Bei längeren Leitungen würde ich auf jeden Fall einen Treiber dazwischenschalten. Man kann das ganze gut simulieren.
Doch, TTL ist prinzipiell anders, da jeder Eingang Strom aufnimmt bzw. abgibt. Dies verursacht am Ausgang Spannungsabfälle, irgendwann wird der zulässige Bereich verlassen.
Frank M. schrieb: > Bei CMOS-Technologie verhält sich das ganze > wohl etwas anders. Stimmt, da gibt es keinen FAN-Out mehr. Man kann ihn aber berechnen: Leckstrom: <1µA Ausgangsstrom: max 20mA FAN-Out = 20mA / 1µA = 20000 Es hängt also allein von der Datenrate auf der Leitung ab. Peter
Falk Brunner schrieb: >>2. Wie groß wird die Anstiegszeit eines Rechtecks sein? > > Kann man abschätzen. tau = R * C Danke, diese Formel wollte ich nutzen, konnte sie aber mangels Kenntnis von C nicht anwenden. > R ist der Innenwiderstand vom ATmega, irgendwas um die 30 Ohm. Bei U=5V und Imax=40mA komme ich mit R = U/I auf 125 Ohm. Oder sehe ich das zu einfach? > C sind > die parasitären Kapazitäten der ATtinys, sagen wir 5pF für jede Pin und > 5pF pro Zuleitung, macht 600pF ins Summe, OK, sagen wir 1nF. Macht tau ~ > 30ns, was in ca. 50ns Anstiegszeit resultiert. Wo hast Du die 5pF her? Sind das Erfahrungswerte? >>3. Wäre es besser, einen (TTL-kompatiblen) MOSFET dazwischenzuschalten? > > Nicht zwingend. Da ich mit 50-100ns durchaus zufrieden wäre, sollte damit der MOSFET tatsächlich nicht notwendig sein. Vielen Dank für Deine schnelle Antwort, das hilft mir weiter. Frank
@ Frank M. (ukw) Benutzerseite >> R ist der Innenwiderstand vom ATmega, irgendwas um die 30 Ohm. >Bei U=5V und Imax=40mA komme ich mit R = U/I auf 125 Ohm. Oder sehe ich >das zu einfach? Ja. Schau dir die Diagramme im Datenblatt an, Driver Pin Strength. R = delta U / delta I Beim ATmega88 komm ich auf ca. 0,4V/13mA=30,7 Ohm ;-) >Wo hast Du die 5pF her? Sind das Erfahrungswerte? Jo. MfG Falk
H.joachim Seifert schrieb: > Wie schon gesagt - statisch oder quasistatisch wird es funktionieren. Das dachte ich mir schon. > Alles auf einer Platine? Oder räumlich verteilt? Es ist eine ganz lange schmale Platine[1]: ca. 130 cm x 2 cm. Die ATtinys sind daher an einer langen "Perlenschnur" aneinandergekettet. > Es kommt auch darauf an, ob du damit einen flankengesteuerten Interrupt > auslösen willst (dafür gibts vorgeschriebene Mindeststeilheiten) oder > den Eingang pollst. Ich möchte tatsächlich einen flankengesteuerten Interrupt verwenden. Ein Prototyp mit 4 ATtinys auf Lochraster-Platine funktioniert auch bereits. Übertragen möchte ich das Signal bitsynchron mit 2 Leitungen: CLK und DATA. CLK sollte 10000/sec sein, 20000/sec wäre "schöner". Also nichts weltbewegendes. > Bei längeren Leitungen würde ich auf jeden Fall einen Treiber > dazwischenschalten. Was ist für Dich "lang"? Es geht mir um ca. 130 cm. Gruß und Dank, Frank [1] Tatsächlich sind es 4 hintereinandergeschaltete Platinen mit jeweils 30,4 cm. Diese sind über 4 möglichst kurze Kabelbrücken miteinander direkt verbunden: 5V, GND, CLK, DATA.
Hallo sieh auf der Platine am Eingang einen 74HC14 vor. Damit kannst du die Signale Puffern und regenerieren. Je 2 Inverter hintereinander.
Falk Brunner schrieb: > Ja. Schau dir die Diagramme im Datenblatt an, Driver Pin Strength. Danke, wieder was dazugelernt :-)
karadur schrieb: > sieh auf der Platine am Eingang einen 74HC14 vor. Damit kannst du die > Signale Puffern und regenerieren. Je 2 Inverter hintereinander. Begründung dafür? Soweit ich dank Falk gelernt habe, bin ich bei 50ns Anstiegszeit mit Fclk = 10kHz noch weit im grünen Bereich.
karadur schrieb: > wegen "flankengesteuerter Interrupt" Ja, die Bemerkung von H.joachim Seifert (crazyhorse) dazu hatte ich durchaus zur Kenntnis genommen. Seitdem suche ich im Datenblatt nach der "Mindeststeilheit" für einen PCINT, bin aber bisher nicht fündig geworden. Wenn Du da einen Wert hast, immer her damit ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.