close
دانلود فیلم

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

تبلیغات







آخرین ارسال های انجمن

http://up.electeach.ir/up/electeach/cm02_rf04.jpg

ماژولهای RFM12B-RFM12-RFM02-RFM01 ساخت شرکت Hope Electronic  می باشد.

این ماژولها قابلیتهای فراوانی دارند که به چند مورد از آنها اشاره خواهیم کرد :

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

از کاربردهای این ماژولها نیز می توان در ریموت کنترل ها،ریموت سنسورها،انتقال داده به صورت بیسیم،اسباب بازی ها و... نام برد.

در کتاب پروژه های عملی با میکروکنترلرهای AVR از ماژولهای RFM1-02  و RFM12 در چندین پروژه استفاده شده است.

اما تفاوت ماژولهای نام برده در چیست؟

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

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

تنظیمات رجیسترهای RFM12

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

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

در این قسمت به توضیحاتی پیرامون هر رجیستر می پردازیم :

رجیستر تنظیمات پیکربندی سیستم : 0x80D7.

با این مقدار دهی در ماژول RFM12،رجیستر TXفعال شده،فرکانس پایه ماژول 433 مگاهرتز تعیین می شود و خازنی معادل 12 پیکوفاراد به صورت داخلی جهت استفاده کریستال داخلی ماژول فعال می شود.

رجیستر مدیریت توان سیستم : 0x8239.

با این مقدار دهی ماژول RFM12،به صورت فرستنده عمل می نماید.در صورتی که بخواهیم ماژول در حالت گیرنده باشد بایستی مقدار این رجیستر را 0x82D9 در نظر بگیریم.

رجیستر تنظیمات فرکانس : 0xA640.

با این مقداردهی در صورتی که باند فرکانسی ماژول 433 مگاهرتز باشد.فرکانس حامل 434 مگاهرتز تنظیم خواهد شد.توجه داشته باشید در صورتی که بخواهیم چندین ماژول در یک محیط به صورت جفت جفت کار کنند بدون اینکه تداخلی داشته باشند،بایستی فرکانس حامل آنها با یکدیگر تفاوت داشته باشند.این تنظیمات توسط این رجیستر صورت می گیرد.با مقداردهی های متفاوت،فرکانس حامل ماژول در فرکانس های مختلف تنظیم خواهد شد.

رجیستر تنظیمات سرعت انتقال داده : 0xC647.

توسط این رجیستر می توان سرعت انتقال داده جهت ارسال توسط ماژول را تعیین نمود.به عنوان مثال با مقدار C647  سرعت انتقال داده 4800 بیت در ثانیه خواهد بود.

رجیستر تنظیمات گیرنده : 0x94A0.

توسط این رجیستر پهنای باند فیلتر گیرنده تغیین می شود.توجه داشته باشید این پهنای باند تنها در حالت گیرنده معنا دارد و در صورتی که ماژول به صورت فرستنده عمل نماید این مقدار تاثیری در عملکرد ماژول نخواهد داشت.

رجیستر تنظیمات FIFO: 0xCA83:

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

رجیستر تنظیمات AFC:0x9850 :

توسط این رجیستر توان خروجی را می توان تنظیم نمود.

رجیستر Wake-up Timer :

جهت به حداقل رساندن توان مصرفی،می توان ماژول را به حالت Sleep برده و بعد از زمان خاصی ماژول را Wake Up کنیم.این زمان خاص توسط این رجیستر تنظیم می شود.

رجیستر تشخیص ولتاژ پایین باطری :

ماژول RFM12  این امکان را دارد که از ولتاژ ورودی خود نمونه برداری کند و در صورتی که سطح ولتاژ(برق) از یک مقدار مشخص پایین تر شد یک اینتراپت (وقفه) تولید کند.

رجیستر خواندن بافر FIFO: 0xB000:

توسط این رجیستر،مقداری که در بافر FIFO وجود دارد در خروجی ماژول قرار می گیرد.اگر ماژول در حالت گیرنده تنظیم شده باشد جهت خواندن داده های دریافتی بایستی این مقدار (0xB000) به ماژول ارسال شود.حین ارسال،مقدار داده دریافتی در خروجی قرار می گیرد.

رجیستر ارسال داده توسط فرستنده :0xB8--.

توسط این رجیستر داده های مورد نظر به صورت بایت بایت ارسال می شوند.توجه داشته باشید بایت مورد نظر در محل های خط چین قرار می گیرد.به عبارت دیگر جهت ارسال هر بایت بایستی مقدار 0xB800 با بایت مورد نظر،or شود و سپس به ماژول به عنوان یک دستور ارسال شود.

رجیستر وضعیت ماژول : 0x0---.

در صورتیکه اولین بیت از دستور ارسال شده به ماژول صفر باشد، بدون توجه به بیت های بعدی رجیستر وضعیت ماژول خوانده می شود و مقدار این رجیستر که یک عدد 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 بیتی می باشند.

نمونه پروژه در کتاب پروژه های عملی با میکروکنترلر AVR وجود دارد به همراه کد و شماتیک و توضیحات آموزشی

منبع : آموزش برق الکترونیک مدار سبز

 

برچسب ها : انتقال اطلاعات بی سیم بین میکروکنترلر و کامپیوتر توسط ماژولها ,
بازدید : 2056 تاریخ : جمعه 25 اسفند 1391 | نویسنده : مجید | نظرات ()

مطالب مرتبط

آخرین مطالب ارسالی

ارسال نظر برای این مطلب


نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتی

خبرنامه

براي اطلاع از آپدیت شدن سایت در خبرنامه سایت عضو شويد تا جديدترين مطالب به ايميل شما ارسال شود

آمار سایت

کل مطالب : 239
کل نظرات : 119
افراد آنلاین : 6
تعداد اعضا : 1022
بازدید امروز : 197
باردید دیروز : 1,319
گوگل امروز : 24
گوگل دیروز : 167
بازدید کلی : 972,862

اطلاعات کاربری


عضو شويد

نام کاربری :
رمز عبور :

فراموشی رمز عبور؟

عضویت سریع
نام کاربری :
رمز عبور :
تکرار رمز :
ایمیل :
نام اصلی :
کد امنیتی : * کد امنیتیبارگزاری مجدد

آرشیو

مطالب تصادفی

محل تبلیغات شما....

http://up.electeach.ir/up/electeach/ads.gif


http://up.electeach.ir/up/electeach/ads.gif

حمایت از کودکان سرطانی