quinta-feira, 31 de maio de 2012

CICLO DE INSTRUÇÃO (para os microcontroladores PIC)


Para a família PIC, cada ciclo de instrução dura quatro pulsos de clock. Os microcontroladores PIC fazem uso do pipeline para aumentar a velocidade de execução das instruções. Pipeline é uma técnica utilizada pelos processadores mais modernos e consiste em dividir a execução das instruções em partes e cada uma destas partes pode ser executada em paralelo em um formato semelhante a uma linha de montagem de carros. No caso dos microcontroladores PIC pode-se visualizar a execução das instruções como sendo dividida em dois estágios: busca (fetch) e executa (execute), onde cada estágio gasta 4 ciclos de clock.

O pipeline permite que quase todas as instruções possam ser executadas em um ciclo de máquina, com exceção das que alteram o contador de programa, como chamadas de rotinas e seus retornos. Nestes casos, o pipeline sofre uma penalidade de um ciclo de clock devendo descartar (flush, na figura 8) a instrução que já havia sido buscada para então carregar a instrução no endereço correto, consumindo, portanto, dois ciclos de instrução (SOUZA, 2000, pg 6).

A figura 1 (MATIC, 2000, pg 18) mostra o fluxo das instruções no pipeline em um pequeno trecho de um programa escrito em assembly.

Figura 1: Pipeline de um trecho de código


No ciclo 0, o código da instrução MOVLW 55h é buscado da memória (desconsiderando a instrução que é executada neste ciclo). No ciclo 1, a instrução MOVLW 55h é executada e a instrução MOVWF PORTB é buscada da memória. No ciclo 2 a instrução MOVWF PORTB é executada e é buscada da memória a instrução CALL SUB_1. A chamada da sub-rotina SUB_1 e a leitura da instrução BSF PORTA, BIT3 são feitas no ciclo 3. Como a instrução BSF PORTA, BIT3 não é a que será executada no momento e sim a primeira instrução da sub-rotina SUB_1, deve ser feita outra busca de instrução. Esta situação mostra porque as instruções de chamada de sub-rotina consomem dois ciclos de máquina, já que a instrução BSF PORTA, BIT3 terá que ser lida novamente ao término da sub-rotina. O ciclo 4 é usado somente para ler a primeira instrução da sub-rotina e nenhuma instrução é executada. A primeira instrução da sub-rotina é então executada no ciclo 5.


Fonte:
Duarte, Rafael Lindemann. SISTEMA INTELIGENTE DE MONITORAMENTO E CONTROLE DE IRRIGAÇÃO. São José: UNIVALI, 2006. (TCC Ciência da Computação)


quarta-feira, 30 de maio de 2012

PROJETO COMPLETO - Repetidor de Sinal de Controle Remoto com PIC

Projeto completo de um repetidor de sinal de controle remoto com microcontrolador PIC Apresentado no site Eletromaniacos.com. Na forma em que ele é apresentado pode ser usado para aumentar o alcance de um controle remoto. 
Até aí, nada demais... :-/

Fonte da imagem: Eletromaniacos.com

Mas, como este projeto implementa a recepção E o envio de informação (recebe e repete) pode ser facilmente adaptado para ser o controle de algum dispositivo, ou ainda ser o receptor para poder controlar outro projeto com um controle remoto de TV, por exemplo.

Vale a pena conferir!!

No site do projeto, estão disponíveis:
- Código fonte em assembly para os PICs 12F629, 12F675 e 12F683;
- Arquivos HEX para estes mesmos microcontroladores;
- Esquema elétrico;
- Desenhos da placa (em pdf).


Novidade: Agora você pode ficar sabendo das novas postagens por e-mail!!!

A partir de agora você pode receber um e-mail avisando toda vez que surgir uma postagem nova aqui no SistemasEmbarcados.net!!

Para receber estes avisos, digite seu e-mail no campo correspondente (no topo da coluna direita do site e mostrado também na figura 1) e clicar no botão "submit".


Figura 1 - Onde cadastrar o endereço de e-mail para receber as novidades


