اطلاعیه

Collapse
No announcement yet.

ارسال اطلاعات بصورت real time

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

    ارسال اطلاعات بصورت real time

    سلام
    در قسمتی از یک پروژه سیگنال هایی با دامنه های متفاوت و نرخی در حدود 20k در هر ثانیه، وارد مداری شده و دامنه آن در 256 کانال به عنوان داده اصلی توسط میکرو تعیین شده و ذخیره میگردد. همچنین نیاز به ارسال این 256 داده به کامپیوتر در هر 1 ثانیه که هر کدام 16 بیتی نیز میباشند هست. در صورتیکه نرخ انتقال اطلاعات هم 38400baud باشد در هر ثانیه زمانی حدود 100 میلی ثانیه صرف انتقال اطلاعات میشود که در این صورت در هر ثانیه حدود 2100 تا از سیگنال ها از دست خواهد رفت چرا که در این مدت زمان میکرو در حال انتقال اطلاعات بوده و توانایی آنالیز سیگنال های ورودی به میکرو را ندارد.
    2 راه به فکر خودم میرسد. یکی استفاده از 2 میکرو، یکی برای آنالیز سیگنال و ذخیره اطلاعات در یک حافظه و دیگری برای ارسال اطلاعات. و راه دیگر اینکه در مدت زمان ارسال اطلاعات، آنالیز سیگنال ها متوقف شود، که البته در این مورد، در صورتی که مدت زمان آنالیز 100 ثانیه باشد، به جای 100 ثانیه باید 110 ثانیه صبر کرد چراکه 10 ثانیه صرف انتقال اطلاعات میشود.
    معمولا برای حل این مشکل چه روشهایی وجود؟
    با تشکر

    #2
    پاسخ : ارسال اطلاعات بصورت real time

    شاید من سوالم رو خوب مطرح نکرده باشم.
    فرض کنید قراره توسط adc دامنه سیگنال های ورودی (با نرخ 20000 در هر ثانیه وارد میشوند) دیجیتالی شده و بعد آنالیز هایی روی آن انجام و بعد در داخل میکرو ذخیره بشه. همچنین نیاز هست که این اطلاعات ذخیره شده هر 1 ثانیه یک بار هم به کامپیوتر ارسال شوند. با توجه به سرعت ارسال و مقدار اندازه اطلاعاتی که قرار هست ارسال شوند (در حدود 512 بایت)، مدت زمانی در حدود 100 میلی ثانیه (در هر ثانیه) صرف انتقال اطلاعات می شود. که باعث از دست رفتن حدود 2100 سیگنال، در مدت زمان انتقال اطلاعات به pc می شود(یعنی cpu توانایی آنالیز اطلاعات ورودی به میکرو را ندارد و درگیر ارسال اطلاعات میباشد). معمولا برای حل این مشکل که ارسال اطلاعات تاثیری روی آنالیز اطلاعات نگذارد چه روشهایی وجود دارد؟
    با تشکر

    دیدگاه


      #3
      پاسخ : ارسال اطلاعات بصورت real time

      راههایی که میشه امتحان کرد
      * بالابردن کلاک(کار پردازشیت زودتر تموم شوه و بتونی داده ارسال کنی)
      * بالابردن باود ارسال سریال (واسه اینکه ارسال زمان کمتری بگیره)
      * استفاده از وقفه (احتمالا این خوب کمکت کنه. چون دیگه میکرو منتظر نمیشه و در حین ارسال عملا کار پردازش رو هم انجام میده. کلا فلسفه وقفه همینه دیگه)
      * ارسال داده ها رو مابین کارهای پردازشیت انجام بده و همه رو نذار برای آخر کار

      دیدگاه

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