Che cos'è una funzione pin alternativa su un microcontrollore?


15

Mi piacerebbe sapere a cosa si riferisce "Funzione alternativa" nel contesto delle porte IO di un microcontrollore.

Non ho bisogno di sapere come attivarlo quando mi collego a una periferica, ma mi piacerebbe sapere di cosa si tratta esattamente e perché ne avremmo bisogno.

Risposte:


18

Molti pin del microcontrollore hanno funzioni diverse. La funzione 'normale' si riferirebbe a GPIO, Input / Output per scopi generici . In tal caso, è possibile utilizzare questi pin direttamente scrivendo e leggendo dai relativi registri.

Le funzioni "alternative" si riferiscono ad altre funzioni, che possono includere I 2 C, SPI, USART, CCP, PWM, Clock, ADC, ecc ... Il modo in cui controlli i pin quando in una funzione alternativa dipende dalla periferica, ma generalmente si tratta di scrivere e leggere da registri di funzioni speciali (SFR); il periferico si occupa del resto.

Quale funzione è standard dopo un RESET dipende (è non è sempre GPIO!), E si può trovare che nella scheda tecnica relativa. Il più delle volte, è possibile selezionare la funzione che si desidera utilizzare al volo, in modo da poter passare da una periferica all'altra.

Utilizzando un pin per diverse periferiche, è possibile creare microcontrollori con molte funzionalità. Tuttavia, poiché la maggior parte delle volte vuoi sempre quella periferica su quel pin (e non vuoi cambiare le funzioni al volo) non puoi usare tutte le periferiche in un programma, o almeno non allo stesso tempo. D'altra parte, ciò non è molto spesso necessario comunque.


Come sottolinea Connor , "funzione alternativa" può riferirsi anche a qualcos'altro, in un contesto leggermente diverso: qui non si tratta di quale funzione si inserisce in un pin, ma di quale pin si utilizza per una funzione. Questo si chiama Peripheral Pin Select, e sostanzialmente significa che puoi selezionare quale pin sta usando la tua periferica. Ad esempio, è possibile eseguire RS232 su RA1 e RA2 o su RB1 e RB2.

Vedi la risposta di Connor per una descrizione più dettagliata (e votalo per questo).


5

Oltre alla risposta @CamilStaps, esiste un altro contesto in cui "funzione pin alternativa" è un termine comunemente usato.

Alcuni microcontrollori hanno la possibilità di commutare le loro periferiche interne tra diversi set di linee IO. In questo modo, è possibile evitare problemi se si desidera utilizzare moduli interni (SPI, I2C, ecc ...) che hanno le loro funzioni associate allo stesso set di pin.

Esiste generalmente un registro di controllo che determina a quale serie di pin sono mappate le varie periferiche.


So di aver lavorato con un microcontrollore che aveva questa funzione, ma sarò dannato se riesco a ricordare il numero di parte specifico.

Modifica: Trovato - È disponibile su molte parti PIC24 e dsPIC: inserisci qui la descrizione dell'immagine

Lo chiamano "Peripheral Pin Select", ma fondamentalmente è un meccanismo per la configurazione delle funzioni alternative del pin.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.