Forum: Mikrocontroller und Digitale Elektronik TTL 5x5 Schaltmatrix 10 MHz gesucht


von Holger M. (nezaya)


Lesenswert?

Hallo

Ich suche einen Baustein, mit dem ich TTL Signale von 5 Eingängen auf 5
Ausgänge schalten kann.

Dabei soll es möglich sein je einen Eingang auf (k)einen, oder mehrere
Ausgänge zu schalten, also eine 1:m Verknüpfung. Das ganze soll mit TTL
Pegeln funktionieren und Signale bis <= 10 MHz (min. 6MHz) durchleiten
können.

Im Prinzip also so eine Art 5x5 TTL Schaltmatrix. Das ganze sollte sich
möglichst einfach per uC ansteuern lassen und ein handlötbares Gehäuse
(kein BGA, etc...) besitzen.

Bisher habe ich leider nur überdimensionierte Audio/Video Schaltmatrizen
gefunden.

Kennt jemand so ein IC? Für Infos wäre ich dankbar.

Eventuell kennt ja jemand auch ne andere Möglichkeit das zu realisieren. 
Ich hatte schon an einen ATTiny gedacht, aber der wird, selbst bei 20 
MHz, ein wenig zu schwach sein, oder?

Gruß Holger

von A.K. (Gast)


Lesenswert?

Sowas nennt sich RAM.

von Jörg R. (Firma: Rehrmann Elektronik) (j_r)


Lesenswert?

@Holger:
das macht man mit Multiplexern. Die nächstgrößeren haben 8 
Signaleingänge und 3 Adresseingänge, mit denen man einen der Eingänge 
auf den Ausgang schalten kann. Davon brauchst Du dann 5 Stück (einer pro 
Ausgang). Der bekannteste TTL-Vertreter mit dieser Funktion dürfte der 
SN74(xx)151 sein.

Jörg

von Lars S. (lars)


Lesenswert?

Hallo,
das kann man auch mit einem GAL machen.

Gruß Lars

von Holger M. (nezaya)


Lesenswert?

Prinzipiell wäre das mit einem RAM zu lösen.

Ich bräuchte als Eingänge 5 Adressleitungen. Das wären bei 8 Bit Breite 
2^5*8 = 256 Bit im RAM.
Dann müsste ich das RAM so mit Werten füllen, dass z.B. wenn an i0 ein 
high Pegel anliegt, o3 high ist und so weiter.
Außerdem kann das ganze dann wärend einer Konfigurationsänderung nicht 
weiter laufen.

Ich hatte aber mehr an eine Schaltmatrix gedacht, die wirklich eine 
"physikalische" Verbindung herstellt.

Ein GAL ist da schon besser. Das Problem ist auch hier das 
umkonfigurieren, da die Konfiguration auf einen Rutsch übernommen werden 
soll, ohne die Verbindungen lange zu unterbrechen. Oder geht das 
elegant?

@Jörg:
Multiplexer sind ne gute Idee. Hätte ich auch drauf kommen können.
Alles in einem Chip wäre aber schöner wegen Platzmangel.

Schaltbeispiel
i: Eingänge ((k)ein/mehrere Ausgänge an einem Eingang)
o: Ausgänge (immer nur ein Eingang auf einem Ausgang)

i0-          x
i1-             x
i2-
i3-       x
i4- x  x
    |  |  |  |  |
   o0 01 02 03 04

Danke schon mal für die Antworten.

Vielleicht kennt ja jemand doch noch ne andere Lösung.

von Jörg R. (Firma: Rehrmann Elektronik) (j_r)


Lesenswert?

@Lars:
>das kann man auch mit einem GAL machen.

Ein GAL dürfte damit überfordert sein. Du brauchst 5x3 Adresseingänge, 5 
Signaleingänge und 5 Ausgänge = 25 Signalleitungen. Alleine die 
Pin-Anzahl des größten GALs (22V10, DIP24) kommt schon nicht hin. Man 
kann natürlich mehrere GALs nehmen, aber dann kann man auch gleich 5 x 
74151 nehmen.
Mit einem CPLD sollte es schon eher gehen, das braucht aber auch viel 
Strom.

