Einfache Frage, die Neugier bringt mich um. Warum haben Mikrocontroller (und auch andere ICs wie RAMs) Pins, die nicht gruppiert sind?
Wie in STM32 haben Sie zum Beispiel portA und es hat 8 Bits auf einer Seite von IC und die anderen 8 Bits an der gegenüberliegenden Ecke von IC ... Warum? Es macht das Routing von PCB viel schwieriger. Was ist der Grund oder Zweck einer solchen Ausrichtung? Warum konnten sie es nicht nebeneinander stellen? Und warum haben 32-Bit-uCs (wie STM32) 16-Bit-breite Ports, wenn sie 32-Bit-breite haben könnten?
Dasselbe gilt für RAMs - Adressstifte und Datenstifte sind fast zufällig über den IC verstreut. Warum?
Innerhalb des ICs gibt es viele Routing-Layer. Was ist also der Grund, warum sie den Gruppenpins nicht in einer logischen Reihenfolge eine weitere hinzufügen konnten?
Bei RAM-Chips möchte man oft, dass alle Adress-/Datenleitungen gleich lang sind (je kürzer desto besser), damit die Signale gleichzeitig laufen und die Taktfrequenz höher sein könnte. Adress- und Datenleitungen müssen den gesamten Bereich des Chips abdecken, daher werden sie nach der physischen Position der Speicherzellen, die sie speisen, gruppiert, nicht nach logischer Funktion.
Heterogene Geräte wie Mikrocontroller haben unterschiedliche Einschränkungen. Einige Signale könnten sich gegenseitig stören (wie eine Uhr und ein empfindlicher ADC) und können nicht zu benachbarten Pins gehen. Darüber hinaus kann das Verteilen ähnlicher Pins auf beiden Seiten des Chips das Routing der Leiterplatte tatsächlich verbessern. Die Chancen stehen gut, dass der Chip in der Mitte sitzt und mit Nachbarn auf beiden Seiten sprechen muss. Alle ähnlichen Pins auf einer Seite zu haben, würde das PCB-Routing zu einem Albtraum machen.
Außerdem ist viel Geschichte im Spiel.
Viele Chip-Layouts sind so konzipiert, dass sie eng mit Chips der vorherigen Generation übereinstimmen, sodass sie optional auf derselben oder der nächsten Board-Revision verwendet werden können. Die Chiplayouts von 1 kB bis 64 kB ROM/PROM/SRAM/EPROM/EEPROM erstreckten sich über viele Generationen, und die frühen Generationen hatten Einschränkungen beim Chipdesign, die längst vergessen sind.
Die Chip-Designer achten darauf, was die Kunden wollen und wenn die Kunden nur Chips mit sauber geordneten Daten und Adress-Pins kaufen würden, dann käme das in die Läden. Da ist das Layout vielleicht genau das, was die Leute wollen und dies ist ohne Jahre oder Erfahrung mit Routing-Boards möglicherweise nicht offensichtlich, um hier und da ein paar Cent zu sparen.
Moderne Gate-Arrays, die es Designern ermöglichen, fast jeden Pin für jede Funktion auszuwählen, haben das Board-Routing vereinfacht, aber es kann niemals eine Eins-zu-Eins-Übereinstimmung für jede Kombination zufälliger Chips geben, die ein Designer verwendet.
Die große Masse der 16-Bit-Systeme verwendete lange Zeit 8-Bit-Speicher, da dies der verfügbare Standard war. Es ist billiger, einen größeren 8-Bit-Chip einzubauen als zwei kleinere 8-Bit-Speicher, nur um eine Busbreite von 16 Bit zu erhalten. Auf die gleiche Weise sparen Sie 32 Pins auf dem Chipträger, wenn Sie Ihre 64-Bit-Daten in zwei Zyklen multiplexen, anstatt zu versuchen, alles auf dem Bus für 64 Bit zu verdrahten, wenn einige der Busse, Chips oder Peripheriegeräte nicht einmal 64 Bit verwenden können. Aber was noch wichtiger ist, wenn Sie die Datenleitungen multiplexen können (Adressleitungen in dynamischem RAM werden auch oft gemultiplext), können Sie viele Pins einsparen, und dies spart viel On-Board-Routing und Größe und Chipgröße und Kosten und und und.
PlasmaHH
Benutzer50456
Bimpelrekkie
zupazt3
Arsenal
EM-Felder
WasRoughBeast
WasRoughBeast
Chris Stratton
Bimpelrekkie
zupazt3