اطلاعیه

Collapse
No announcement yet.

سوال در مورد ارتباط spi

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

    سوال در مورد ارتباط spi

    با سلام

    دوستان من یه چند تا سوال راجع به ارتباط spiداشتم لطفا بزرگواری بفرمایید این حقیر رو راهنمایی بکنید (رشتم الکترونیک نیست -به بسکام آشنایی دارم -در حد مبتدی - میکرو کنترلر avr)

    سوال:وقتی بخواهیم اطلاعاتی که در اسلو هست بخونیم یه تاپیکی خوندم که باید به تعداد همون دیتا که میخوای بخونی باید توسط مستر دیتا ارسال بکنی .آیا این رفت وبر گشت اطلاعات شبیه شکل زیر هست؟




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

    حالا چی باید ارسال کنیم؟

    اگر ندونیم در اسلو منتظر چی هستیم تکلیف چی میشه؟ یعنی مثلا اگر یه ترازو داریم یه بار یه وزنه 1 کیلویی روش میزاریم دفعه بعد نمیدونیم چه وزنه ای رو خواهیم گذاشت حالا که نمیدونیم تو اسلو چی داریم یه دیتایی بفرستیم که از این طرف دیتا بفرسته به مستر
    یا در دما سنج ما از کجا بدونیم دمای مثلا یخجال فلان درجه شده وقتی میخوایم این دمارو از مبدل آنالوگ به دیجیتال که اسلو هست بخونیم طبق اون گفته بالا حالا چی به اسلو ارسال کنیم تا اطلاعاتش چرخشی به مستر وارد بشه
    من برای ساده تر شدن تو پرتیوس عملا اینکارو کردم:
    یه میکرو توش عدد 10 ریخیتم وازش به عنوان اسلو استفاده کردم
    وبا یه میکرو دیگه که مسترش کردم سعس کردم بخونم اطلاعات اسلو رو وقتی 10 رو به اسلو ارسال کردم
    تونستن 10 رو تو مستر بخونم (رو ال سی دی نمایش داد) ولی غیر 10 هر چی دادم یه عدد دیگه تحویل گرفتم
    مطمئن شدم باید بدونم اسلو چه اطلاعاتی توش داره وچی باید ازش بخوام.
    حالا تو این موندم اگر ممکنه با چند خط دستور ساده یه مثال بفرمایید .یه سری سوال دیگه تو ذهنم مونده که انشالله بعد یادگیری این قسمت میپرسم از دوستان.
    معلوليت محدوديت نيست

    آنکس که عاجز از خلق لحظه هاست، معلول است. نه من...روح بلند آدمیت فراتر از هر معلولیتی است.

    #2
    پاسخ : سوال در مورد ارتباط spi

    در ارسال دیتا به روش spi هر پکت از هشت بیت یا یک بایت تشکیل میشه.
    معمولا میکرو هایی که این پروتوکل رو پشتیبانی میکنن لازم نیست کار پیچیده ای انجام بشه.
    شما ارسال دیتا رو فعال میکنید بعد دیتای خودتون رو بایت به بایت در رجیستر ارسال دیتا قرار میدید.
    خودش طبق استاندارد کلاک تولید میکنه بعد دیتا هم ارسال میشه.
    برای خوندن دیتا نیز دو روش هست یکی اینتراپت و دیگری پول
    در روش اینتراپت شما کاری نمیکنی هر وقت یک دیتا بیاد خودش سرویس فراخوانی میکنه.
    در روش پول هم شما همش میری چک میکنی دیتا اومده یا نه!
    برای مثال یه دیتای 4 بایتی رو باید هر بایت رو تک تک ارسال کنی و اونظرف هم تک تک دریافت.
    دودمانم بر باد رفت

    دیدگاه


      #3
      پاسخ : سوال در مورد ارتباط spi

      سلام دوستان.
      من با دستور shiftout در بسکام دیتا رو بایت به بایت به ای سی 74HC595 ارسال می کنم. آیا می شه با پروتکل SPI دیتا رو به آی سی 74HC595 ارسال کرد تا سرعت ارسال بیشتر بشه؟

      با تشکر

      دیدگاه


        #4
        پاسخ : سوال در مورد ارتباط spi

        سلام.
        من یه آی سی دارم که ورودی ان سریال است. و یه خروجی سریال داره. حالا این آی سی می تونه با یک مگا128 به صورت پروتکل SPI دیتا دریافت کنه؟

        دیدگاه


          #5
          پاسخ : سوال در مورد ارتباط spi

          سریال چه نوع سریالی؟usart - spi - i2c
          اگه spi رو ساپورت کنه .اره
          در خصوص برنامه هم من زبان c بلدم.اگه باز کمکی میتونم بکنم بگو.
          دودمانم بر باد رفت

          دیدگاه


            #6
            پاسخ : سوال در مورد ارتباط spi

            نوشته اصلی توسط MKB
            سریال چه نوع سریالی؟usart - spi - i2c
            اگه spi رو ساپورت کنه .اره
            در خصوص برنامه هم من زبان c بلدم.اگه باز کمکی میتونم بکنم بگو.
            سریال از نوع دستور shiftout

            دیدگاه


              #7
              پاسخ : سوال در مورد ارتباط spi

              نوشته اصلی توسط MKB
              در ارسال دیتا به روش spi هر پکت از هشت بیت یا یک بایت تشکیل میشه.
              معمولا میکرو هایی که این پروتوکل رو پشتیبانی میکنن لازم نیست کار پیچیده ای انجام بشه.
              شما ارسال دیتا رو فعال میکنید بعد دیتای خودتون رو بایت به بایت در رجیستر ارسال دیتا قرار میدید.
              خودش طبق استاندارد کلاک تولید میکنه بعد دیتا هم ارسال میشه.
              برای خوندن دیتا نیز دو روش هست یکی اینتراپت و دیگری پول
              در روش اینتراپت شما کاری نمیکنی هر وقت یک دیتا بیاد خودش سرویس فراخوانی میکنه.
              در روش پول هم شما همش میری چک میکنی دیتا اومده یا نه!
              برای مثال یه دیتای 4 بایتی رو باید هر بایت رو تک تک ارسال کنی و اونظرف هم تک تک دریافت.
              وقتی با این دستور ارسال انجام میشه

              a=200
              spiout a ,4
              وما تعداد بایت ارسالی رو 4 گذاشتیم اینجا منظور شما از ارسال تک تک متوجه نشدم .یعنی میفرمایید به این صورت
              spiout a, 1
              spiout a, 1
              spiout a, 1
              spiout a, 1
              4 مرتبه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ oo:



              معلوليت محدوديت نيست

              آنکس که عاجز از خلق لحظه هاست، معلول است. نه من...روح بلند آدمیت فراتر از هر معلولیتی است.

              دیدگاه

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