MSP430G2 Operando Sozinho

MSP430G2 Operando Sozinho

Este exemplo mostra como conduzir um MCU MSP430G2xx autônomo (sem Launchpad). Também mostra, como usar um Launchpad para programação de circuitos através de apenas três linhas (Spy By Wire). Nós primeiro teremos uma aparência na configuração mais mínima necessária, para executar uma MCU de linha de valor MSP430 fora do Launchpad. Então, detalhamos um pouco mais sobre como fornecer uma tensão regulada para o dispositivo, e a última vez que veremos, como o Launchpad pode ser usado como no programador de circuito.
Para acabar com um exemplo de alguma forma útil, e testar as coisas um pouco, é fornecido um pequeno exemplo de firmware. Este firmware apenas pisca dois LEDs conectados ao MSP430G2xxx e alterna o modo intermitente sempre que o botão pressionado conectado é pressionado.

Pré-requisitos

  • Hardware
    O seguinte material é necessário para criar a configuração do exemplo:
Qty. Part
1 TI Launchpad
1 MSP430G2xxx MCU (the MSP430G2231 which comes with the launchpad is good enough)
2 47kOhm resistors
2 LEDs (blue)
2 Push buttons
1 Breadboard
bunch of Jumper wires

Para uma alimentação utilizando bateria, será nescessário:

Qty. Part
1 Voltage Regulator LM1086
2 0.1uF Capacitors
1 9V Battery block
1 9V Battery connector

Software

Para compilar o exemplo de firmware, o msp430-gcc deve estar instalado em seu sistema. Para piscar o LED, a ferramenta “mspdebug” é usada.

Configuração mínima

Primeiro, dê uma olhada na configuração mínima possível. Nesta configuração, assumimos, uma fonte de energia regulada de 3,3 V está disponível, e tudo o que precisamos fazer é ligar o MSP430G2xxx. Bem, isso é bastante simples, o único que temos que saber é que o MSP430G2xxx é mantido no estado de reinicialização, a menos que o pino RST seja conduzido alto. Assim, VCC e RST estão conectados a 3.3V e GND à terra. Para poder redefinir o MSP430G (neste passo através de um botão, mais tarde no Launchpad), adicionamos um resistor de pull-up adicional de 47k entre o pino RST e a fonte de alimentação de 3.3V. Então, entre o pino RST e o resistor, um botão está conectado com um lado e com o outro de lado a terra. Enquanto o botão estiver aberto, a alimentação é fornecida ao pino RST através do resistor pull-up. No momento em que o botão pressionado é pressionado, o RST é puxado para a terra e o MSP430 é reiniciado e mantido no estado de reposição a menos que o botão de pressão seja liberado.

msp430g2xxx_stand_alone_minimal

Configuração mínima com regulador de tensão

Os dispositivos de linha de valor MSP430 precisam de uma tensão de  alimentação entre 1.8 e 3.6V. É muito comum fornecer uma tensão de 3.3V. A tensão de alimentação deve ser mantida precisa, tanto quanto possível. Isso pode ser facilmente alcançado usando um regulador de tensão que é capaz de regular uma tensão de entrada dentro de uma certa faixa (por exemplo 4-12V) para uma tensão de saída fixa definida (3.3V no nosso caso). No nosso próximo exemplo, usamos um regulador LM1086 3.3V que fornece 3.3V em sua saída. Também é uma boa idéia desacoplar a entrada e a tensão de saída no regulador com dois capacitores. Agora, podemos alimentar o nosso MSP430 a partir de uma bateria de 9V.

msp430g2xxx_configuracao-regulador

Na programação de circuitos

Para carregar o firmware em sua MCU, você pode colocar a MCU no soquete IC do Launchpad, programar e depois colocá-lo novamente em seu circuito. Embora isso funcione muito bem do ponto de vista técnico, não é muito útil trocar a MCU por cada reprogramação entre o seu circuito e o Launchpad. De qualquer forma, não há necessidade de fazê-lo, já que o Launchpad pode ser usado facilmente na programação de circuitos. O Launchpad é composto por duas partes: a parte em que se avalia a linha de valores MCU da MSP430 e a parte que inclui a lógica de depuração / programação que você conecta via USB na sua caixa. A programação / depuração para os dispositivos de linha de valor é feita através de um protocolo chamado “Spy By Wire”. Para usar “Spy by Wire”, são necessárias apenas três linhas: TEST, RST e GND. Assim, para programar uma MCU no seu circuito, o único que precisa ser feito é remover a MCU do Launchpad e conectar os pinos TEST, RST e GND aos pinos correspondentes na MCU no seu circuito. O formulário RST do Launchpad está conectado onde você já conectou o botão de reinicialização nos exemplos anteriores. Agora você pode usar “mspdebug” para programar / depurar seu dispositivo como faria com o Launchpad.

msp430g2xxx_programacao_do_circuito

Nota: em vez de usar uma fonte de alimentação externa para o seu circuito (como fizemos no exemplo acima), você poderia usar o Launchpad para ligar o seu circuito. Para fazer isso, basta conectar o VCC do Launchpad ao VCC do seu circuito. Certifique-se de que não forneça de duas fontes.

Configuração para o Firmware de Aparência 

Para tentar as coisas (veja se poderíamos programar no circuito, ver se a fonte de alimentação funciona etc.), vamos adicionar dois LEDs adicionais em P1.0 e P1.6 (mesmos pinos que no Launchpad para LEDs), como bem como um botão de pressão e um resistor de pull-up de 47k em P1.3 (também o mesmo pino que está ligado para o botão no Launchpad):

msp430g2xxx_stand_alone_testsetup

Montando o sistema junto ao KIT de Desenvolvimento

Microcontrolador-operando-sozinho

O firmware da amostra não faz mais nada, mas pisca os LEDs em P1.0 e P1.6. O modo de intermitência pode ser alterado pressionando o botão em P1.3.

Obter o Firmware

Você pode baixar as fontes do github:

Compilação

Este projeto está escrito para msp430-gcc no Linux (usei v4.5.3 que está disponível como pacote no ubuntu). Para piscar a ferramenta “mspdebug” foi usada (também do pacote Ubuntu). Para compilar a fonte, apenas emita um:

make -C src

Isso cria o firmware no subdiretório “src”.

Piscando o LED (Hello Word)
Para piscar o firmware para o seu Launchpad, você pode usar o alvo de “flash”.

make -C src flash

Referências

  1. kalpost

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *