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

Fent servir un mòdul criptogràfic

Un perifèric que trobem als microcontroladors moderns és alguna mena de mòdul per accelerar els càlculs necessaris per el xifratge i/o desxifratge d’informació. En el cas de la família EFM32 de SiliconLabs aquest mòdul s’anomena AES a les primeres versions i CRYPTO a les darreres. Aquest mòdul, com els d’altres fabricants, reben les dades a […]

Read More Fent servir un mòdul criptogràfic

RTOS: Semàfors

En aquesta entrada parlarem de què son i com fer servir semàfors en un RTOS. Un semàfor és un dels mecanismes de comunicació entre tasques que ofereix un OS. . Així, una tasca prova d’agafar el semàfor i es quedarà esperant que una altra tasca doni el semàfor o ho tornarà a provar més endavant. […]

Read More RTOS: Semàfors

Timer i IRQs

Com ja hem vist al post anterior, un Timer compta temps i el podem fer servir per força coses diferents. L’exemple anterior estava basat en fer polling dels registres del Timer, que és una tècnica senzilla però poc eficient.

Read More Timer i IRQs

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

Printf en sistemes encastats

Un de les principals diferències quan treballem amb sistemes encastats és que no tenim una consola on executem el nostre codi i podem veure quins resultats ha obtingut. Una millora d’ARM respecte arquitectures anteriors va ser la d’incorporar ja fa temps un pin de output anomenat SWO que permet enviar dades cap a una consola […]

Read More Printf en sistemes encastats

Plataforma per seguir el curs

Per tots els exemples estic fent servir la familia EFM32 de Silicon Labs i en concret la placa de prototipat EFM32 Tiny Gecko 32-bit Microcontroller (EFM32TG-STK3300) (link a la plana web). La podeu comprar a Farnell , RS o Digikey per menys de 30€. Aquesta placa porta un EFM32TG840F32 , amb 32 KB de memòria FLASH i 4 […]

Read More Plataforma per seguir el curs