이더넷 애플리케이션에 적합한 마이크로 컨트롤러 란 무엇입니까?


47

이더넷 애플리케이션을위한 좋은 마이크로 컨트롤러 란 무엇입니까? 아니면 이더넷 MAC / PHY와 연결하기 위해 좋은 이더넷 라이브러리가 필요합니까?


어떤 솔루션을 사용했으며 그 경험에 대해 말씀해 주시겠습니까?
thom_nic

1
현재 PIC18F97J60 시리즈와 PIC32를 ENCxxx와 함께 사용하고 있습니다. 정상적으로 작동합니다. 가장 큰 문제는 Firefox와 Chrome에서 SSLv3.0까지만 사용한다는 것입니다. Microchip은 FTP, TFTP, SNTP, SNMP 등 내가 사용하는 다른 많은 프로토콜을 지원합니다.
Robert

잘 들으십시오-SSL 제한도 알면 좋지만 모든 "견고한"TLS 구현은 일반적으로 자유롭지 않은 것 같습니다. 공유해 주셔서 감사합니다!
thom_nic

답변:


29

이더넷이 내장 된 Microchip의 PIC18은이 점에서 탁월합니다. 마그 잭 (또는 마그네틱이 내장 된 다른 커넥터)을 추가하고 TCP / IP 스택을 다운로드하면됩니다. 당신은 곧 물건을 핑할 것입니다. 더 까다로워 진 PIC24 및 PIC32에는 SPI 이더넷 MAC / PHY 부품 중 하나 (ENC624J600 또는 ENC628J60)와 함께 실행되도록 설계된 TCP / IP 스택도 있습니다.

ST는 최근 온칩 이더넷을 포함하도록 ARM Cortex 기반 STM32 라인을 개선했지만 외부 PHY와 자기가 필요합니다. 이미 PIC32를보고 있다면 옵션입니다.


16
Microchip 네트워크 스택에 문제가 있었으므로 직접 작성 하여 PIC Development Tools 릴리스의 embedinc.com/pic/dload.htm 에서 소스 코드를 사용하여 무료로 사용할 수 있습니다 . PIC 개발 환경 (무료)의 개념을 수용해야하지만 어쨌든 좋은 생각입니다. 설치 후 SOURCE> PIC 디렉토리에서 이름에 "net"이있는 파일을 찾으십시오.
Olin Lathrop

20

TCP / IP 스택 보유와 관련하여 살펴볼 세 가지 프로젝트가 있습니다.

Contiki는 메모리 효율적인 네트워크 임베디드 시스템 및 무선 센서 네트워크를위한 오픈 소스, 휴대 성이 뛰어난 멀티 태스킹 운영 체제입니다. Contiki는 도로 터널 화재 모니터링, 침입 탐지, 발트해의 물 모니터링 및 감시 네트워크와 같은 다양한 프로젝트에서 사용되었습니다.

Contiki는 적은 양의 메모리를 가진 마이크로 컨트롤러를 위해 설계되었습니다. 일반적인 Contiki 구성은 2 킬로바이트의 RAM과 40 킬로바이트의 ROM입니다.

오픈 소스 uIP TCP / IP 스택은 상호 운용성 및 RFC 표준 준수를 유지하면서 소형 임베디드 8 비트 마이크로 컨트롤러에 TCP / IP 연결을 제공합니다.


17

일반적으로 이더넷은 마이크로 컨트롤러에 내장되어 있지 않습니다. 먼저 이더넷 신호를 마이크로 컨트롤러가 읽는 신호로 변환 할 수있는 잭이 필요합니다 (일반적으로 '자기'라고 함). 그런 다음 TCP / IP 스택이 필요하며 그 위에 DHCP, DNS 및 사용하려는 다른 프로토콜이 필요합니다. 따라서 실제로 사용하는 마이크로 컨트롤러는 크게 중요하지 않습니다. Linux가 실행되는 ARM과 같은 강력한 기능이 있다면 Linux를 실행하는 데스크톱 PC에서 실행되는 네트워크 응용 프로그램을 작성하는 것과 거의 비슷하게 개발할 수 있습니다. 또는 AVR 또는 PIC와 같이 덜 강력하고 저렴한 것을 사용할 수 있습니다.

