Temps i màquines d’estats

Tot i que el tractament del temps (deixar passar un cert temps, esperar per un esdeveniment un cert temps, etc.) es pot fer tant amb FSMs com amb un bucle de control senzill, hi ha models pensats que el tracten específicament. Una forma molt senzilla d’afegir temps a una FSM és afegir un temps d’espera […]

Read More Temps i màquines d’estats

Codificant Màquines d’Estats

Com ja hem vist a l’entrada anterior, és relativament senzill codificar una FSM en C. Tot i això, es pot trobar un model genèric per simplificar les coses. Anem a presentar-lo. Com s’ha dit anteriorment, una FSM consta de 4 operacions: Llegir les entrades. Això provocarà o no canvis en l’estat i les sortides. Calcular […]

Read More Codificant Màquines d’Estats

Màquines d’estats

Una màquina d’estats (FSM, de Finite State Machine en anglès) és un model de màquina que reacciona a certes entrades i calcula el valor per les sortides, segons l’estat en que estigui. També es pot veure com un seguit d’estats possibles (finit!) en el que pot estar la màquina (el nostre programa) i que va […]

Read More Màquines d’estats

Gestió de rellotges – Systick

En la majoria de microcontroladors moderns la gestió dels rellotges és una qüestió delicada i molt important. Per tal de millorar el consum del dispositiu, és habitual tenir un control i poder decidir si cert perifèric rep el senyal de rellotge o no En cas que no el rebi, el perifèric romandrà totalment desconnectat i […]

Read More Gestió de rellotges – Systick

Interrupcions a FreeRTOS

FreeRTOS deixa el maneig de les interrupcions a mans del desenvolupador, demanant unes certes condicions. Cal tenir en compte que les interrupcions són esdeveniments totalment asíncrons i imprevisibles i que prenen el control de forma automàtica. Això fa que mentre està funcionant una ISR el kernel del Sistema Operatiu no es pot executar i que, […]

Read More Interrupcions a FreeRTOS

Shadow registers

En algunes arquitectures i en perifèrics d’alguns fabricants poden llegir que es fan servir shadow registers. S’anomenen així a registres que contenen una còpia d’un altre registre i que son els que es poden llegir per part d’altres dispositius o perifèrics.

Read More Shadow registers

Empaquetant estructures

L’ús d’estructures (struct en C) per emmagatzemar dades que estan relacionades és força habitual. Per fer-ho, només cal definir una estructura i cada camp es defineix amb el tipus desitjat. Tota l’estructura funciona com un paquet de dades, que es pot moure, copiar i accedir com un tot.

Read More Empaquetant estructures

Un timer de baix consum

Un mode que es fa servir sovint en sistemes de baix consum és el de tenir un timer configurat per que desperti el sistema cada cert temps. Així per exemple, en un sistema que ha de llegir un sensor cada 30 segons, el timer seria l’únic perifèric en funcionament actiu i estaria configurat per generar […]

Read More Un timer de baix consum

Baix consum: modes de baix consum

Un dels temes més habituals de trobar-se quan es tracten temes amb microcontroladors és el del baix consum. Gràcies a la tecnologia de fabricació dels microxips i els avenços en les arquitectures dels microcontroladors, aquests han arribat a unes fites de consum molt baixes, permeten desenvolupar aplicacions on el sistema pugui anar alimentat per bateries […]

Read More Baix consum: modes de baix consum

Timers

Un Timer és un dels perifèrics més habituals de trobar en un microcontrolador. Bàsicament consisteix en un comptador que genera alguna interrupció quan arriba a un cert llindar o al límit. Com sempre, cada fabricant el fa com li sembla i, per tant, cadascun té característiques un pel diferents.

Read More Timers