Avantajele selecției pinilor pentru periferice la microcontrolerele pe 8 biți

30 NOIEMBRIE 2017

June Anthony Asistio se referă la beneficiile selecției pinilor pentru periferice și explică modalitatea prin care aceasta poate fi implementată pe microcontrolerele pe 8 biți.

Accesarea setului periferic exact, utilizând o capsulă mai mică și reducând complexitatea layout-ului plăcii este unul dintre avantajele pe care le poate oferi un microcontroler PIC® pe 8 biți dacă are un modul de selecție a pinilor periferici PPS (Peripheral Pin Select). Modulul PPS selectează ce intrare digitală intră sau ce ieșire digitală iese dintr-un pin particular al unui microcontroler, iar acest lucru poate fi realizat static, după inițializarea programului, sau dinamic, în timpul executării programului. Figura 1 prezintă diagrama bloc a PPS pentru microcontrolerul Microchip PIC16.
Modulul este la bază constituit din multiplexoare și regiștri de control. Pentru secțiunea de intrare, pinii sunt multiplexați către intrarea unui anumit periferic. Pentru secțiunea de ieșire, diferitele ieșiri periferice sunt multiplexate către pinii microcontrolerului. Regiștri de control PPS dispun de harta diferitelor funcții periferice și a pinilor.
Implementarea PPS este diferită pentru unele familii de microcontrolere pe 8 biți. Unele au capabilitate completă PPS, unde toate funcțiile de intrare/ieșire periferice sunt retrasabile și pot fi plasate pe oricare dintre pinii I/O ai microcontrolerului. Alte dispozitive au o versiune redusă a PPS, caz în care funcțiile periferice retrasabile pot fi distribuite pe un număr limitat de pini. PIC16 și PIC18 au convenții de denumire diferite pentru regiștri de control și pentru pinii retrasabili.

Figura 1: Diagrama bloc PPS pentru dispozitivele PIC16

Selecția intrării
Registrul de selecție a intrării periferice, xxxPPS, controlează pe microcontrolerul PIC16 ce pin va fi conectat la intrarea perifericului. Registrul este preîncărcat cu o valoare în câmp de 5-biți, astfel că fiecare intrare digitală este inițial legată la un pin specific. Prin modificarea acestui registru se schimbă conexiunea perifericului către alt pin.
PIC18 are un registru de intrare similar, RPINRx, care controlează ce pin poate fi legat la o intrare de periferic specificată. O valoare trebuie scrisă în registru pentru a selecta pinul care poate fi conectat la intrarea perifericului.

Figura 2: Funcții de pini multiple pe un dispozitiv PIC16

Selecția ieșirii
În cazul PIC16, registrul de selecție al sursei de ieșire, RxyPPS, controlează ce ieșire periferică este conectată la un pin specificat. Implicit acest registru dispune de o valoare în câmp de 5 biți care leagă o ieșire la un pin. Modificarea acestui registru schimbă conexiunea pinului la ieșirea altui periferic.
Același lucru poate fi spus și despre PIC18.
Regis­trul de ieșire, RPORx, controlează și în acest caz ce ieșire periferică poate fi conectată la un pin specificat. O valoare trebuie scrisă în registru pentru a selecta ieșirea periferică ce poate fi conectată la acel pin. Registrul dispune implicit o valoare nulă, care înseamnă că pinul este inițial deconectat de la orice ieșire periferică retrasabilă.

Mecanism de deblocare și blocare
Regiștri PPS pot fi modificați de mai multe ori în timpul executării unui program, prin utilizarea unei secvențe de program speciale de deblocare/blocare. Totuși, dacă proiectantul dorește să stabilească PPS numai odată și să evite schimbări nedorite ale regiștrilor PPS, atunci trebuie activată siguranța în registrul de configurare.

Figura 3: Schema pinilor așa cum este generată de configuratorul de cod MPLAB

Trasare flexibilă a legăturilor
Flexibilitatea trasării legăturilor poate fi obținută atunci când se utilizează PPS. Un singur pin poate servi ca intrare pentru diferite periferice sau o ieșire a unui periferic poate fi plasată pe un număr de pini în același timp. Figura 2 prezintă cum un singur eveniment poate declanșa două funcții peri­ferice precum închiderea unui semnal PWM al unui generator de ieșire complementar (COG) și captarea unui eveniment temporizat. Semnalul de ieșire al COG1A poate fi reprodus pe doi pini. Această flexibilitate este utilă pentru aplicații care necesită ca un semnal de ieșire să fie trasat către diferite secțiuni ale unui circuit sau sistem. Cei doi pini ai COG1A pot fi, de asemenea, să fie conectați împreună pentru a crește capacitatea de curent de comandă a perifericului.

Utilizarea configuratorului de cod MPLAB
Configuratorul de cod MPLAB (MCC) este un plug-in pentru MPLAB X IDE, ce oferă o cale ușoară și vizuală de stabilire a funcțiilor pe un dispozitiv microcontroler PIC.

În acest exemplu, ieșirile COG1 și închiderea COGIN vor fi desemnate unor pini specifici ai PIC16F1716. Se deschide MCC și se selectează COG1 din zona de resurse dispozitiv (Device Resources Area). Modulul COG1 și funcțiile sale de intrare și ieșire vor apărea în zona de gestiune pini (Pin Manager Area).
Desemnarea unei ieșiri COG1 sau a unei intrări COGIN pe pinul dorit se face prin click pe simbolul respectiv de lacăt, corespunzător acelui pin. Odată selectat, lacătul se închide. Schimbarea din zona de gestiune a pinilor poate fi văzută în figura 3.
Se va face click apoi pe butonul “Generate” și PPS va fi configurat automat.

Concluzie
PPS crește flexibilitatea microcontrolerelor pe 8 biți, oferind o opțiune pentru dezvoltatori de a particulariza și gestiona schema pinilor dispozitivului.

Notă: NumeleMicrochip, logo-ul, PIC și MPLAB sunt mărci înregistrate ale Microchip Technology Incorporated în S.U.A. și celelalte state. Toate celelalte mărci menționate aici sunt proprietatea compa­niilor deținătoare.

 

Microchip Technology |  www.microchip.com
Sigla-Microchip

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *