اترنت اشیاء و تحولات نوین در شبکه‌سازی

The Ethernet of Things
8 بازدید
۱۴۰۴-۰۸-۰۴
2 دقیقه
  • نویسنده: مریم میریان
  • درباره نویسنده: ---

به گفته hackster.io:

کتابخانه Pico-100BASE-TX روی Raspberry Pi Pico 2 با تکیه بر زیرسیستم Programmable I/O (PIO) یک فرستنده 100BASE-TX را صرفاً با بیت‌بنگینگ (bit banging) پیاده‌سازی کرده است: حدود 11 MB/s، فقط ارسال، بدون دریافت. کُدگذاری MLT-3، کُدگذاری 4B5B و اسکرمبلر مبتنی بر LFSR با جدول‌های ازپیش‌محاسبه (۱۰ KB RAM) و ارسال کاملاً DMA. برای ایمنی، به PoE وصل نکنید؛ از ترانس پالس یا شبکه مقاومتی استفاده کنید. نمونه‌برنامه‌ها: counter ،internal_adc ،pcm1802_audio.

اترنت اشیا

کتابخانه Pico-100BASE-TX از زیرسیستم Programmable I/O (PIO) در Raspberry Pi Pico 2 استفاده می‌کند تا یک فرستنده Fast Ethernet را با روش بیت‌بنگینگ (bit banging) بسازد.

وقتی برای پروژه بعدی‌تان یک برد توسعه انتخاب می‌کنید، یکی از مهم‌ترین معیارها، رابط‌های موجود روی آن است. آیا SPI دارد؟ UART یا I2C چطور؟ همین رابط‌ها کانال ارتباطی با دنیای بیرون‌اند؛ اگر سنسوری که می‌خواهید استفاده کنید با زبان برد توسعه شما هماهنگ نباشد، عملاً بلااستفاده است.

اما اگر مشکلی با انجام پروژه به شکل «سخت» ندارید، همیشه گزینه دیگری هم هست — بیت‌بنگینگ (bit banging). همان‌طور که از نام GPIO پیداست، «عمومی» است و می‌شود با آن پروتکل‌های استاندارد ارتباطی را شبیه‌سازی کرد. اگر GPIO به‌قدر کافی سریع باشد تا با مشخصات زمانی پروتکل هماهنگ شود، هیچ مانعی برای نوشتن کدی که الگوی سیگنال هر رابط موجود را بازتولید کند وجود ندارد.

برخی پروتکل‌ها مثل UART شبیه‌سازی دشواری ندارند؛ اما بعضی‌ها هم واقعاً سخت‌اند — مثل Fast Ethernet که هکر سخت‌افزار، Steve Markgraf، به‌تازگی برایش یک کتابخانه بیت‌بنگینگ نوشته است. سرعت ارتباط در اینجا بسیار بالا است و همگام‌سازی با GPIO عادی را چالش‌برانگیز می‌کند، اما Markgraf با تکیه بر Raspberry Pi Pico 2 این مانع را دور زده؛ سخت‌افزار اختصاصی این برد می‌تواند با سرعت‌های بسیار بالا پین‌ها را درایو کند.

کتابخانه جدید او، یعنی Pico-100BASE-TX، زیرسیستم PIO را هوشمندانه به کار می‌گیرد. با این زیرسیستم، داده با نرخ حدود 11 MB/s استریم می‌شود و عملاً یک فرستنده Ethernet با نرخ 100 Mbit/s، به‌صورت کامل و صرفاً از مسیر بیت‌بنگینگ، ساخته می‌شود. البته اگر به دریافت هم نیاز دارید، باید به سراغ راه‌حل دیگری بروید — قابلیت RX هنوز پیاده‌سازی نشده است.

Packets received from the Pico (📷: Steve Markgraf)

بسته‌های دریافتی از پیکو

پس از حل مشکل سرعت، نوبت به پیاده‌سازی خودِ پروتکل رسید. Ethernet در حالت 100BASE-TX از کُدگذاری MLT-3 (MLT-3 encoding) استفاده می‌کند که بین سه سطح ولتاژ در گردش است (1-، 0، 1+). همچنین برای حفظ یکپارچگی سیگنال و جلوگیری از رگبار طولانی بیت‌های یکسان، از کُدگذاری 4B5B (4B5B encoding) و اسکرمبلینگ بهره می‌برد. اسکرمبلر مبتنی بر یک ثبات بازخورد خطی 11-بیتی یا LFSR (Linear Feedback Shift Register) است که به جدول‌های جست‌وجو ازپیش‌محاسبه تبدیل شده و حدود 10 KB از RAM را اشغال می‌کند. با اسکرمبلینگ «پیش‌وارونه» و یک جریان از نمادهای idle، می‌توان داده را به‌طور کامل از طریق DMA (Direct Memory Access) به PIO تغذیه کرد و بار CPU را به حداقل رساند.

این یک راه‌حل «اترنتِ آماده‌به‌کار» نیست. وصل کردن مستقیم یک میکروکنترلر به رابط شبکه‌ای که برای تراشه‌های تخصصی PHY طراحی شده، ریسک دارد. Markgraf هشدار می‌دهد که به هیچ‌وجه آن را به تجهیزات Power over Ethernet (PoE) وصل نکنید و برای ایمنی، یا از یک ترانس پالس استاندارد استفاده کنید یا از یک شبکه مقاومتی محافظ. در آزمایش‌ها، گاهی یک جفت مقاومت و یک کابل Ethernet قدیمی کافی بوده، اما نتیجه بسته به سخت‌افزار سمت مقابل متفاوت است.

مخزن GitHub این پروژه چند نمونه‌برنامه هم دارد؛ برای آزمون و شروع سریع:

  • counter: یک مقدار 16-بیتی ساده را روی UDP استریم می‌کند.
  • internal_adc: قرائت‌های آنالوگ داخلی را می‌فرستد.
  • pcm1802_audio: صوت 75 kHz را از یک ADC خارجی ارسال می‌کند.

برای اغلب افراد، خرید یک Ethernet HAT برای Pico انتخاب منطقی‌تری است. بااین‌حال، اگر عجله دارید و نمی‌خواهید منتظر رسیدن قطعه جدید بمانید، Pico-100BASE-TX ممکن است دقیقاً همان چیزی باشد که لازم دارید.

اطلاعات
8
0
0
اشتراک و حمایت
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
نویسنده شو !

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

ارسال مقاله