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

RTOS: Cues

Si a l’entrada anterior hem vist com es maneguen els semàfors, ara els toca el torn a les cues. Hem vist que els semàfors son útils per sincronitzar tasques i per protegir zones d’exclusió mútua, però no ens donen cap solució senzilla per enviar informació o dades d’una tasca a una altra. Aquesta comunicació és […]

Read More RTOS: Cues

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

Sistema Operatiu en Temps Real

En el Firmware per sistemes encastats que hem vist fins ara es basen en un bucle infinit on es van executant les tasques senzilles a fer. Això acostuma a ser prou bo per sistemes senzills, com ara llegir d’un ADC i decidir alguna cosa, o actuar sobre una sortida segons el valor d’un sensor, etc. […]

Read More Sistema Operatiu en Temps Real

ADC

Un perifèric força habitual en els microcontroladors actuals és l’ADC (Analog to Digital Converter). Aquesta part de HW el que fa és llegir un senyal analògic (un voltatge) i convertir-lo a un valor digital (un número). Com ho fa i quins tipus hi ha (n’hi ha forces) no entra en aquest curs i podeu consultar […]

Read More ADC

Watchdog

En els microcontroladors actuals tenim un perifèric amb un funcionament força peculiar. Quan s’activa el Watchdog, aquest comença a comptar un cert període de temps, i si no “s’alimenta”, ens reiniciarà tot el sistema. I per què volem un perifèric que ens reinici el nostre sistema? Doncs per si el nostre FW te algun error i […]

Read More Watchdog

Declarar una ISR

Com ja sabem, les ISR o Rutina de Tractament d’Interrupció (en anglès Interrupt Service Routine) son les funcions especials que s’executen tant bon punt es dispara una interrupció determinada. Tradicionalment les adreces a aquestes ISRs (anomenats de vegades vectors d’interrupció ) s’emmagatzemaven a una zona especial de la memòria del processador. Quan el processador rebia […]

Read More Declarar una ISR

Tipus de dades

El llenguatge C, que és el que fem servir majoritàriament quan programem sistemes encastats, és un llenguatge tipat estàtic. Això vol dir que a cada variable cal definir-la abans de fer-la servir i explicitar quin tipus te. Els tipus de dades de C tenen un petit problema, i és que no estan fixats per l’standard. […]

Read More Tipus de dades

PWM

El PWM o Pulse Width Modulation (Modulació per amplada dels polsos) és una tècnica per aconseguir controlar la potència subministrada a un dispositiu mitjançant un senyal digital. Simplificant, fent que un senyal digital (‘1’ o ‘0’) estigui més o menys estona a ‘1’ aconseguim controlar la potència que rep el dispositiu a la sortida. Aquest tipus […]

Read More PWM