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?
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?
Câu trả lời:
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.
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.
Nhanh hơn nhiều so với uIP nhưng khó hơn để bắt đầu với
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.
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 .
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.
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.
Rất nhiều bộ vi điều khiển TI Luminary (ARM Cortex-M3) có MAC ethernet trên bo mạch. Nó cần một tinh thể bên ngoài và ethernet PHY (đầu nối + từ tính).
GCC và openOCD (nhấp nháy / gỡ lỗi JTAG) hỗ trợ tốt cho họ và chúng khá rẻ về số lượng.
Họ cũng có những phần cứng giá rẻ ...
http://uk.farnell.com/luminary-micro/ekt-lm3s811/kit-eval-lm3s811-code-red/dp/1712254
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.
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.
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
kiểm tra tuxgraphics cho một giải pháp tốt đẹp.
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í.
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:
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 .
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ế:
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:
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ị:
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.
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.