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.
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.
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.
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 :-)
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'.
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.
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.
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?
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)
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.
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.
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).
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.
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.
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
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.
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...
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?
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.
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. :-)
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 *
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?
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.
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
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.
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.
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.
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