Forum: Mikrocontroller und Digitale Elektronik μCs mit Switchmatrix warum so selten?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Togit (Gast)


Lesenswert?

Ich ziehe das einfach mal aus dem dem anderen Thread 
Beitrag "Re: 32-Bit μC für zwei Layer PCB" raus:

Jürgen S. schrieb:
> Schau dir mal den LPC824 an.
>
> Ist noch sehr neu und schwer zu bekommen, das wird sich aber vermutlich
> ändern.

Nett, insbesondere die Switchmatrix mit viel Peripherie.

Ist so was schwierig oder teuer herzustellen? So ein Konzept könnte die
Anzahl von verschiedenen Typen deutlich reduzieren und damit die
Logistik wesentlich vereinfachen.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Ein gutes Beispiel ist der ATtiny1634: Ein Haufen Peripherie, die sich 
gegenseitig im Weg steht. Da würde so eine Matrix helfen.

Togit schrieb:
> Ist so was schwierig oder teuer herzustellen?

Ja, jeder 10tel Cent zählt, bei Millionen-Stückzahlen.

von Noch einer (Gast)


Lesenswert?

Ist immer noch schwierig herzustellen. Analoge und Open-Drain Pins sind 
immer noch fest zugeordnet.

Die Anzahl der Typen reduzieren -- Dafür reicht die Matrix nicht aus. 
Mal brauchst du 5 Timer, beim nächsten Projekt 3 USB Ports und danach 
willst du ein LCD-Modul direkt anschließen. Die Matrix ist nur 
Voraussetzung, um alle Varianten in ein 20 Pin Gehäuse zu packen. Bleibt 
das Problem, ein universeller Chip braucht 5x so viel Peripherie, wie 
ein herkömmlicher.

von WehOhWeh (Gast)


Lesenswert?

Uiii Cool, die NXP muss ich mir näher anschauen, danke für den tollen 
Hinweis!

Das dürfte das meistunterschätzte Feature eines µC sein, schließlich 
kann man damit viele Peripherals multiplexen. Noch ne UART nötig, aber 
keine frei? Kein Problem, das muxen wir drauf. 10x wenn nötig. 20x 
USB-Serial-Wandler mit einem µC? Kein Problem! schnell ist es nicht, 
aber möglich.

RX<>TX oder MOSI <> SCK getauscht? 90% der Layoutfehler sind in 0 
Minuten erschlagen.
Außerdem: Wer schon einmal einen wirklich komplexen, zu 100% belgten 
144-Pin µC "bepinnen" musste), weiß das auch zu schätzen.

Warum das nicht verbreitet ist hat meiner Meinung nach zwei Gründe:
1. Die Matrix ist recht groß - Timing und Chipfläche sind ein Problem.
2. Viele Hersteller und Kunden haben noch nicht erkannt, welche Vorteile 
das hat, und wie mächtig das Feature wirklich ist.

Bisher verwende zuhause unter anderem deswegen diverse PICs. Einige 
moderne (PIC24FJ128GC006, PIC32MX470) haben das auch vollständig oder 
wenigstens teilweise - fast alles geht an fast allen Pins, inklusive 
Analog.
Das macht die Layouts auch mit 2 Lagen sehr schön, alle Überkreuzungen 
sind im µC :-)

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

WehOhWeh schrieb:
> Bisher verwende zuhause unter anderem deswegen diverse PICs.

Stimmt, die können auch viel und dann wäre da z.B. noch der Silicon Labs 
C8051 mit 'Flexible Pin Muxing'.

von Henning (Gast)


Lesenswert?

Torsten C. schrieb:
> Ein gutes Beispiel ist der ATtiny1634: Ein Haufen Peripherie, die
> sich
> gegenseitig im Weg steht. Da würde so eine Matrix helfen.
>
> Togit schrieb:
>> Ist so was schwierig oder teuer herzustellen?
>
> Ja, jeder 10tel Cent zählt, bei Millionen-Stückzahlen.

