#9654
Just4Fun
Partecipante

Il PIC18F47Q10 ha tra i moduli interni 8 unità CLC.

Il CLC è una sorta di LUT (Look Up Table) che è il modulo base di una CPLD. Infatti con questo modulo si può sintetizzare in HW una funzione logica in modo da “assorbire” eventuali “glue logic” esterne.

Ovviamente bisogna tenere conto che per collegare un modulo CLC all’esterno è necessario usare dei pin che verrebbero “sottratti” all’uso normale di GPIO.
Nel caso presente ogni singolo pin è utilizzato, per cui l’uso di un tale modulo per “assorbire” HW esterno è possibile solo a “parità di bilancio” dell’uso dei pin.

Nel “68008 on breadboard” è utilizzato un 74HCT02 (quadruplo NOR) come da figura seguente:

Se si analizza la parte evidenziata in rosso, che rappresenta l’HW esterno che vorrei “assorbire” dentro il PIC con l’uso dei moduli CLC, si vede che attualmente è connesso a tre pin fisici del PIC (RA2, RA3 e RA4), mentre due segnali (IO/M e DS) sono non collegati a nessun pin del PIC.

Quindi in totale la rete logica ha 3 segnali collegati al PIC e due no, e quindi una eventuale sintesi interna al PIC richiederebbe l’uso di altri due pin.

I realtà i due segnali connessi ai pin RA2 e RA3 sono dei GPIO connessi solo a questa rete, per cui possono essere “sostituiti” con lo stato di due bit interni ai registri che gestiscono i moduli CLC, e quindi possono essere “virtualizzati” liberando due pin.
Questi due pin “liberati” possono così essere utilizzati per connettere i due segnali IO/M e DS andando a “pareggiare ” il bilancio dei pin usati.

Ora non rimane che implementare il tutto in MPLABX usando l’editor dello MCC…

  • Questa risposta è stata modificata 2 anni, 12 mesi fa da Just4Fun.
  • Questa risposta è stata modificata 2 anni, 12 mesi fa da Just4Fun.
  • Questa risposta è stata modificata 2 anni, 12 mesi fa da Just4Fun.
  • Questa risposta è stata modificata 2 anni, 12 mesi fa da Just4Fun.
  • Questa risposta è stata modificata 2 anni, 12 mesi fa da Just4Fun.
  • Questa risposta è stata modificata 2 anni, 12 mesi fa da Just4Fun.