소프트웨어에서 전체 TCP / IP 스택을 구현하려는 경우 이더넷 및 TCP / IP는 상당히 복잡 할 수 있습니다. 일반적인 해결책 중 하나는 Wiznet의 W5100 칩과 같은 것을 사용하는 것인데, 이는 모든 저수준 TCP / IP 항목을 처리합니다. 이더넷 커넥터와 WIZ812MJ 모듈의 경우 약 $ 20 정도의 저렴한 가격으로 모든 것을 포함하는 사전 제작 된 모듈로 구입할 수 있습니다 . SPI 만 사용하여 통신 할 수 있으므로 마이크로 컨트롤러에서 많은 I / O 핀을 사용하지 않습니다.

Lantronix는 사용하기가 훨씬 더 강력해진 모듈도 제공하지만 가격이 더 비쌉니다 (모델에 따라 $ 50- $ 100). 예를 들어 XPort 를 참조하십시오 .


1
나는 것 사랑 내가 들어 본 적이없는 용어 "마그네틱"에 대한 평판 참조를 참조하십시오.
앤드류

@Andrew 나는 그것을 가지고있는 기술 사전을 몰라. 인터넷 검색은 다양한 참조를 찾을 수 있습니다. 그것이 내가 참조한 것입니다. 기본적으로 요점은 이더넷을 통해 회로에 연결된 다른 장치와 회로를 분리하는 것입니다. MIDI가 광학 절연을 사용하는 방법과 유사합니다.
davr

"이더넷 마그네틱"보다 "이더넷 아이솔레이터"에 대해 약 50 만 건의 더 많은 결과를 얻었지만, 지금은 무슨 의미인지 이해합니다.
앤드류

용량 성 결합 에 관한이 Hack A Day 게시물에서이 용어의 기원과 사용에 대한 토론이 있습니다.
Andrew

방금 이더넷 트랜시버 데이터 시트 (Microchip의 LAN8720A)를보고 있었는데,이 섹션은 '매그'및 '트랜스포머'로 다양하게 언급됩니다.
Dan Ellis

11

ARM은 오늘날의 마이크로 컨트롤러이며 NXP는 다양한 솔루션을 제공합니다. 이 웹 페이지 에는이 날짜 (2011-07-13) 기준으로 여기에 언급 할 이더넷 컨트롤러가 너무 많습니다.

17 ARM7 장치
2 ARM9 장치
16 Cortex-M3 장치

편집
ARM 장점 토론을 이 답변 으로 옮겼습니다 .


암 라인은 어떤 이점을 제공합니까? 더 자세한 내용이 필요한 다른 많은 답변을 보았습니다. 중요한 부분은 왜 라인이 컨트롤러 라인에 대한 링크인지보다 더 많은 이유를 제시한다는 것입니다. 귀하에게 가능한 많은 답변을 제공하지 않을 사용자가 너무 많기 때문에이 피드백 만 제공합니다.
Kortuk

6
@ Kotuk-오, 그거 좋네요! 많은 답변을 원할뿐만 아니라 지금도 최고가되어야합니다! ;-)
stevenvh

6

XMOS XC-2 키트는 그것을 할 수있는 재미있는 방법입니다. 모든 것은 PHY를 제외하고 소프트웨어로 이루어집니다. 소프트웨어는 $ 7.50 XS1-L1 칩에서 실행되어야합니다.


XMOS 제품에 관심을 갖게되었습니다. 그 개발 키트를 집어 들지 않으려 고 열심히 노력해야 할 것입니다. 사용할 수있는 RTOS가 있는지 알고 있습니까?
Dave

하드웨어 스레드로 인해 실제로 RTOS가 필요하지 않습니다. 즉, 한두 사람이 한 가지 일을하고 있습니다.
레온 헬러

