Estamos inciando uma série de artigos que terão como base o desenvolvimento de sistemas embarcados baseados na plataforma Freedom. O objetivo será a construção de um protótipo com os periféricos de entrada e saída mais comuns, bem como a construção de drivers para cada um destes periféricos. Como co-escritor da série temos o Gabriel Marcato. Vamos então iniciar a série apresentando a plataforma a ser utilizada.
A plataforma de desenvolvimento NXP Freedom é composta por um conjunto de ferramentas de software e hardware para avaliação, desenvolvimento e prototipagem. Ela possui diversas placas de desenvolvimento, entre elas a KL05Z.
A KL05Z é uma placa de baixo custo, possuindo o microcontrolador MKL05Z32VFM4 (construído com base no core ARM® Cortex™-M0+). Este microcontrolador faz parte da linha L da Kinetis que são voltados para baixo consumo. A linha Freedom possui outras variantes, duas delas já foram apresentadas por aqui: a KL64f e KE02z.
O microcontrolador utilizado, MKL05Z32VFM4, possui as seguintes características:
- Um processador ARM® Cortex®-M0+, 32-Bit, 48MHz;
- Um módulo de comunicação SPI;
- Um módulo de UART;
- Um módulo I2C;
- Um controlador de DMA com 4 canais, suportando até 63 fontes diferentes de requisição;
- LVD, POR, WDT;
- Seis canais de Timer/PWM (TPM);
- 28 terminais de I/O;
- 32KB de memória Flash (32K x 8);
- 4K x 8 de memória RAM;
- Alimentação em 1.71 V ~ 3.6 V;
- Um conversor A/D de 12bits e 14 canais;
- Um conversor D/A de 12bits.
A placa Freedom contém ainda outros periféricos, além do sistema P&E de gravação e depuração, como:
- Touch slider capacitivo;
- Um acelerômetro MMA8451Q;
- Um LED RGB;
- Footprint compatível com Arduino;
- Interface de debug OpenSDA da P&E Multilink, compatível com diversas IDE's (utiliza porta USB de alimentação).
A KL05Z possuí 81mm de comprimento e 53mm de largura, sendo um pouco mais comprida que um ARDUINO UNO (68mm x 52mm). A placa foi projetada com o layout compatível com o do Arduíno Uno R3, "permitindo com que se possa reaproveitar PCBs projetadas para algumas delas". Deve-se, contudo, tomar cuidado pois os terminais da freedom são compatíveis com 3V3. A utilização de shields em 5 Volts pode avariar a placa.
Para se trabalhar com esta plataforma podem ser utilizadas diversas IDE’s como: CodeWarrior, Kinetis Design Studio e Keil. Todos possuem uma versão gratuita disponível. Devido à interface OpenSDA, é possível fazer a gravação e depuração do programa através da mesma conexão USB de alimentação da placa. Também é possível utilizar o ambiente mbed. O mbed é uma IDE online onde o código é compilado no servidor e você faz o download do binário. Quando conectada ao computador, a Freedom se apresenta como um pen-drive normal. Basta copiar o binário para o "pen-drive" e regravar a placa.
A placa custa cerca de 15 dólares, não muito distante do preço de um Arduino Uno original. Para prototipagem ela funciona como uma boa substituta do Arduino Uno, principalmente quando é necessário uma maior capacidade de processamento. Em geral a programação é feita em C ou C++, sem a camada Wiring de abstração presente no arduino. Deve-se tomar cuidado apenas com a compatibilidade dos shields com relação à diferença dos níveis de tensão.
Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.
Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Estou gostando bastante! Obrigada por compartilhar o conhecimento 😀
bom dia.
teremos mais artigos sobre a mesma?
Bom dia Felipe, teremos sim, o próximo falaremos sobre a IDE KDS da NXP e como fazer um primeiro programa para ela.