MPLAB Xpress Evaluation Board – Review

MPLAB Xpress Evaluation Board

Este artigo mostrará um review da placa de avaliação criada e distribuída pela Microchip, a MPLAB Xpress Evaluation Board, para impulsionar o lançamento do MPLAB Xpress IDE. Além disso, é mostrado um exemplo utilizando o gerenciador de tarefas que desenvolvi portado para rodar no PIC desta placa (PIC 16F18855).

Unboxing

A placa é armazenada em uma pequena caixa, conforme mostra a figura 1. A embalagem e conteúdo é minimalista, porém completo o suficiente para testar todo o potencial da placa. A caixa possui quase as mesmas dimensões da placa.

Figura 1 - foto da caixa do  MPLAB Xpress Evaluation Board
Figura 1 – Foto da caixa do MPLAB Xpress Evaluation Board

Abrindo a caixa, além da placa, é disponível um esquema elétrico (figura 2) e, impresso no interior da embalagem, informações gerais da placa (figura 3). O espaço da embalagem foi muito bem aproveitado, dispensando download de manuais ou materiais complementares.

Figura 2 - esquema elétrico
Figura 2 – Esquema elétrico
Figura 3 - informações impressas na embalagem
Figura 3 – Informações impressas na embalagem

Para mais informações do circuito esquemático, acesse este link.

Informações técnicas

A placa mostra-se um kit de desenvolvimento básico, com itens mínimos (dois push-buttons, sendo um dedicado a reset, quatro LEDs e um potenciômetro) e certas surpresas. O que surpreendeu foi a presença de um sensor de temperatura EMC1001 – AFZQ-TR (item pouco usual para placas desse nível de simplicidade) e de um soquete para conexão de placas mikro bus, visando conectividade com módulos externos diversos.

Além disso, outro fator interessante foi a presença de um PIC adicional (modelo 18LF25K50-I/ML), exclusivo para funções de interfaceamento USB para gravação de firmware no PIC16F18855 e para debug. Outra featura interessante é que, quando conectado a um computador, a placa se apresenta como um dispositivo Mass Storage, o qual permite que seja colocado o arquivo .hex de um firmware compilado. Uma vez feito isso, o PIC 16F18855 é automaticamente gravado com o firmware lá colocado pelo PIC 18LF25K50-I/ML, o que torna o desenvolvimento muito prático.

Ponto de atenção: o regulador de tensão para 3V3 (MCP1703T-3302E) suporta fornecer corrente máxima de 250mA. Portanto, ligar um módulo de alto consumo alimentado em 3V3 (exemplo comum: ESP8266-01) ocasionaria a perda do regulador de tensão e, conseqüentemente, faria a placa parar de funcionar.

Segue abaixo um resumo das principais características técnicas da placa:

Microcontrolador:

  • Microcontrolador para desenvolvimento na placa: PIC 16F18855-I/MV;
  • Tamanho de flash: 14KB;
  • Tamanho da memória RAM: 1KB;
  • EEPROM de 256 bytes;
  • Oscilador:  
    – Interno, com freqüencia configurável em 32kHz, 1MHz, 4MHz e 32MHz, todos de precisão (erro de +- 1%);
    – Externo (frequencia máxima aceita igual a 20MHz);
    – PLL de 2 e 4 para oscilador interno ou externo;
  • Possui bloco de cálculo de CRC 16-bits por hardware;
  • ADC de 10 bits de resolução e até 35 canais;
  • DAC de 5 bits de resolução;
  • Dois módulos comparadores;
  • Digital Signal Modulator (DSM);
  • Dois canais SPI por hardware;
  • Dois canais I²C por hardware;
  • RS232 e RS485 por hardware (UART);
  • Dois PWMs independentes (10 bits).

Placa:

  • Alimentação e debug: micro USB;
  • Corrente máxima de consumo (placa + módulos externos): 250mA;
  • Inputs digitais: 1 (push-button);
  • Inputs analógicos: 1 (potenciômetro);
  • Outputs digitais: 4 (LEDs);
  • Sensor de temperatura EMC1001 – AFZQ-TR, operando com comunicação I²C;
  • Regulador de tensão 3V3 modelo MCP1703T-3302E, operando com no máximo 250mA @ 3V3.

Em suma, uma placa com um ótimo microcontrolador para quem é fã de bare-metal, contando com um set de inputs e outputs minimalista, porém útil.

Exemplo de utilização

Como exemplo de utilização, eu portei um gerenciador de tarefas que eu fiz há alguns meses (leia mais sobre o gerenciador aqui). Mais precisamente, fiz com que o gerenciador controlasse independentemente os 4 LEDs da placa conforme a seguir:

  • Troca estado do LED D2 de 300 em 300ms;
  • Troca estado do LED D2 de 1000 em 1000ms;
  • Troca estado do LED D2 de 2000 em 2000ms;
  • Troca estado do LED D2 de 500 em 500ms.

