Artigo de minha autoria originalmente postado no Embarcados.

Recentemente, faço um agradecimento ao Andre Trabulsi da Tradecomp por ter enviado uma nova placa para avaliação e demonstração ao Embarcados, a CY8CKIT-049-42XX, da Cypress.

O kit de prototipação CY8CKIT-049 é uma iniciativa da Cypress para servir de alternativa à política de amostras aos consumidores e entusiastas interessados em experimentar dispositivos com PSoC 4. Dessa forma, o kit fornece uma plataforma aberta e completa para acessar todas as I/Os do PSoC 4 utilizado, incluindo características tais como LEDs e um botão. Este kit também irá servir a usuários interessados em rapidamente integrar, desenvolver e testar características da linha PSoC em seus designs ou projetos.

Um detalhe que chama muito a atenção com relação a este kit é seu preço: 4 dólares. Talvez tenha alguma relação de marketing, ao passo que o elemento utilizado é da linha PSoC 4. Em suma, é um preço muito, muito baixo.

Ficou interessado? Quem revende o kit no Brasil é a Avnet, e preço, já no Brasil, é de 7 dólares + IPI, que para o kit em questão é na faixa dos 15%. Dessa forma, com o atual valor do dólar o preço do Kit fica em torno de 30 reais!  Para adquirir basta entrar em contato com a equipe de vendas da Avnet pelo e-mail: vendas@avnet.com.

PSoC é a abreviação de Programmable System on Chip, ou seja, Sistema em um Chip programável. De maneira resumida, é uma abordagem que permite ao projetista a habilidade de modelar como dados periféricos integrados ao microcontrolador irão se comportar, unindo conceitos outrora vistos em Dispositivos Lógicos Programáveis com microcontroladores modernos.

cypress psoc

Figura 1 – Esquemático de demonstração do conceito de PSoC. Fonte: www.cypress.com

Modelos e demais detalhes podem ser vistos na lista de definições:

  • PSoC 1 – CY8C2xxxx series – Núcleo M8C;
  • PSoC 3 – CY8C3xxxx series – Núcleo 8051;
  • PSoC 4 – CY8C4xxxx series – núcleo ARM Cortex-M0;
  • PSoC 5LP – CY8C5xxxx series – núcleo ARM Cortex-M3 com baixo consumo.

O kit CY8CKIT-049 pode vir em versões para trabalhar com as famílias de microcontroladores de 32 bits ARM Cortex-M0, CY8C41XX ou CY8C42XX. A linha de dispositivos PSoC 4 é composta por chips com processadores ARM reconfiguráveis, ao passo que possuem blocos analógicos e digitais programáveis com roteamento flexível e interconexões. Além disso, o CY8CKIT-049 suporta por padrão a funcionalidade CapSense, também da Cypress, que torna possível a interface do microcontrolador com botões capacitivos, ou seja, sensíveis ao toque.

Unboxing da placa CY8CKIT-049

O kit chegou pelos correios em um envelope, praticamente. Não é para menos: o pacote é muito fino, mas ao mesmo tempo suficiente para proteger o elemento mais essencial: o CY8CKIT-049. Na vista superior, é possível ver a placa do kit por meio do filme plástico de proteção, e uma figura indicativa ao canto mostrando que o plástico é destacável, tal como mostrado na Figura 2.

CY8CKIT-049 psoc box top

Figura 2 – Vista superior da caixa do kit.

Na parte de baixo da “caixa” há uma série de informações, tais como a pinagem da placa, conexão via USB, link para download de arquivos e informações, e um agradecimento singelo pelo apoio ao PSoC! Detalhes da vista inferior podem ser vistos na Figura 3.

CY8CKIT-049 psoc box bottom

Figura 3 – Vista inferior da caixa do kit.

Ao remover a placa, abrindo o filme plástico de proteção, me deparei com a frase “PSoC Rocks!”, tal como visto na Figura 4.

CY8CKIT-049 psoc rocks

Figura 4 – Kit removido da caixa, e destaque para a mensagem: “PSoC Rocks!”

E não somente na caixa do kit é que estão as indicações das pinagens da placa. Na própria placa há uma indicação nominal em cada pino, tal como pode ser visto na Figura 5.

CY8CKIT-049 psoc bottom

Figura 5 – Vista inferior da placa.

Tiramos essa belezinha da caixa. Agora é hora dos preparativos para o famoso “pisca led”!

Conexão USB

Como vocês viram, a placa possui conexão USB. O dispositivo usado para conexão USB no CY8CKIT-049 é um controlador configurável para ponte USB da Cypress, modelo CY7C65211. Este modelo suporta pontes USB-UART, USB-GPIO, USB-I2C e USB-SPI, além de também ter suporte para controle de botões capacitivos com CapSense e aplicações para carga de bateria com USB-IF.

Veja na Figura 6, em destaque dentro do quadrado, a parte da placa relativa à ponte USB-UART.

CY8CKIT-049 psoc usb-uart

Figura 6 – Componente USB-UART do kit

Por padrão, ele vem configurado como USB-UART no CY8CKIT-049, de modo a prover uma porta de comunicação COM, utilizada como mecanismo de bootloader via UART por meio do Bootloader Host do PSoC Creator. Ou seja, é possível, assim, carregar o código de programa via USB por meio do CY7C65211.

A parte da placa que contém o CY7C65211 pode ser destacada, de modo a tornar possível também o desenvolvimento de aplicações voltadas para o dispositivo em questão.

Ou seja, este kit é, na verdade, 2×1: Vem um PSoC em uma banda da placa, e um USB-Serial programável na outra banda. Para ver comos os elementos estão organizados na placa, veja o diagrama de blocos exibido na Figura 7.

cypress-schematic

Figura 7 – Diagrama de blocos e conexões dos elementos presentes na placa

Instalação dos Programas Necessários

Para baixar os arquivos e componentes necessários para iniciar o desenvolvimento com o Kit, é necessário acessar o link CY8CKIT-049-42XX, e na parte mais ao final da página encontram-se os links para download.

Como o kit fornecido foi o modelo CY8CKIT-049-42XX, realizei o download do primeiro arquivo, que basicamente é um Setup com arquivos tais como arquivos de design (layout da placa, gerber, etc), instalador do PSoC Creator, exemplos de código e documentação, tal como mostrado na Figura  8.

cypress-files

Figura 8 – Arquivos de download para o kit CY8CKIT-049

Após ter procedico com a instalação dos componentes, vez ou outra fui notificado pelo Cypress Update Manager, me avisando a respeito de atualizações dos programas instalados, e inclusive a respeito de arquivos relacionados ao kit CY8CKIT-049-42XX, tal como mostrado na Figura 9.

updateKit

Figura 9 – Cypress Update Manager.

Observação: Para usuários de Windows 8, 8.1 e Windows 10, é de fundamental importância estar com o PSoC Programmer atualizado, de modo a deixar o sistema com os drivers mais recentes!

A Interface de Desenvolvimento (IDE) padrão da Cypress é o PSoC Creator, que pode tanto ser baixado no link citado, como instalado por meio do material, baixando na página do kit.

Após a instalação e na primeira execução do programa, será pedido um breve login para cadastro, que é gratuito.  Na Figura 10 é possível ver a perspectiva da minha exibição do PSoC Creator.

psocreator

Figura 10 – PSoC Creator

Antes de começar, procurei ler a documentação fornecida no arquivo CY8CKIT-049-4xxx PSoC 4 Prototyping Kit Guide.pdf, a qual indicou sucintamente os passos para criar um projeto-base, tal como o “Pisca Led”.