Logo em seguida você receberá um e-mail pedindo para confirmar que você realmente quer receber as novidades do SistemasEmbarcados.net (Figura 2). 


Figura 2 - E-mail enviado para confirmação


Clique no Link (marcado em vermelho na figura 2) e pronto!!

O processo é rápido e seguro! 

De agora em diante, toda vez que eu postar alguma coisa nova aqui, você será avisado por e-mail automaticamente!!

Cartão de referência CCS (PICC)

Caros amigos, colegas e coisa e tal...

Trago aqui um documento que encontrei na internet, intitulado "Cartão de Referência" para  o compilador da CCS, e mostra um resumos das instruções, operadores, tipos de dados (variáveis), formatações de saída com printf, estruturas de seleção e repetição, exemplos, mensagens de erro apresentadas pelo compilador, além de outras informações importantes.

Bem útil pra hora em que aparecer aquela dúvida cruel. É bom ter ele por perto sempre!

Preview da primeira página (são 9 no total)

Este arquivo não cita o nome do autor e já o encontrei em diversos sites diferentes, então, não consigo afirmar quem é seu criador. Se alguém souber, por favor, prenda o grito!!



Vídeo - Propeller Clock - Relógio mostrado em "projeção no ar"!

Acho muito legal este tipo de projeto. Assim que sobrar um tempo, vou tentar fazer um...



sexta-feira, 25 de maio de 2012

PROJETO COMPLETO - Dado Eletrônico

Segue um projeto bem divertido, do site novaeletronica.net, Um dado eletrônico que, após um toque em um sensor "touch" apresenta um número de 1 a 6 em um painelzinho de LEDs. No final do sorteio do número, ele vai mudando devagarinho pra dar aquela sensação de que está parando de rodar!

Muito legal pra quem quer se divertir um pouquinho com os filhos ou com a marmanjada mesmo!

Fonte das imagens: www.novaeletronica.net

No site você vai encontrar:
- Esquema elétrico completo;
- Sugestão de placa;
- Explicações sobre o circuito, a montagem e o teste;
- Lista de materiais...


PROJETO COMPLETO - Dimmer para LEDs

A utilização de LEDs para fins de iluminação está cada vez mais "na moda". Recebi o link deste projeto por e-mail e achei bem legalzinho!

É um projeto completo de um dimmer para LEDs, do site espanhol Solo electrónica


Fonte da imagem: Solo electrónica



No site você vai encontrar:
- Esquema elétrico completo;
- Desenho da placa;
- Explicação de cada etapa do circuito;
- Lista de componentes;
- Explicações sobre como utilizar...

Tudo em espanhol, claro. Mas é bem facinho de entender.




Obs: Se alguém por um acaso não souber o que é um dimmer, trata-se de um equipamento muito utilizado para regular a intensidade luminosa em lâmpadas incandescentes, e agora, também em LEDs!

quarta-feira, 23 de maio de 2012

Mais uma dica interessante no blog Circuito Impresso sobre "keepout" no Proteus

O blog Circuito Impresso costuma postar pelo menos uma dica muito boa sobre PCI por semana, sempre coisas simples de se entender e fazer. A da vez é "Como desenhar área de keepout no Proteus ARES".




Projeto completo - MICROCONTROLADORES PIC – CONTROLE DE MOTOR DE PASSO - ArneRobotics


Mais um projeto completo do Arne, com esquemas e programa. Como de costume, absurdamente bem explicado!!!

Este projeto se trata de um controlador de motor de passo com microcontrolador PIC. Muito legal para entender como fazer o controle de posição, velocidade, sentido de giro (etc...) pelo microcontrolador.



Fonte da imagem: arnerobotics.com.br


terça-feira, 22 de maio de 2012

ESTUDO DO MOTOR DE PASSO E SEU CONTROLE DIGITAL


Mais uma da série "Motor de passo"!

Um trabalho de alunos de Sistemas Digitais da UFRJ, explica muito bem o funcionamento do motor de passo e mostra vários circuitos diferentes para acionamento.






----------------------------------------------------------------------



Na eletronica.org tem ainda outro projeto/artigo sobre controle de motor de passo pela paralela, que talvez venha a interessar: