میکرو لایب

مروری بر عملکرد ماژول بی سیم nRF24L01+

داشتن دو یا چند برد میکروکنترلر برای برقراری ارتباط بی سیم با یکدیگر از راه دور ، امکانات متعددی مانند نظارت از راه دور بر داده های حسگر ، کنترل روبات ها ، اتوماسیون خانه و …را ارئه می دهد. و در مورد داشتن قیمت کم و در عین حال RF دو طرفه قابل اعتماد ، هیچ کس بهتر از ماژول فرستنده گیرنده  nRF24L01+ از ماژول های بیسیم نوردیک کار نمی کند.

ماژول فرستنده گیرنده nRF24L01+  اغلب می تواند با هزینه کمتر از دو دلار به صورت آنلاین از فروشگاه ها تهیه شود ، و این یکی از ارزان ترین گزینه های ارتباط داده است و از همه مهمتر ، این ماژول ها بسیار کوچک هستند و به شما این امکان را می دهند که تقریباً در هر پروژه یک رابط بی سیم بتوانید ایجاد کنید.

 

مروری بر سخت افزار :

باند فرکانسی:

ماژول فرستنده گیرنده nRF24L01+ برای کار در باند فرکانسی ISM 2.4 گیگاهرتزی در سراسر جهان طراحی شده است و از مدولاسیون GFSK (Gaussian Frequency Shift Keying) برای انتقال داده استفاده می کند. سرعت انتقال داده می تواند یکی از ۲۵۰kbps ، ۱Mbps و ۲Mbps باشد.

باند ۲٫۴ گیگاهرتز ISM چیست؟
باند ۲٫۴ گیگاهرتز یکی از باندهای صنعتی ، علمی و پزشکی (ISM) است که در سطح بین المللی برای استفاده از دستگاه های کم مصرف بدون داشتن هر گونه مجوز استفاده ، در نظر گرفته شده است. به عنوان مثال می توان به تلفن های بی سیم ، دستگاه های بلوتوث ، دستگاه های ارتباطات میدانی (NFC) و شبکه های رایانه ای بی سیم (WiFi) اشاره کرد که همگی از فرکانس های ISM استفاده می کنند.
  • مصرف برق

ولتاژ کارکرد ماژول از ۱٫۹ تا ۳٫۶V است ، اما خبر خوب این است که پایه ها سطح منطقی ۵ ولت را تحمل می کنند ، بنابراین ما می توانیم آن را به راحتی بدون استفاده از مبدل سطح منطقی به یک میکروکنترلر ۵ ولت متصل کنیم.

این ماژول از قدرت خروجی قابل تغییر توسط کاربر پشتیبانی می کند. ۰ dBm ، -۶ dBm ، -۱۲ dBm یا -۱۸ dBm و در حین انتقال در ۰ dBm حدود ۱۲ میلی آمپر مصرف می کند که حتی کمتر از یک LED است. و از همه مهمتر ، ۲۶ میکرو آمپر در حالت آماده به کار و ۹۰۰ نانو آمپر در حالت خواب مصرف می کند. به همین دلیل است که این ماژول های بی سیم برای کاربردهای کم مصرف شناخته می شوند.

  • رابط SPI

ماژول فرستنده گیرنده nRF24L01+ از طریق رابط جانبی سریال ۴ پین (SPI) با حداکثر سرعت داده ۱۰ مگابیت بر ثانیه ارتباط برقرار می کند. همه پارامترها مانند کانال (۱۲۵ کانال قابل انتخاب) ، توان خروجی (۰ دسی بل ، -۶ دسی بل ، -۱۲ دسی بل یا -۱۸ دسی بل) ، و سرعت داده (۲۵۰ کیلوبیت بر ثانیه ، ۱ مگابیت بر ثانیه یا ۲ مگابیت بر ثانیه) را می توان از طریق رابط SPI پیکربندی کرد.

رابط SPI از مفهوم Master و Slave استفاده می کند ، در اکثر کاربردهای رایج ، میکروکنترلر ما در حالت Master است و ماژول فرستنده گیرنده nRF24L01+ در حالت Slave است. برخلاف رابط I2C تعداد رابط SPI سخت افزاری در بعضی از میکروکنترلرها محدود است ، در میکروکنترلر های نظیر avr شما می توانید حداکثر از دو رابط SPI سخت افزاری ، یعنی دو ماژول فرستنده گیرنده nRF24L01+ استفاده کنید.

در جدول زیر مشخصات کامل آمده است:

