PSoC Development Kit – Microprocessador PSoC 3 – Parte 3 De 5

Primeiros Passos

Leia o tópico anterior: http://www2.decom.ufop.br/imobilis/cy8ckit-001-psoc-parte-2-de-5/ 

Utilização Das Ferramentas

Para a compilação do códigos, foi necessário realizar um novo cadastro criando uma conta no site da Cypress e no Keil. Ambos podem ser realizados no menu HelpRegister e aparecerá os dois itens que devem ser registrados (Creator e Keil).

No local de cadastro no site da Cypress, existe uma lista explicando o porquê do cadastro. Os motivos listados são:

  • Orders from the Cypress Store;
  • Access Cypress online technical support;
  • Post to the Cypress Developer Community Forums and Blogs;
  • Register for Cypress Training Workshops;
  • Subscribe to Cypress Product Roadmap Updates;
  • Download Software Development Tools including PSoC Creator, Designer and EZ-USB FX3 SDK.

Após realizar o cadastro no Cypress, é necessário realizar outro para registrar a chave do Keil para a execução do programa.

Neste cadastro obteve alguns problemas pois o site não possui tanta informação concisa para o usuário tornando sua navegação confusa. Passou-se vários dias para que um e-mail fosse retornado ao autor para que a confirmação fosse realizada com sucesso atrasando a execução do tutorial.

Observação: Aconselha-se a renomeação de um arquivo em especial nos sistemas operacionais Microsoft Windows Vista e Windows 7 caso o registro de Keil falhe. A dica dada pelo manual é renomear o arquivo existente no diretório a seguir:

<Install_Directory>\PSoC Creator\<version>\PSoCCreator\import\keil\pk51\<version>

de _tools.ini para tools.ini. Tal renomeação pode ser a solução de vários problemas de biblioteca e compiladores no decorrer da execução do programa.

Observação: Atualizar sempre os softwares utilizados.

Piscando Um Led Acoplado A Placa De Desenvolvimento

Criando O Projeto

Primeiramente será criado um projeto para acender e apagar um led (blink).

Para isso será criado um projeto clicando em FileNew e Project.

Será selecionado a família do processador PSoC 3 e assim criará o projeto vazio.

Definição De Pinos De I/O

Abrirá um palco no centro da tela para a criação de circuitos através de diagramas de circuitos lógicos.

É necessário criar uma conexão do led ao pino que enviará o sinal. Assim, na aba situada no canto direito chamada Cypress, será selecionado dentro do pacote Ports and Pins o item Digital Output Pin e este será arrastado para o palco.

Após colocar o pino no palco, clicará com o botão direito do mouse e selecionará o menu configure. Será renomeado o nome (Name) do pino para LED para ficar mais facilitado a interpretação dos componentes.

Ficará como na Figura 1:

Figura 1: Representação do LED.

Ainda na janela de configuração, será desabilitado a opção de HW connection.

O resultado será como na Figura 2.

Figura 2: Representação do LED.

Conexão Do Pino Ao Microprocessador

Após criado o pino, será criado o pino do processador que será responsável por gerenciar o sinal para este pino. Assim, no canto esquerdo, será selecionado o arquivo com extensão cydwr onde serão serão direcionados os pinos utilizados no projeto.

No canto direito aparecerá o nome do pino que foi criado (LED) e a porta no qual deve estar um campo vazio. Neste será digitado/selecionado o nome P1[6]. Este será o pino do processador responsável por comandar o envio do sinal para o led que foi criado. Os outros campos que estão ao lado deste serão preenchidos automaticamente. Ao final, deve-se salvar a alteração deste arquivo.

Após realizado todos estes passos, deve-se trabalhar no código-fonte para que a ação seja feita corretamente.

Definição Do Código-Fonte

Ao clicar no arquivo main.c, será exibido o seguinte código:

[code language=”c”]
#include <project.h>;

int main() {

/* Place your initialization/startup code here (e.g. MyInst_Start()) */

/* CyGlobalIntEnable; */ /* Uncomment this line to enable global interrupts. */

for(;;) {

/* Place your application code here. */

}

}

[/code]

Este código é padrão e não realiza nenhuma ação. Ele e feito apenas para ser ‘estrutura base’ do início do projeto. Assim, deve-se alterá-lo para que este realize o propósito que o projeto necessite.
É possível ver que existe o procedimento principal main no qual é o primeiro procedimento a ser chamado na execução do programa. Este procedimento fica encarregado de invocar todos os outros métodos caso esses existam. Dentro deste procedimento existe um loop infinito for(;;){} onde o processador fica repetindo o código existente entre as chaves infinitas vezes.