O projeto pode ser visto neste link. Sinta-se a vontade para importá-lo e utilizá-lo como achar melhor.

Onde fazer o projeto?

Para fazer este projeto, utilizei justamente o porquê desta placa ter sido lançada e enviada: a IDE online MPLAB IDE Xpress. Para utilizá-la, basta acessar o site oficial da IDE, fazer o cadastro grátis e usar! A Microchip disponibiliza bastante espaço por usuário (10GB), o que realmente faz com que seja possível programar seus projetos em qualquer lugar que tenha acesso à Internet.

A interface gráfica é idêntica à IDE clássica/offline MPLAB X IDE. Portanto, quem já está acostumado a utilizá-la, não sentirá diferença alguma. Cabe aqui um comentário: por ser uma IDE online, o desempenho no quesito tempo de compilação é inferior se comparado à versão offlline, mas mesmo assim nada que possa prejudicar ou tornar impeditivo seu uso.

Ainda, há a possibilidade de utilizar o Microchip Code Configurator (MCC) em uma versão online. Esta aplicação é muito útil, uma vez que todo o HAL / device drivers pode ser gerado sem muito esforço, sendo possível um rápido startup da placa utilizando qualquer módulo/periférico do microcontrolador (ADC, PWM, UART, etc.).

Pontos de atenção no uso do Microchip Code Configurator

Até a data de escrita deste artigo, eu tive algumas dificuldades na configuração do oscilador e do Timer0 (em 16 bits), as quais listo a seguir:

  • Ao tentar configurar o oscilador interno (HFINTOSC) para 32MHZ, notei que mesmo selecionando a frequência correta no MCC, o registrador de configuração de controle de velocidade era configurado como 4MHz. Isto me forçou a configurar manualmente o registrador para a frequência desejada;
  • Na versão online do MCC, o cálculo do valor de load e reload dos registradores TMR0H e TMR0L não fica correto. Foi necessário calcular em separado e determinar o valor referente à temporização que eu precisei;
  • Por algum motivo que desconheço, o reload do Timer0 feito pelo HAL (a cada geração de interrupção de Timer0 overflow) não estava coerente. Foi necessário que eu fizesse o reload manualmente. 

Conclusão

A Microchip está indo com tudo para o mundo do desenvolvimento na nuvem. Com o lançamento da IDE online MPLAB Xpress IDE, agora é possível desenvolver software embarcado para os bons e velhos microcontroladores PIC a partir da Internet.

A placa MPLAB Xpress Evaluation Board, disponibilizada pela Microchip para promover o lançamento de sua IDE online, apresenta um ótimo microcontrolador para desenvolver projetos de pequeno e médio portes. Além disso, devido à sua facilidade para gravar um firmware (em resumo, um drag and drop em um Mass Storage) e a praticidade de uma IDE e gerador de HAL onlines, o desenvolvimento de software embarcado para PIC se faz literalmente a qualquer hora e lugar.

Porém, pela experiência por mim passada, o Microchip Code Configurator em sua versão online ainda apresenta inconsistências, portanto deve ser utilizado com cautela (sendo altamente aconselhável dar uma conferida nos valores dos registradores após a geração do HAL).

Website | Veja + conteúdo

Sou engenheiro eletricista formado pela Faculdade de Engenharia de Guaratinguetá (FEG - UNESP) e trabalho com Android embarcado em Campinas-SP.
Curioso e viciado em tecnologia, sempre busco me aprimorar na área de sistemas embarcados (modalidades bare-metal, RTOS, Linux embarcado e Android embarcado).

Para mais informações, acesse minha página no Facebook:https://www.facebook.com/pbertoleti

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Comentários:
Notificações
Notificar
guest
4 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
André Curvello
07/03/2016 16:38

Mandou super bem, Pedrão!

Pedro Henrique Bertoleti
phfbertoleti
Reply to  André Curvello
22/03/2016 13:47

Obrigadao Curvello!

Ljunior Ferreira
Ljunior Ferreira
06/03/2016 14:03

Olá Pedro… como faço para adiquirir MPLAB Xpress Evaluation Board?? Pois ja tenho cadastro na microchip e ja fiz o cadastro para o mesmo!! Mais até agora nada… nem na loja virtual deles tem o mesmo!

Pedro Henrique Bertoleti
phfbertoleti
Reply to  Ljunior Ferreira
22/03/2016 13:55

Ljunior, boa tarde.

No link http://www.microchip.com/mplab/mplab-xpress há um botão para solicitar a placa com desconto. Tente ir por este caminho, assim creio que irá conseguir comprar a sua.

Talvez você goste:

Séries

Menu