Jörg

von Falk (Gast)


Lesenswert?

@Jörg R.

> Ein GAL dürfte damit überfordert sein. Du brauchst 5x3 Adresseingänge, 5

Yep. Und DIE ziehen wirklich saumässig Strom.

> Mit einem CPLD sollte es schon eher gehen, das braucht aber auch viel
> Strom.

Naja, die zeihen wesentlich weniger als ein GAL. Und die Coolrunner von 
Xilinx, oder MACH-Zero Power von Lattice sind echte CMOS Bausteine und 
ziehen sehr wenig Ruhestromo (~100uA).

MFG
Falk

von Jörg R. (Firma: Rehrmann Elektronik) (j_r)


Lesenswert?

@Falk:
>Naja, die zeihen wesentlich weniger als ein GAL. Und die Coolrunner von
>Xilinx, oder MACH-Zero Power von Lattice sind echte CMOS Bausteine und
>ziehen sehr wenig Ruhestromo (~100uA).

Das ist schon richtig, aber ich meine trotzdem, dass es keinen Sinn 
macht, fünf 16-polige Standard-TTL-ICs durch ein CPLD zu ersetzen. Im 
Vergleich zu 74HCxxx- oder 74ACxxx-Bausteinen, die genau für diese 
Aufgabe geschaffen wurden dürfte der Stromverbrauch von CMOS-PLDs um 
Größenordnungen höher liegen. Auch für die Kosten und den Platzbedarf 
sehe ich in diesem Fall keine wirklichen Vorteile.

Jörg

von Falk (Gast)


Lesenswert?

@Jörg R.

> Das ist schon richtig, aber ich meine trotzdem, dass es keinen Sinn
> macht, 5 16-polige Standard-TTL-ICs durch ein CPLD zu ersetzen. Im
> Vergleich zu 74HCxxx- oder 74ACxxx-Bausteinen, die genau für diese
> Aufgabe geschaffen wurden dürfte auch der Stromverbrauch von CMOS-PLDs
> um Größenordnungen höher liegen. Auch für die Kosten und den Platzbedarf

Hmm, mal schauen.

Da wäre ich vorsichtig.

---Ruhestrom:

74HC151, ist laut NXP Datenblatt vom Typ MSI
Ruhestrombedarf typ 8uA (25C), max. 80uA (-40C/+85C)

das Ganze x5 macht 40 bzw. 640 uA

Der XCR3032XL hat 17 bzw 100 uA

1:0 für den CPLD

---Platzbedarf:

74HC151 im TSSOP16: 5 x 6,4 mm; = 32 mm^2
 x5               : = 160 mm^2 (und da sind minimale Bestückungsabstände 
und Platz für Leiterbahnen noch nicht drin!)

XCR3032XL im VQ44: 12x12mm, = 144 mm^2 (das CS48 mit 7x7mm lassen wir 
hier mal raus ;-)

2:0 für den CPLD

---Kosten:

74HC151 bei Reichelt: 31 Cent (und das ist die SO16 Version, die ist 
noch grösser)
x 5 = 1,55 Euro

XCR3032XL bei Nuhorizons: $1,70; macht bei einem Kurs von ca. 0,75 Euro 
1,28 Euro

3:0 für den CPLD

Spiel, Satz und Sieg!

> sehe ich in diesem Fall keine wirklichen Vorteile.

AUGEN AUF und mal wirklich die Zahlen vergleichen. ;-)

MfG
Falk

von fieser Rahul (auch Oskar genannt) (Gast)


Lesenswert?

>AUGEN AUF und mal wirklich die Zahlen vergleichen. ;-)

Wie ist das mit dem CPLD-Programmer? (Ich hab zwar schon von CPLDs 
gehört und gelesen, sie aber noch nie verwendet).
Wenn der was kostet, dürften die TTL-Gatter billiger sein, sofern man 
das Ding nur ein Mal braucht...

von Falk (Gast)


Lesenswert?

@fieser Rahul

> Wie ist das mit dem CPLD-Programmer? (Ich hab zwar schon von CPLDs
> gehört und gelesen, sie aber noch nie verwendet).
> Wenn der was kostet, dürften die TTL-Gatter billiger sein, sofern man
> das Ding nur ein Mal braucht...

Du bist aber mal wieder SEHR kleinlich. ;-)
Einen low-cost Programmer gibts hier, Kosten wahrscheinlich kleiner als 
5 Euro.

http://www.geocities.com/jacquesmartini/misc/Parallel_Cable_III.png

MfG
Falk

von fieser Rahul (auch Oskar genannt) (Gast)


Lesenswert?

>Du bist aber mal wieder SEHR kleinlich. ;-)

Wer hat denn angefangen? ;-)

von Sebastian Heyn (Gast)


Lesenswert?

wenn du 5 eingänge hast, und 5 ausgänge, da würd ich n alten flash oder 
eeprom nehmen. es gibt da schon welche die bei 10mhz mithalten können. 
das ist die einfachste methode, wen du mich fragst. hast nach nem power 
off nicht die notwendigkeit den neu zu beschreiben, etc. zumal das die 
dinger so billig sind, dass du bei einer "programmänderung" einfach  nen 
neuen reinsteckst.
wenn du die ganzen änderungen auf einen rutsch übernehmen willst, dann 
kannst du das mit multiplexern ganz einfach machen... vorteil istdie 
einfache programmierung, eindeutig. cpld erst mal kennenlernen etc....

von Holger M. (nezaya)


Lesenswert?

Genau das Programmieren ist der Grund, warum der CPLD im Moment 
ausscheidet.

Ich muss die Schaltmatrix möglichst schnell mittels uC umprogramieren 
können. Dazu will ich nicht unbedingt ein ISP-Protokoll benutzen.

Die Multiplexer sind da prinzipiell die einfachste Variante. Einfach die 
neuen Adressen anlegen und schon ist ein neuer Eingang selektiert. Aber 
ich habe halt viel Verdrahtungsaufwand. 15 Adressleitungen, die je 8 
Eingänge und alles drum rum. Mit SMD Bauteilen geht es aber vom Platz 
halbwegs.

Prinzipiell müsste ich aber auch einen CPLD so konfigurieren können, 
dass er genau das macht. Also quasi die acht Multplexer da 
reinprogramieren. Genug IOs hätte der XCR3032XL dafür. Da muss ich noch 
mal drüber nachdenken. Evt. kann man dann ja auch die Adressierung 
vereinfachen.

Ich habe leider mit CPLDs noch nicht wirklich viel zu tun gehabt. Geht 
das und gibt's die auch mit 5 Volt Versorgung?

edit:
Zum RAM, ROM: Genau da liegt das Problem. Die Konfiguration ändert sich 
ständig. Sonst könnte ich das ja auch fest Verdrahten. Deshalb habe ich 
ganz zu anfang ja auch geschrieben, dass ich bisher nur Audio/Video 
Schaltmatrizen gefunden habe. Die können nämlich genau das. Sind aber 
maßlos überdimensioniert (und deshalb teuer).

von Falk (Gast)


Lesenswert?

@Holger M.

> Genau das Programmieren ist der Grund, warum der CPLD im Moment
> ausscheidet.

Kann man in geweissem Grade verstehen.

> Ich muss die Schaltmatrix möglichst schnell mittels uC umprogramieren
> können. Dazu will ich nicht unbedingt ein ISP-Protokoll benutzen.

Du hast hier eine Denkfehler. Der CPLD wird nur einmal programmiert 
(mittels ISP). Im normalen Betrieb hast du 5x3 Steureingänge, um die 
Verschaltung der Eingänge auf die Ausgänge zu steuern. Genaus wie bei 
5x74HC151.

> Die Multiplexer sind da prinzipiell die einfachste Variante. Einfach die

Ja.

