post

Bootloader em microcontroladores

Num microcontrolador comum, o pograma compilado por nós é programado no chip através de um circuito especial (firmware) compatível, conhecido por programador. No entanto, isto implica que é preciso tirar o microcontrolador do PCB e pô-lo no programador. Repetindo este cenário muita vezes pode danificar os pinos do micontrolador bem como o PCB.  Daí existir uma outra alternativa de programar os nossos microcontroladores: explorar a funcionalidade RS232 dos nossos chips e transferir o programa compilado pela porta série, on-chip (sem a necessidade de remover o micro do PCB). Para que isso seja possível, é previamente programado no microcontrolador um pequeno programa (inferior a 200 palavras) que controla a comunicação com o PC e que transfere a informação recebida para a memória de programa do micontrolador. Este programa é designado por “bootloader“.

Execução de um bootloader

O seu princípio de funcionamento é simples. Sempre que o microcontrolador for ligado, inicia-se a execução do bootloader. Este começa por perguntar ao PC sobre o que fazer. Se este não disser nada num determinado prazo e se existir um programa na memória do chip, o bootloader executa-o. Caso receba informações do PC, é iniciado o processo de transferência e armazenamento do novo programa. Convém referir que o bootloader tem de funcionar em conjunto com um programa que corre no PC (exemplo de programas: TinyPIC, WinPIC Loader, Pic Downloader).

Já existem inúmeros microcontroladores com o bootloader instalado, alguns da família PIC16 e PIC18 da Microchip, alguns da ATMEL e AVR e mesmo o Arduino.

O circuito de interface com o PC é a configuração típica de quem quer comunicar via porta série:

Comunicação pic-pc via porta série

post

#1 Porta série: Introdução

A transmissão em série permite transferir informação em longas distâncias por um único fio condutor, ao contrário da transmissão em paralelo que necessita de vários fios para levar a informação, o que significaria mais custos. Neste tipo de transmissão, os bits são enviados um a um, sequencialmente e normalmente com o bit menos significativo (LSB) primeiro.

Transmissão em série

Existem dois modos de transmissão na comunicação em série: síncrono ou assíncrono. Na transmissão síncrona, os dois dispositivos (emissor e receptor) devem possuir o mesmo sinal de relógio de modo a enviar e receber os dados sincronizadamente para evitar a perda de dados. No caso assíncrono, cabe ao emissor e ao receptor definirem os ciclos de tempo para saber quando cada bit é inicializado ou finalizado.

Os dispositivos que utilizam a transmissão em série podem ser divididos em 3 tipos:

Tipos de Transmissão

  • Simplex, onde a comunicação é efectuada apenas de um lado. Por exemplo, uma estação de rádio.
  • Half-duplex, onde a comunicação pode ser feita entre os dois blocos, mas numa direcção apenas. Por exemplo, um central de táxis a comunicar com as suas viaturas.
  • Full-duplex, onde a comunicação é feita bidireccionalmente (enviar e receber ao mesmo tempo). Por exemplo, um telefone (se bem que seria impossível entender o que se falava).

Próximo artigo: #2 Porta série: Interface série

post

Firefly, um sucesso cancelado?

FireflyNestes últimos meses tenho debatido com um colega da faculdade sobre qual a melhor série de ficção científica. Do meu lado defendia que Babylon 5 e Stargate SG1 foram as melhores enquanto que o meu colega apoiava FireFly.

Eu apresentava argumentos como Babylon 5 (1993) teve 5 anos no ar e que foi uma das primeira séries de ficção científica a utilizar grandes efeitos gráficos em 3D e para além disso, uma história impressionante que terminou com um final para mim, a melhor de sempre em todas as séries. Já o Stargate SG1 (1994) fala por si: 10 anos no ar, histórias excelentes e muitos prémios e só terminou porque o pessoal achou terminar por cima.

Já o meu colega dizia que Firefly (2002) foi eleita pela ISBN como a melhor série de ficção científica de sempre e que ganhou uma data de prémios. Se é a melhor série de sempre porque só teve 14 episódios? Foi cancelada por “incompetência da FOX” disse o meu colega. Como não posso falar sem saber, lá resolvi começar a ver os episódios do Firefly. O meu colega emprestou a caixa da série que comprou, escusava eu assim de arranjar por outros meios. Já vou no 4º episódio e até agora ainda não me convenceu.

Uma nota para o meu colega: enquanto eu vou ver os 14 episódios + filme, sugiro que vejas os 214 episódios do Stargate + filmes para termos argumentos iguais e sabermos do que estamos a falar. De referir que os episódios do Stargate dá para 6,3 dias,  portanto sugiro que comeces já.

Quando acabar de ver isto logo dou a minha opinião geral sobre a série.

*Não referi Star Trek porque tem muitas vezes episódios secantes e Stargate Atlantis porque ainda não tive oportunidade de ver.

post

DBZ Burst Limit: Screenshots impressionantes

Já vos tinha dito que era um grande fã desta série. Já vos tinha dito que fico sempre babado quando vejo vídeos no YouTube sobre o DBZ. Já vos tinha dito que hei de ter uma PS3 e poder ter a grande honra de jogar um jogo destes. Joguei praticamente todos os jogos do DragonBall nas plataformas Playstation. E agora enconto screenshots do novo jogo: DBZ Burst Limit simplesmente fantásticos!

Vejam só as minhas preferidas (a primeira é divinal):

DBZ Burst Limit

DBZ Burst Limit

Continue reading