Então tudo que for definido e declarado antes deste laço será realizado apenas uma única vez. Este é o espaço para a declaração de variáveis e inicialização do programa com segurança. Após isso todos os procedimentos estarão no laço caso necessário que este sempre repita.

É de se esperar que caso o projeto não tenha por natureza um laço infinito, basta somente retirar este laço para que o programa ocorra sequencialmente até seu fim.

Sabendo disso, será adicionado o seguinte código:

[code language=”c”]
#include <project.h>;

#include <CyPins.h>;

int main() {

for(;;) {

LED_Write(0); // Liga o led

CyDelay(200); // Intervalo de 200ms

LED_Write(1); // Desliga o led

CyDelay(200); // Intervalo de 200ms

}
}

[/code]

O código name_Write(parametro); indica qual sinal será enviado ao pino (ligado/desligado, on/off, 0/1…) e CyDelay indica quanto tempo em milissegundos a placa ficará ociosa.

Compilação Do Projeto

Após digitado todos esses comandos, será selecionado dentro do menu BuildClear and Build. Este comando é responsável por compilar o projeto.

Caso já tenha compilado alguma vez, esta será totalmente apagada e será construída a nova no lugar. Isso elimina qualquer tipo de erros do projeto passado interfira no novo.

Conectando A Placa Na Energia E No Computador

  1. Após compilado o projeto, deve-se conectar os componentes energizando-os da maneira correta.
  2. Retirar o Módulo Processador já instalado e colocar o CY8C38 caso este ainda não esteja acoplado a placa de desenvolvimento (Figura Passo 1).
  3. Conectar o MiniProg3 na placa através do cabo flat incluso no conjunto. Este cabo possui barramento de 10 fios (esse detalhe é importante para o envio do programa à placa) (Figura Passo 2).
  4. Conectar a outra parte do MiniProg3 no computador utilizando o cabo USB (Figura Passo 3).
  5. Interligar os pinos P1_6 com qualquer led que esteja na placa (Figura Passo 4).
  6. Conectar a placa de desenvolvimento na energia utilizando baterias ou sua própria fonte que também está incluso no kit (Figura Passo 5).
  7. Após isso, pode-se ligar a fonte na energia.

Passo 1.
Passo 2.
Passo 3.
Passo 4.
Passo 5.

Configurando O MiniProg3

Construído o projeto, deve-se alterar as configurações de envio do código compilado para o MiniProg3 para que este receba o programa e converta para o processador CY8C38. Assim, em ToolsOptions, deve-se navegar pelo diretório Program/DebugPort Configuration e MiniProg3. Nesta seção deve alterar os seguintes parâmetros:

  • Active Protocol: SWD;
  • Clock Speed: 3.2 MHz;
  • Power: 3.3 V;
  • Acquire Mode: Reset;
  • Connector: 10 pin.

Enviando O Código Para A Placa

Depois realizar todos estes passos, deve-se ir no menu Debug e em Program no qual será realizado a transferência do programa para o processador. Ao clicar o código é enviado automaticamente a placa e assim ela começará a executar este.

Ao enviar o código à placa, é mostrado o seguinte log no terminal de saída do PSoC Creator:

Programming started for device: ‘PSoC 3 CY8C3866AX*-040’.

Device ID Check

Erasing…

Programming of Flash Starting…

Protecting…

Verify Checksum…

Device ‘PSoC 3 CY8C3866AX*-040’ was successfully programmed at 02/21/2015 15:08:47.

Caso a execução deste exemplo simples ocorra de forma correta, o programa de desenvolvimento PSoC Creator e o envio do projeto para a placa o processador estão sincronizados comunicando perfeitamente.

Tudo isso indica que indicando que seu sistema está pronto pra realizar a confecção de projetos mais sofisticados e complexos utilizando outros componentes disponíveis na própria placa de desenvolvimento ou em periféricos.

Summary
Reviewer: Rodolfo
Review Date: 2016-07-04
Reviewed Item: Desenvolvimento com PSoC

Referência: http://www2.decom.ufop.br/imobilis/psoc-development-kit-microprocessador-psoc-3-parte-3-de-5/

Let's talk

Se você deseja obter uma consultoria gratuita, sem quaisquer obrigações, preencha o formulário abaixo e entraremos em contato com você.