Lagerhaltung, Beschaffung, etc. würden sich dagegen vereinfachen und die 
ganzen verschiedenen Typen in der Produktion machen den μC sicherlich 
nicht billiger.

von Henning (Gast)


Lesenswert?

WehOhWeh schrieb:
> Das macht die Layouts auch mit 2 Lagen sehr schön, alle Überkreuzungen
> sind im µC :-)

Das sollte doch auch weitere Kosten für Platinenfläche sparen.

von Dominic A. (neo123)


Lesenswert?

So gut wie jeder Pic24 und dsPic hat eine solche Matrix, mit welcher 
sich fast jede Peripherie auf fast jeden Pin mappen lässt

von Thomas (Gast)


Lesenswert?

Wie wird bei dem dann die SPI verwendet? Also zum Programmieren des uC?
Die Switchmatrix bietet ja freie Pinkonfiguration an.

Da müsste der uC vor dem Bestücken erst einmal "grundprogrammiert"
werden bei dem gesagt wird SPI ist an PinXYZ.

Sonst ist das in der Schaltung nicht mehr verwendbar. Oder wie ist das
zu sehen?

von Dominic A. (neo123)


Lesenswert?

Ein PIC wird nicht über SPI programmiert. Er hat spezielle Pins dafür.

von Thomas (Gast)


Lesenswert?

Dominic A. schrieb:
> Ein PIC wird nicht über SPI programmiert. Er hat spezielle Pins
> dafür.

Sorry, ich bezog mich auf den LPC824! Im datenblatt geht alles erst 
einmal über die Switchmatrix (laut BSB)

von X4U (Gast)


Lesenswert?

Togit schrieb:
> Nett, insbesondere die Switchmatrix mit viel Peripherie.

Das gibt es selbst bei kleinen PICs schon lange (nur halt nicht als 
Matrix sondern als alternative Pinout für einige Fuktionen). Bei großen 
(Pic32) kommen da noch DMA und locking Mechanismen pipelining etc hinzu. 
Auch bei ARM gibt es das.

> Ist so was schwierig oder teuer herzustellen?

Das macht den Chip größer (und auch komplizierter da zusätzliche 
Konfiguration) und somit teurer. Warum für ein Feature zahlen ohne es zu 
brauchen?

Thomas schrieb:
> Die Switchmatrix bietet ja freie Pinkonfiguration an.

Hat aber eine default configuration.

von Jürgen S. (starblue) Benutzerseite


Lesenswert?

Thomas schrieb:
> Sorry, ich bezog mich auf den LPC824! Im datenblatt geht alles erst
> einmal über die Switchmatrix (laut BSB)

Siehe User Manual "Boot ROM" "3.4 Pin Description":
ISP entry pin  USART RXD  USART TXD
PIO0_12        PIO0_0     PIO0_4

D.h. wenn beim Start P0_12 auf Low gezogen wird, kann man über P0_0 und 
P0_4 mit dem eingebauten Bootlader reden, um z.B. den Flash-Speicher zu 
programmieren.

von Peter D. (peda)


Lesenswert?

Togit schrieb:
> Ist so was schwierig oder teuer herzustellen?

Der Aufwand steigt exponentiell an.
Sieht man schön an den GALs, da ist beim 22V10 (22*10 Matrix) Schluß. 
Größere CPLDs sind dann in Blöcke unterteilt. Man kann zwar immer noch 
alles zu allem routen, aber der Fitter muß dann mal noch Macrozellen 
zwischen setzen (längere Laufzeit).

Und beim MC braucht man den 3-fachen Aufwand (Input-, Output-, 
Direction-Bits).

von Jonas G. (jstjst)


Lesenswert?

Soweit ich weiß haben die MSP430 von TI auch so was in der Art.

von W.S. (Gast)


Lesenswert?

Ich halte die Idee im Grunde für nen ausgemachten Schmarrn. Bei 
kleineren µC mit 48 Pins oder weniger sollten sich die Entwickler ihr 
Lehrgeld zurückgeben lassen, wenn sie sowas nicht routen können und bei 
größeren µC's ist sowas rein technisch auf dem Chip eher ein Alptraum. 
Und warum zum Kuckuck sollten sich die Chip-Entwickler auch noch sowas 
unter allergrößten Mühen einfallen lassen, bloß weil die nachfolgenden 
Entwickler zu doof oder zu faul sind zum ordentlichen Routen der LP?

W.S.

von X4U (Gast)


Lesenswert?

W.S. schrieb:
> ... zum ordentlichen Routen der LP?

Es geht nicht um das routen. Eine Matrix ermöglichst die Nutzung von 
Funktionsblöcken die bei starrer Belegung auf dem gleichen Pin liegen.

von Sven L. (svenl)


Lesenswert?

Cypress macht es mit ihren PSoCs so. Beim PSoC5 geht das sehr 
komfortabel und man kann nahezu jegliche Funktion auf fast jeden Pin 
legen.

Eine Handvoll Einschränkungen wie fest verdrahtete OPVs oder USB-Pins 
gibt es schon und auch der Analog-Interconnect-Bus hat eine endliche 
Leitungsbreite, aber die Flexibilität ist schon der reine Wahnsinn! :)

So macht entwickeln auch wieder Spaß!

Viele Grüße!

Sven

von temp (Gast)


Lesenswert?

W.S. schrieb:
> Ich halte die Idee im Grunde für nen ausgemachten Schmarrn.

Da gebe ich dir Recht. Ist bei z.B. bei den LPC15xx auch nicht ganz 
sorgenfrei. Wenn z.B. mehrerer PWM-Kanäle benötigt werden, kann man da 
auch nicht einfach die Switchmatrix zu Hilfe nehmen, da sich deutliche 
Unterschiede von direkten Ausgängen zu Ausgängen ergeben die über die 
Switchmatrix laufen. Wird auch im Handbuch darauf hingewiesen.

von ♪Geist (Gast)


Lesenswert?

Ich glaube am flexibelsten sind diesbezüglich die Silabs uC's. Bei ST 
nervt mich das auch ein bisschen, dass die Peripherie sich im Wege steht 
und man die "Friss oder Stirb" Situation hat...

von ♪Geist (Gast)


Lesenswert?

PS: trotzdem setze ich die STM32F da wo es geht ein :D

von anon (Gast)


Lesenswert?

Ich stolpere gerade zum ersten Mal über den Begriff Switch Matrix in 
diesem Zusammenhang deshalb die evtl. etwas stupide Frage:

Kann man die Pins also praktisch beliebig zuweisen oder wie ist das?

von (prx) A. K. (prx)


Lesenswert?

anon schrieb:
> Kann man die Pins also praktisch beliebig zuweisen oder wie ist das?

Man kann jene Pins und Pinfunktionen frei einander zuweisen, die zur 
Matrix gehören. Funktionen mit besonderer Hardwarecharakteristik sind 
jedoch üblicherweise nicht Teil der Matrix, wie Flanken/Glitchkontrolle 
(I2C), Analogkram und aufgrund des Henne/Ei-Problems Programmier- und 
Debugfunktion.

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

W.S. schrieb:

> Und warum zum Kuckuck sollten sich die Chip-Entwickler auch noch sowas
> unter allergrößten Mühen einfallen lassen, bloß weil die nachfolgenden
> Entwickler zu doof oder zu faul sind zum ordentlichen Routen der LP?

Naja, sie sollten sich eben an der Mehrzahl ihrer Kunden orientieren.
Und ich würde sagen, prozentual wird die von Dir angesprochene Gruppe
in den nächsten Jahren wachsen. :-)

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Harald Wilhelms schrieb:
> Und ich würde sagen, prozentual wird die von Dir angesprochene Gruppe
> in den nächsten Jahren wachsen. :-)

YMMD! In Zukunft nur noch Lötstreifenrasterplatine, geroutet wird in den 
MCUs. LOL! * SCNR *

von Togit (Gast)


Lesenswert?

Fassen wir mal zusammen:

