Conectando LPCXpresso4337 com Ethernet

LPCXpresso4337 com Ethernet

Dando continuidade aos artigos hands-on que estão acostumados a encontrar no Embarcados, vamos conectar a placa LPCXpresso4337 com Ethernet por meio da placa Shield OM13082.

 

Para isso vamos usar o artigo Primeiros Passos com a LPCXpresso4337 como base, no qual foi descrito detalhadamente como instalar a IDE LPCXpresso e o LPCOpen, conjunto de bibliotecas, middlewares, drivers e aplicações de exemplo da NXP.

 

Vamos para o nosso primeiro exemplo? Nele vamos começar a brincar com Ethernet.

 

Mas atenção, siga os passos do artigo Primeiros Passos com a LPCXpresso4337 para a criação do ambiente. Continuaremos com um host Linux. No meu caso, estou usando a distro Ubuntu 14.10 64 bits.

 

 

Ping e telnet na placa LPCXpresso4337

 

Um dos exemplos disponíveis no LPCOpen chama-se lwip_freertos_tcpecho, o qual faz uso do FreeRTOS como sistema operacional de tempo real, o lwIP como pilha TCP/IP e os drivers MAC e PHY para as famílias 18xx/43xx. A aplicação desenvolvida tem como objetivo demonstrar o uso das seguintes funcionalidades:

  • monitoração do link PHY;
  • cliente DHCP;
  • ICMP Echo (ping);
  • TCP Echo (RFC 862) por meio de telnet.

 

Para poder executar e visualizar a saída desse projeto, você deve criar o seguinte ambiente:

  • Conectar a placa Shield OM13082 na placa LPCXpresso4337;
  • Conectar a placa Shield OM13082 (conector CN5 RJ45) à uma rede LAN por meio de um cabo Ethernet;
  • Conectar o PC/notebook onde está sendo executado a IDE LPCXpresso à mesma rede LAN da placa;
  • Configurar um servidor de DHCP na rede LAN;
  • Conectar um cabo serial no conector P4 da placa LPCXpresso4337 nos pinos GND, RX e TX para visualizar mensagens de depuração na porta UART do microcontrolador;
  • Configurar um monitor serial no PC host;
  • Conectar um cabo USB entre a placa LPCXpresso4337 (conector Link J5) e o PC host para depuração SWD.

 

Veja como ficou a conexão das placas e cabos no meu ambiente:

 

Ambiente montado: LPCXpresso4337 com Ethernet e cabo serial.
Figura 1 - Ambiente montado: Placas montadas e cabos conectados.

 

Uma vez que a IDE LPCxpresso esteja aberta com os projetos do LPCOpen disponíveis no Project Explorer, feche todos os projetos abertos (CTRL + A -> clicar com o botão direito do mouse em algum projeto selecionado -> comando Close Project no menu de contexto). O ambiente deve ficar da seguinte forma:

 

Todos os projetos fechados na IDE LPCXpresso.
Figura 2 - Todos os projetos fechados na IDE LPCXpresso.

 

Agora temos que abrir o projeto lwip_freertos_tcpecho. Para isso selecione esse projeto no Project Explorer, clique com o botão direito do mouse nele e selecione o comando Open Project. Vai ser exibida uma mensagem da IDE questionando se os outros projetos referenciados podem ser abertos. Responda YES.

 

O ambiente deve ficar como abaixo depois dessas intruções:

 

Projeto lwIP com FreeRTOS aberto.
Figura 3 - Projeto lwIP com FreeRTOS aberto.

 

A partir de agora navegue dentro do projeto e abra o arquivo freertos_tcpecho.c, como mostrado abaixo:

 

Projeto lwIP com FreeRTOS aberto.
Figura 4 - Projeto lwIP com FreeRTOS aberto.

 

Por padrão o cliente DHCP está habilitado. Veja o arquivo lwipopts.h, na linha 83:

 

Para conferir o IP obtido do servidor DHCP da rede, vai ser usada a porta serial UART da placa LPCXpresso4337, exibindo mensagens de debug. Para isso, confira se a ligação com o PC está correta e configure um monitor de serial no PC.

 

Vamos então executar o projeto? No painel Quickstart Panel execute o comando Debug 'lwip_freertos_tcpecho' [Debug] e em seguida o comando Resume.

 

O cliente DHCP na placa então inicia a busca por um IP dinâmico e quando o consegue é exibida uma mensagem na porta serial com o seguinte formato:

 

O código que é executado para imprimir tal mensagem na serial é este, em freertos_tcpecho.c, na linha 182:

 

Para testar o PING na placa, execute o seguinte comando no PC host:

 

PING OK!!!

 

Vamos para o próximo? Telnet! Execute o seguintes comandos no PC host:

 

Neste exemplo foi configurada a porta 7 para tratar de dados via telnet. Cada caractere digitado no terminal é "echoado" pela placa.

 

TELNET OK!!!

 

Vamos testar outro projeto bacana? Que tal um Web Server? Para isso pare a depuração com o comando Terminate.

 

 

Webserver na placa LPCXpresso4337

 

Feche todos os projetos no Project Explorer e abra o projeto lwip_freertos_webserver. Seu Project Explorer deve ficar da seguinte forma:

 

lpcxpresso-lpcopen-lwip-freertos-webserver-aberto
Figura 5 - Projeto de Webserver aberto.

 

Vamos então executar o projeto? No painel Quickstart Panel execute o comando Debug 'lwip_freertos_webserver' [Debug] e em seguida o comando Resume.

 

Veja as mensagens exibidas na serial depois que um IP dinâmico é conseguido:

 

Agora é só acessar do PC host a página web a seguir:

 

Página web acessada do PC.
Figura 6 - Página web acessada do PC.

 

WEBSERVER OK!!!

 

É isso pessoal! Agora já sabemos como usar a interface Ethernet da placa LPCXpresso e podemos criar novas aplicações. Deem dicas, se quiserem, e deixem seus comentários.

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.

Henrique Rossi
Engenheiro eletricista com ênfase em eletrônica e pós-graduado em Engenharia de Software. Comecei um mestrado, mas o interrompi. Especialista na área de sistemas embarcados, com mais de 12 anos de experiência em desenvolvimento de firmware (sistemas baremetal e baseados em RTOS) e Linux Embarcado. Atualmente sou administrador do site Embarcados, trabalho num fabricante de Set-Top Box e atuo como consultor/desenvolvedor na área de sistemas embarcados.

Deixe um comentário

avatar
 
  Notificações  
Notificar