Um PSoC para chamar de seu - CY8CKIT-049

PSoC

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: [email protected].

 

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, 2x1: 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? 🙂

NEWSLETTER

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

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

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

André Curvello
Graduado em Engenharia de Computação com ênfase em Sistemas Embarcados pela USP, campus São Carlos, possui MBA em gestão de TI pela UNIFRAN e Mestrado em Ciências pela EESC-USP. Atua como Team Leader na PST Electronics - Pósitron, sendo também professor de pós-graduação e instrutor de cursos na área de sistemas embarcados. Como hobby, gosta de programar tudo que pode ser programado, escovando bits sempre ao lado de um bom café. Gosta de compartilhar seu conhecimento por meio de palestras, e publicando artigos como colaborador dos sites Embarcados e FilipeFlop. Em 2018 foi premiado como Microsoft Most Valuable Professional em Azure IoT pela Microsoft.

14
Deixe um comentário

avatar
 
4 Comment threads
10 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
8 Comment authors
João Paulo AméricoGabriel ZanettiDavi ViottoThiago LimaEduardo Castellani Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
João Paulo Américo
Visitante
João Paulo Américo

Parabéns André pela publicação. Exclareu bem o funcionamento do kit. Estou querendo adquirir um kit de programação psoc. E este me pareceu bastante interessante...

Grato! boa sorte.

trackback

[…] Artigo de minha autoria originalmente postado no Embarcados. […]

Eduardo Castellani
Visitante
Eduardo Castellani

APESAR DE TER LIDO ESSA EXPLICAÇÃO: SoC é 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.

SOU NOVATO E NÃO percebi para qual aplicação seria util? por favor, me dê exemplos.

Obrigado

Thiago Lima
Visitante

Eduardo, um SoC não necessariamente possui integrado um mcrocontrolador como parte de sua estrutura. Diversos sistemas digitais podem ser juntados e, assim, temos um SoC. Se um deles for programavel, PSoC. Para uma explicacao otima sobre o assunto, de uma olhada no artigo do Max. http://www.embarcados.com.br/asic-assp-soc-fpga/
Abraços.

Eduardo Castellani
Visitante
Eduardo Castellani

Obrigado, sou novato, e ja percebi que a eletrônica e programação é para estudos em varias vidas, uma só não dá. kkk

Davi Viotto
Visitante
Eng Davi Viotto

PSoC tem os periféricos dentro do chip e há uma enorme liberdade de interligação entre todas as partes internas, analógidas e digitais,tornando o produto bem diferente dos outros. Faça uma pesquisa sobre o produto na Cypress e você ficará surpreso!

Eduardo Castellani
Visitante
Eduardo Castellani

Obrigado Davi, estou meio perdido com tantas inf na eletronica, preciso me focar num só ate desenvolver. um abraço

Eduardo Scherrer
Visitante
Eduardo C. Scherrer

Ótimo artigo hein André.
Saberia dizer sobre a política de envio destas placas, caso nós meros tupiniquins nos metermos a comprar uma placa desta. Se eles cobrem o envio, impostos? Se não ficará uma fábula, não? Uma placa de 4USD se tornar facilmente uma placa de 44USD, sem os impostos.
Me lembro que a muito tempo atrás que eles fizeram uma promoção de venda de placas PSOC (acho que a primeira versão), lá pra meados de 2006, que a placa saia por R$100,00.

Abraço

Eduardo Scherrer

André Curvello
Visitante

Olá Eduardo, boa tarde,

O preço da placa no Brasil fica em torno de $ 7,00 + IPI. Aproximadamente, fica em torno de 30 reais com a atual taxa do dólar.
Caso tenha interesse, pode pedir o Kit pelo contato de vendas da Avnet pelo email: Avnet do Brasil DobrasilAvnet do Brasil dobrasil.com">vendasAvnet do Brasil DobrasilAvnet do Brasil dobrasil.com

Cláudio Sampaio
Visitante

Tá uma zica pra conseguir comprar essa placa, viu. Vou enviar email pra eles pra esclarecer isso e coloco mensagem depois explicando o caminho das pedras.

Gabriel Zanetti
Visitante
Gabriel Zanetti

Rapaz, eu mandei email ontem, o valor da placa é perto dos seus 30 reais, o que fica inviável é o valor do envio hehe, o frete fica 55 reais quase o dobro do valor produto. desisti da compra só por esse frete

Cláudio Sampaio
Visitante

Você conseguiu resposta? Parabéns, eu nem isso! E mandei pra 3 endereços da avnet, inclusive o que me mandou o anúncio.

@andrcurvello:disqus, vê com esse povo aí o que está acontecendo. Estão anunciando algo que pelo visto nem querem vender, como pode? Cara, mandei email, tentei encomendar pelo site e até telefonei e NADA. Estou tremendamente decepcionado com a avnet. E se for esse preço de envio mesmo (55 reais - pelo menos melhor que o que eu vi pela página, que era 58 dólares), eles estão é loucos.

Gabriel Zanetti
Visitante
Gabriel Zanetti

Então, eu mandei email nesse do post mesmo, me responderam relativamente rápido inclusive, mas o que mais assustou é o preço de frete "O
frete ficara em torno de R$55,00 pela AZEVEDO." esse valor para entrega de tecnicamente uma "carta" como foi mencionado é abusivo demais, e eles nem trabalham com os correios, isso acabou jogando um balde de aguá fria em meus planos.

Davi Viotto
Visitante
Eng Davi Viotto

Coitados dos tupiniquins, nós somos os invasores das terras deles.