۲٫۴ GHz ISM Band محدوده فرکانس
۲ Mb/s حداکثر سرعت ارسال و دریافت
GFSK نوع مدولاسیون
۰ dBm حداکثر توان خروجی
۱٫۹ V to 3.6 V ولتاژ کاری
۱۳٫۵mA حداکثر جریان عملیاتی
۲۶µA حداقل جریان کاری (حالت آماده به کار)
۵V Tolerant حداکثر سطح ورودی های منطقی
+۸۰۰ m (خط دید) حداکثر برد ارتباطی

 

ماژول +nRF24L01 در مقابل ماژول nRF24L01+ PA/LNA

ماژول های مختلفی بر اساس تراشه nRF24L01+ موجود است. در زیر محبوب ترین نوع ماژول آمده است.

nRF24L01+ Wireless Module

 

نوع اول از آنتن روی برد استفاده می کند، که به شما این امکان را  می دهد نسخه کوچک و فشرده آن را در مداراتی که محدودیت فضا دارند استفاده کنید . با این حال ، آنتن کوچکتر همچنین به معنی محدوده برد پایین است. با استفاده از این ماژول ، می توانید تا فاصله ۱۰۰ متری ارتباط برقرار کنید. البته این میزان برد ارتباطی ، در خارج از منزل و در یک فضای باز است. برد ارتباطی شما در داخل خانه ، به خاطر وجود دیوارها یا هر موانع موجود دیگر ، کمی تضعیف می شود.

ماژول فرستنده گیرنده بی سیم nRF24L01+ PA

 

نوع دوم دارای اتصال SMA و آنتن است ، اما تفاوت واقعی تنها در آنتن نیست. تفاوت واقعی این است که این مدل دارای یک تراشه RFX2401C ویژه است که PA ، LNA و مدارهای سوئیچینگ انتقال و دریافت را ادغام می کند. این تراشه استفاده شده به همراه یک آنتن به ماژول کمک می کند تا برد قابل ملاحظه ای بزرگتر در حدود ۱۰۰۰ متر یا یک کیلومتر را بدست آورد.

 

PA LNA چیست؟

PA مخفف Power Amplifier است. این فقط قدرت سیگنال منتقل شده از تراشه nRF24L01+ را افزایش می دهد. در حالی که ، LNA مخفف Low-Noise Amplifier است. وظیفه LNA این است که سیگنال بسیار ضعیف و کوچک را از آنتن (معمولاً با ولتاژ میکرو ولت یا زیر -۱۰۰ دسی بل بر متر) بگیرد و آن را در سطح بزرگتری که قابل استفاده باشد تقویت کند (معمولاً ۰٫۵ تا ۱ ولت)

 

تقویت کننده کم نویز (LNA) مسیر دریافت و تقویت کننده قدرت (PA) مسیر انتقال داده از طریق یک دستگاه سوئیچ دو طرفه به آنتن متصل می شوند این سوئیچ دو سیگنال را از هم جدا می کند و مانع از راه یافتن خروجی PA  نسبتا قدرتمند به ورودی LNA می شود.

به غیر از این تفاوت ، هر دو ماژول به صورت drop-in سازگار هستند. به این معنی که اگر پروژه خود را با نوع ماژول برد پایین و بدون آنتن بسازید ، می توانید بدون تغییر خاصی و تنها با جایگزین کردن نوع دیگر از ماژول که برد زیادی دارد برد پروژه یا دستگاه خود را ارتقاء دهید.

ماژول فرستنده گیرنده+ nRF24L01 چگونه کار می کند؟

  • فرکانس کانال RF

ماژول فرستنده گیرنده nRF24L01 داده ها را در فرکانس خاصی به نام کانال ارسال و دریافت می کند. همچنین برای ارتباط دو یا چند ماژول گیرنده با یکدیگر ، باید هر دو ماژول در یک کانال قرار گیرند. این کانال می تواند هر فرکانسی در باند ISM 2.4 گیگاهرتز باشد یا به طور دقیق تر ، بین ۲.۴۰۰ تا ۲.۵۲۵ گیگاهرتز (۲۴۰۰ تا ۲۵۲۵ مگاهرتز) باشد.

هر کانال دارای پهنای باند کمتر از ۱ مگاهرتز است. این ۱۲۵ کانال ممکن را با فاصله ۱ مگاهرتز به ما می دهد. بنابراین ، ماژول می تواند از ۱۲۵ کانال مختلف استفاده کند که به شما امکان می دهد شبکه ای از ۱۲۵ مودم مستقل را در یک مکان داشته باشید.

هر کانال دارای پهنای باند کمتر از ۱ مگاهرتز با سرعت ۲۵۰ کیلوبیت بر ثانیه و سرعت داده ۱ مگابیت بر ثانیه است. با این حال در سرعت داده ۲ مگابیت بر ثانیه ، پهنای باند ۲ مگاهرتز اشغال می شود. بنابراین ، برای اطمینان از عدم تداخل کانال ها  در حالت سرعت ۲ مگابیت بر ثانیه ، باید فاصله ۲ مگاهرتز را بین دو کانال رعایت کنید.

فرکانس کانال RF کانال انتخابی شما مطابق فرمول زیر تنظیم می شود:

Freq(Selected) = ۲۴۰۰ + CH(Selected)

به عنوان مثال ، اگر کانال ۱۰۸ را به عنوان کانال ارتباطی خود برای انتقال داده انتخاب کنید ، فرکانس کانال RF کانال شما ۲۵۰۸ مگاهرتز (۲۴۰۰ + ۱۰۸) خواهد بود.

 

nRF24L01+ شبکه چند گیرنده

nRF24L01+ ویژگی ای به نام Multiceiver (دریافت داده تنها با یگ گیرنده از چندین فرستنده) را ارائه می دهد. این مخفف عبارت Multiple Transmitters Single Receiver است. که در آن هر کانال RF به طور منطقی به ۶ کانال داده موازی به نام گذرگاه داده تقسیم می شود. به عبارت دیگر ، یک گذرگاه داده یک کانال منطقی در کانال RF فیزیکی است. هر گذرگاه داده آدرس فیزیکی خاص خود (گذرگاه داه آدرس) را دارد و می توان آن را پیکربندی کرد. این را می توان مطابق شکل زیر نشان داد :

nRF24L01+ شبکه چند گیرنده – چند فرستنده تک گیرنده

برای ساده سازی شکل بالا ، تصور کنید گیرنده اصلی به عنوان یک گیرنده هاب عمل می کند که اطلاعات را از ۶ عدد فرستنده مختلف به طور همزمان جمع آوری می کند. گیرنده هاب می تواند در هر زمان گوش دادن را متوقف کند و به عنوان فرستنده عمل می کند. اما این کار را فقط می توان در یک زمان یک گذرگاه انجام داد.

 

پروتکل پیشرفته ShockBurst

ماژول فرستنده گیرنده nRF24L01+ از ساختار بسته یا پاکتی استفاده می کند که به عنوان Enhanced ShockBurst شناخته می شود. ساختار این پروتکل به ۵ بخش مختلف تقسیم می شود که در زیر نشان داده شده است.

nRF24L01+ ساختار بسته پیشرفته ShockBurst

 

ساختار اصلی ShockBurst فقط شامل فیلدهای Preamble ، Address ، Payload و Cyclic Redundancy Check (CRC) است. Enhanced ShockBurst با استفاده از فیلد جدید کنترل بسته (PCF) عملکردهای بیشتری را برای ارتباطات پیشرفته به ارمغان آورد.

این ساختار جدید به دلایل مختلف عالی است:

  • اولاً ، داده های با طول متغیر با مشخص کننده طول داده (Payload length) را امکان پذیر می کند ، به این معنی که داده ی ارسالی می تواند از ۱ تا ۳۲ بایت متغیر باشد.
  • ثانیاً ، به هر بسته دیتای ارسال شده یک شناسه هم داده می شود ، که به دستگاه گیرنده اجازه می دهد تعیین کند که آیا پیام جدید است یا پیام قبلی است که مجددا ارسال شده است (و بنابراین می توان پیام تکراری را نادیده گرفت).
  • و در آخر ، و مهمتر از همه ، هر بسته داده می تواند هنگام ارسال توسط هر فرستنده دیگر ، درخواست ارسال تاییدیه (ACK) از گیرنده را داشته باشد.

 

nRF24L01+ مدیریت بسته های خودکار

اکنون ، بیایید سه حالت مختلف را مورد بحث قرار دهیم تا درک بهتری از نحوه عملکرد دو ماژول nRF24L01+ با یکدیگر داشته باشیم.

nrf24l01

 

انتقال دیتا با تاییدیه دریافت و اینتراپت ، این نمونه ای از یک روش ارسال با اطمینان بالا است. در اینجا فرستنده با ارسال یک بسته داده به گیرنده ، ارتباط را آغاز می کند. هنگامی که کل بسته منتقل می شود ، فرستنده  (حدود ۱۳۰ میکرو ثانیه) منتظر دریافت تاییدیه (ACK) است. هنگامی که گیرنده بسته داده را دریافت می کند ، تاییدیه دریافت (ACK) را به فرستنده ارسال می کند. هنگام دریافت تاییدیه دریافت (ACK) ، فرستنده از طریق پایه اینتراپت (IRQ) به میزبان اطلاع می دهد که داده ها ارسال شده و می تواند داده های جدیدی را برای ارسال مجددا بپذیرد.

nrf24l01

از دست رفتن بسته دیتا:

این حالت زمانی اتفاق می افتد که در آن به دلیل از دست دادن بسته داده ی ارسال شده ، نیاز به ارسال مجدد است. پس از انتقال بسته ، فرستنده منتظر دریافت تاییدیه یا ACK است. اگر فرستنده تاییدیه را در بین فاصله زمانی ارسال مجدد خودکار (Auto-Retransmit-Delay به مخفف ARD) دریافت نکند ، بسته مجددا ارسال می شود. هنگامی که بسته دیتا مجدد ارسال شده توسط گیرنده دریافت می شود ، تاییدیه یا ACK بعد از ۱۳۰ میکرو ثانیه به فرستنده ارسال می شود.

nrf24l01

 

از دست رفتن تاییدیه (ACK):

این حالت زمانی اتفاق می افتد که در آن به دلیل از دست دادن بسته تاییدیه (ACK) نیاز به ارسال مجدد تاییدیه است. در اینجا حتی اگر گیرنده بسته را در اولین ارسال دریافت کند ، به دلیل از دست دادن بسته تاییدیه (ACK) ، فرستنده فکر می کند گیرنده به هیچ عنوان بسته را دریافت نکرده است. بنابراین ، پس از اتمام زمان Auto-Retransmit-Delay ، بسته را مجددا ارسال می کند. حالا وقتی گیرنده بسته ای را که حاوی شناسه یا ID بسته قبلی است دریافت می کند ، می داند که بسته بسته تکراری بوده و آن را دور می اندازد اما گیرنده حتی با دریافت دوباره بسته تکراری مجددا تاییدیه (ACK) را ارسال می کند.

این فرآیند ارتباطی از ارسال تا دریافت و تایید به طور خودکار توسط تراشه nRF24L01+ بدون دخالت میکروکنترلر انجام می شود.

nRF24L01+ فرستنده ماژول Pinout

بیایید نگاهی به نحوه نصب هر دو نسخه ماژول فرستنده گیرنده nRF24L01+ بیاندازیم.

 

 

GND پین زمین مدار است. پین زمین معمولا به صورت پد مربع مشخص می شود (اگر در عکس بالا به پین زمین نگاه کنید متوجه خواهید شد که این پین مربع بوده و ما بقی پین ها به شکل کروی هستند) بنابراین می تواند به عنوان پین مرجع برای شناسایی سایر پین ها استفاده شود.

VCC منبع تغذیه یا ولتاژ مورد نیاز ماژول را تامین می کند. این ولتاژ می تواند از ۱٫۹ تا ۳٫۹ ولت باشد. می توانید آن را به ولتاژ ۳٫۳ ولت متصل کنید ، به یاد داشته باشید که اتصال این پین به ولتاژ ۵ ولت باعث آسیب دیدن ماژول nRF24L01+ خواهد شد!

CE (Chip Enable)   پین فعالساز ماژول است بسته به حالتی که ماژول در حالت ارسال یا دریافت قرار دارد باید توسط این پین اقدام به فعالسازی ماژول کنید بنابراین اگر این پین در حالت پایین منطقی قرار گیرد نه ارسالی انجام می شود و نه دریافتی صورت خواهد گرفت برای فعالسازی ارسال و دریافت باید پین را در حالت بالا یا یک منطقی قرار دهید.

CSN (Chip Select Not) یک پین فعال-پایین است و معمولاً در بالا نگه داشته می شود. هنگامی که این پین پایین می آید ، nRF24L01 شروع به گوش دادن به پورت SPI خود برای داده ها می کند و بر این اساس پردازش می کند.

SCK (Serial Clock)   پالس ساعت که توسط master کنترل می شود

MOSI (Master Out Slave In) ورودی داده به nRF24L01 است.

MISO (Master In Slave Out) خروجی داده از nRF24L01 به میکرو یا master است.

IRQ یک پین وقفه است که می توانددر صورت وجود داده های جدید در دسترس به میکرو یا master یا میزبان هشدار داده و آن را مطلع کند.

برای دریافت اطلاع بیشتر درباره پروتکل spi و نحوه ی عملکرد آن می توانید اینجا کلیک کنید.

لازم به ذکر هست که اکثر کامپایلر ها از پروتکل سخت افزاری و نرم افزاری spi پشتیبانی می کنند و نیازی به دانستن طرز کار پروتکل spi نیست فقط باید دستورات مربوط به بخش spi را یاد داشته باشید.

در پست های آینده نمونه کد مرتبط با این ماژول به دو زبان بیسیک و سی قرار داده خواهد شد.

تهیه و تنظیم : تیم mculibrary.ir

دیدگاه‌ها (0)

*
*

question