Một vi điều khiển tốt cho các ứng dụng Ethernet là gì?


47

Một vi điều khiển tốt để làm các ứng dụng Ethernet là gì? Hay tôi chỉ cần một thư viện Ethernet tốt để kết nối với Ethernet MAC / PHY?


Bạn có thể cho chúng tôi biết bạn đã đi với giải pháp nào và kinh nghiệm của bạn với nó không?
thom_nic

1
Tôi hiện đang sử dụng loạt PIC18F97J60 và PIC32 với ENCxxx. Nó hoạt động tốt. Gotcha lớn nhất là nó chỉ có tối đa SSLv3.0, thứ mà Firefox và Chrome vừa bỏ. Microchip có hỗ trợ cho nhiều giao thức khác mà tôi sử dụng: FTP, TFTP, SNTP, SNMP.
Robert

Điều tốt để nghe - cũng là giới hạn SSL là điều tốt để biết nhưng có vẻ như tất cả các triển khai TLS "mạnh mẽ" đều không miễn phí nói chung. Cám ơn vì đã chia sẻ!
thom_nic

Câu trả lời:


29

PIC18 của Microchip với ethernet tích hợp rất tuyệt vời cho việc này, chỉ cần thêm một magjack (hoặc trình kết nối khác có từ tính tích hợp) và tải xuống ngăn xếp TCP / IP của họ. Bạn sẽ làm mọi thứ nhanh chóng. Để hiểu rõ hơn, PIC24 và PIC32 cũng có các ngăn xếp TCP / IP được thiết kế để chạy với một trong các bộ phận MAC / PHY Ethernet SPI mà họ cung cấp (ENC624J600 hoặc ENC628J60).

ST gần đây cũng đã cải tiến dòng STM32 dựa trên ARM Cortex của họ để bao gồm ethernet trên chip, nhưng bạn sẽ cần PHY và từ tính bên ngoài. Đó là một tùy chọn nếu bạn đang xem PIC32.


16
Tôi đã gặp vấn đề với ngăn xếp mạng Microchip, vì vậy tôi đã tự viết và cung cấp miễn phí với mã nguồn tại embedinc.com/pic/dload.htmlm trong bản phát hành Công cụ phát triển PIC. Bạn phải nắm lấy khái niệm về môi trường phát triển PIC của chúng tôi (cũng miễn phí), nhưng dù sao đó cũng là một ý tưởng tốt. Sau khi cài đặt, hãy tìm các tệp có "net" trong tên của chúng trong thư mục SOURCE> PIC.
Olin Lathrop

20

Liên quan đến việc có ngăn xếp TCP / IP, có ba dự án bạn nên xem xét:

Contiki là một hệ điều hành đa tác vụ mã nguồn mở, di động cao dành cho các hệ thống nhúng được nối mạng hiệu quả và các mạng cảm biến không dây. Contiki đã được sử dụng là một loạt các dự án, như giám sát hỏa hoạn đường hầm, phát hiện xâm nhập, giám sát nước ở biển Baltic và trong các mạng lưới giám sát.

Contiki được thiết kế cho các bộ vi điều khiển với số lượng bộ nhớ nhỏ. Một cấu hình Contiki điển hình là 2 kilobyte RAM và 40 kilobyte ROM.

Ngăn xếp uIP TCP / IP nguồn mở cung cấp kết nối TCP / IP cho các bộ vi điều khiển 8 bit được nhúng nhỏ, với khả năng tương tác được duy trì và tuân thủ các tiêu chuẩn RFC.

  • Các lwIP TCP / IP Stack :

    Nhanh hơn nhiều so với uIP nhưng khó hơn để bắt đầu với


17

Nói chung Ethernet không được tích hợp vào vi điều khiển. Trước tiên, bạn cần một giắc cắm có thể chuyển đổi tín hiệu Ethernet thành tín hiệu được đọc bởi vi điều khiển (cái này thường được gọi là 'từ tính'). Sau đó, bạn cần một ngăn xếp TCP / IP, và trên hết là bạn cần DHCP, DNS và bất kỳ giao thức nào khác mà bạn muốn sử dụng. Vì vậy, vi điều khiển thực tế bạn sử dụng không thành vấn đề. Nếu bạn có được thứ gì đó rất mạnh như ARM với Linux chạy trên nó, thì việc phát triển nó sẽ rất đơn giản, gần giống như viết một ứng dụng mạng chạy trên PC để bàn chạy Linux. Hoặc bạn có thể đi với một cái gì đó ít mạnh hơn và rẻ hơn như một AVR hoặc PIC.

Ethernet và TCP / IP có thể khá phức tạp nếu bạn muốn triển khai toàn bộ ngăn xếp TCP / IP trong phần mềm. Một giải pháp phổ biến là sử dụng một cái gì đó như chip W5100 của Wiznet, xử lý tất cả các công cụ TCP / IP cấp thấp cho bạn. Bạn có thể mua nó trong một mô-đun được tạo sẵn bao gồm đầu nối ethernet và mọi thứ với giá khá rẻ, khoảng 20 đô la cho mô-đun WIZ812MJ . Bạn có thể giao tiếp với nó chỉ bằng SPI, do đó sẽ không mất nhiều chân I / O trên vi điều khiển của bạn.

Lantronix cũng cung cấp một số mô-đun mạnh hơn trông có vẻ đơn giản hơn để sử dụng, nhưng chúng có giá cao hơn một chút ($ 50- $ 100 tùy thuộc vào kiểu máy). Xem XPort của họ chẳng hạn.


1
Tôi muốn yêu để xem một tài liệu tham khảo có uy tín đối với thuật ngữ "sức dân", như tôi đã không bao giờ nghe nói về nó.
Andrew

@Andrew Tôi không biết bất kỳ từ điển kỹ thuật nào có nó. Googling nó sẽ tìm thấy các tài liệu tham khảo khác nhau. Đó chỉ là những gì tôi đã thấy nó được đề cập đến. Về cơ bản, quan điểm của chúng là cách ly mạch của bạn với các thiết bị khác được kết nối với nó thông qua ethernet. Tương tự như cách MIDI sử dụng cách ly quang.
davr

Tôi nhận được khoảng nửa triệu kết quả cho "bộ cách ly ethernet" so với "từ tính ethernet", nhưng tôi hiểu ý của bạn bây giờ.
Andrew

Có một cuộc thảo luận về nguồn gốc và cách sử dụng thuật ngữ trên bài đăng Hack A Day này về khớp nối điện dung .
Andrew

Tôi chỉ nhìn vào một bảng dữ liệu thu phát Ethernet (LAN8720A từ Microchip), và phần đó được gọi khác nhau là 'Mag' và 'Transformer'.
Dan Ellis

11

ARM là bộ vi điều khiển thời đó và NXP có rất nhiều sản phẩm. Trang web này liệt kê quá nhiều bộ điều khiển Ethernet để đề cập đến tất cả ở đây, kể từ ngày này (2011/07/13):

17 thiết bị ARM7
2 thiết bị ARM9
16 thiết bị Cortex-M3

chỉnh sửa
Tôi chuyển cuộc thảo luận về lợi thế của ARM sang câu trả lời này .


những lợi thế nào làm cho cánh tay cung cấp. Tôi thấy nhiều câu trả lời khác cần chi tiết hơn, phần quan trọng là bạn đưa ra lý do tại sao dòng nhiều hơn sau đó chỉ là một liên kết đến dòng của bộ điều khiển. Tôi chỉ cung cấp cho bạn thông tin phản hồi này vì bạn quá thông thạo người dùng để không đưa ra câu trả lời tốt nhất có thể!
Kortuk

6
@Kortuk - Ồ, thật tuyệt! Không chỉ muốn họ có nhiều câu trả lời, bây giờ họ cũng phải là người giỏi nhất! ;-)
stevenvh

6

Bộ XMOS XC-2 là một cách thú vị để làm điều đó. Tất cả mọi thứ được thực hiện trong phần mềm, ngoài PHY. Phần mềm sẽ chạy trên chip XS1-L1 $ 7,50.


người đàn ông bạn đang làm cho tôi quan tâm đến các sản phẩm XMOS. Tôi sẽ phải cố gắng rất nhiều để chống lại việc chọn bộ công cụ phát triển đó. Bạn có biết nếu có một RTOS cho nó?
Dave

Nó không thực sự cần RTOS, vì các luồng phần cứng. Điều đó nói rằng, một hoặc hai người đang làm việc trên một.
Leon Heller

XMOS cũng tạo ra một phiên bản với hai giắc ethernet. Nó được dùng cho các đèn LED bit, nhưng tôi không hiểu tại sao bạn không thể làm những việc khác. Cuộn Router của riêng bạn! xmos.com/products/development-kits/xc-3-led-tile-kit
Sói Connor

5

Microchip có một số bộ vi điều khiển Pic có khả năng ethernet sẵn có, có một danh sách ở đây . Họ cũng có một loạt các trang liên quan đến các giải pháp thiết kế cho ethernet và các sản phẩm của họ ở đây , cũng bao gồm các chi tiết về ngăn xếp TCP / IP đầy đủ của họ (với MAC và PHY tích hợp).

Hi vọng điêu nay co ich.



4

Netduino plus là một vi điều khiển 60 $ tốt cho các ứng dụng ethernet. Nó cũng có thể chấp nhận hầu hết các lá chắn Arduino nếu cần.


4

Tùy thuộc vào mức độ bạn muốn làm cho cuộc sống của mình dễ dàng như thế nào, tôi sẽ khuyên bạn nên sử dụng MBED và mua bảng đột phá magjack và ethernet (xem sparkfun) để kết nối cáp và xử lý tín hiệu điều hòa. Mô hình hỗ trợ là mbed NXP LPC1768.

Tôi quản lý để có được một mbed gửi dữ liệu đến máy chủ từ xa của tôi (ví dụ: qua internet) trong khoảng 2 giờ kể từ khi bắt đầu đứng.


4

Nó phụ thuộc vào những gì bạn muốn làm với nó. Điều chính cần chú ý là dung lượng RAM (có thể giới hạn kích thước thư riêng lẻ) và nếu bạn muốn phục vụ các trang web thì dung lượng lưu trữ có sẵn cho điều đó. Tôi sử dụng Arduino Duemilanova http://www.arduino.cc/ - Bộ điều khiển vi ATMega328, RAM 2Kbyte. Bạn có thể kết nối thẻ SD nếu muốn lưu trữ đáng kể. Lá chắn ethernet sẽ hỗ trợ tối đa 4 phiên đồng thời. Đừng mong đợi có thể phục vụ các trang phức tạp nhưng hoạt động tốt khi tải lên Pachube, twitter, v.v.

Đối với một giải pháp mạnh mẽ hơn, hãy nhìn vào Marvell Plug


3

Tôi sẽ đề nghị sử dụng ENC28J60 cùng với một trong các bộ điều khiển vi mô pic 18 vì microchip cung cấp ngăn xếp TCP / IP cho sự kết hợp này và sẽ có nhiều thông tin có sẵn thông qua google khi thực hiện điều này.


3

kiểm tra tuxgraphics cho một giải pháp tốt đẹp.


4
Sử dụng micro AVR với Microchip MAC / PHY? Cái gì tiếp theo? Mèo và chó sống chung? :)
Robert

Tôi có một trong số này - nó hoạt động tốt. Đi kèm như một bộ với tất cả các bộ phận gắn trên bề mặt được hàn sẵn. nguồn uIP và trình điều khiển ethernet đi kèm với nó.
Toby Jaffey

3

Có nhiều dự án sử dụng ENC28J60 và ATMEL Cips. Hầu hết trong số họ được ghi chép tốt và sử dụng C hoặc BASCOM. Bạn cũng có thể mua bộ dụng cụ đầy đủ để bắt đầu. Tôi tự mình sở hữu một bộ như vậy và học được nhiều về lập trình từ các diễn đàn.


3

Các nanode là nguồn mở và chỉ có £ 22 / $ 40 được vận chuyển. Tôi mới mua hai cái để theo dõi năng lượng / môi trường tại nhà qua pachube.

30 giây từ trang web:

Nanode là một bo mạch giống như Arduino nguồn mở có kết nối web được xây dựng. Nó kết nối với một loạt các giao diện không dây, có dây và ethernet. Nó cho phép bạn phát triển các hệ thống điều khiển và cảm biến dựa trên web - cho phép bạn truy cập web vào sáu dòng cảm biến tương tự và sáu dòng I / O kỹ thuật số. Nó là một bộ dễ dàng xây dựng nó cho mình bộ. Nanode được thiết kế với Hacking trong tâm trí.


