O que é um bom microcontrolador para executar aplicações Ethernet? Ou preciso apenas de uma boa biblioteca Ethernet para conectar-se a um MAC / PHY Ethernet?
O que é um bom microcontrolador para executar aplicações Ethernet? Ou preciso apenas de uma boa biblioteca Ethernet para conectar-se a um MAC / PHY Ethernet?
Respostas:
Os PIC18s da Microchip com ethernet embutida são excelentes para isso, basta adicionar um magjack (ou outro conector com magnetismo embutido) e fazer o download da pilha TCP / IP. Você estará pingando as coisas rapidamente. Para mais problemas, o PIC24 e o PIC32 também possuem pilhas TCP / IP projetadas para serem executadas com uma das peças SPI Ethernet MAC / PHY que eles oferecem (ENC624J600 ou ENC628J60).
A ST também aprimorou recentemente sua linha STM32 baseada em ARM Cortex para incluir ethernet no chip, mas você precisará de um PHY e magnéticos externos. É uma opção se você já está vendo o PIC32.
Em relação a ter uma pilha TCP / IP, há três projetos que você deve analisar:
O Contiki é um sistema operacional multitarefa de código aberto e altamente portátil para sistemas embarcados em rede com eficiência de memória e redes de sensores sem fio. O Contiki tem sido usado em vários projetos, como monitoramento de incêndio em túneis, detecção de intrusão, monitoramento de água no Mar Báltico e em redes de vigilância.
O Contiki foi projetado para microcontroladores com pequenas quantidades de memória. Uma configuração típica da Contiki é de 2 kilobytes de RAM e 40 kilobytes de ROM.
A pilha TCP / IP uIP de código-fonte aberto fornece conectividade TCP / IP a pequenos microcontroladores de 8 bits incorporados, com interoperabilidade mantida e conformidade com os padrões RFC.
Muito mais rápido que o uIP, mas mais difícil de começar
Geralmente, a Ethernet não é incorporada aos microcontroladores. Primeiro, você precisa de um conector que possa converter sinais Ethernet em sinais lidos por um microcontrolador (isso geralmente é chamado de 'magnético'). Então você precisa de uma pilha TCP / IP e, além disso, precisa de DHCP, DNS e quaisquer outros protocolos que deseja usar. Portanto, o microcontrolador que você usa não importa muito. Se você obtiver algo muito poderoso como um ARM com Linux em execução, o desenvolvimento para ele seria muito simples, quase o mesmo que escrever um aplicativo de rede em um PC de mesa com Linux. Ou você pode optar por algo menos poderoso e mais barato, como um AVR ou PIC.
Ethernet e TCP / IP podem ser bastante complexos se você deseja implementar uma pilha TCP / IP inteira no software. Uma solução comum é usar algo como o chip W5100 da Wiznet, que lida com todo o material TCP / IP de baixo nível para você. Você pode comprá-lo em um módulo pré-fabricado que inclui o conector ethernet e tudo por um preço bastante acessível , cerca de US $ 20 para o módulo WIZ812MJ . Você pode se comunicar com ele usando apenas SPI, para que não ocorra muitos pinos de E / S no seu microcontrolador.
O Lantronix também fornece alguns módulos mais poderosos que parecem ainda mais simples de usar, mas são um pouco mais caros (US $ 50 a US $ 100, dependendo do modelo). Veja o XPort deles, por exemplo.
Os ARMs são os microcontroladores do dia e o NXP possui uma ampla oferta deles. Esta página da web lista literalmente muitos controladores Ethernet para mencionar tudo aqui, a partir desta data (13/07/2011):
17 dispositivos ARM7
2 dispositivos ARM9
16 dispositivos Cortex-M3
edit
Movi a discussão sobre vantagens do ARM para esta resposta .
O kit XMOS XC-2 é uma maneira interessante de fazer isso. Tudo é feito em software, além do PHY. O software deve ser executado no chip XS1-L1 de US $ 7,50.
Os microchips possuem vários microcontroladores Pic com recursos de Ethernet embutidos, há uma lista aqui . Eles também têm uma série de páginas relativas a soluções de design para ethernet e seus produtos aqui , que também inclui detalhes de sua pilha completa TCP / IP (com MAC integrada e PHY).
Espero que isto ajude.
Muitos microcontroladores TI Luminary (ARM Cortex-M3) possuem um MAC Ethernet embutido. Ele precisa de um cristal externo e Ethernet PHY (conector + magnetismo).
O GCC e o openOCD (flash / depuração JTAG) os suportam bem e são bastante baratos em quantidade.
Eles têm devkits de hardware baratos também ...
http://uk.farnell.com/luminary-micro/ekt-lm3s811/kit-eval-lm3s811-code-red/dp/1712254
O Netduino plus é um bom microcontrolador de 60 $ para aplicações Ethernet. Ele também pode aceitar a maioria dos escudos do Arduino, se necessário.
Dependendo da facilidade com que você deseja melhorar sua vida, eu recomendaria o uso de um MBED e a compra de uma placa magjack e ethernet (consulte sparkfun) para conectar o cabo e lidar com o condicionamento de sinais. O modelo de suporte é o NXP LPC1768 mbed.
Consegui obter um mbed enviando dados para o meu servidor remoto (ou seja, pela Internet) em cerca de 2 horas desde o início.
Depende do que você quer fazer com isso. O principal aspecto a ser observado é a quantidade de RAM (pode limitar o tamanho da mensagem individual) e, se você deseja exibir páginas da Web, a quantidade de armazenamento disponível para isso. Eu uso um microcontrolador Arduino Duemilanova http://www.arduino.cc/ - ATMega328, 2Kbytes de RAM. Você pode conectar um cartão SD se desejar um armazenamento significativo. O escudo ethernet suporta até 4 sessões simultâneas. Não espere ser capaz de exibir páginas complexas, mas funciona bem para o Pachube, twitter etc.
Para uma solução mais poderosa, veja Marvell Plug
checkout tuxgraphics para uma boa solução.
O nanode é de código aberto e apenas £ 22 / $ 40 são enviados. Acabei de comprar dois para monitoramento doméstico de energia / meio ambiente via pachube.
30 segundo passo do site:
O Nanode é uma placa de código aberto semelhante ao Arduino que possui conectividade da Web incorporada. Ele se conecta a uma variedade de interfaces sem fio, com fio e ethernet. Ele permite que você desenvolva sistemas de sensor e controle baseados na Web - oferecendo acesso à Web a seis linhas de sensores analógicos e seis linhas de E / S digitais. É um kit fácil de montar você mesmo. Nanode foi projetado com o Hacking em mente.
Eu tentei a pilha de microchips usando o cartão de desenvolvimento picdem.net 2 e não fiquei satisfeito, não está otimizado e não está bem documentado.
Eu acho que a melhor solução do mercado agora é o Wiznet que possui o primeiro chip de hardware TCP / IP baseado em Ethernet que economiza muito tempo e oferece mais eficiência
Este link fornece todas as soluções disponíveis e as compara:
Estou atrasado para a festa aqui, mas recomendo a TI Stellaris EK-LM3S6965. É uma peça ARM Cortex M3 com controlador Ethernet integrado, incluindo PHY. Para a prototipagem, usei o kit de avaliação, que possui uma tomada Ethernet, um pequeno display OLED (ótimo para depuração e interface de usuário de barebones), slot para cartão SD, alto-falante, botões, LEDs e interruptores para conectar os periféricos do micro. Você não descreveu seu aplicativo (ou seja, procura produzir dezenas de milhares de algo ou um projeto único de hobby), mas o preço é razoável (~ US $ 70 para o quadro de desenvolvimento, US $ 12-15 em pequenas quantidades apenas para os chips) , eles vêm com um bom conjunto de bibliotecas de desenvolvimento, se você deseja criar seu próprio firmware ou ele pode executar o FreeRTOS (necessário um pouco de portabilidade devido a pequenas rotações de hardware entre a revisão da minha placa e o material da distribuição do FreeRTOS) e o eLua. Você pode usar uIP ou lwIP para TCP / IP.
Comparado a ofertas populares de hobby, como AVR / Arduino e PIC, o Cortex M3 é uma parte de 32 bits, funciona a 50MHz, o 6965 possui muitos recursos de E / S, IMO pelo dinheiro, é incrível o quanto de poder de computação e como muitos recursos que você pode obter de algo tão pequeno e barato. No entanto, é bastante cru do lado do desenvolvimento, e você deve conhecer C (bem, a menos que execute o eLua). Sou desenvolvedor de software por profissão e faço meu desenvolvimento de ARM em um Mac, por isso não tenho medo de configurações assustadoras / inconvenientes de cadeias de ferramentas e usei o Make + arm-eabi-gcc + OpenOCD para depuração, mas se você é do Windows talvez o pacote do Code Composer Studio seja uma boa aposta. Usei o Code Composer IDE da TI para um projeto experimental divertido do MSP430, e foi ótimo para mim e tinha um fluxo de trabalho mais fácil do que minha configuração OSX / ARM.
Divulgação completa, na verdade, eu não projetei uma placa de circuito impresso em torno desse chip que usava o controlador Ethernet, mas fiz uma placa que não usava a Ethernet e tinha uma boa experiência com isso, e criei projetos habilitados para Ethernet usando o conselho de avaliação.
Confira o pacote de ferramentas / quadro de avaliação aqui
ATUALIZAÇÃO Sep 2013
Essas peças parecem não ser mais recomendadas para novos designs. Não parece haver substituições óbvias.
ATUALIZAÇÃO novembro de 2013
Agora existe um TM4C129XNCZAD que é nominalmente um substituto para a parte acima - ele possui MAC + PHY, embora não seja compatível com pinos - no entanto, muitas pessoas relutam em usá-lo após os problemas / confusão sobre a descontinuação / disponibilidade no início da vida do LM3S .
Pode não ser 100% o que essa pergunta está perguntando, mas para projetos em que a produção é relativamente pequena, comecei a ver pessoas incorporando placas pré-construídas como o raspberry pi. Isso tem muitas vantagens:
Como já disse, não é para todos, mas para alguns projetos pode ser uma boa opção.
Existem algumas opções em termos do quadro exato usado:
Você pode usar quase qualquer MCU com Wiznet W5500 incorporado MAC + PHY controlador, que é impulsionado pela SPI. As vantagens são: possui pilha de rede integrada, buffers Tx / Rx, requer pinos mínimos da MCU, programação simplificada.
Acabei de encontrar outra opção interessante - o AX88796C da ASIX, que também possui a opção MAC + PHY , Ethernet de 10 \ 100Mbps e interface de até 40MHz SPI, por isso parece ser adequado para qualquer MCU baseado em ARM.
ATUALIZAÇÃO: O Netduino 3 já está usando este chip, eis detalhes interessantes:
Se você tiver alguma experiência com firmware, recomendo a placa STM32F4Discovery com a placa STM32F4DIS-EXT. Recentemente, usei isso para criar uma página da Web de configuração para o meu dispositivo e foi bastante fácil. Há um projeto de exemplo lwIP disponível on-line e, se você pesquisar no "makefsdata", encontrará muitas informações sobre como gerar os arquivos necessários para seus próprios arquivos HTML. Envie-me uma mensagem se precisar de mais informações.
Gosto do módulo Ethernet Openpicus FlyportPro (25 EUR) para esse fim. Basta adicionar uma tomada Ethernet com magnéticos e criar seu firmware usando a pilha TCP / IP. Eles também têm uma implementação TLS:
http://blog.openpicus.com/2014/12/idepro-2-9-0-bye-ssl-welcome-tls.html
Eu fiz um projeto usando a Ethernet 'clássica' Flyport e tem sido sólida até agora.