- Geht angeblich nicht weil der Aufwand zu stark ansteigt.
- Echte Kerle die das komplett überflüssig finden, das ging früher alles 
mit Röhren und Relais.
- Diverse Hersteller haben das im Angebot.

Hier wird es interessant:

temp schrieb:

> Da gebe ich dir Recht. Ist bei z.B. bei den LPC15xx auch nicht ganz
> sorgenfrei. Wenn z.B. mehrerer PWM-Kanäle benötigt werden, kann man da
> auch nicht einfach die Switchmatrix zu Hilfe nehmen, da sich deutliche
> Unterschiede von direkten Ausgängen zu Ausgängen ergeben die über die
> Switchmatrix laufen. Wird auch im Handbuch darauf hingewiesen.

Gibt es einen Link auf das Datenblatt wo das beschrieben ist?

von Bernd K. (prof7bit)


Lesenswert?

W.S. schrieb:
> bloß weil die nachfolgenden
> Entwickler zu doof oder zu faul sind zum ordentlichen Routen der LP?

Bullshit! Manchmal ist einfach kein Platz mehr da um ungünstig 
gelegene Pins auf die andere Seite zu führen. Es muss nicht unbedingt 
jede Funktion an jedem Pin stehen aber es ist ungemein hilfreich wenn 
man für einige Sachen 2 oder 3 Alternativen hat und so zum Beispiel I²c 
links statt unten und das SPI auf der gegenüberliegenden Seite 
rausführen kann wenn sowohl oben als auch unten kein halber Millimeter 
mehr Platz ist weil da schon die Platine aufhört und das Gehäuse 
anfängt.

: Bearbeitet durch User
von spess53 (Gast)


Lesenswert?

Hi

> bloß weil die nachfolgenden
> Entwickler zu doof oder zu faul sind zum ordentlichen Routen der LP?

Stimmt. Unfähige Layouter sind weit häufiger als ungünstige 
Chipdesigner.

MfG Spess

von W.S. (Gast)


Lesenswert?

Harald Wilhelms schrieb:
> Und ich würde sagen, prozentual wird die von Dir angesprochene Gruppe
> in den nächsten Jahren wachsen.

Ja. Da sprichst du mir aus dem Herzen - ich habe die gleichen 
Befürchtungen. Insbesondere, wenn ich mich hier in diesem Forum umsehe.

W.S.

von anon (Gast)


Lesenswert?

Ah da bin ich aber froh, dass Leute wie W.S., spess53 und Harald 
Wilhelms "unsere" (darf man sich wohl als Normalsterblicher nicht 
dazuzählen) Zunft retten. Weiter so Jungs, ich hoffe ihr könnt euer 
Wissen noch weitergeben bevor ihr pensioniert seid.

von anon (Gast)


Lesenswert?

A. K. schrieb:
> Man kann jene Pins und Pinfunktionen frei einander zuweisen, die zur
> Matrix gehören. Funktionen mit besonderer Hardwarecharakteristik sind
> jedoch üblicherweise nicht Teil der Matrix, wie Flanken/Glitchkontrolle
> (I2C), Analogkram und aufgrund des Henne/Ei-Problems Programmier- und
> Debugfunktion.

Danke für die Erklärung, dann habe ich das so richtig verstanden.
Das ein paar Pins davon ausgenommen sind habe ich mir schon gedacht, die 
Möglichkeiten die sich dadurch ergeben sind trotzdem ganz schön 
vielseitig.

von temp (Gast)


Lesenswert?

Togit schrieb:
>> Unterschiede von direkten Ausgängen zu Ausgängen ergeben die über die
>> Switchmatrix laufen. Wird auch im Handbuch darauf hingewiesen.
>
> Gibt es einen Link auf das Datenblatt wo das beschrieben ist?

Remark: For applications that require exact timing of the SCT outputs 
(for example
PWM), assign the outputs only to fixed-pin functions to ensure that the 
output skew is
nearly the same for all outputs.

user_manual_lpc15xx Seite 224

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.