پاسخ : راهنمایی :: ای سی شبکه ENC28J60 با بسکام
امیدوارم این مطلب آموزشی بدرد دوستان بخوره ....!
آی سی ENC28J60 اتصال میکروکنترلر AVR به شبکه اترنت EN28J60 Ethernet LAN Network Module
آی سی ENC28J60 ارزان ترین و مطمئن ترین چیپ موجود جهت اتصال انواع میکروکنترلرها به شبکه اترنت می باشد. فقط چند دقیقه جستجو در اینترنت انبوهی از اطلاعات در خصوص نحوه ی راه اندازی و استفاده از این آی سی را در اختیار طراحان قرار می دهد. برنامه های کاربردی به چندین زبان مختلف از جمله CodeVision-AVR و Bascom-AVR جهت میکرو کنترلرهای AVR در دسترس می باشد.
اساس کار این آی سی به شرح زیر است :
میکروکنترلر از طریق پورت SPI با چیپ ENC28J60 ارتباط برقرار می کند. مجموعه ای از زیر برنامه ها جهت تنظیمات اولیه پورت SPIو تعریف و مقدار دهی اولیه ریجیستر ها داخلی آی سی ENC28J60 فراخوان می شوند . برنامه اصلی درواقع یک حلقه ی دائمی است که منتظر دریافت پکت دیتا می ماند. زیر برنامه های خواندن و تفسیر پکت های دریافتی از حافظه داخلی ENC28J60 و محاسبه CRC و مقایسه ی IP و MAC و همچنین تهیه پکت های پاسخ بر اساس استاندارد های شبکه در ادامه برنامه قرار دارد. از جمله مهمترین زیربرنامه ها ، پروتکل ARP و TCP/IP و UDP و PING می باشد که عموماً در تمام برنامه ها گنجانده می شوند. همچنین بسته به نوع کابری محصول نهایی ، زیربرنامه هایی جهت لایه کاربر نظیر ارسال داده های یک صفحه HTML به سایر کلاینت های شبکه و یا دریافت و نمایش اطلاعات ارسالی از نودهای شبکه روی LCD در این برنامه ها دیده میشود.
نکات مهم در استفاده از ENC28J60 :
1- مهمترین موضوع داشتن اطلاعات است. تسلط به زبان برنامه نویسی میکرو کنترلر ، آشنایی با امکانات میکروکنترلرها و تجربه کافی در کار با آنها ، به طور خاص آشنایی با پروتکل SPI و نحوه ی عملکرد آن ، آشنایی با امکانات کامپیوتر جهت انجام تنظیمات مختلف نظیر مشاهده مشخصات کارت شبکه و عوض کردن IP ، ریست کردن کارت شبکه در صورت نیاز و ایجاد کانکشن ، آشنایی با ترمینال CMD جهت صدور فرمانهای شبکه نظیر PING و ARP ، داشتن اطلاعات در خصوص ماهیت شبکه های کامپیوتری ، مفهوم IP استاتیک و داینامیک، پکت دیتا ، CRC ، پروتکل های TCP و UDP ، نحوه ی تولید و راهیابی پکت دیتا در شبکه ، مطالعات عمومی درخصوص سخت افزارهای شبکه ، مودم ها و روترها ، مراجعه به سایت های علمی برق و الکترونیک داخلی و مطالعه ی کارهایی که سایرین در گذشته انجام داده اند و آشنایی با پرسشهای متداول و مشکلات عمومی و راه حل های موجود جهت صرفه جویی در وقت و استفاده از تجربه سایرین و جلوگیری از تکرار خطاها ، مطالعه ی داکیومنت آی سی ENC28J60 به زبان اصلی و همچنین مراجعه به سایت های خارجی که با این ماژول کار کرده اند و بررسی نتایج ارائه شده و مطالعه ی توضیحاتی که برنامه نویسان اصلی در خصوص پروژه های خود داده اند ، از جمله مهمترین ملزومات در اجرای پروژه شبکه می باشد.
2- به دلیل پیچیده بودن و حساس بودن مدار سخت افزاری ، اکیداً پیشنهاد میشود جهت ارتباط میکرو کنترلر با شبکه ، از ماژولهایی که شامل آی سی ، پورت RG45 و کریستال 25M ( ماژولهایی نظیر عکس فوق ) که مجموعاً جهت بایاس اولیه و راه اندازی سخت افزار اترنت مورد نیاز می باشد استفاده شود. در این گونه ماژولها در خصوص مسائل مربوط به بایاس و نویز و تطبیق امپدانس و … ملاحظات کافی انجام شده است و هیچ گونه مشکل سخت افزاری از این بابت وجود ندارد و معمولاً در اولین قدم با اتصال تغذیه و اتصال کابل اترنت کراس بین این ماژولها و PC بدون نیاز به وجود میکرو کنترلر ، کامپیوتر ماژول را تشخیص داده و ارتباط ماژول و کارت شبکه برقرار می شود. لذا با توجه به قیمت تمام شده ی ماژول و قیمت قطعات لازم به صورت جداگانه ، درگیر شدن با طراحی سخت افزاری اصلاً منطقی به نظر نمی رسد.
3- برای قدم اول بهتر است از پروژهای تست شده به زبان های استاندارد ارائه شده در کتابهای آموزش میکروکنترلر و یا از برنامه های ارائه شده همراه ماژولهای اترنت موجود در بازار استفاده شود. مهمترین موضوع در هر پروژه ای ، در دسترس داشتن یک نمونه ی واقعی در حال کار می باشد. یکی از مهمترین اقدامات پروژه ، سیم بندی دقیق بین میکرو و ماژول مطابق نقشه ی پروژه می باشد. به هیچ وجه از نقشه ی ارائه شده در یک پروژه خاص ، جهت برنامه ی یک پروژه دیگر استفاده نشود. تفاوت بین سیم بندی سخت افزاری پروژه های مختلف بسیار زیاد است. بعضی از برنامه ها ، از کلاک خروجی ماژول جهت کلاک میکرو استفاده میکنند. بعضی از برنامه ها از اینتراپت خروجی ماژول اترنت جهت تحریک میکروکنترلر استفاده میکنند. بعضی از برنامه ها از Mega32 و بعضی از Mega8 استفاده میکنند. لذا سیم بندی هر پروژه با بقیه متفاوت خواهد بود. بهترین پروژه برای شروع پروژه ایست که از اینتراپت خروجی و از کلاک خروجی ماژول اترنت استفاده نکرده باشد و همچنین مبدل سطح ولتاژ بین ماژول و میکرو به کار نرفته باشد و تنها ارتباط بین میکرو و ماژول ، پین های SPI و پین CS ( چیپ سلکت ) باشد. البته این پروژه ها معمولاً حجیم ترند و فضای زیادی از حافظه میکرو را اشغال خواهند کرد. اما این موضوع در شروع کار اهمیتی ندارد. حتماً سیم بندی میکرو و ماژول و LCD با توجه به تعدد سیم ها ، روی یک برد بورد کاملاً سالم و مطمئن انجام شود و ترتیبی داده شود که به جز مشکلات مربوط به برنامه نویسی ، هیچ گونه اختلال و مشکل سخت افزاری دیگری در پروژه وجود نداشته باشد. از جمله امکاناتی که در برنامه های مختلف پیش بینی میشود ، ارتباط میکرو با کامپیوتر از طریق پورت سریال می باشد که به وسیله آن مراحل مختلف اجرای برنامه مستقیماً روی کامپیوتر نمایش داده می شود و این ابزار در مشاهده و رفع خطای برنامه بسیار کارآمد می باشد. لذا حتماً ارتباط سریال به کمک MAX232 بین میکرو و PC برقرار شود و کلیه فرآیند اجرای برنامه از طریق ترمینال سریال PC مشاهده گردد. این کار در سرعت رفع خطا و رسیدن به نتیجه مطلوب نقش بسیار کلیدی دارد.
4- جهت ارتباط مستقیم ماژول با PC از کابل کراس و جهت ارتباط ماژول با روتر از کابل استریت استفاده شود. بهتر است پروژه از ارتباط مستقیم بین PC و ماژول با IP استاتیک آغاز شود و هیچ روتری در مسیر قرار نگیرد. به این ترتیب از محدودیت های معروف روترها نظیر فیلتر IP و MAC تا زمان دستیابی به تجربه و دانش کافی گذر خواهیم کرد. اکثر پروژه های موجود در اینترنت معمولاً با IP های دلخواه طراحی شده اند . اولین قدم در اصلاح برنامه این است که برای بورد اترنت یک IP در رنج IP پیش فرض کامپیوتر مورد استفاده که معمولاً از رنج x و 1 و 168 و 192 می باشد انتخاب شود. همچنین MAC بورد اترنت دقیقاً برابر MAC کارت شبکه موجود در PC با یک اختلاف جزئی در آخرین رقم سمت راست انتخاب شود. در ارتباط مستقیم بین PC و میکرو به غیر از سیم بندی میکرو و ماژول و انتخاب کابل شبکه مناسب و البته توجه به تنظیمات کارت شبکه نظیر IP و SubnetMask و فایروال و مواردی از این دست ، معمولاً مشکل جدی دیگری وجود نخواهد داشت و رسیدن به اولین پینگ موفق ، کمتر از یک هفته زمان می برد. نصب نرم افزار Network Protocol Analyzer جهت نمایش کلیه پکت های رد و بدل شده بین PC و ماژول بسیار مفید است. این نرم افزار می تواند بیت به بیت پکت های ارسالی و دریافتی را با ذکر جزئیات تفسیر نماید.
5-در نهایت وقتی ارتباط مستقیم PC و میکرو برقرار شد ، میتوانیم بورد را وارد شبکه کنیم. ملاحظات شبکه به این شرح است: IP بورد حتماً از رنج IP روتر محلی باشد . همچنین در اکثر شبکه های کامپیوتری محدودیت هایی روی رنج IP در مورد آخرین پارت سمت راست به عنوان پایین ترین عدد قابل تعریف اعمال میگردد که لازم است در انتخاب IP به این موضوع توجه گردد. اکثر انواع روتر ها به MAC حساس هستند و جهت جلوگیری از بروز خطا ، بهتر است از MAC کارت شبکه های قدیمی و یا دستگاههایی که در آن شبکه در حال کار نیستند استفاد شود. همچنین یک راه حل دیگر ، استفاده از MAC خود روتر با یک اختلاف جزئی در آخرین عدد سمت راست می باشد. در کاربری های مختلف از جمله WebServer به غیر از بورد و روتر ، تعدادی از سرور های شبکه ازجمله DNS-Server ، NTP-Server ، DHCP-Server و … ممکن است در بعضی از مراحل ارتباط شبکه نقش داشته باشند. برای مثال اختصاص IP داینامیک ، امکان فراخوانی میکروکنترلر بدون نیاز اعلام IP ، تنظیم زمان یکسان برای همه نود های شبکه و هماهنگی در ارسال و دریافت دیتا و…. چنانچه سرویس خاصی از این دست در پروژه استفاده شده باشد ، معمولاً در متن برنامه ، اطلاعاتی نظیر IP و MAC سرورهای مورد نیاز درخواست خواهد شد و لازم است اطلاعات مربوطه در محل مشخص شده در متن برنامه درج گردد. برای این منظور لازم است توضیحات درج شده در لا به لای خطوط برنامه مطالعه شود. نهایتاً با انجام موارد فوق ، تا این مرحله از این ماژول در شبکه های محلی می توان استفاده کرد. نکته مهم : جهت استفاده از این ماژول در شبکه اینترنت ، باید از IP داینامیک استفاده شود که در مواردی از جمله دریافت IP لازم است پروتکل های مربوطه مطالعه شود. ضمناً برنامه های نمونه نیز در این مورد وجود دارد.
منبع : http://tlab.ir
امیدوارم این مطلب آموزشی بدرد دوستان بخوره ....!
آی سی ENC28J60 اتصال میکروکنترلر AVR به شبکه اترنت EN28J60 Ethernet LAN Network Module
آی سی ENC28J60 ارزان ترین و مطمئن ترین چیپ موجود جهت اتصال انواع میکروکنترلرها به شبکه اترنت می باشد. فقط چند دقیقه جستجو در اینترنت انبوهی از اطلاعات در خصوص نحوه ی راه اندازی و استفاده از این آی سی را در اختیار طراحان قرار می دهد. برنامه های کاربردی به چندین زبان مختلف از جمله CodeVision-AVR و Bascom-AVR جهت میکرو کنترلرهای AVR در دسترس می باشد.
اساس کار این آی سی به شرح زیر است :
میکروکنترلر از طریق پورت SPI با چیپ ENC28J60 ارتباط برقرار می کند. مجموعه ای از زیر برنامه ها جهت تنظیمات اولیه پورت SPIو تعریف و مقدار دهی اولیه ریجیستر ها داخلی آی سی ENC28J60 فراخوان می شوند . برنامه اصلی درواقع یک حلقه ی دائمی است که منتظر دریافت پکت دیتا می ماند. زیر برنامه های خواندن و تفسیر پکت های دریافتی از حافظه داخلی ENC28J60 و محاسبه CRC و مقایسه ی IP و MAC و همچنین تهیه پکت های پاسخ بر اساس استاندارد های شبکه در ادامه برنامه قرار دارد. از جمله مهمترین زیربرنامه ها ، پروتکل ARP و TCP/IP و UDP و PING می باشد که عموماً در تمام برنامه ها گنجانده می شوند. همچنین بسته به نوع کابری محصول نهایی ، زیربرنامه هایی جهت لایه کاربر نظیر ارسال داده های یک صفحه HTML به سایر کلاینت های شبکه و یا دریافت و نمایش اطلاعات ارسالی از نودهای شبکه روی LCD در این برنامه ها دیده میشود.
نکات مهم در استفاده از ENC28J60 :
1- مهمترین موضوع داشتن اطلاعات است. تسلط به زبان برنامه نویسی میکرو کنترلر ، آشنایی با امکانات میکروکنترلرها و تجربه کافی در کار با آنها ، به طور خاص آشنایی با پروتکل SPI و نحوه ی عملکرد آن ، آشنایی با امکانات کامپیوتر جهت انجام تنظیمات مختلف نظیر مشاهده مشخصات کارت شبکه و عوض کردن IP ، ریست کردن کارت شبکه در صورت نیاز و ایجاد کانکشن ، آشنایی با ترمینال CMD جهت صدور فرمانهای شبکه نظیر PING و ARP ، داشتن اطلاعات در خصوص ماهیت شبکه های کامپیوتری ، مفهوم IP استاتیک و داینامیک، پکت دیتا ، CRC ، پروتکل های TCP و UDP ، نحوه ی تولید و راهیابی پکت دیتا در شبکه ، مطالعات عمومی درخصوص سخت افزارهای شبکه ، مودم ها و روترها ، مراجعه به سایت های علمی برق و الکترونیک داخلی و مطالعه ی کارهایی که سایرین در گذشته انجام داده اند و آشنایی با پرسشهای متداول و مشکلات عمومی و راه حل های موجود جهت صرفه جویی در وقت و استفاده از تجربه سایرین و جلوگیری از تکرار خطاها ، مطالعه ی داکیومنت آی سی ENC28J60 به زبان اصلی و همچنین مراجعه به سایت های خارجی که با این ماژول کار کرده اند و بررسی نتایج ارائه شده و مطالعه ی توضیحاتی که برنامه نویسان اصلی در خصوص پروژه های خود داده اند ، از جمله مهمترین ملزومات در اجرای پروژه شبکه می باشد.
2- به دلیل پیچیده بودن و حساس بودن مدار سخت افزاری ، اکیداً پیشنهاد میشود جهت ارتباط میکرو کنترلر با شبکه ، از ماژولهایی که شامل آی سی ، پورت RG45 و کریستال 25M ( ماژولهایی نظیر عکس فوق ) که مجموعاً جهت بایاس اولیه و راه اندازی سخت افزار اترنت مورد نیاز می باشد استفاده شود. در این گونه ماژولها در خصوص مسائل مربوط به بایاس و نویز و تطبیق امپدانس و … ملاحظات کافی انجام شده است و هیچ گونه مشکل سخت افزاری از این بابت وجود ندارد و معمولاً در اولین قدم با اتصال تغذیه و اتصال کابل اترنت کراس بین این ماژولها و PC بدون نیاز به وجود میکرو کنترلر ، کامپیوتر ماژول را تشخیص داده و ارتباط ماژول و کارت شبکه برقرار می شود. لذا با توجه به قیمت تمام شده ی ماژول و قیمت قطعات لازم به صورت جداگانه ، درگیر شدن با طراحی سخت افزاری اصلاً منطقی به نظر نمی رسد.
3- برای قدم اول بهتر است از پروژهای تست شده به زبان های استاندارد ارائه شده در کتابهای آموزش میکروکنترلر و یا از برنامه های ارائه شده همراه ماژولهای اترنت موجود در بازار استفاده شود. مهمترین موضوع در هر پروژه ای ، در دسترس داشتن یک نمونه ی واقعی در حال کار می باشد. یکی از مهمترین اقدامات پروژه ، سیم بندی دقیق بین میکرو و ماژول مطابق نقشه ی پروژه می باشد. به هیچ وجه از نقشه ی ارائه شده در یک پروژه خاص ، جهت برنامه ی یک پروژه دیگر استفاده نشود. تفاوت بین سیم بندی سخت افزاری پروژه های مختلف بسیار زیاد است. بعضی از برنامه ها ، از کلاک خروجی ماژول جهت کلاک میکرو استفاده میکنند. بعضی از برنامه ها از اینتراپت خروجی ماژول اترنت جهت تحریک میکروکنترلر استفاده میکنند. بعضی از برنامه ها از Mega32 و بعضی از Mega8 استفاده میکنند. لذا سیم بندی هر پروژه با بقیه متفاوت خواهد بود. بهترین پروژه برای شروع پروژه ایست که از اینتراپت خروجی و از کلاک خروجی ماژول اترنت استفاده نکرده باشد و همچنین مبدل سطح ولتاژ بین ماژول و میکرو به کار نرفته باشد و تنها ارتباط بین میکرو و ماژول ، پین های SPI و پین CS ( چیپ سلکت ) باشد. البته این پروژه ها معمولاً حجیم ترند و فضای زیادی از حافظه میکرو را اشغال خواهند کرد. اما این موضوع در شروع کار اهمیتی ندارد. حتماً سیم بندی میکرو و ماژول و LCD با توجه به تعدد سیم ها ، روی یک برد بورد کاملاً سالم و مطمئن انجام شود و ترتیبی داده شود که به جز مشکلات مربوط به برنامه نویسی ، هیچ گونه اختلال و مشکل سخت افزاری دیگری در پروژه وجود نداشته باشد. از جمله امکاناتی که در برنامه های مختلف پیش بینی میشود ، ارتباط میکرو با کامپیوتر از طریق پورت سریال می باشد که به وسیله آن مراحل مختلف اجرای برنامه مستقیماً روی کامپیوتر نمایش داده می شود و این ابزار در مشاهده و رفع خطای برنامه بسیار کارآمد می باشد. لذا حتماً ارتباط سریال به کمک MAX232 بین میکرو و PC برقرار شود و کلیه فرآیند اجرای برنامه از طریق ترمینال سریال PC مشاهده گردد. این کار در سرعت رفع خطا و رسیدن به نتیجه مطلوب نقش بسیار کلیدی دارد.
4- جهت ارتباط مستقیم ماژول با PC از کابل کراس و جهت ارتباط ماژول با روتر از کابل استریت استفاده شود. بهتر است پروژه از ارتباط مستقیم بین PC و ماژول با IP استاتیک آغاز شود و هیچ روتری در مسیر قرار نگیرد. به این ترتیب از محدودیت های معروف روترها نظیر فیلتر IP و MAC تا زمان دستیابی به تجربه و دانش کافی گذر خواهیم کرد. اکثر پروژه های موجود در اینترنت معمولاً با IP های دلخواه طراحی شده اند . اولین قدم در اصلاح برنامه این است که برای بورد اترنت یک IP در رنج IP پیش فرض کامپیوتر مورد استفاده که معمولاً از رنج x و 1 و 168 و 192 می باشد انتخاب شود. همچنین MAC بورد اترنت دقیقاً برابر MAC کارت شبکه موجود در PC با یک اختلاف جزئی در آخرین رقم سمت راست انتخاب شود. در ارتباط مستقیم بین PC و میکرو به غیر از سیم بندی میکرو و ماژول و انتخاب کابل شبکه مناسب و البته توجه به تنظیمات کارت شبکه نظیر IP و SubnetMask و فایروال و مواردی از این دست ، معمولاً مشکل جدی دیگری وجود نخواهد داشت و رسیدن به اولین پینگ موفق ، کمتر از یک هفته زمان می برد. نصب نرم افزار Network Protocol Analyzer جهت نمایش کلیه پکت های رد و بدل شده بین PC و ماژول بسیار مفید است. این نرم افزار می تواند بیت به بیت پکت های ارسالی و دریافتی را با ذکر جزئیات تفسیر نماید.
5-در نهایت وقتی ارتباط مستقیم PC و میکرو برقرار شد ، میتوانیم بورد را وارد شبکه کنیم. ملاحظات شبکه به این شرح است: IP بورد حتماً از رنج IP روتر محلی باشد . همچنین در اکثر شبکه های کامپیوتری محدودیت هایی روی رنج IP در مورد آخرین پارت سمت راست به عنوان پایین ترین عدد قابل تعریف اعمال میگردد که لازم است در انتخاب IP به این موضوع توجه گردد. اکثر انواع روتر ها به MAC حساس هستند و جهت جلوگیری از بروز خطا ، بهتر است از MAC کارت شبکه های قدیمی و یا دستگاههایی که در آن شبکه در حال کار نیستند استفاد شود. همچنین یک راه حل دیگر ، استفاده از MAC خود روتر با یک اختلاف جزئی در آخرین عدد سمت راست می باشد. در کاربری های مختلف از جمله WebServer به غیر از بورد و روتر ، تعدادی از سرور های شبکه ازجمله DNS-Server ، NTP-Server ، DHCP-Server و … ممکن است در بعضی از مراحل ارتباط شبکه نقش داشته باشند. برای مثال اختصاص IP داینامیک ، امکان فراخوانی میکروکنترلر بدون نیاز اعلام IP ، تنظیم زمان یکسان برای همه نود های شبکه و هماهنگی در ارسال و دریافت دیتا و…. چنانچه سرویس خاصی از این دست در پروژه استفاده شده باشد ، معمولاً در متن برنامه ، اطلاعاتی نظیر IP و MAC سرورهای مورد نیاز درخواست خواهد شد و لازم است اطلاعات مربوطه در محل مشخص شده در متن برنامه درج گردد. برای این منظور لازم است توضیحات درج شده در لا به لای خطوط برنامه مطالعه شود. نهایتاً با انجام موارد فوق ، تا این مرحله از این ماژول در شبکه های محلی می توان استفاده کرد. نکته مهم : جهت استفاده از این ماژول در شبکه اینترنت ، باید از IP داینامیک استفاده شود که در مواردی از جمله دریافت IP لازم است پروتکل های مربوطه مطالعه شود. ضمناً برنامه های نمونه نیز در این مورد وجود دارد.
منبع : http://tlab.ir
دیدگاه