3

Tôi đã thử ngăn xếp vi mạch bằng thẻ phát hiện picdem.net 2 và tôi không hài lòng chút nào, nó không được tối ưu hóa và không được ghi chép tốt.

Tôi nghĩ rằng giải pháp tốt nhất trên thị trường hiện nay là Wiznet có chip phần cứng TCP / IP dựa trên Ethernet đầu tiên giúp tiết kiệm rất nhiều thời gian và mang lại cho bạn hiệu quả cao hơn

Liên kết này cung cấp tất cả các giải pháp có sẵn và so sánh chúng:

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


Thật là một tổng quan tuyệt vời.
A-mốt

1
Tôi cũng đã có những trải nghiệm tồi tệ với ngăn xếp mạng Microchip, vì vậy tôi đã tự viết. Nó được bao gồm trong bản phát hành Công cụ phát triển PIC tại [url] embedinc.com/pic/dload.htm[/url] . Nó chạy trên PIC 18, có thể lái ENC28J60 bên ngoài hoặc MAC / PHY bên trong, được nhận xét tốt, dễ cấu hình và được thiết kế cho dấu chân thấp.
Olin Lathrop

3

Tôi đến bữa tiệc muộn ở đây nhưng tôi khuyên dùng TI Stellaris EK-LM3S6965. Đó là một phần ARM Cortex M3 với bộ điều khiển Ethernet tích hợp bao gồm PHY. Để tạo mẫu, tôi đã sử dụng bộ đánh giá của họ, có giắc Ethernet, màn hình OLED nhỏ (tuyệt vời để gỡ lỗi và giao diện người dùng barebones), khe cắm thẻ SD, loa, nút, đèn LED và ngắt để nối các thiết bị ngoại vi với micro. Bạn đã không mô tả ứng dụng của mình (nghĩa là tìm cách sản xuất hàng chục nghìn thứ hoặc dự án sở thích một lần), nhưng giá cả hợp lý (~ 70 đô la cho bảng dev, 12-15 đô la với số lượng nhỏ chỉ cho chip) , chúng đi kèm với một bộ thư viện phát triển OK nếu bạn muốn tự làm phần sụn cho riêng mình hoặc nó có thể chạy FreeRTOS (yêu cầu một chút chuyển đổi do sự thay đổi phần cứng nhỏ giữa sửa đổi bảng của tôi và nội dung trong bản phân phối FreeRTOS) và eLua. Bạn có thể sử dụng uIP hoặc lwIP cho TCP / IP.

So với các dịch vụ sở thích phổ biến như AVR / Arduino và PIC, Cortex M3 là một phần 32 bit, chạy ở tốc độ 50 MHz, 6965 có rất nhiều tính năng I / O, IMO thật đáng kinh ngạc về sức mạnh tính toán và cách thức nhiều tính năng bạn có thể nhận ra từ một cái gì đó rất nhỏ và rẻ. Tuy nhiên, nó khá thô về mặt phát triển và bạn phải biết C (tốt, trừ khi bạn chạy eLua). Tôi là nhà phát triển phần mềm bằng thương mại và thực hiện phát triển ARM trên máy Mac, vì vậy tôi không sợ các thiết lập chuỗi công cụ đáng sợ / bất tiện và đã sử dụng Make + arm-eabi-gcc + OpenOCD để gỡ lỗi, nhưng nếu bạn là một người Windows có lẽ gói Code Composer Studio sẽ là một lựa chọn tốt. Tôi đã sử dụng IDE Trình soạn thảo mã của TI cho một dự án thử nghiệm MSP430 thú vị và tôi thấy nó ổn và có quy trình làm việc dễ dàng hơn so với thiết lập OSX / ARM của tôi.

Tiết lộ đầy đủ, tôi thực sự đã thiết kế một PCB xung quanh con chip này sử dụng bộ điều khiển Ethernet, nhưng tôi đã làm một bảng không sử dụng Ethernet và có kinh nghiệm tốt về điều đó, và tôi đã xây dựng các dự án hỗ trợ Ethernet bằng cách sử dụng hội đồng thẩm định.

Kiểm tra các bảng đánh giá / gói công cụ ở đây

CẬP NHẬT tháng 9 năm 2013

Những phần này dường như không còn được khuyến khích cho các thiết kế mới. Dường như không có bất kỳ sự thay thế rõ ràng nào.

CẬP NHẬT tháng 11 năm 2013

Hiện tại đã có TM4C129XNCZAD , một phần thay thế cho phần trên - nó có trên MAC + PHY, mặc dù không tương thích với pin - tuy nhiên rất nhiều người không muốn sử dụng nó sau khi xảy ra sự cố / nhầm lẫn về việc ngừng sử dụng sớm LM3S .


2

Có thể không phải 100% câu hỏi này là gì, nhưng đối với các dự án có quá trình sản xuất khá nhỏ tôi đã bắt đầu thấy mọi người nhúng các tấm ván dựng sẵn như mâm xôi pi. Điều này có rất nhiều lợi thế:

  1. Giá không quá nhiều so với một trong những CPU cao cấp hơn có ethernet (ít nhất là cho khối lượng thấp) và bạn bỏ qua toàn bộ tải về các vấn đề về thiết kế / kiểm tra / đưa ra.
  2. Raspberry PI đã được thử nghiệm CE / EMC, do đó cắt giảm toàn bộ tải không chắc chắn (nếu không ethernet và đồng hồ nhanh có thể giải quyết một loạt các vấn đề EMC). Bạn vẫn phải kiểm tra sản phẩm cuối cùng của mình, nhưng ít nhất có cả một khu vực thực sự không nên gây ra lỗi.
  3. Bạn sẽ nhận được nhiều tiếng cằn nhằn hơn và một ngăn xếp TCP / IP cấp máy chủ phù hợp nếu bạn sử dụng linux, v.v. - không ai trong số những thứ "chỉ có một kết nối hoạt động được phép" này!

Như tôi nói, nó không dành cho tất cả mọi người, nhưng đối với một số dự án, nó có thể phù hợp.

Có một vài lựa chọn về mặt bảng chính xác được sử dụng xung quanh:

  1. Mâm xôi PI
  2. Beaglebone màu đen - có đèn flash trên tàu
  3. STM32F4DISCOVERY với bảng mở rộng

2

Bạn có thể sử dụng hầu hết mọi MCU với bộ điều khiển MAC + PHY nhúng Wiznet W5500 , nó được điều khiển bởi SPI. Ưu điểm là: nó có ngăn xếp mạng tích hợp, bộ đệm Tx / Rx, yêu cầu các chân MCU tối thiểu, lập trình đơn giản hóa.

Tôi vừa tìm thấy một tùy chọn thú vị khác - AX88796C từ ASIX, nó cũng có cả MAC + PHY , Ethernet 10 \ 100Mbps và tùy chọn giao diện SPI lên đến 40 MHz , vì vậy trông rất phù hợp với bất kỳ MCU dựa trên ARM nào .

CẬP NHẬT: Netduino 3 đã sử dụng chip này, đây là chi tiết thú vị:

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


1

Nếu bạn có bất kỳ kinh nghiệm nào về phần sụn, tôi sẽ giới thiệu bảng STM32F4Discovery với bảng STM32F4DIS-EXT. Gần đây tôi đã sử dụng điều này để tạo một trang web cấu hình cho thiết bị của mình và nó khá dễ dàng. Có một dự án ví dụ lwIP có sẵn trực tuyến và nếu bạn google "makefsdata", bạn sẽ tìm thấy rất nhiều thông tin về cách tạo các tệp cần thiết cho các tệp HTML của riêng bạn. Nhắn tin cho tôi nếu bạn cần thêm thông tin.


1

Tôi thích mô-đun ethernet Openpicus FlyportPro (25 EUR) cho mục đích đó. Chỉ cần thêm một giắc ethernet có từ tính và tạo phần sụn của bạn bằng cách sử dụng ngăn xếp TCP / IP của chúng. Họ cũng có triển khai TLS:

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

Tôi đã thực hiện một dự án bằng cách sử dụng ethernet Flyport 'cổ điển' và cho đến nay nó vẫn vững chắc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.