SKILLS
PIC10F322 (AC103011). Le versioni degli strumenti utilizzati sono le seguenti:
MPASMWIN.exe v5.45, mplink.exe v4.43,
mplib.exe v4.43.
+ Skills
GENERAZIONE DEL RITARDO
Come detto il ritardo può essere impostato tra 2µs e 193µs per incrementi discreti di 750ns (in base al clock interno a
16MHz e alle 3 istruzioni necessarie per
eseguire un loop di attesa). Ovviamente
la dimensione massima del ritardo può
essere aumentata, o riducendo la frequenza di clock oppure aumentando il
numero di cicli del loop di ritardo.
I ritardi sono sincronizzati sui fronti di
salita o di discesa del segnale in esame,
tramite due #define si possono abilitare
;; 2 lines below enable rising
and falling
Figura 2: Ritardo di propagazione.
edge delays
#defi ne RISING_EDGE_DELAY
Per la realizzazione si utilizza la periferica CLC (Configurable Logic Cell) per realizzare una commutazione veloce in uscita, se ciò non fosse indispensabile si può
utilizzare solamente delle porte logiche,
in tal caso più cicli di istruzioni devono
essere elaborate prima che l'uscita commuti in funzione dell'ingresso. Utilizzando il CLC il segnale viene pilotato direttamente e ha solo il ritardo di propagazione
tra il segnale di entrata e quello di uscita.
Per velocizzare ulteriormente e ottenere
la massima performance il codice viene
scritto in assembly.
Il codice viene scritto in-line, senza subroutine per ottimizzare le performance
durante i salti di codice. Il codice occupa
solo 43 locazioni sulle 512 disponibili di
flash e solo un byte di RAM. L'applicazione è stata sviluppata sulla scheda demo
#defi ne FALLING_EDGE_DELAY
;;
specify
length
of
falling
and rising edge
below
RISE_EDGE_DELAY equ 0x01
FALL_EDGE_DELAY equ 0x01
;#defi ne MS_DELAY
FOCUS ON
SKILLS
INSIDE
TOOLS
ANALOG
TIPS'N TRICKS
MARKET NEWS
SPOTLIGHT
EVENTS ZAPPING
MEMBERSHIP
Tabella dei contenuti per la edizione digitale del Firmware - Luglio-Agosto 2014 / N°102/103