60 ATtiny-Eingänge an einem ATmega-Ausgang

Moderator Persönliche Seite #2573248
Lesenswert?

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
#2573262
Lesenswert?

@  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
Gast #2573271
Lesenswert?

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.)
#2573272
Lesenswert?

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.
Moderator Persönliche Seite #2573279
Lesenswert?

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
#2573305
Lesenswert?

@  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
Moderator Persönliche Seite #2573317
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren