اطلاعیه

Collapse
No announcement yet.

فرکانس ارسال دیتا

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

    فرکانس ارسال دیتا

    وقتی میخوایم بین دو میکرو اطلاعات بفرستیم از کجا باید فرکانس ارسال دیتا را تعیین کنیم .
    فرق فرکانس ها به جزء در سرعت ارسال در چه چیزی هست ؟؟؟

    :eek: oo: :angry: :eek: :angry: :cry:

    #2
    پاسخ : فرکانس ارسال دیتا

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


    SIGNAL(SIG_UART_RECV)
    {
    *inbuf++ = UDR;
    }

    push r0
    push XH
    push XL
    lds XH,inbuf+1
    lds XL,inbuf+0
    in r0,UDR
    st X+,r0
    sts inbuf+0,XL
    sts inbuf+1,XH
    pop XL
    pop XH
    pop r0
    reti


    که حدودا میشه 20 تا سیکل که روی یک میکروی 16 مگا هرتزی بار زمانی این وقفه میشه حدود 11 درصد. یعنی 11 درصد وقت کلی میکرو در این روال وقفه تلف میشه. حالا زمان پردازش و آماده شدن برای دریافت فریم بعدی پیش کش. این میزان برای نرخ ارسالی برابر با 10KHz میشه حدود 0.1% ضمنا در مورد قبلی فرض بر این گرفته شده هیچ زمانی غیر از زمان دریافت اطلاعات؛ میکرو در طی اجرای وقفه دیگه ای نبوده که نتونه به این وقفه دریافت اطلاعات سرویس بده. ولی در عمل عموما شرایط اینطوری نیست.

    دیدگاه


      #3
      پاسخ : فرکانس ارسال دیتا

      نوشته اصلی توسط reza_agha
      عمدتا زمان پاسخ و سرعت پردازش اطلاعات. مثلا فرض کنین با یک سرعت 1 مگا بیت بخواییم ارتباط سریال برقرار کنیم. میکروی گیرنده به ازای فریم 11 بیتی هر 11 میکرو ثانیه بایستی یکبار وقفه بخوره تا بتونه بایت ارسالی جدید رو بگیره. اگر فرض کنیم که روال اخذ اطلاعات در میکروی گیرنده یه چیزی مثل این باشه:


      SIGNAL(SIG_UART_RECV)
      {
      *inbuf++ = UDR;
      }

      push r0
      push XH
      push XL
      lds XH,inbuf+1
      lds XL,inbuf+0
      in r0,UDR
      st X+,r0
      sts inbuf+0,XL
      sts inbuf+1,XH
      pop XL
      pop XH
      pop r0
      reti


      که حدودا میشه 20 تا سیکل که روی یک میکروی 16 مگا هرتزی بار زمانی این وقفه میشه حدود 11 درصد. یعنی 11 درصد وقت کلی میکرو در این روال وقفه تلف میشه. حالا زمان پردازش و آماده شدن برای دریافت فریم بعدی پیش کش. این میزان برای نرخ ارسالی برابر با 10KHz میشه حدود 0.1% ضمنا در مورد قبلی فرض بر این گرفته شده هیچ زمانی غیر از زمان دریافت اطلاعات؛ میکرو در طی اجرای وقفه دیگه ای نبوده که نتونه به این وقفه دریافت اطلاعات سرویس بده. ولی در عمل عموما شرایط اینطوری نیست.
      الان من باید فرکانس بالا انتخاب کنم یا پایین ؟؟؟
      کدوم بهتره برای کار ؟؟
      :cry: :cry: oo: oo: :eek: :eek:

      دیدگاه


        #4
        پاسخ : فرکانس ارسال دیتا

        زمان پاسخ و حجم تبادلات در ثانیه رو ببین چنده. ولی من حیث المجموع شاید سرعت استاندارد 9600 برای خیلی از کارها زیادی هم باشه.

        دیدگاه


          #5
          پاسخ : فرکانس ارسال دیتا

          نوشته اصلی توسط reza_agha
          زمان پاسخ و حجم تبادلات در ثانیه رو ببین چنده. ولی من حیث المجموع شاید سرعت استاندارد 9600 برای خیلی از کارها زیادی هم باشه.
          خوب اگه من از بالاترین فرکانس استفاده کنم مشکلی به وجود میاره یا نه ؟؟؟
          همیشه چرا از بالاترین فرکانس استفاده نمیکنن ؟؟؟

          دیدگاه


            #6
            پاسخ : فرکانس ارسال دیتا

            عرض کردم. چون بالاخره وقتی کسی حرف میزنه فرد دیگه ای باید اول حرفش رو بگیره بعد بفهمه و بعدش جوابش رو بده. اینجا میکروی ارسال کننده اطلاعاتی میفرسته. گیرنده باید اول اونا رو بگیره. پردازششون کنه و بعد عمل متناسب با اون اطلاعات رو انجام بده. ولی این میکروی دریافت کننده مطمئنا کارهای دیگه ای هم داره که بهشون برسه. ولی قدرت عملیاتی اش محدوده. بنا براین نبایستی بخاطر ارسال لحظه ای اطلاعات گیرنده رو در شرایطی قرار داد تا نتونه درست جواب بده. تازه از مواردی مثل بالا رفتن احتمال خرابی اطلاعات بخاطر نویز در سرعت های بالاتر هم بگذریم.

            دیدگاه

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