اطلاعیه

Collapse
No announcement yet.

سوال در مورد شبکه کردن چند میکرو؟؟؟؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    سوال در مورد شبکه کردن چند میکرو؟؟؟؟

    من می خاستم چند تا میکرو با هم شبکه کنم به وسیله پروتکل can که می شه بدون قطع جریان برق یه میکرو اضافه یا کم کرد. اگه کسی در این مورد چیزی می دونه لطفا راهنمایی کنه . :question:

    #2
    پاسخ : لطفا کمک ،در مورد شبکه کردن چند میکرو

    سلام

    زیاد در مورد can اطلاعات ندارم اما واسه این کار به نظرم باید به صورت زیر عمل کنی

    فرض کنیم که شبکه ی شما یه مستر داره

    حالا شما از مستر میتونید هم به اسلیو ها داده ارسال کنید و هم داده دریافت کنید

    اسلیوها فقط باید با درخواست مستر شروع به ارسال داده به مستر بکنند

    حالا شما به جز پورت ارسال و دریافت داده یک پین اضافه به اسم Master Busy باید داشته باشید که مستر در اوقاطی که داره از یه اسلیو گزارش میگیره

    اون پین رو روشن کنه

    حالا با اتصال یک اسلیو جدید به شبکه ، اسلیو باید اول پین master busy رو چک کنه و در اولین فرصت تقاضای ورود به شبکه رو به مستر ارسال کنه

    حالا مستر اطلاع پیدا میکنه که یک دیوایس جدید به شبکه اضافه شده و اونو شناسایی میکنه

    به همین سختی :biggrin: (افعال معکوس)

    امیدوارم کمک کرده باشم

    واژه های احتمالا نامفهوم:
    مستر = Master
    اسلیو = Slave
    دیوایس = Device
    ِِDie for Life, Not Live to Die
    Freedom Fighter
    " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

    دیدگاه


      #3
      پاسخ : لطفا کمک ،در مورد شبکه کردن چند میکرو

      سلام دوست عزیز
      شبکه بندی یک سری میکرو یه مبحث کلی هست کهاز اون به MPCM هم یاد می کنن .
      در این جریان یک میکرومیشه حاکم یا همون MASTER و بقیه ی میکروها حالا هر چند تایی که هستن میشن تابع یا دریافت کننده .
      هرموقعی که مستر شبکه بخواد به یکی از اسلیو ها دیتا ارسال کنه آدرس اون رو که قبلا توی یه پروتکلی تعریف شده روی خط صدا می زنه و اسلیو مورد نظر خودش رو در مد دریافت یا تبادل اطلاعات قرار می ده .
      در این میون یه سری بحثا پیش می اد که مثلا مقید می کنه که همه ی اسلیوها باید در قالب نه بیتی قرار داشته باشن یا مثلا وقتی می خوایم MPCM فعال بشه باید بیت مربوطه اش در رجیستر UCSRA یک بشه و.....
      فکر کنم دیگه اینا به کارت نیاد اما اگه اومد بگو بگم
      دوستان! مدتی کمتر به سایت میام ..

      دیدگاه


        #4
        پاسخ : لطفا کمک ،در مورد شبکه کردن چند میکرو

        با پروتکل i2c کار میکنه کافی به این پروتکل تسلط داشته باشی
        ایمان

        دیدگاه


          #5
          پاسخ : لطفا کمک ،در مورد شبکه کردن چند میکرو

          با SPI میتونی مثله هلو انجامش بدی.

          دیدگاه


            #6
            پاسخ : لطفا کمک ،در مورد شبکه کردن چند میکرو

            rs485 رو بچسب. چون مثل can تفاضلیه هم سرعت ارسال ،هم مسافت زیاد و هم نویز پذیری کمی داره. با max485 یا sn75176 شروع کن.

            دیدگاه


              #7
              پاسخ : لطفا کمک ،در مورد شبکه کردن چند میکرو

              آقا از همگی ممنون یه چیزای زیادی فهمیدم که فکر می کنم خیلی به دردم بخوره.

              :applause: بازم ممنون :bye

              دیدگاه


                #8
                پاسخ : لطفا کمک ،در مورد شبکه کردن چند میکرو

                [quote author=elias link=topic=14486.msg66071#msg66071 date=1205522579]
                rs485 رو بچسب. چون مثل can تفاضلیه هم سرعت ارسال ،هم مسافت زیاد و هم نویز پذیری کمی داره. با max485 یا sn75176 شروع کن.

                [
                ممکنه در مورد rs485 بیشتر توضیح بدید لطفن چطور میشه ازش برای شبکه دوتا میکرو استفاده کرد به صورت usart به طوریکه مستر pc باشه و اسلیو میکروها؟
                نمی دونم چطور باید برنامه شو نوشت
                ممنون میشم

                دیدگاه


                  #9
                  پاسخ : سوال در مورد شبکه کردن چند میکرو؟؟؟؟

                  سلام ....................

                  ببینید اساس کار به این ترتیبه که شما باید از واحد usart میکرو برای این منظور استفاده کنید. حالا برای اتصال به کامپوتر شما میتونید از همون تراشه ی max485 استفاده کنید . من با 485 زیاد کار نکردم اما با 232 کار کردم . اما فکر نمی کنم زیاد باهم فرق داشته باشن . در واقع کامپیوتر اطلاعات و دیتایی که داره رو میذاره برای ورودی 485 و اون هم با تبدیل سطح ولتاژ به TTL برای میکرو آکادش میکنه و این سیکل مداما ادامه پیدا می کنه . موفق باشید .
                  دوستان! مدتی کمتر به سایت میام ..

                  دیدگاه


                    #10
                    پاسخ : سوال در مورد شبکه کردن چند میکرو؟؟؟؟

                    سلام
                    RS485 فقط یه بستر فیزیکیه که خصوصیاتی رو برای انتقال بیتها از قبیل سطوح ولتاژ، نحوه تبدیل 0 و 1 به ولتاژها، فواصل قابل پشتیبانی و غیره رو میگه و هیچ کاری به نوع اطلاعات و مدیریت اونها نداره. اما CAN یک پروتکل ارتباطی کامله که برای انتقال بیتها از روشی شبیه RS485 استفاده میکنه. تویه اون نحوه ارتباط بین دستگاهها، شیوه های کنترل خطا و غیره آورده شده. اصلا یه پروتکل لایه بندی شده کامله. شامل 4 لایه مجزاست.
                    اما بستر انتقال RS485 خصوصیات جالبی داره. بدلیل تفاضلی بودن ولتاژها در انتقالها اولا احتیاج به یه ولتاژ مرجع نداره (مثل GND) که ولتاژهای خطوط انتقال نسبت به اون مقایسه بشن. بنابراین سیم GND به طور کلی از اون حذف میشه. خصوصیت تفاضلی به این بستر کمک کرده تا بتونه به فاصله های زیاد هم بدون اشکال انتقال داشته باشه (35 Mbit/s برای 10 متر و 100 Kbit/s برای 1.2 کیلومتر). در حالی که ارتباطهای مثل I2C و SPI ارتباطهای سریال برای شبکه کردن فقط در داخل مدار چاپی هستن. به طوری که I2C حتی با مدار تقویت باسش بیشتر از 80 سانتی متر توصیه نمی شه. علاوه بر اون یک ارتباط Half-Duplex. یعنی در هر زمان فقط در یک طرف اجازه انتقال وجود داره. ولی SPI و بستر RS485 میتونن به صورت FullDuplex انتقال اطلاعات داشته باشن. یعنی در یک زمان در هر دو طرف داده رو ردوبدل کنن. ( اطلاعات عددی از سایت Wikipedia آورده شده www.wikipedia.com)
                    موفق باشید

                    دیدگاه


                      #11
                      پاسخ : سوال در مورد شبکه کردن چند میکرو؟؟؟؟

                      سلام
                      همیشه سعی کن به اندازه نیاز هزینه و وقت صرف کنی
                      میکرو شما نمیدونم چی هست ولی اکثر میکرو ها پورت سریالشون حالت 9 بیتو داره که بیت 9 رو به عنوان آدرس بودن اطلاعات در نظر میگیرن
                      من با 8051 برا اولین بار 10 دقیقه زمان صرف کردم 4 تاشو شبکه کردم

                      سعی کن اگه نمیخوای به شبکه های استاندارد وصل بشی خودت پروتکل مورد نیازتو بنویسی

                      اصولم همونه که میکن دوستان یکی از میکروها رو به عنوان سرور و هماهنگ کننده بگیر
                      خواستی بگو بیشتر بگم

                      دیدگاه


                        #12
                        پاسخ : سوال در مورد شبکه کردن چند میکرو؟؟؟؟

                        سلام

                        NETWORKING AND INTERNETWORKING WITH MICROCONTROLLERS

                        http://rapidshare.com/files/123383910/Networking_and_Internetworking_with_Microcontrolle rs.rar.html

                        Password: mbandala
                        :bye

                        دیدگاه


                          #13
                          پاسخ : لطفا کمک ،در مورد شبکه کردن چند میکرو

                          نوشته اصلی توسط iman4web
                          با SPI میتونی مثله هلو انجامش بدی.
                          آقا ایمان شما که گفتی با SPI میتونی مثله هلو انجامش بدی، می شه یه کد با C را اینجا قرار بدی
                          چه خوش است زر خالی که به آتش اندر آيد
                          چو کند درون آتش هنر و گهرنمائی
                          مگريز ای برادر تو ز شعله های آذر
                          ز برای امتحان را چه شود اگر درآئی
                          به خدا ترا نسوزد رخ تو چو زر فروزد
                          که خليل زاده ای تو زقديم آشنائی چو خليل رو در آتش که تو خالصی و دلپاک در خيبر است برکن که علی مرتضائی.

                          دیدگاه


                            #14
                            پاسخ : سوال در مورد شبکه کردن چند میکرو؟؟؟؟

                            ارتباط دو میکروکنترلر از طریق رابط spi:


                            برنامه میکروکنترلر 1:


                            #include <mega16.h>
                            #include <delay.h>
                            // SPI functions
                            #include <spi.h>
                            void main(void)
                            {
                            unsigned char incoming;
                            // SCK=Out MISO=In MOSI=Out SS=Out
                            PORTB=0b00000000;
                            DDRB=0b10110000;
                            // SPI initialization
                            // SPI Type: Master
                            // SPI Clock Rate: 500.000 kHz
                            // SPI Clock Phase: Cycle Half
                            // SPI Clock Polarity: Low
                            // SPI Data Order: MSB First
                            // SPI Enable: True
                            SPCR=0x71;
                            while(1)
                            {
                            incoming=spi(0x77);
                            delay_ms(50);
                            }
                            }



                            برنامه میکروکنترلر 2 (slave):



                            #include <mega16.h>
                            #include <delay.h>
                            // SPI functions
                            #include <spi.h>
                            void main(void)
                            {
                            unsigned char incoming;
                            // SCK=In MISO=Out MOSI=In SS=In
                            DDRB=0b01000000;
                            // SPI initialization
                            // SPI Type: Slave
                            // SPI Clock Rate: 500.000 kHz
                            // SPI Clock Phase: Cycle Half
                            // SPI Clock Polarity: Low
                            // SPI Data Order: MSB First
                            // SPI Enable: True
                            SPCR=0x61;
                            while(1)
                            {
                            incoming=spi(0x33);
                            delay_ms(50);
                            }
                            }

                            دیدگاه


                              #15
                              پاسخ : سوال در مورد شبکه کردن چند میکرو؟؟؟؟

                              آقا حمید ممنون
                              می خواستم بدونم برای بیش از دومیکرو چه جوری می شه یعنی slave select 3,4,...n را چه جوری تعیین می کنید؟
                              چه خوش است زر خالی که به آتش اندر آيد
                              چو کند درون آتش هنر و گهرنمائی
                              مگريز ای برادر تو ز شعله های آذر
                              ز برای امتحان را چه شود اگر درآئی
                              به خدا ترا نسوزد رخ تو چو زر فروزد
                              که خليل زاده ای تو زقديم آشنائی چو خليل رو در آتش که تو خالصی و دلپاک در خيبر است برکن که علی مرتضائی.

                              دیدگاه

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