XMOS는 또한 두 개의 이더넷 잭 으로 버전을 만듭니다 . 비트 LED 표시를위한 것이지만 왜 다른 일을 할 수 없었는지 모르겠습니다. 자신의 라우터를 굴려 라! xmos.com/products/development-kits/xc-3-led-tile-kit
코너 울프

5

마이크로 칩에는 이더넷 기능이 내장 된 다수의 Pic 마이크로 컨트롤러가 있으며 여기 에 목록이 있습니다 . 여기에는 이더넷 및 해당 제품의 설계 솔루션에 관한 일련의 페이지가 있으며 여기 에는 전체 TCP / IP 스택 (MAC 및 PHY 통합)에 대한 세부 정보도 포함됩니다.

도움이 되었기를 바랍니다.



4

Netduino plus 는 이더넷 애플리케이션을위한 60 $ 마이크로 컨트롤러입니다. 필요한 경우 대부분의 Arduino 쉴드를 사용할 수도 있습니다.


4

삶을 얼마나 쉽게 만들고 싶은가에 따라 MBED를 사용 하고 케이블을 연결하고 신호 컨디셔닝을 처리하기 위해 magjack 및 이더넷 브레이크 아웃 보드 (sparkfun 참조)를 구입하는 것이 좋습니다 . 지원 모델은 mbed NXP LPC1768입니다.

나는 서서 시작부터 약 2 시간 만에 원격 서버 (예 : 인터넷을 통해)로 데이터를 보내는 mbed를 얻었습니다.


4

그것은 당신이하고 싶은 일에 달려 있습니다. 주의해야 할 주요 사항은 RAM의 양 (개별 메시지 크기를 제한 할 수 있음)이며 웹 페이지를 제공하려는 경우 사용할 수있는 스토리지 양입니다. Arduino Duemilanova http://www.arduino.cc/-ATMega328 마이크로 컨트롤러, 2KB RAM을 사용합니다. 많은 저장 공간이 필요한 경우 SD 카드를 연결할 수 있습니다. 이더넷 쉴드는 최대 4 개의 동시 세션을 지원합니다. 복잡한 페이지를 제공 할 수는 없지만 Pachube, twitter 등에 잘 업로드됩니다.

보다 강력한 솔루션을 보려면 Marvell Plug를보십시오


3

마이크로 칩이이 조합을위한 TCP / IP 스택을 제공하고이를 구현하는 데는 구글을 통해 많은 정보가 제공 될 수 있기 때문에 그림 18 마이크로 컨트롤러 중 하나와 함께 ENC28J60을 사용하는 것이 좋습니다.


3

좋은 해결책을 위해 체크 아웃 tuxgraphics .


4
Microchip MAC / PHY와 함께 AVR 마이크로를 사용하십니까? 무엇 향후 계획? 함께 사는 고양이와 개? :)
Robert

나는 이것들 중 하나를 가지고 있습니다-그것은 잘 작동합니다. 모든 표면 실장 부품이 사전 납땜 된 키트로 제공됩니다. uIP 소스와 이더넷 드라이버가 함께 제공됩니다.
Toby Jaffey

3

ENC28J60 및 ATMEL Cips를 사용하는 많은 프로젝트가 있습니다. 대부분은 C 또는 BASCOM을 사용하여 잘 문서화되어 있습니다. 완전한 키트를 구입하여 시작할 수도 있습니다. 나는 혼자서 그런 키트를 소유하고 포럼에서 프로그래밍에 대해 많은 것을 배웠습니다.


3

nanode는 오픈 소스와 함께 배송 22 £ / $ 40. 방금 pachube를 통해 가정 에너지 / 환경 모니터링을 위해 2 개를 구입했습니다.

사이트에서 30 초 간격 :

Nanode는 웹 연결 기능이 내장 된 오픈 소스 Arduino 계열 보드입니다. 다양한 무선, 유선 및 이더넷 인터페이스에 연결됩니다. 웹 기반 센서 및 제어 시스템을 개발하여 6 개의 아날로그 센서 라인과 6 개의 디지털 I / O 라인에 웹 액세스 할 수 있습니다. 직접 제작 키트입니다. Nanode는 해킹을 염두에두고 설계되었습니다.


