پروژه راه اندازی اترنت با آی سی W5500 و میکروکنترلر ARM STM32

بازگشت به آموزشگاه

مقدمه

برای راه اندازی شبکه بر روی میکروکنترلرهای STM32 دو راه وجود دارد. روش اول راه اندازی واحد جانبی اترنت داخلی میکروکنترلر و استفاده از آی سی کنترلر لایه فیزیکی نظیر LAN8720 می باشد و راه دوم استفاده از آی سی های اترنت کنترلر نظیر W5500 در کنار میکروکنترلر و برقراری ارتباط با آن آی سی توسط واحدهای SPI یا UART میکروکنترلر. هر کدام از این راه ها مزایا و معایب خاص خود را دارد. در راه اول به علت یکپارچگی میکروکنترلر با اترنت از سرعت های بالاتری میتوان استفاده نمود اما میکروکنترلر درگیری ملموس تر و بیشتری با آن پیدا می کند. در راه دوم به علت جداسازی سخت افزاری واحد اترنت، سرعت بسته به پورت ارتباطی SPI یا UART کاهش پیدا می کند اما درگیری مستقیم میکروکنترلر به یک درگیری غیرمسقیم تقلیل می یابد که در پروژه های بزرگی که میکروکنترلر وظایف زیادی بر عهده دارد و از عهده کنترل واحد جانبی اترنت داخلی میکروکنترلر برنمی آید یا در آن دسته از میکروکنترلرهایی که واحد جانبی اترنت داخلی ندارند، این روش ارجحیت می یابد. در پروژه پیش رو با استفاده از پورت RJ45، کابل LAN و آی سی W5500 توانستیم با سرعت 10/100 مگابیت در ثانیه داده ها را انتقال دهیم و با پیاده پروتکل TCP/IP بر روی میکروکنترلر یک وب سرور Http ایجاد کنیم. برای فهم بهتر این مطلب نیاز است ابتدا سه مقاله زیر را به ترتیب گفته شده مطالعه نمایید:

پیش نیاز اول : آشنایی با اصول و مبانی شبکه های کامپیوتری

پیش نیاز دوم : آشنایی با پروتکل اترنت ( Ethernet ) و شبکه های محلی ( LAN )

پیش نیاز سوم : آشنایی با لایه کاربرد در مدل TCP/IP و تشریح عملکرد پروتکل HTTP


معرفی آی سی کنترلر اترنت W5500

آي سي w5500 يک کنترلر اترنت ( Ethernet Controller ) بر مبنای مدل TCP/IP می باشد که ارتباط سیستم های امبدد ( Embedded Systems ) را با شبکه اینترنت برقرار می سازد. از سوی دیگر، این آی سی به پورت اترنت یا همان RJ45 متصل می گردد. بنابراین میتوان این آی سی را مبدل SPI به اترنت نیز نامگذاری کرد. در درون اين چيپ لایه های MAC ، PHY و TCP/IP به صورت سخت افزاری پياده سازی شده است و اين بدان معنی است که با تنظیم کردن رجیسترهای آی سی، این سه لایه به صورت سخت افزاری توسط آی سی مدیریت می شود و در نتیجه برای پیاده سازی اپلیکیشن های اترنت در این آی سی، اضافه کردن برنامه سوکت ( Socket Program ) کافی است. می توان به طور همزمان از 8 سوکت سخت افزاری مستقل استفاده کرد که این راه حل، سریعتر و راحت تر از بسیاری راه حل های اترنتی دیگر است.

همچنین اين آی سی از پروتکل های TCP-UDP-IPV4-ICMP-ARP-IGMP-PPPOE پشتيبانی می کند. رابط کاربری اين آی سی با ميکرو کنترلر از طريق پورت SPI ( در Mode 0,3 ) می باشد که ميتواند با حداکثر فرکانس 80 مگاهرتز عمل نمايد. درون آی سی بافر 32 کيلوبايتی به منظورت پردازش پکت های ارسالی/دریافتی از پورت اترنت تعبیه شده است. يکی از مزيت های ديگر این آی سی که در موارد پرتابل خود را نشان می دهد و باعث می شود بتوان به وسيله باتری زمان بيشتری را با مدار کار کرد، پشتيبانی از POWER DOWN MODE و WOL ( مخفف Wake On LAN ) در حالت UDP می باشد. تعداد پایه های این آی سی 48 پین در پکیج LQFP می باشد. تغذيه اين آی سی 3.3 ولت است اما در پایه های پورت SPI تا ولتاژ 5 ولت را تحمل می کند. این آی سی دارای خروجی های LED به نام های FULL/HALF DUPLEX -LINK-SPEED-ACTIVE می باشد.


ماژول شبکه اترنت بر مبنای آی سی W5500

برای راه اندازی آی سی W5500 مداری شامل خازن، مقاومت، کریستال، پورت RJ45 مورد نیاز است که میتوان این مدار را خودتان طراحی کنید یا از ماژول های آماده در بازار استفاده نمایید. در بازار دو نوع مختلف از این ماژول های آماده وجود دارد که در شکل زیر مشاهده می نمایید.


پروژه راه اندازی اترنت با آی سی W5500 و میکروکنترلر ARM STM32

در این پروژه مدار راه اندازی آی سی W5500 را خودمان طراحی کردیم و در کنار آن از میکروکنترلر STM32F103 دو عدد LED یک بازر و یک رله استفاده نمودیم. شکل زیر شماتیک طراحی شده را نشان می دهد.

بعد از طراحی، چاپ و مونتاژ PCB شکل نهایی پروژه به صورت زیر می باشد.

با استفاده از این برد شما میتوانید دانش سخت افزاری و نرم افزاری مورد نیاز برای ورود به دنیای شبکه های اینترنتی را بدست آورید، با انواع پروتکل های شبکه آشنا شوید و آن ها را پیاده سازی نمایید. همچنین میتوانید با راه اندازی یک وب سرور بر روی این برد، یک وسیله برقی را از طریق مرورگر اینترنتی کنترل نمایید. لیست مثال های قابل پیاده سازی بر روی این برد که در نرم افزار Keil نوشته شده است به شرح زیر است:

0-Ping
1-TCP Server
2-TCP Client
3-UDP
4-DHCP
5-DNS
6-SMTP
7-NTP
8-HTTP_Server
9-HTTP_Client
10-NetBIOS
11-WEIBO_sina
12-uPnP
13-SNMP
14-TFTP_Client

لینک دانلود پروژه راه اندازی اترنت با آی سی W5500 و میکروکنترلر ARM STM32F103


همچنین با استفاده از سورس فایل های پروژه فوق، پروژه دیگری با بهبود در بخش برنامه نویسی برای میکروکنترلر ARM STM32F407 طراحی کردیم که در شکل زیر شماتیک طراحی شده را مشاهده می نمایید.

بعد از طراحی، چاپ و مونتاژ PCB شکل نهایی پروژه به صورت زیر می باشد.

همانطور که مشاهده می کنید نسبت به پروژه قبلی در این پروژه رله، بازر، سوئیچ ها و LED ها حذف شده است و میکروکنترلر STM32F407 جایگزین میکروکنترلر STM32F103 شده است. این میکروکنترلر قوی تر بوده و میتوان وب سرور سریعتر و قدرتمند تری بر روی آن داشت. همچنین کدهای برنامه نویسی وب سرور Http به طور کامل مورد بازنگری و بازنویسی قرار گرفته است و تغییرات و بهبود های بسیاری یافته است. از پروژه STM32F103 برای کسب دانش کلی در زمینه اترنت و راه اندازی انواع مثال ها و پروتکل های وب استفاده می شود اما برای داشتن مثال وب سرور Http بهینه سازی شده علاوه بر دانلود پروژه STM32F103 میتوانید از طریق لینک زیر به سورس این پروژه با STM32F407 نیز دسترسی داشته باشید.

لینک دانلود پروژه راه اندازی اترنت با آی سی W5500 و میکروکنترلر ARM STM32F407

1 دیدگاه

  • محسن پاسخ

    سلام مهندس خدا قوت و ممنون از اطلاعات مفیدتون . خیلی عالی بود

    1403-08-05 در 09:22

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بازگشت به آموزشگاه