رفتن به مطلب

انتقال اطلاعات بی سیم بین میکروکنترلر و کامپیوتر توسط ماژولهای rfm01-rfm02


ارسال های توصیه شده

ماژولهای RFM12B-RFM12-RFM02-RFM01 ساخت شرکت Hope Electronic می باشد.این ماژولها قابلیتهای فراوانی دارند که به چند مورد از آنها اشاره خواهیم کرد :

  • قیمت کم،کارایی بالا.
  • سرعت بالای انتقال اطلاعات تا 115.2 کیلو بیت بر ثانیه.
  • پهنای باند قابل برنامه ریزی در گیرنده از 67 کیلوهرتز تا 400 کیلوهرتز.
  • قابلیت ارتباط دهی توسط پروتکل SPI.
  • تغذیه از 2.2 تا 5.4 ولت.
  • مصرف بسیار کم در حالت StandBy
  • ...

از کاربردهای این ماژولها نیز می توان در ریموت کنترل ها،ریموت سنسورها،انتقال داده به صورت بیسیم،اسباب بازی ها و... نام برد.در کتاب پروژهای علمی با میکرو کنترلرهای avr از ماژولهای RFM1-02 و RFM12 در چندین پروزه استفاده شدهاست.[h=4]اما تفاوت ماژولهای نام برده در چیست؟[/h]

ماژوهای RFM12 و RFM12B ماژولهایی هستند که هم قابلیت ارسال داده و هم قابلیت دریافت داده را دارند.اما ماژولهای RFM01-RFM02 به ترتیب فقط ارسال داده و دریافت داده را انجام می دهند. بنابراینRFM01 و RFM02 به صورت یک زوج مورد استفاده قرار می گیرند تا عمل ارسال و دریافت به صورت یکطرفه انجام شود.در جاهایی که نیاز است عمل ارسال و دریافت به صورت دوطرفه انجام شود بایستی از ماژولهای RFM12 استفاده نمود.

این ماژولها قبل از اینکه مورد استفاده قرار بگیرند بایستی توسط میکرو کنترولر برنامه ریزی شوند.یعنی به هنگام روشن شدن میکرو کنترولر قبل از انجام هرگونه انتقال داده به این ماژولها بایستی برنامه ریزی و تنظیمات این ماژولها انجام شود.برنامه ریزی برای تنظیماتی از قبیل فرکانس کاری،پهنای باند،سرعت ارسال و یا دریافت و... به این منظور رجیسترهای 16 بیتی در این ماژولها در نظر گرفته شده است که با تغییر این رجیسترها تنظیمات مورد نظر انجام خواهد شد

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
[h=4]تنظیمات رجیسترهای RFM12[/h]

رجیسترهای ماژول RFM شانزذه بیتی می باشد.به صورت معمول هر رجیستر شامل دو قسمت است : آدرس و مقدار.آدرس هر رجیستر معمولا شامل 8 بیت با ارزش یا 4 بیت با ارزش آن می باشد و مابقی بر اساس نامگذاری،مربوط به تنظیمات آن می باشند.

در این قسمت به توضیحاتی پیرامون هر رجیستر می پردازیم :[h=4]رجیستر تنظیمات پیکربندی سیستم : 0x80D7.[/h]با این مقدار دهی در ماژول RFM12،رجیستر TXفعال شده،فرکانس پایه ماژول 433 مگاهرتز تعیین می شود و خازنی معادل 12 پیکوفاراد به صورت داخلی جهت استفاده کریستال داخلی ماژول فعال می شود.[h=4]رجیستر مدیریت توان سیستم : 0x8239.[/h]با این مقدار دهی ماژول RFM12،به صورت فرستنده عمل می نماید.در صورتی که بخواهیم ماژول در حالت گیرنده باشد بایستی مقدار این رجیستر را 0x82D9 در نظر بگیریم.[h=4]رجیستر تنظیمات فرکانس : 0xA640.[/h]با این مقداردهی در صورتی که باند فرکانسی ماژول 433 مگاهرتز باشد.فرکانس حامل 434 مگاهرتز تنظیم خواهد شد.توجه داشته باشید در صورتی که بخواهیم چندین ماژول در یک محیط به صورت جفت جفت کار کنند بدون اینکه تداخلی داشته باشند،بایستی فرکانس حامل آنها با یکدیگر تفاوت داشته باشند.این تنظیمات توسط این رجیستر صورت می گیرد.با مقداردهی های متفاوت،فرکانس حامل ماژول در فرکانس های مختلف تنظیم خواهد شد.[h=4]رجیستر تنظیمات سرعت انتقال داده : 0xC647.[/h]توسط این رجیستر می توان سرعت انتقال داده جهت ارسال توسط ماژول را تعیین نمود.به عنوان مثال با مقدار C647 سرعت انتقال داده 4800 بیت در ثانیه خواهد بود.[h=4]رجیستر تنظیمات گیرنده : 0x94A0.[/h]توسط این رجیستر پهنای باند فیلتر گیرنده تغیین می شود.توجه داشته باشید این پهنای باند تنها در حالت گیرنده معنا دارد و در صورتی که ماژول به صورت فرستنده عمل نماید این مقدار تاثیری در عملکرد ماژول نخواهد داشت.[h=4]رجیستر تنظیمات FIFO: 0xCA83:[/h]با مقدار دهی این رجیستر،بافر FIFO فعال و یا غیر فعال می شود.توجه نمایید رجیستر FIFO،رجیستری می باشد که در حالت گیرنده اهمیت پیدا می کند و حاوی اطلاعات دریافتی از ماژول فرستنده می باشد.[h=4]رجیستر تنظیمات AFC:0x9850 :[/h]توسط این رجیستر توان خروجی را می توان تنظیم نمود.[h=4]رجیستر Wake-up Timer :[/h]جهت به حداقل رساندن توان مصرفی،می توان ماژول را به حالت Sleep برده و بعد از زمان خاصی ماژول راWake Up کنیم.این زمان خاص توسط این رجیستر تنظیم می شود.[h=4]رجیستر تشخیص ولتاژ پایین باطری :[/h]ماژول RFM12 این امکان را دارد که از ولتاژ ورودی خود نمونه برداری کند و در صورتی که سطح ولتاژ(

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
) از یک مقدار مشخص پایین تر شد یک اینتراپت (وقفه) تولید کند
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
[h=4]رجیستر خواندن بافر FIFO: 0xB000:[/h]توسط این رجیستر،مقداری که در بافر FIFO وجود دارد در خروجی ماژول قرار می گیرد.اگر ماژول در حالت گیرنده تنظیم شده باشد جهت خواندن داده های دریافتی بایستی این مقدار (0xB000) به ماژول ارسال شود.حین ارسال،مقدار داده دریافتی در خروجی قرار می گیرد.[h=4]رجیستر ارسال داده توسط فرستنده :0xB8--.[/h]توسط این رجیستر داده های مورد نظر به صورت بایت بایت ارسال می شوند.توجه داشته باشید بایت مورد نظر در محل های خط چین قرار می گیرد.به عبارت دیگر جهت ارسال هر بایت بایستی مقدار 0xB800 با بایت مورد نظر،or شود و سپس به ماژول به عنوان یک دستور ارسال شود.[h=4]رجیستر وضعیت ماژول : 0x0---.[/h]در صورتیکه اولین بیت از دستور ارسال شده به ماژول صفر باشد، بدون توجه به بیت های بعدی رجیستر وضعیت ماژول خوانده می شود و مقدار این رجیستر که یک عدد 16 بیتی می باشد در خروجی ماژول قرار می گیرد.رجیستر وضعیت در حالت عادی اهمیت چندانی ندارد،اما در صورتی که برنامه ای برای یک ماژول نوشتیم به هر دلیل دچار مشکل شد،با خواندن این رجیستر می توان متوجه شد ماژول در چه حالتی می باشد و این ویژگی در رفع عیب برنامه های نوشته شده برای این ماژول بسیار کمک کننده می باشد.همانطور که گفته شد برای تبادل اطلاعات با ماژول های RFM،از پروتکل SPI استفاده می نماییم.علاوه بر چهار پایه مربوط به درگاه SPI، یک پایه مهم دیگر به نام nIRQ نیز مورد استفاده قرار می گیرد.این پایه یک خروجی فعال صفر از ماژول به سمت دنیای بیرون می باشد.در حالت عادی وضعیت این پایه بایستی در وضعیت High یا 1 منطقی باشد و در موارد خاص این پایه تغییر وضعیت داده و به سطح Low یا 0(صفر) منطقی می رود.این موارد عبارتند از :

  • پر شدن رجیستر FIFOدر حالت گیرنده به معنای دریافت یک بایت از ماژول فرستنده.
  • خالی شدن رجیستر Txبه معنای پایان عملیات ارسال در حالت فرستنده.
  • پایین آمدن سطح ولتاژ باطری با توجه به سطح ولتاژی که در رجیستر مربوطه تنظیم نموده ایم.
  • هنگامی که تایمر Wake Upسر ریز می شود.

بنابر این حالات همیشه در فرستنده و گیرنده به صورت سرکشی یا وقفه بایستی وضعیت این پایه را کنترل نموده و بر اساس این وضعیت عملیات بعدی را انجام دهیم.نکته دیگر در مورد این ماژولها این است که همانطور که گفته شد می توانیم برای تنظیم و مقدار دهی رجیسترها از پروتکل SPI استفاده نماییم.در کلیه مثالهای کتاب پروژه های علمی با میکرو کنترلرهایavr پروتکل SPI را توسط برنامه شبیه سازی شده.علت این کار این است که ممکن است برخی میکروکنترلرهایی که ما قصد داریم از آنها استفاده نماییم پورت SPI نداشته باشند،بنابراین به راحتی می توانیم از این برنامه ها برای بکارگیری این ماژولها استفاده نماییم.در ارتباط دهی SPI به چهار پایه نیاز داریم:SCK،MOSI،MISO،SS.قبل از ارسال پایه SSصفر شده در این هنگامSCK شروع به ساختن پالس کلاک می کند و روی خطوط MOSIو MISO اطلاعات رد و بدل می شود.پس از پایان نیز SS یک شده و پالس کلاک نیز خاموش می شود.رعایت نکات ذکر شده برای ارسال فرامین به ماژولها جهت تنظیمات و برنامه ریزی ضروری می باشد.فراموش نکنید که رجیسترهای تنظیماتی در ماژولها 16 بیتی می باشند.نمونه\v,ci در کتاب در پروزه های علمی با میکرو کنترلرهایavr وجود دارد به همراه کد و شماتیک و توضیحات آموزشی

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...