Arquivo da tag: Tiva

Introdução ao Tiva C LaunchPad

Olá leitores do Control-Aut! Eu sou o Bruno Eilliar e tive a honra de ser convidado pelo Henrique para fazer uma parceria e trazer à vocês o pouco que sei sobre temas relacionados à Robótica, Controle de Sistemas, Sistemas Embarcados e tudo mais que vocês considerarem importante ser discutido. Espero que seja uma parceria duradoura e que eu possa contribuir de forma positiva no aprendizado de vocês.

Um pouco sobre mim: sou formado em Engenharia de Controle e Automação pelo IFSP e atualmente curso o  Mestrado em Controle e Automação de Processos, também no IFSP. Tive a oportunidade de fazer intercâmbio acadêmico em Portugal, pelo Ciência sem Fronteiras, onde cursei um ano do Mestrado em Robótica e Sistemas Não Lineares. Acima de tudo sou um aficionado por ciência e tecnologia, e tenho como objetivo de vida continuar a aprender sempre, afinal, a vida é um constante aprendizado. Vivo sob a máxima de Sócrates: “Sei que nada sei…”. Agora que já nos conhecemos um pouco vamos ao que interessa.

Hoje vamos fazer uma introdução  para você que quer começar a programar microtontroladores da família ARM®, um arquitetura que vem constantemente crescendo e que domina o mercado mobile. Especificamente vou apresentar a Tiva C Series LaunchPad, da Texas Instruments. Trata-se de uma placa de desenvolvimento de baixo custo que contém um microcontrolador ARM® Cortex™-M4F em seu core, já vem com um LED RGB e dois botões de interface (input) para testar as suas primeiras aplicações.

00_TivaC

Trata-se de uma evolução da Stellaris, também da Texas Instruments, com alguns features melhorados e você pode encontrá-la pelo preço de 12,99 dólares (mais frete) no próprio site da TI. Vamos à alguns detalhes técnicos para entendermos porque é uma excelente opção à outras placas como Arduino e MSP430 – no quesito performance/custo.

Sua LaucnhPad vem com as seguintes features:

  • Microcontrolador TM4C123GH6PMI;
  • Controle por modulção PWM;
  • Conexão USB micro-A e micro-B habilitada para conectividade USB Device, Host e On-The-Go (OTG);
  • LED RGB e dois Switches;
  • On-board In-Circuit Debug Interface (ICDI);
  • Switch para seleção de fonte de energia: ICDI ou USB device;

O diagrama de blocos abaixo, esquematiza como os componentes estão interligados na placa.

10_TivaDiagramaBloco

Sobre o Microcontrolador

O TM4C123GH6PM é um microcontrolador baseado na arquitetura ARM Cortex-M4 de 32 bit, com 256 KB de memória Flash, 32 KB de SRAM e 2 KB de EEPROM, operando a uma frequência de até 80 MHz (lembrando que o MSP430G e Arduino operam ao máximo de 16 MHz). Como interfaces de comunicação, o Tiva apresenta:

  • 8 UARTs (Universal Asynchronous Receivers/Transmitters;
  • 4 módulos SSI (Synchronouns Serial Interface);
  • 4 módulos I2C (Inter-Integrated Circuit) com 4 velocidades de transmissão, incluindo de alta velocidade;
  • 2 controladores CAN 2.0 A/B (Controller Area Network) e
  • USB 2.0 OTG/Host/Device.

Como foi dito, sua placa possui um LED RGB e dois Switches para testar algumas aplicações imediatamente. Estas interfaces estão conectadas à Porta F do microcontrolador, obedecendo à seguinte ordem:

GPIO PIN Pin Function USB Device
PF4 GPIO SW1
PF0 GPIO SW2
PF1 GPIO RGB LED (Red)
PF2 GPIO RGB LED (Blue)
PF3 GPIO RGB LED (Green)

 

Programando sua TIVA

Bom, basicamente existem duas formas, ou duas IDEs (Integrated Development Environment), que podem ser utilizadas para programar sua Tiva. A primeira delas, mais indicada para hobbystas – pois dispensa o conhecimento de arquitetura, registradores, etc – é a Energia que basicamente é uma IDE com cara de Arduino! Com ela você pode programar a maioria das LaunchPads da TI da mesma forma que você iria programar o seu Arduino. O próprio site da Energia contém informações de como realizar a instalação, mapeamento de portas e etc.

A segunda forma, que vamos utilizar em nossos futuros exemplos, é voltada para quem já tem algum conhecimento em eletrônica digital e arquitetura de microcontroladores, pois vai demandar conhecimento de Registradores, Memória, Stack Pointer, etc. Aqui você tem duas opções: Code Composer Studio   e Keil µVision . Particularmente, prefiro o Keil µVision, pois ao meu ver é uma IDE que roda de forma mais fluida e tenho a opção de instalar só a versão para ARM, enquanto o CCS vem com suporte para todos os microcontroladores da TI.

Nossos futuros exemplos foram concebidos e serão apresentados usando a IDE Keil. Para isso é preciso usar o seguinte arquivo para inicialização do microcontrolador (startup.s) e utilizar todas as funções do Debugger.

Bom Sras. e Srs., por hoje vamos ficar por aqui. No próximo post sobre a Tiva, vamos mostrar como criar um projeto e desenvolver nosso primeiro sistema, nossa versão de Hello World! para sistemas embarcados. Se gostou, não deixe de espalhar a palavra e se tem alguma dúvida ou sugestão, deixe seu comentário!

Até o próximo post!

Anúncios