> Prinzipiell müsste ich aber auch einen CPLD so konfigurieren können,
> dass er genau das macht. Also quasi die acht Multplexer da
> reinprogramieren. Genug IOs hätte der XCR3032XL dafür. Da muss ich noch

Eben.

> mal drüber nachdenken. Evt. kann man dann ja auch die Adressierung
> vereinfachen.

Kann man einfach per Schieberegister (im CPLD) und SPI (im uC). Spart 
tierisch Verdrahtungsaufwand.

> Ich habe leider mit CPLDs noch nicht wirklich viel zu tun gehabt. Geht
> das und gibt's die auch mit 5 Volt Versorgung?

Ja, gibts auch. Z.B. 9536 (ohne XL) bei Reichelt.
Wobei 3,3V CMOS Ausgänge 5V TTL Eingänge sicher treiben können.

MFG
Falk

von ein anderer (Gast)


Lesenswert?

Wie hoch sind denn die Versandkosten bei NU Horizon ? Kann man da 
überhaupt aus Deutschland bestellen ?

von Holger M. (nezaya)


Lesenswert?

> Du hast hier eine Denkfehler. Der CPLD wird nur einmal programmiert
> (mittels ISP). Im normalen Betrieb hast du 5x3 Steureingänge, um die
> Verschaltung der Eingänge auf die Ausgänge zu steuern. Genaus wie bei
> 5x74HC151.

Ja, stimmt, Denkfehler. Sonst wäre es ja ein FPGA. Ich vergaß.

> Ja, gibts auch. Z.B. 9536 (ohne XL) bei Reichelt.
> Wobei 3,3V CMOS Ausgänge 5V TTL Eingänge sicher treiben können.

Ja, 3.3V  CMOS kann die TTL Ausgänge treiben. Ich wollte aber die 3,3V 
Versorgung einspraren. Der Rest läuft auf 5V,

Danke jedenfalls für den Tip. Ich werde mir das mit dem 9536 mal 
reinziehen. Passendes Programmierkabel hab ich sogar noch irgendwo 
rumliegen.

von Falk (Gast)


Lesenswert?

@ein anderer

> Wie hoch sind denn die Versandkosten bei NU Horizon ? Kann man da

Weiss ich nciht mehr genau, ist schon ne Weile her. Könnte aber so um 
die 20 Euro sein.

> überhaupt aus Deutschland bestellen

Ja. Zahlung aber nur über Kreditkarte, AFAIK.

@ Holger M.

> > Du hast hier eine Denkfehler. Der CPLD wird nur einmal programmiert
> > (mittels ISP). Im normalen Betrieb hast du 5x3 Steureingänge, um die
> > Verschaltung der Eingänge auf die Ausgänge zu steuern. Genaus wie bei
> > 5x74HC151.

> Ja, stimmt, Denkfehler. Sonst wäre es ja ein FPGA. Ich vergaß.

Zweiter Denkfehler. Ein FPGA musst du auch nur eimal "ISP" 
programmieren. Entweder mit externem EEPROM, dann muss sich der uC um 
gar nix kümmern. Oder die Konfigurationsdaten per uC laden. Das ist aber 
sehr einfach, einfach Binärdatei per SPI rausschieben.

MFG
Falk

von Holger M. (nezaya)


Lesenswert?

Nein, kein Denkfehler!
War nur darauf bezogen, dass ich den FPGA mehrfach 
programmieren/konfigurieren kann, was dann wohl beim CPLD nicht so ist.
Von FPGA hab ich, im Gegensatz zu den CPLDs, Anhnung. Da arbeite ich 
schon länger mit. CPLDs habe ich erst einmal (bereits programmiert) in 
eine Schaltung verbaut.

Ich denke aber ich werde das jetzt mit einem CPLD machen. Nur die 
Gehäuseform (PLCC) bei Reichelt gefällt mir noch nicht. Ich bin da für 
mehr Bein! :)

von Falk (Gast)


Lesenswert?

@Holger M.

> War nur darauf bezogen, dass ich den FPGA mehrfach
> programmieren/konfigurieren kann, was dann wohl beim CPLD nicht so ist.

Naja, FPGAs haben SRAM, der ist praktisch unbegrenz oft beschreibbar. 
CPLDS haben EEPROM oder FLASH, da ist man auf 1000-100.000 "begrenzt".

> Ich denke aber ich werde das jetzt mit einem CPLD machen. Nur die
> Gehäuseform (PLCC) bei Reichelt gefällt mir noch nicht. Ich bin da für
> mehr Bein! :)

Warum? VQ44? Denk dran, nicht alle Pins sind für Logik verfügbar 
(VCC/GND, JTAG, etc.)

MfG
Falk

von Holger M. (nezaya)


Angehängte Dateien:

Lesenswert?

Hier mal die geplante Logik für den CPLD.
Vielleich interessiert es ja jemanden. :-)

Wie am Betreff zu erkennen ist, hab ich das gleich noch auf eine 8x8 
Matrix erweitert.

Die Konfiguration der Matrix wird seriell in den CPLD gelatcht und dann, 
mit einem Strobe an SET, übernommen.

Im Prinzip ist das eine Hintereinanderreihung, von 4 74xx595 
Schieberegistern, zur Adressierung von 8 74xx11151 Multiplexern. 
Allerdings schon etwas optimiert, was die Gatterzahl angeht. Einiges war 
doppelt oder unnötig für meine Zwecke.

Ich habs in Eagle layoutet. Was anderes war grad nicht da.

Wenn im Plan kein Fehler ist werde ich wohl
 48 FlipFlops
248 UND Gatter
 96 Inverter
 11 Eingänge und
  9 Ausgänge brauchen.

Ganz schön viel, ich hoffe das passt.

von Matthias (Gast)


Lesenswert?

Ich würde einfach fünf mal das IC 74HC238 verwenden

von Falk (Gast)


Lesenswert?

@ Holger M.

>Hier mal die geplante Logik für den CPLD.

Kann ich im Moment nicht lesen, bin im internetcafe ohne Eagle.

> Wie am Betreff zu erkennen ist, hab ich das gleich noch auf eine 8x8
> Matrix erweitert.

> Die Konfiguration der Matrix wird seriell in den CPLD gelatcht und dann,
> mit einem Strobe an SET, übernommen.

Wenn im Plan kein Fehler ist werde ich wohl
 48 FlipFlops
248 UND Gatter
 96 Inverter
 11 Eingänge und
  9 Ausgänge brauchen.

Hmmm, mal rechen

8 Eingänge + 8 Ausgänge für die Matrix, wobei das 8 Macrozellen für die 
Ausgänge braucht.
Drei Eingänge für Data, Clock und Strobe

Dein Schieberegister + Latch braucht 8x3x2=48 Macrozellen.

Der Rest ist nur kombinatorischer Logik und wird von den Produkttermen 
in den Macrozellen erschlagen.

Macht Summa-Summarum

56 Macrozellen, passt also in 9572(XL) oder 3064(XL).

Wozu brauchst du den 9. Ausgang?

MFG
Falk

von Holger M. (nezaya)


Lesenswert?

@Falk:

Auf dem 9. Ausgang, habe ich vorgesehen, das Ende des Latches 
rauszuführen. Dann könnte man mehrere Module aneinanderreihen. Ist aber 
nicht unbedingt nötig.

Bei meiner Abschätzung, der in Frage kommenden CPLD, kam ich auf den 
XC9572. Ich habe mir den mal näher angesehen.

Laut Datenblatt gibt es den XC9572 im
44-Pin PLCC mit 34,
84-Pin PLCC mit 69,
100-Pin TQFP mit 72
100-Pin PQFP mit 72 Ausgängen.

Und 5V Versorgung geht auch noch. Scheint also ideal zu sein.
Prinzipiell würde ich ja ein QFP Gehäuse bevorzugen, aber die 
100-Pin-Varianten gehen ins Geld und sind überdimensioniert. Muss ich 
halt nen Sockel verwenden. Da kann man, von innen, an die Beinchen ran 
zum löten.

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
Noch kein Account? Hier anmelden.