3

picdem.net 2 개발 카드를 사용하여 마이크로 칩 스택을 시도했지만 전혀 만족하지 못했습니다. 최적화되지 않았고 문서화가 잘되어 있지 않습니다.

현재 시장에서 최고의 솔루션은 많은 시간을 절약하고 더 많은 효율성을 제공하는 최초의 이더넷 기반 TCP / IP 하드웨어 칩을 가진 Wiznet이라고 생각합니다

이 링크는 사용 가능한 모든 솔루션을 제공하고 비교합니다.

http://retired.beyondlogic.org/etherip/ip.htm


훌륭한 개요입니다.
Amos

1
나는 또한 Microchip 네트워크 스택에 대한 나쁜 경험을 가지고 있었기 때문에 내 자신을 작성했습니다. [url] embedinc.com/pic/dload.htm[/url] 의 PIC Development Tools 릴리스에 포함되어 있습니다 . PIC 18에서 실행되며 외부 ENC28J60 또는 내부 MAC / PHY를 구동 할 수 있으며 주석이 잘 달고 쉽게 구성 할 수 있으며 설치 공간이 적도록 설계되었습니다.
Olin Lathrop

3

파티에 늦었지만 TI Stellaris EK-LM3S6965를 추천합니다. PHY를 포함한 내장 이더넷 컨트롤러가있는 ARM Cortex M3 부품입니다. 프로토 타입 제작을 위해 이더넷 잭, 소형 OLED 디스플레이 (디버깅 및 베어 본 UI에 적합), SD 카드 슬롯, 스피커, 버튼, LED 및 마이크로 주변 장치에 배선하기위한 브레이크 아웃이있는 평가 키트를 사용했습니다. 애플리케이션을 설명하지는 않았지만 (즉, 수만 개의 무언가 또는 일회성 취미 프로젝트를 생성하려는 경우) 가격은 합리적입니다 (개발자 보드의 경우 ~ $ 70, 칩의 경우 12-15 달러의 소량). 자체 펌웨어를 원하거나 FreeRTOS (내 보드 개정판과 FreeRTOS 배포판의 내용 사이의 작은 하드웨어 개정으로 인해 약간의 포팅이 필요함)와 eLua를 실행할 수있는 경우 OK 개발 라이브러리 세트가 제공됩니다. TCP / IP에 uIP 또는 lwIP를 사용할 수 있습니다.

Cortex M3은 AVR / Arduino 및 PIC와 같은 인기있는 취미 제품과 비교하여 32 비트 부품으로 50MHz로 실행되며 6965에는 많은 I / O 기능이 있으며, IMO는 많은 컴퓨팅 성능과 방법으로 놀랍습니다. 아주 작고 저렴한 것에서 얻을 수있는 많은 기능. 그러나 개발 측면에서는 꽤 원시적이며 C를 알아야합니다 (eLua를 실행하지 않는 한). 저는 거래를 통해 소프트웨어 개발자이고 Mac에서 ARM을 개발하므로 무서운 / 불편한 툴체인 설정을 두려워하지 않으며 디버깅에 Make + arm-eabi-gcc + OpenOCD를 사용했지만 Windows 사용자 인 경우 아마도 Code Composer Studio 번들이 좋은 선택 일 것입니다. TI의 Code Composer IDE를 사용하여 재미있는 MSP430 실험 프로젝트에 사용했으며 OSX / ARM 설정보다 작업 흐름이 더 좋았습니다.

전체 공개, 나는 실제로 이더넷 컨트롤러를 사용하는이 칩 주위에 PCB를 설계하지는 않았지만 이더넷을 사용하지 않고 좋은 경험을 가진 보드를 사용했으며 이더넷을 사용하는 프로젝트를 구축했습니다. 평가 보드.

평가 보드 / 도구 번들을 확인하십시오.

2013 년 9 월 업데이트

