Freedom FRDM-K64F

Apresentando a Freedom FRDM-K64F Deixe um comentário

A NXP começou há alguns anos com a linha de placas de desenvolvimento Freedom, criadas para facilitar o acesso e consequente familiarização com microcontroladores Kinetis, caracterizados por núcleos de processamento ARM Cortex-M0, M0+, M4, dentre outros, com aplicações em cenários de baixo consumo, automação, rádio-frequência e até mesmo Internet das Coisas. E a grande estrela da família é a Freedom FRDM-K64F, que agrega as melhores características dessa linha.

Freedom FRDM-K64F

Características da Freedom FRDM-K64F

O coração da Freedom FRDM-K64F é o Kinetis K64, um microcontrolador ARM Cortex-M4F com 1MB de memória Flash, 256KB de memória RAM, e com frequência de operação de 120 MHz.

Detalhe microcontrolador

A linha de microcontroladores M4 é voltada para automação em mais alto nível, sendo capaz de executar cálculos mais complexos, tendo embutido ao processador unidades capazes de realizar operações de processamento digital de sinais. A letra “F” na nomenclatura do modelo indica que possui Unidade de Ponto Flutuante, o que possibilita a execução de operações aritméticas de maior complexidade e precisão do que os microcontroladores tradicionais.

Detalhe Ethernet Shield

Somado a isso, conta  com controladora de rede Ethernet Integrada, ou seja, possui nativamente suporte à rede! O que permite a criação de projetos de embarcados conectados à internet, o que é uma formidável opção para Internet das Coisas. E sem poupar esforços, ele também possui unidade de criptografia incorporada, o que permite proteger as informações em tráfego.

Em detalhes, as especificações do K64 são as seguintes:

Especificações MK64FN:

  • Microcontrolador: MK64FN1M0VLL12 (Datasheet)
  • Frequência CPU: 120MHz
  • Memória Flash: 1MB
  • Memória RAM: 256KB
  • 3 SPIs, 3 I2Cs, I2S, 5 UARTs, USB OTG / Host / Device, CAN;
  • PWM
  • ADC (2x 16bit SAR) e DAC (1x12bit);
  • GPIO e Comparador;
  • Clock interno de 3 a 32 MHz, além de um cristal interno para operação a 32 kHz;
  • Controlador Ethernet integrado, tipo RMII ou MII, pronto para conectar a um PHY externo;
  • Módulo de segurança integrado, em hardware, incluindo CRC, gerador de número randômico real, suporte a: DES, 3DES, AES, MD5, SHA-1 e SHA-256.
  • ID único de 128 bits por chip – assinatura individual.

É um microcontrolador com bastante memória Flash e bastante memória RAM, suficiente para armazenar programas que façam uso de bibliotecas de rede, interface com cartão de memória, e até mesmo programas mais complexos contando com um RTOS. Se você imaginar que o conhecido Arduino é um sistema que opera em 16 MHz numa arquitetura de 8 bits, irá se assustar com o fato de que a K64F é um ARM de 32 bits operando a 120 MHz, o que resulta em um considerável “poder de fogo” para sistemas embarcados.

Ainda na comparação com o Arduino, a Freedom FRDM-K64F possui conversores de sinais Analógico-Digitais com resolução de 16 bits, enquanto que o Arduino possui ADCs de 10 bits. Ou seja, para captura de sinais de sensores analógicos, o K64F irá fornecer um sinal com uma resolução muito maior que a do Arduino.

Um diferencial que vale observar é a presença do controlador de Rede CAN, que possibilita o uso da K64F em projetos industriais e automotivos. E a presença de vários periféricos I2C e SPI permite a interface simultânea com também vários outros periféricos que façam uso dos mesmos barramentos, o que torna possível a implementação de projetos com Displays e memórias SPI, como também com sensores e demais elementos em I2C.

Pinagem K64F
Figura – Pinagem da FRDM-K64F destacada. Fonte: ARM mBed.

