اطلاعیه

Collapse
No announcement yet.

راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

    سلام
    .اقا جریان این " payload" چی هست که در دیتاشیت زیادی در موردش بحث شده ؟؟ ضمن اینکه معنی این کلمه چی هست ؟؟ممنونم .
    یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

    دیدگاه


      پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

      ببنید من اصلا نمیخوام دلسردتون کنم ولی برای نوشتن درایور برای یک ماژول(آیسی) باید دیتاشیتش را بتونید کامل بخونید، درضمن برای ماژول های در این رده هم شما باید یه حداقل اطلاعاتی از شبکه داشته باشید.(که مرجعهای خیلی خوب برای شبکه وجود دارد ولی همه به زبان انگلیسین(یکیش top down networking که خودم به عنوان مرجع اینو خوندم))

      payload یک اصطلاح در شبکه است . ببینید، یک پکت دیتا تشکیل شده است از چندین قسمت که یک قسمتش payload میباشد ، در این قسمت دیتای اصلی شما قرار میگیرد.(یه جورایی این قسمت اصلیه و بقیه بالا سری ( overhead ) پکت هستند که شمل آدرس و pid و sequence و... میباشند.)
      راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
      کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
      نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
      http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
      انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

      دیدگاه


        پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

        نوشته اصلی توسط RubeuS
        (که مرجعهای خیلی خوب برای شبکه وجود دارد ولی همه به زبان انگلیسین(یکیش top down networking که خودم به عنوان مرجع اینو خوندم))
        البته اسم درستش Computer Networking: A Top Down Approach است که من برای راحتی کار بش میگم top down networking
        اگر علاقه دارید به نظرم اول برید اینو بخونید(اسلایدهاش هم به تنهایی میتونه کارساز باشه و خیلی جامع هست) ( حداقل فصل 1 و بعد از اون 3 را بخونید (فصل 3 خیلی خوب و مفیده))
        راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
        کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
        نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
        http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
        انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

        دیدگاه


          پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

          سلام آقای مرتضوی
          میتونم روی فایل هدرتون بحث رو شروع کنم؟
          چه یافت آنــکه تــو را گم کرد وچه گم کرد آنـکه تــو را یافت.

          دیدگاه


            پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

            نوشته اصلی توسط صادق ابراهیمی
            سلام آقای مرتضوی
            میتونم روی فایل هدرتون بحث رو شروع کنم؟
            من مشکلی ندارم ولی خوب هدر خیلی طولانیه و باید حتما قبلش دیتاشیت خونده باشید ( 78 صفحه دیتاشیت رو که من نمیتونم با هدر براتون توضیح بدم، برای هر دستورش باید چند صفحه دیتاشیت رو توضیح بدم )
            من فکر میکنم اگر شما برید دیتاشیت رو بخونید(یه هفته ای میشه خوندش) و در آخر اگر سوالی داشتید بپرسید . (سوال در حد یه مفهوم کوچیک نه اینکه کامل دیتاشیت رو توضیح بدم ( چون واقعا در توانم نیست) (من خیلی خوشحالم میشم هرچی بلدم share کنم ولی توضیح دادنش به صورت شفاهی کار سخت و طولانیه چه برسه به کتبی) )
            تا خودتون نرید دیتاشیت رو بخونید ، اصلا فایده ای نداره.
            راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
            کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
            نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
            http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
            انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

            دیدگاه


              پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

              دیتاشیت رو تا صفحه 27 خوندم
              فعلا سوالام در رابطه با اسم متغییر هاتون و وضیفشون هست مثلا
              temp_address-base_address
              ins
              command_buff
              و وظیفه این دستور که نمیدونم چیکار میکنه (رجیسترش رو میدونم چیه )بیت پر ارزشش رو دارین معکوس میکنین؟
              کد:
              while(!(SPSR & 0x80));
              و اینکه چرا تو دیفاین ها از هر کدوم دوتا دارین ؟
              کد:
              #define MOSI PORTB.5
              #define DD_MOSI DDRB.5
              ببخشید که زیاد شد
              اگه مایل بودین جواب بدین

              چه یافت آنــکه تــو را گم کرد وچه گم کرد آنـکه تــو را یافت.

              دیدگاه


                پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                نوشته اصلی توسط صادق ابراهیمی
                دیتاشیت رو تا صفحه 27 خوندم
                فعلا سوالام در رابطه با اسم متغییر هاتون و وضیفشون هست مثلا
                temp_address-base_address
                ins
                command_buff
                و وظیفه این دستور که نمیدونم چیکار میکنه (رجیسترش رو میدونم چیه )بیت پر ارزشش رو دارین معکوس میکنین؟
                کد:
                while(!(SPSR & 0x80));
                و اینکه چرا تو دیفاین ها از هر کدوم دوتا دارین ؟
                کد:
                #define MOSI PORTB.5
                #define DD_MOSI DDRB.5
                ببخشید که زیاد شد
                اگه مایل بودین جواب بدین
                1- temp_address و base_address رو قبلا تو همین تاپیک گفته بودم: چون من کلا برخی از توابع و دیتا آبجکت های اصلی از هدر اصلی را کپی کردم تو این هدر بعضی چیزها به نظر اضافه میاد که کاربردی اینجا نداره: ولی base_address آدرسیه که به عنوان آدرس پکت به آیسی رد میکنید(صفحه 28 دیتاشیت را نگاه کنید)
                ins : (منظور instruction است) شماره دستور می باشد ( مراجعه شود به صفحه 51 )
                command_buff : کارای زیادی میکند ولی اصل کارش : مقادیری که میخواهید بریزید تو رجیستر ها تو این بافر قرار میگیرد.

                2- مگه با spi کار نکردید؟! برید تاپیک زیر را بخونید ، تا جایی که امکان داشت توش توضیح دادم(حتما کامل بخونید):
                http://www.eca.ir/forum2/index.php?topic=80434.0

                3- چون برای کنترل داشتن روی پینها هم مقدار PORTB.x نیازه هم DDRB.x (کلا اینجوری دیفاین زدن اصولیه)

                راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                دیدگاه


                  پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                  سلام.
                  ببخشید می دونید فرق
                  nRF24L01
                  با
                  nRF24LE1
                  چیه؟ قیمه دومی دوبرابر اولیه! چرا؟

                  ضمنا آنتن گذاشتن روی ماژول کار سختیه؟ بغیر از خرید خود آنتن هزینه دیگه ای لازم داره؟

                  ممنون
                  انسان نمی تواند معنی روح و چگونگی زنده بودن خود و سایر موجودات را بفهمد... ولی ساختن موجودات مصنوعی زنده و روح دار ممکن است

                  دیدگاه


                    پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسی&

                    نوشته اصلی توسط احمد شجاع الدین
                    سلام.
                    ببخشید می دونید فرق
                    nRF24L01
                    با
                    nRF24LE1
                    چیه؟ قیمه دومی دوبرابر اولیه! چرا؟

                    ضمنا آنتن گذاشتن روی ماژول کار سختیه؟ بغیر از خرید خود آنتن هزینه دیگه ای لازم داره؟

                    ممنون
                    منم فرقشون رو تا الان نمیدونستم ( اصلا این مدل رو نشنیده بودم )
                    ولی بریم برای مقایسه شون:
                    کار nRF24l01+ را که میدونیم : یه آی سی transciever برای انتقال داده بیسیم در باند 2.4GHz است .
                    پس میریم سراغ اون یکی یعنیnRF24LE1 :
                    خوب تو سایت سازنده توضیحات رو اینطوری نوشته:
                    The nRF24LE1 is a highly integrated ultra low power 2.4GHz RF System-on-Chip (SoC) for 2.4GHz ISM (Industrial, Scientific and Medical) band operation. It includes a 2.4GHz RF transceiver core, an 8-bit CPU, and embedded Flash memory. By offering a peak RX/TX current lower than 14mA, a sub-μA power down mode, advanced power management, and 1.9 to 3.6V supply range, the nRF24LE1 provides a true ultra low power solution that enables months to years of battery lifetime when running from regular coin cells or AA/AAA batteries. Finally, a rich set of on-chip analog and digital peripherals makes the nRF24LE1 a flexible, single chip solution for a wide range of applications including PC peripherals, game controllers, remote controls, sports/fitness/healthcare sensors, and toys.
                    The nRF24LE1 integrates an nRF24L01+ 2.4GHz RF transceiver core, enhanced 16MHz 8-bit 8051 compatible CPU, 1kB + 256B RAM, 16kB embedded Flash, and a wide range of system peripherals including a hardware AES accelerator, 16MHz and 32kHz RC oscillators, ultra low power 32kHz crystal oscillator, 12-bit ADC and SPI, 2-wire and UART serial interfaces.

                    اگر بخونید متوجه میشید که میگه این ماژول ترکیب همون nRF24l01p بعلاوه ی یک سری چیز دیگس:
                    که این چیزها شامل:
                    یک cpu هشت بیتی که با همون 8051 معروف سازگار است. ( پس همینجا نتیجه میگیریم این آیسی به تنهایی قابل استفاده است و دیگه نیاز نیست با میکرو درایوش کنیم چون خودش واحد پردازشگر داره ( در اصطلاح بش میگن inteligent device ) )
                    1kB + 256B رم داره که این رم همون حافظه ای است که باید کنار cpu باشه.
                    یک فلش مموری 16 کیلو بایتی داره که میتونید توش داده ها و دستورات را ذخیره کنید( بعد از قطع برقم نمیپره)
                    و یه سری لوازم جانبی دیگه که همراشه ( مثلا یک مقایسه گر ( ADC ) دوازده بیتی داره!! همچنین سه تا اینترفیس ارتباط spi و uart و TWI رو هم داره (یه جورایی همه چی تمومه ،خودش یه میکرو کنترلره) ) گفته اوسیلاتور داخلی هم داره (که خوب معلومه باید داشته باشه چون cpu داره )
                    نتیجه میگیریم که اون پول 2 برابر حلاله حلاله :mrgreen:

                    میتونید ماژول هایی که همراه با آنتنن بخرید (سی و خورده ای پولشونه)
                    از طراحی آنتن سررشته ای ندارم
                    راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                    کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                    نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                    http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                    انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                    دیدگاه


                      پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                      نوشته اصلی توسط RubeuS
                      درضمن برای ماژول های در این رده هم شما باید یه حداقل اطلاعاتی از شبکه داشته باشید.(که مرجعهای خیلی خوب برای شبکه وجود دارد ولی همه به زبان انگلیسین(یکیش top down networking که خودم به عنوان مرجع اینو خوندم))
                      سلام
                      اتفاقا خودم لیسانس مخابرات دارم ولی تا امروز اسمی از "payload" نشنیده بودم ضمن اینکه خودم یه کتاب دارم به نام " شبکه های کامپیوتری و انتقال داده ها که مجداد کشیدمش بیرون برای مطالعه .ممنونم.

                      http://www.forouzesh.com/book/bookdetail.aspx?code=GfTbzfTfTMntZulbzQkJXtZfTMntZ tZaYYEJXrd
                      یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                      دیدگاه


                        پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                        سلام
                        من هم این ماژول رو را انداختم. ولی بردش تا 2 متر بیشتر نیست!!
                        فروم های خارجی رو هم گشتم ولی کسی چیز خاصی نمیگفت...
                        قدرت فرستنده روی 0db (قوی ترین حالت) تنظیم کردم. نرخ انتقال رو هم 1 مگ در نظر گرفتم.
                        با این توضیحاتی که گفتم ،کسی میتونه حدس بزنه مشکل از کجاست؟

                        دیدگاه


                          پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                          نوشته اصلی توسط hamidaa
                          سلام
                          من هم این ماژول رو را انداختم. ولی بردش تا 2 متر بیشتر نیست!!
                          فروم های خارجی رو هم گشتم ولی کسی چیز خاصی نمیگفت...
                          قدرت فرستنده روی 0db (قوی ترین حالت) تنظیم کردم. نرخ انتقال رو هم 1 مگ در نظر گرفتم.
                          با این توضیحاتی که گفتم ،کسی میتونه حدس بزنه مشکل از کجاست؟
                          شما پی دی اف پست اول را دانلود کتید و با استفاده از فایل هدرش(همراه با توضیحاتش) ماژول را راه اندازی کنید ، اگر دوباره به مشکل برخوردید ، اعلام کنید تا با هم همه ی جوانب را بررسی کنیم.
                          راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                          کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                          نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                          http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                          انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                          دیدگاه


                            پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                            سلام آقای مرتضوی
                            دیروز هر چی روی فایل هدرتون رو بررسی کردم هیچی متوجه نشدم به غیر از تابع spi که اون رو هم خودتون سر نخ دادین.من خیلی علاقه دارم بدونم چطورمیشه یه فایل هدر برای یه ماژول نوشت مخصوصا این ماژول که خیلی جالبه.اگه براتون مقدور هست راهنمایی کنید
                            چه یافت آنــکه تــو را گم کرد وچه گم کرد آنـکه تــو را یافت.

                            دیدگاه


                              پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                              نوشته اصلی توسط صادق ابراهیمی
                              سلام آقای مرتضوی
                              دیروز هر چی روی فایل هدرتون رو بررسی کردم هیچی متوجه نشدم به غیر از تابع spi که اون رو هم خودتون سر نخ دادین.من خیلی علاقه دارم بدونم چطورمیشه یه فایل هدر برای یه ماژول نوشت مخصوصا این ماژول که خیلی جالبه.اگه براتون مقدور هست راهنمایی کنید
                              سلام
                              من به شما توصیه میکنم به جای بررسی کدی که توسط دیگری نوشته شده، شما همون وقت را بزارید روی خوندن دیتاشیت و خودتون درایور نرم افزاری هرجور که دوست دارید بنویسید. من به اینترفیس های مختلف ارتباطی میگم : ابزار . یعنی spi یک ابزار است که شما اگر اون تاپیک را کامل خونده باشید ، طرز استفاده از این ابزار را دیگه باید کامل بدونید. خوب حالا ما که ابزارش رو دایم بریم سراغ راه اندازی یک ماژول یا آیسی: اینترفیس ارتباطی این ماژول همون spi است ، پس 70 درصد قضیه همینجا حل شد.(اگر دیده باشید توی کدی که من نوشتم از نحوه برنامه نویسی چند لایه استفاده شده که پایین ترین لایه همون ارتباط spi است- و دیگر توابع از این ابزار به صورت لایه ای استفاده میکنند و برنامه نویسی که میخواد از هدر استفاده کنه از بالاترین لایه استفاده میکنه و کاری به spi و... نداره (یه جورایی دیدم شی گرایانه بوده با اینکه سی شی گرایی نداره))
                              خوب بریم برای انجام 30 درصد بقیه : شما گفتید برای spi بتون سرنخ دادم و رفتید ته توش رو خودتون درآوردید، اینجا هم میخوام بتون سرنخ بدم:
                              شما اول باید جدیدترین دیتاشیت را دانلود کنید ----> September 2008 Product Specification v1.0
                              خوب حالا بجای اینکه کامل از اول شروع کنید به خوندن ، اینجوری که میگم بخونید:
                              صفحه 75 را بیارید و از اول بخونید. هر جایی که نیاز به دیکشنری داشت ، استفاده کنید. شما نمیخواد کل دیتاشیت را بلد باشید ، فقط همین صفحه را خوب درک کنید.
                              تو این صفحه به یکسری کلمات و اصطلاحات برمیخورید که کلیدین و مخصوص همین دیتاشیتن، برای فهمیدن این کلمات به صفحات 51 و 57 به بعد (کل register map ) رجوع کنید. به یک کلمه نامفهوم که تو 75 میرسید یه جوری خودتون با چشم تو صفحه هایی که گفتم پیدا کنید و بخونید.
                              تا آخر صفحه همین کار رو کنید و بعد برید برای صفحه 76
                              دیدیم که 75 و 76 صفحه های کلیدی بودن ، یک صفحه کلیدی دیگه هم وجود داره که میتونه به درک بیشترتون کمک کنه: شکل صفحه 22
                              و تمام

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




                              اضافه شده در تاریخ :
                              نوشته اصلی توسط صادق ابراهیمی
                              سلام آقای مرتضوی
                              دیروز هر چی روی فایل هدرتون رو بررسی کردم هیچی متوجه نشدم به غیر از تابع spi که اون رو هم خودتون سر نخ دادین.من خیلی علاقه دارم بدونم چطورمیشه یه فایل هدر برای یه ماژول نوشت مخصوصا این ماژول که خیلی جالبه.اگه براتون مقدور هست راهنمایی کنید
                              به تاپیک زیر مرجعه کنید:
                              http://www.eca.ir/forum2/index.php?topic=81071.0
                              راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                              کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                              نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                              http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                              انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                              دیدگاه


                                پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                                نوشته اصلی توسط RubeuS
                                شما پی دی اف پست اول را دانلود کتید و با استفاده از فایل هدرش(همراه با توضیحاتش) ماژول را راه اندازی کنید ، اگر دوباره به مشکل برخوردید ، اعلام کنید تا با هم همه ی جوانب را بررسی کنیم.
                                من سعی کردم فایل هدر رو از atmega به آرم (1768) تبدیل کنم که بتونم ازش استفاده کنم ولی این کار زمان زیادی می خواد.
                                نرخ انتقال رو 250 کیلو تنظیم کردم یه کم بردش بهتر شد. (3 متر شد) . البته من از shockburst استفاده نکردم.
                                نکته عجیب اینجاست که من وقتی آنتن رو از ماژول جدا می کنم هیچ تغییری در بردش اتفاق نمی افته. ینی بذون آنتن هم همون 3متره! از طرفی تو فاکترو آنتنی که خریدم نوشته بود 2.4Ghz که بعید میدونم مشکل از آنتن باشه. ینی نمیدونم! از خازن هم استفاده کردم. شما دفه اول با برد زیاد جواب گرفتید؟

                                دیدگاه

                                لطفا صبر کنید...
                                X