이 부품들은 더 이상 새로운 디자인에 권장되지 않는 것 같습니다. 명백한 대체품이없는 것 같습니다.

2013 년 11 월 업데이트

현재 TM4C129XNCZAD 는 위의 부품을 대체 할 수있는 제품으로, 온보드 MAC + PHY를 지원하지만 핀과 호환되지는 않지만 많은 사람들이 LM3S 조기 수명 중단 / 가용성에 대한 문제 / 혼란 후에 사용을 꺼려합니다 .


2

이 질문이 100 %가 아닐 수도 있지만 생산 운영이 ​​매우 작은 프로젝트의 경우 라즈베리 파이와 같은 사전 제작 보드를 내장 한 사람들을 만나기 시작했습니다. 이것은 많은 장점이 있습니다 :

  1. 가격은 이더넷을 갖춘 고급 CPU 중 하나 이상 (적어도 적은 양의 경우)보다 크지 않으며 디자인 / 테스트 / 유발 문제 전체를 건너 뜁니다.
  2. 라즈베리 PI는 이미 CE / EMC 테스트를 거쳤으므로 불확실성을 완전히 제거 할 수 있습니다 (그렇지 않으면 이더넷 및 고속 클럭으로 인해 많은 EMC 문제가 발생할 수 있음). 여전히 최종 제품을 테스트해야하지만 적어도 실패를 일으키지 않아야하는 전체 영역이 있습니다.
  3. 당신이 리눅스 등을 사용한다면 훨씬 더 성 가시고 적절한 서버급 TCP / IP 스택을 얻을 수 있습니다.

내가 말했듯이, 그것은 모든 사람을위한 것이 아니라 일부 프로젝트에 적합합니다.

사용 된 정확한 보드와 관련하여 몇 가지 옵션이 있습니다.

  1. 라즈베리 파이
  2. 비글 본 블랙 -온보드 플래시
  3. 확장 보드가있는 STM32F4DISCOVERY

2

Wiznet W5500 임베디드 MAC + PHY 컨트롤러 와 함께 거의 모든 MCU를 사용할 수 있으며 SPI에 의해 구동됩니다. 장점은 다음과 같습니다. 내장 네트워크 스택, Tx / Rx 버퍼, 최소 MCU 핀, 간단한 프로그래밍이 필요합니다.

방금 ASIX의 AX88796C라는 또 다른 흥미로운 옵션을 찾았 습니다. MAC + PHY , 10 \ 100Mbps 이더넷 및 최대 40MHz SPI 인터페이스 옵션이 있으므로 모든 ARM 기반 MCU에 적합합니다 .

업데이트 : Netduino 3은 이미이 칩을 사용하고 있습니다. 흥미로운 세부 사항은 다음과 같습니다.

http://forums.netduino.com/index.php?/topic/12117-deep-dive-on-asix-ax88796c-netduino-3-ethernets-fancy-new-networking-chip/


1

펌웨어에 대한 경험이 있다면 STM32F4DIS-EXT 보드와 함께 STM32F4Discovery 보드를 권장합니다. 나는 최근에 이것을 사용하여 장치의 구성 웹 페이지를 만들었으며 꽤 쉬웠습니다. 온라인으로 사용할 수있는 lwIP 예제 프로젝트가 있으며 Google "makefsdata"를 사용하면 자신의 HTML 파일에 필요한 파일을 생성하는 방법에 대한 많은 정보를 찾을 수 있습니다. 더 많은 정보가 필요하면 메시지를 보내십시오.


1

나는 그 목적을 위해 (25 EUR) Openpicus FlyportPro 이더넷 모듈을 좋아합니다. 마그네틱과 함께 이더넷 잭을 추가하고 TCP / IP 스택을 사용하여 펌웨어를 생성하십시오. 그들은 또한 TLS 구현을 가지고 있습니다 :

http://blog.openpicus.com/2014/12/idepro-2-9-0-bye-ssl-welcome-tls.html

나는 '클래식'Flyport 이더넷을 사용하여 프로젝트를 수행했으며 지금까지 확고했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.