Was ist eine alternative Pin-Funktion bei einem Mikrocontroller?

14

Ich möchte wissen, worauf sich "Alternative Funktion" im Zusammenhang mit den IO-Ports eines Mikrocontrollers bezieht.

Ich muss nicht wissen, wie ich es aktivieren soll, wenn ich mich mit einem Peripheriegerät verbinde, aber ich möchte wissen, was es genau ist und warum wir es brauchen würden.

user929404
quelle

Antworten:

16

Viele Pins Ihres Mikrocontrollers haben unterschiedliche Funktionen. Die "normale" Funktion bezieht sich auf GPIO, General Purpose Input / Output . In diesem Fall können Sie diese Pins direkt verwenden, indem Sie in die entsprechenden Register schreiben und aus diesen lesen.

'Alternative' Funktionen beziehen sich auf andere Funktionen, die I 2 C, SPI, USART, CCP, PWM, Clock, ADC usw. umfassen können. Wie Sie die Pins in einer alternativen Funktion steuern, hängt jedoch vom Peripheriegerät ab Im Allgemeinen kommt es darauf an, in Sonderfunktionsregister (SFR) zu schreiben und aus diesen zu lesen. das Peripheriegerät kümmert sich um den Rest.

Welche Funktion nach einem RESET Standard ist, hängt davon ab (es ist nicht immer GPIO!), Und das finden Sie im entsprechenden Datenblatt. In den meisten Fällen können Sie die gewünschte Funktion direkt auswählen, um zwischen den Peripheriegeräten zu wechseln.

Indem Sie einen Pin für mehrere Peripheriegeräte verwenden, können Sie Mikrocontroller mit sehr vielen Funktionen erstellen. Da Sie jedoch die meiste Zeit dieses Peripheriegerät an diesem Pin benötigen (und die Funktionen nicht sofort umschalten möchten), können Sie nicht alle Peripheriegeräte in einem Programm oder zumindest nicht gleichzeitig verwenden Zeit. Andererseits wird das sowieso nicht oft gebraucht.


Wie Connor betont, kann sich 'alternative Funktion' in einem etwas anderen Kontext auch auf etwas anderes beziehen: Hier geht es nicht darum, welche Funktion Sie einem Pin zuordnen, sondern darum, welchen Pin Sie für eine Funktion verwenden. Dies wird als Peripheral Pin Select bezeichnet und bedeutet im Grunde, dass Sie auswählen können, welchen Pin Ihr Peripheriegerät verwendet. Sie können beispielsweise RS232 über RA1 und RA2 oder über RB1 und RB2 ausführen .

Eine ausführlichere Beschreibung finden Sie in Connors Antwort (und stimmen Sie ihm zu).

Gemeinschaft
quelle
5

Neben der Antwort von @CamilStaps gibt es noch einen anderen Kontext, in dem "alternative Stiftfunktion" ein häufig verwendeter Begriff ist.

Einige Mikrocontroller haben die Möglichkeit, ihre internen Peripheriegeräte zwischen mehreren Sätzen von E / A-Leitungen umzuschalten. Auf diese Weise können Sie Probleme vermeiden, wenn Sie interne Module (SPI, I2C usw.) verwenden möchten, deren Funktionen denselben Pins zugeordnet sind.

Im Allgemeinen gibt es ein Steuerregister, das festlegt, auf welche Pins die verschiedenen Peripheriegeräte abgebildet werden.


Ich weiß, dass ich mit einem Mikrocontroller gearbeitet habe, der diese Funktion hatte, aber ich werde verdammt sein, wenn ich mich an die spezifische Teilenummer erinnere.

Edit: Found it - Es ist auf vielen PIC24- und dsPIC-Parts verfügbar: Bildbeschreibung hier eingeben

Sie nennen es "Peripheral Pin Select", aber es ist im Grunde ein Mechanismus zum Konfigurieren der alternativen Pin-Funktionen.

Connor Wolf
quelle