Para programar o sistema PSoC 4 contido no kit via USB, é necessário fazer uso do bootloader para carregar o código pela ponte USB-UART. Assim sendo, o projeto precisa ser configurado como bootloadable.

Todavia, uma forma mais direta para começar é usando um projeto-base, tal como mencionado. Para usar o projeto fornecido com a instalação, basta ir no item “Examples and Kits”, logo na página Start Page do PSoC Creator, expandir a opção Kits, expandir CY8CKIT-049-42xx e selecionar SCB_Bootloader.cywrk, tal como mostrado na Figura 11.

psoc-step1

Figura 11 – Seleção do Projeto-base.

Logo após ter selecionado esta opção, a ferramenta irá lhe perguntar onde deseja copiar os arquivos do projeto. Selecione um diretório de preferência e OK.

Com o carregamento do Workspace, será possível visualizar 2 Projetos: Bootloadable Blinking Led e UART_Bootloader. O projeto UART_Bootloader é necessário para carregar o código via UART por meio da USB. Já o projeto Bootloadable Blinking Led é o projeto principal, e usa o projeto UART_Bootloader como dependência. Veja a estrutura do projeto na Figura 12.

Cypress-proj

Figura 12 – Projeto BlinkLed com Bootloader.

Um dos grandes destaques do desenvolvimento via PSoC é o uso de diagrama de blocos para a configuração do sistema programável. Para o projeto em questão, é possível ver no arquivo TopDesign.cysch o diagrama de blocos do projeto, que trata o sistema de bootloader e o mecanismo de Pisca LED via PWM, tal como mostrado na Figura 13.

sch_cypress

Figura 13 – Diagrama de blocos.

Quando a Cypress indica que o kit é aberto, não é por menos. Nos arquivos da instalação é possível encontrar todos os componentes envolvidos com PCB, esquemáticos, gerber, dentre outros, tal como mostrado na Figura 14.

cy8ckit-open

Figura 14 – Lista de materiais para layout PCB.

O primeiro Pisca-LED com PSoC

Como tem o ditado, toda placa deve passar pelo Pisca LED, não é mesmo? E com o CY8CKIT-049-42XX não foi diferente. A placa foi então plugada ao computador, tendo os drivers USB sido apropriadamente instalados.
O segundo passo é fazer o “Build All”, de modo a compilar todo o projeto e seus componentes. O resultado final é mostrado na Figura 15.
psoc-compiled

Figura 15 – Output resultado do Build geral.

Para carregar o arquivo de programa na placa, é necessário fazer uso do Bootloader Host, utilitário contido no PSoC Creator que permite carregar código via USB-UART, por exemplo. Mas não basta só abrir o programa Bootloader Host, localizado como item do Menu Tools.

É preciso segurar o botão presente na placa ao conectá-la na porta USB. Assim ela será ligada em modo bootloader, de modo a permitir o carregamento do programa via USB-UART por meio do Bootloader Host, que pode ser visto na Figura 16. No programa, é preciso selecionar o arquivo a ser gravado, que ficará em destaque no campo indicado pela seta na figura, e este arquivo é resultado da compilação feita anteriormente. Ao clicar no botão indicado pelo círculo, iniciará o processo de carregamento do arquivo na placa, e com o término no carregamento, a execução da aplicação é automaticamente iniciada.

destaque-usb

Figura 16 – Bootloader Host

A placa conectada ao PC pode ser vista na Figura 17, juntamente com um destaque do botão que deve ser pressionado ao inserir a placa na porta USB, de modo que a mesma seja iniciada em modo bootloader.

placa

Figura 17 – Placa em modo bootloader

E o LED piscando pode ser visto na Figura 18.

20150816_160613

Figura 18 – Placa com LED piscando

A Cypress fornece todo um material didático para aprendizado de PSoC, e seguindo os guias de instruções eu pude facilmente configurar e iniciar o projeto. Ou seja, a coisa é bem tranquila mesmo. O que mais está por vir? 🙂

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather