اطلاعیه

Collapse
No announcement yet.

master & slave in 1 micro.

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

    master & slave in 1 micro.

    دوستان گرامی سلام،

    یه سوال داشتم ، اینکه آیا یه میکرو میتونه هم "master" باشه و هم "slave"؟

    فرض کنید سه میکرو داریم که بصورت متوالی هستند. میخواهیم میکروی وسطی master باشه برای میکروی اول و slave باشه برای میکروی دوم.

    یا بعبارت دیگه راهی هست که یه میکرو واسط اطلاعاتی بین دو میکروی دیگه بشه؟

    با تشکر.
    صلی الله علیک یا اباعبدالله الحسین.

    صلی الله علی الباکین علی الحسین(ع).

    #2
    master & slave in 1 micro.

    سلام دوست عزیز
    بله میشه،باید توجه کنی که تقریبا تمام پوتهای ارتباطی میکروها دو طرفه هستند،یعنی فرقی نمی کنه Master یا Slave باشه، در هر صورت هم می تونه دیتا رو بگیره و هم ی بفرسته.اما شما برای اینکه یک میکرو را واسطه قرار بدی یا باید از دو در گاه ارتباطی استفاده کنی(مثلا SPI و UART) ویا از باس سریال 2 سیمه استفاده کنی،که می تونی تا 128 میکرو رو به هم متصل کنی.
    البته اگر توضیح بدی دقیقا می خوای چیکار کنی بهتر می تونم راهنماییت کنم.
    در دیر مغان آمد یارم قدحی در دست
    مست از می می خواران از نرگس مستش مست

    دیدگاه


      #3
      master & slave in 1 micro.

      آقا محمد سلام،

      من روی یه پروژه کار میکنم که باید توسط یک میکرو اطلاعات 99 میکرو را بتونم بخونم و روی LCD نمایش بدم. واضح تر بگم ما 99 میکروی ATmega8 داریم و یه میکروی Atmega32 این ATmega32 بعنوان Master هست که باید اطلاعات 99 میکروی دیگه را از اونها بگیره و روی LCD نمایش بده. این که اطلاعات کدام میکرو را باید بگیرد توسط 2 کلید کاربر به اون اعلام میکنه. خوب من همین قدر میدونم که میشه یک MASTER و چند SLAVE داشته باشیم. لذا برای اینکه 99 SLAVE داشته باشیم این سوال را پرسیدم.
      حالا که دارم مزاحم میشم بزار 2 سوال دیگه هم بپرسم.( البته با اجازه ی حضرتعالی)

      1- این اطلاعاتی که من میخوام از SLAVE ها بگیرم یکی دما است و یکی یه عدد اعشاری با دقت دو رقم اعشار و 3 عدد دیگه که مقدار اونها بین 0 و 1،000،000 هست من چطوری میتونم اینها را از SLAVE دریافت کنم که با هم قاطی نکنم؟(MASTER هم قاطی نکنه!!!)

      2- اگه بخوام اینها را توسط یه فرستنده به یه فاصله ی 15 متری توسط MASTER بفرستم چطوری میتونم این کار را انجام بدم؟( در مقصد هم یه گیرنده و یه میکرو وجود داره)

      از این مزاحمتهای خودم عذرخواهی میکنم.

      پیروز باشید.
      صلی الله علیک یا اباعبدالله الحسین.

      صلی الله علی الباکین علی الحسین(ع).

      دیدگاه


        #4
        master & slave in 1 micro.

        سلام دوست عزیز
        شما به راحتی و با استفاده از 2 تا سیم می توانید این 99 میکرو را به یک میکرو مگا 32 متصل کنید.برای اینکار شما باید از یک باس Two-wire Serial Interface استفاده کنید. همانطور که گفتم از این طریق می تونید 128 میکرو رو به هم متصل کنید.این دو تا سیم در واقع به صورت یک AND سیمی عمل می کنند.
        Master هیچ وقت قاطی نمی کند چون هر Slave یک آدرس دارد،وقتی Master بخواهد اطلاعات یکی از Slave ها را بخواند یا در آن بنویسد ابتدا شرایط Start را می فرستد و وقتی که تبادل انجام شد شرایط Stop را می فرستد.بعد اینکه شرایط Start فرستاده شد،Master آدرس Slave مورد نظر را روی باس قرار میدهد،این پک اطلاعات شامل 9 بیت است، 7 بیت مربوط به آدرس Slave ، یک بیت خواندن یا نوشتن را مشخص می کند و بیت نهم هم acknowledge است، وفتی آدرس روی باس قرار گرفت تمام Slave این آدرس را با آدرس خودشون چک می کنند،هرکدام که آدرسش انتخاب شده باشد این بین نهم را صفر می کند.به این ترتیب این Slave انتخاب می شود.سپس پک اطلاعات که شامل 9 بیت است ارسال می شود،8 تا دیتا و یکی acknowledge است.
        برای اطلاعات کامل تر به دیتا شیت میکرو مراجعه کنید.
        برای فرستادن اطلاعات Master به فاصله 15 متری هم می توانید از UART میکرو Mega32 استفاده کنید.
        در مورد سوال دیگرتان هم بستگی به زبان برنامه نویسی شما دارد.
        در دیر مغان آمد یارم قدحی در دست
        مست از می می خواران از نرگس مستش مست

        دیدگاه


          #5
          master & slave in 1 micro.

          آقا محمد سلام،

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

          صلی الله علی الباکین علی الحسین(ع).

          دیدگاه

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