Riconoscimento del positive-edge-triggered
Ciao a tutti,
Sono nuovo del forum e, non avendo trovato alcuna sezione per la presentazione passo direttamente a fare una richiesta.
I presupposti sono questi: io programmo microcontrollori PIC esclusivamente in assembly, e mi trovo in una situazione, nella quale ricevo da un controller esterno una semplice onda quadra, della quale dovrò cronometrare il T-low.
Impostare i timer e cronometrare l'onda in entrata non è un problema, però mi sono accorto che il mio firmware potrebbe funzionare molto meglio se potessi sincronizzare le sequenze di lettura con i fronti dell'onda entrante.
In pratica mi servirebbe scrivere una routine che mi permetta di scoprire se il segnale in ingresso è un positive-edge triggered, od un negative-edge.
Usando le istruzioni standard potrei riuscirci ma rischierei di inserire una latenza eccessiva, perché l'onda in ingresso ha un duty-cycle dell'ordine dei 6 uS, e quindi comincerei a rimanere un po' agli sgoccioli.
In definitiva la domanda è: conoscete un metodo efficace e il più possibile rapido per scoprire in ogni momento se l'onda entrante è positive-edge o negative-edge?
Grazie mille e a presto.
Sono nuovo del forum e, non avendo trovato alcuna sezione per la presentazione passo direttamente a fare una richiesta.
I presupposti sono questi: io programmo microcontrollori PIC esclusivamente in assembly, e mi trovo in una situazione, nella quale ricevo da un controller esterno una semplice onda quadra, della quale dovrò cronometrare il T-low.
Impostare i timer e cronometrare l'onda in entrata non è un problema, però mi sono accorto che il mio firmware potrebbe funzionare molto meglio se potessi sincronizzare le sequenze di lettura con i fronti dell'onda entrante.
In pratica mi servirebbe scrivere una routine che mi permetta di scoprire se il segnale in ingresso è un positive-edge triggered, od un negative-edge.
Usando le istruzioni standard potrei riuscirci ma rischierei di inserire una latenza eccessiva, perché l'onda in ingresso ha un duty-cycle dell'ordine dei 6 uS, e quindi comincerei a rimanere un po' agli sgoccioli.
In definitiva la domanda è: conoscete un metodo efficace e il più possibile rapido per scoprire in ogni momento se l'onda entrante è positive-edge o negative-edge?
Grazie mille e a presto.
