اطلاعیه

Collapse
No announcement yet.

ارتباط 20 میکرو با SPI

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

    ارتباط 20 میکرو با SPI

    سلام. چطور می شود 20 تا میکرو مگا8 رو به صورت SPI به هم وصل کرد. فرض می کنیم که یک بایت فرستاده شد حالا می خواهیم اون بایت میکروی اول بگیرد باید چکار کنیم.
    برنامه نویسی با bascom avr
    ممنون

    #2
    پاسخ : ارتباط 20 میکرو با SPI

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

    این در سطح TTL اما اگر میتونی درایور بذاری میشه از 75176 مثل شبکه های RS422 استفاده کرد.
    دیتاشیت 75176 رو بگیر آخرش یه شماتیک فرضی داره که کمکت میکنه.

    دیدگاه


      #3
      پاسخ : ارتباط 20 میکرو با SPI

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

      میکروی اصلی باید master باشه و بقیه slave یعنی اینکه فقط یه دونه از اونها میتونه رئیس جلسه باشه و کنترل میکنه . هر میکروی فرعی یک پین select داره که اگه صفر باشه فعال و اگر یک باشد غیر فعال است .
      اگر از دیکدر چهار به شانزده استفاده کنید میتونید با چهار پین به جز میکروی اصلی شانزده میکروی دیگر رو شبکه کنید . دیکدر باید اینورتینگ باشه یعنی خط فعال L و سایر خطوط خروجی H

      پین miso میکروی رئیس به پین mosi سایر میکروها وصل میشه
      پین mosi میکروی رئیس به پین miso سایر میکروها وصل میشه
      میکروهای فرعی که در اینجا 16 تا هستند به تر تیب از 0 تا 15 پین ss آنها به خروجی 0 تا 15 دیکدر وصل میشه

      فرض میکنیم دیکدر ورودیهاش رو از پورت c میگیره

      مدار رو بسازین (فیزیکی یا تا شبیه ساز)

      spi میکروی اصلی رو با حالت master راه اندازی کنید
      spi همه میکروهای دیگه رو با slave راه اندازی کنید

      حالا میخواهیم برای میکروی چهاردهم یک بایت بفرستیم
      به پورت c مقدار 13 میدهیم (ایندکس از صفر )
      حالا با دستور send (بسته به زبان برنامه نویسی) یک بایت روی spi بفرستین
      مطمئن باشین فقط میکروی چهاردهم اون رو دریافت میکنه .



      به راه بادیه رفتن ، به از نشستن باطل

      دیدگاه

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