Assim como as demais placas da linha, a Freedom FRDM-K64F foi projetada de forma a permitir um fácil acesso aos I/Os do microcontrolador, além de vir com o depurador OpenSDA integrado na placa, que além de criar um canal de comunicação serial, permite a programação do microcontrolador por meio de IDE, e permite também  a programação via modo Mass Storage Device (MSD – Armazenamento). Nesse modo a placa se comporta como um “pendrive”, e basta você arrastar o programa binário para este pendrive que o mesmo é carregado na memória do microcontrolador.

Detalhe Ethernet e USB

A maioria das placas de desenvolvimento modernas tradicionalmente incorporam alguma conectividade USB, somado à exposição dos I/Os do microcontrolador. Indo além, a NXP tem o costume de agregar sensores e LED RGB nas placas Freedom, de modo que na FRDM-K64F não foi diferente: ela possui um LED RGB, e um sensor acelerômetro e magnetômetro FXOS8700CQ incorporado. O LED RGB é uma mão na roda, pois de uma maneira muito simples é possível programar um “feedback” visual do status de operação da placa, como por exemplo usar a cor vermelha para ocasiões em que houve algum problema, e a cor verde para operação normal.

Detalhe led RGB

Visando aumentar a conectividade com outros componentes, a placa possui conectores disponíveis para conexão com módulos Bluetooth JY-MCU V1.05 e Transceivers 2.4GHz nRF24L01 da Nordic.

Detalhe conectores BT e NRF

Com essas interfaces, é possível transformar a FRDM-K64F em um gateway de sensores para IoT, ou seja, você pode fazer interface com sensores ou módulos Bluetooth e/ou  2.4GHz, e enviar dados dos sensores para nuvem, como também vice-versa, enviando dados da nuvem para os módulos.

A FRDM-K64F agrega também interface com cartões de memória do tipo microSD, de modo a permitir o desenvolvedor interessado a escrever programas capazes de fazer log (registro) de dados de sensores e demais informações coletadas, como também programas que façam leitura de instruções contidas no cartão microSD.

O K64F também possui controladora USB OTG integrada, ou seja, ele pode tanto se passar como um dispositivo USB, tal como um teclado, mouse, pendrive, como também pode se passar como “host” – e assim se conectar a teclado, mouse, pendrive, por exemplo. Com essa funcionalidade, por exemplo, você pode escrever um programa que faça a K64F se passar por um mouse controlado pelo acelerômetro, ou um programa que leia as teclas de um teclado conectado via USB à K64F.

Pinagem da Freedom FRDM-K64F

Uma vantagem que é percebida logo de cara com a FRDM-K64F (e demais placas Freedom) é a simplicidade e objetividade em uma caixa de papelão. A placa vem devidamente protegida, é claro, mas a mesma caixa também vem acompanhada  de um “mini-folder” indicando sinais, botões, conectores e pinagem da placa de desenvolvimento e aprendizagem, o que fornece um muito bem-vindo norte quando no desenvolvimento de programas somado a prototipagem com conexões dos sinais!

Detalhe cartão de referência

Vejam que alguns sinais estão marcados por NC. NC é a abreviação de “No Connection” – “Sem conexão”, traduzido do inglês. Ou seja, são sinais que não desempenham função alguma. Os demais sinais possuem devida nomenclatura, que depois é usada por base na escrita dos programas. A despeito dos sinais NC, a FRDM-K64F possui uma boa quantidade de sinais para usos diversos.

Alguns podem ter percebido uma certa similaridade com um conhecido da área na pinagem destacada pela imagem, certo? Pois bem, na mesma linha do padrão das placas Freedom, a FRDM-K64F também possui uma pinagem compatível com o padrão Arduino R3, o que permite o uso de shields desenvolvidos para Arduino. Valendo observar, nesse caso, que o K64F trabalha com tensão de 3.3V, e é preciso tomar cuidado adicional com a interface de componentes de 5V.

Esquemático K64F
Esquemático de ligações dos componentes da FRDM-K64F.

Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe