راهنمای کامل تراشه ENC28J60 و نحوه اتصال به میکروکنترلر - قسمت سوم آموزش Embedded Ethernet

blog
۱۴۰۳-۱۲-۱۹
5 دقیقه

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

بدنه تراشه (chasis) و همچنین سر آزاد خازن‌های 1nF, 2KV که برای اتصال دو زمین جداگانه سمت ارسال و سمت دریافت (زمین مدار خودمان) داخل سوکت تعبیه شده (پین 8 سوکت) به زمین مدار متصل می‌شوند.

کاتد LED‌ها رو به زمین وصل کنید و آند اون‌ها رو با یک مقاومت مناسب در حد 1K یا کمتر به ENC وصل کنید (در دیتاشیت گفته برای تنظیم ارتباط به‌صورت Half-Duplex این‌طوری متصل کنیم؛ اما اندازه‌ای برای مقاومت تعیین نکرده. من 1k  گذاشتم؛ اما در نت تا مقدار 180 اهم هم دیدم که استفاده شده؛ اهمیت خاصی هم نداره چون تنها محدودکننده جریان هست و وابسته به جریان مطلوب LED ‌هاست)

معرفی تراشه ENC28J60 و مشخصات آن

با مراجعه به دیتاشیت ENC28j60 (که از این به بعد ممکنه به‌اختصار ENC نامیده بشه) می‌بینیم که این تراشه قابلیت برقرار ارتباط با استاندارد 10Base-T  رو داره. این استاندارد در سند IEEE802.3i توسط IEEE تنظیم و انتشار پیدا کرده و شامل تمام الزامات و پیشنهاد‌های این نوع ارتباط هست. حالا این استاندارد چی هست؟ اجازه بدید خیلی خلاصه وار یه مروری بکنیم:

در استاندارد شبکه اترنت، سه سرعت 10,100,1000 Mbps تعریف شده‌اند. به این سه سرعت به ترتیب Regular, Fast, Gigabit Ethernet میگن. البته در حال حاضر سرعت‌های بسیار بالاتر هم درحال‌توسعه و استفاده هست. عدد 10 نشان میده که ENC  میتونه بیت‌ها رو با سرعت 10 مگابیت بر ثانیه منتقل کنه. یعنی برای انتقال یک بایت؛ سرعت ماکزیمم، یک هشتم این عدد یا 1.25MBps هست (در این سند b برای بیت و B برای بایت استفاده شده) اما به خاطر وجود سربار (overload) در پروتکل‌های مختلف؛ عدد واقعی در ارسال داده‌های اصلی، بسیار کمتر از این هست.

استاندارد 10Base-T و سرعت انتقال داده‌ها

نگران نباشید؛ این سرعت برای بسیاری از کارهای ما کافیه. مثلاً وقتی بردی طراحی می‌کنید که مقدار چند سنسور رو می‌خونه و با TCP (یکی از پروتکل‌های لایه چهارم هست که به‌موقع توضیح داده خواهد شد) به کامپیوتری ارسال میشه و بعد از پردازش در کامپیوتر، پیغام‌هایی می‌گیره که باید یک تعداد نمایشگر LED، رله یا شیر برقی (Electric Valve) رو راه‌اندازی کنه. درصورتی‌که این سرعت کم باشه، با فهم اصول شبکه و جایگزینی ENC با یک تراشه سریع‌تر مثل ENC424J600، مشکل حل میشه.

مورد بعدی در 10Base-T کلمه Base هست که به معنای خروجی Base band این تراشه است. Base band یا باند پایه در مقابل Broad band یا باند گسترده استفاده میشه و بیانگر اینه که داده‌های ما گسسته (دیجیتال) شده‌اند. به‌عبارت‌دیگر در هر لحظه از زمان فقط یک بیت از داده روی خط قرار دارد. وقتی شما یه سیگنال مثلاً 5 ولتی رو دیجیتال می‌کنید؛ بازه صفر تا 5 ولت رو به دو (در حالت باینری) یا مثلاً 4 و 8 و… حالت جدا تقسیم می‌کنید و سیگنال دریافت شده رو این‌طور تفسیر می‌کنید که مثلاً زیر 0.8 ولت نمایانگر سطح منطقی low یا ‘0’ و ولتاژ بالاتر از 2.5 ولت بیانگر سطح منطقی High یا ‘1’ هست؛ و سیگنال نباید در حدفاصل این دو منطقه یعنی بین 0.8 تا 2.5 قرار بگیره. در این حالت در هر بازه نمونه‌برداری dt شما یک بیت رو ارسال می‌کنید؛ پس برای ارسال یک بایت به 8 کلاک نمونه‌برداری نیاز دارید.

حالا فرض کنید که سطح ولتاژ 5 ولت رو به 4 بخش تقسیم کنید و این چهار بخش رو به چهار حالت “00”, “01”,”10”,”11” تفسیر کنید. لذا در این حالت در هر dt شما دو بیت رو ارسال کردید؛ پس برای ارسال یک بایت، تنها به 4 کلاک نیاز خواهید داشت. معمول اینه که فقط از حالت باینری (دو دویی) استفاده میشه. Base band یعنی این! اما در مقابل Broad band رو داریم و به این معناست که با سیگنال به عنوان یک سیگنال آنالوگ برخورد میشه.

تفاوت‌های Base band و Broad band

اجازه بدید با یک مثال، موضوع رو روشن‌تر کنیم. فرض کنید برای نمایش یک تصویر بر روی مانیتور، شما حالت باینری استفاده می‌کنید. برای نمایش هر پیکسل به‌صورت رنگی با فرمت RGB 8bit، جهت تعیین رنگ یک پیکسل، شما باید سه بایت یا 24 بیت ارسال کنید. اما در حالت Broad در هر dt شما رنگ یک پیکسل رو مشخص می‌کنید؛ مثلا سیگنال 2.4v نشاندهنده رنگ سبز (و ولتاژهای نزدیک به آن، مابقی طیف سبز)؛ ولتاژهای نزدیک 4.3 ولت نمایانگر طیف رنگ آبی و 0.8v نمایانگر طیف رنگ قرمز هست.

خب واضحه که این حالت بسیار سریع‌تر از حالت دیجیتال هست؛ اما درعین‌حال بسیار نسبت به نویز و تداخل ضعیفه و کافیه روی سیگنال اصلی، کمی نویز داشته باشیم یا مبدل آنالوگ به دیجیتال ما کمی خطا داشته باشه تا طیف رنگی بهم بریزه. اما در حالت دیجیتال، نویزی بسیار قوی لازم هست تا بتونه مثلاً ‘1’ رو به ‘0’ تغییر بده یا بالعکس.

 

تفاوت تصویر دیجیتال و آنالوگ

تفاوت تصویر دیجیتال و آنالوگ

کابل‌های استفاده‌شده در شبکه‌های اترنت

دوباره برگردیم سر وقت 10Base-T؛ حرف T در اینجا نشون دهنده کابل مورداستفاده است. T یعنی کابل با سیم‌کشی از نوع زوج‌های بهم تابیده (Twisted pair) هست. برای فیبر نوری از حرف F استفاده میشه. در شبکه‌های اترنت اولیه، توپولوژی شبکه به‌صورت باس بوده و از کابل‌های کواکسیال (هم محور مثل سیم آنتن تلویزیون) استفاده می‌شده که به دلیل مشکلات و همین‌طور هزینه بالای اون در حال حاضر استفاده نمی‌شه. در حال حاضر شبکه به صورت ستاره پیاده‌سازی میشه. درون شبکه، هاست‌ها توسط سوییچ به هم وصلند و برای ارتباط با شبکه‌های دیگه از قطعه‌ای به نام روتر استفاده میشه.

اتصال میکروکنترلر به ENC28J60

برای ارتباط میکروکنترلر با ENC کافیه پین‌های پورت SPI میکرو به ENC وصل بشه. علاوه بر اون، به پین‌های (CS) ̅ و (RST) ̅ تراشه هم نیاز دارید. شما می‌تونید برای برد خودتون،PCB  طراحی کنید یا حالت ساده‌تر اینه که از ماژول آماده ENC که به صورت‌های مختلف در بازار موجود هست؛ استفاده کنید. برای برد میکروکنترلر هم از بردهای آموزشی مختلف مثل Blue pill می‌توانید استفاده کنید.

تغذیه و سطح ولتاژ

توجه داشته باشید که تراشه ENC با تغذیه 3.3v کار می‌کنه. به همین دلیل، ما برای راحتی کار از میکروهای STM32 خانواده F103 استفاده کردیم. اگر شما از میکروی 5 ولتی مثل AVR یا PIC استفاده می‌کنید؛ باید بدونید که پین‌های ورودی ENC قابلیت تحمل ورودی‌های 5 ولتی رو دارند (5v Tolerant). سیگنال MISO که خرجی تراشه ENC هست؛ رو هم می‌توانید مستقیم به میکرو وصل کنید یا اگر که میکروی شما 3.3V رو به‌عنوان سطح منطقی ‘1’ قبول نمی‌کنه؛ از یک level shifter یا بافر استفاده کنید.

نحوه اتصال پین‌ها به میکروکنترلر

نمونه هاي ماژول آماده 60J28ENC به همراه سوکت و ملحقات

نمونه هاي ماژول آماده 60J28ENC به همراه سوکت و ملحقات

به طور خلاصه، به جز تغذیه و گراند ماژول، پنج پین دیگه رو هم به پین‌های میکرو متصل می‌کنیم. سه پین ارتباط SPI یعنی MOSI, MISO, SCK رو به یکی از پورت‌های SPI میکرو متصل می‌کنیم؛ علاوه بر این پین‌های (CS) ̅ و (RST) ̅ رو هم به دو پین میکرو متصل می‌کنیم و تنظیمات این دو پین رو به‌عنوان پورت خروجی انجام می‌دهیم. توجه داشته باشید که هر دو ورودی (CS) ̅ و (RST) ̅ پایین فعال (Active Low) هستند؛ لذا هنگام انجام تنظیمات اولیه میکروکنترلر، مقدار اولیه این دو پین رو در حالت High یا همون ‘1’ قرار بدید.

به مابقی پین‌ها فعلاً نیازی نیست. بعد از اتمام این دوره و برای انجام کارهای سریع‌تر و کامل‌تر می‌توانید از پین‌هایی مثل INT و WOL استفاده کنید. اولی برای راه‌اندازی وقفه (Interrupt) و دومی مخفف Wakeup On Lan برای استفاده از قابلیت sleep میکرو و ذخیره توان هست.

اطلاعات
0
1
لینک و اشتراک
profile

مجتبی داشخانه

متخصص الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
family

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت

سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم

سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ

آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی

پالت

بازار خرید و فروش قطعات الکترونیک

دیدگاه ها

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله