اطلاعیه

Collapse
No announcement yet.

مشکل در ارتباط با پورت سریال

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

    مشکل در ارتباط با پورت سریال

    سلام دوستان
    من یه برنامه ساده دارم , کارش هم اینه که یه دیتا رو از طریق پورت سریال میفرسته , ارسال دقیق اطلاعات واسم به شدت اهمیت داره
    کد:
    [left][left]$regfile = "m128def.dat"
    $crystal = 8000000
    $baud = 9600
    Config Serialin = Buffered , Size = 200
    Config Serialout = Buffered , Size = 200
    Dd
     Print "11"
     Waitms 100
     Print "124"
     Waitms 100
    [/left][/left]Loop
    End
    ساده ترین برنامه ممکن
    با baud های مختلف تست کردم , با baud 1200 بهتر از بقیه بود اما بازم loss داشت.عکس زیر رو ببینید:

    این با baud 9600 هستش
    من از usb to com استفاده میکنم
    مشکل از چی میتونه باشه؟

    #2
    پاسخ : مشکل در ارتباط با پورت سریال

    با سلام
    با فرکانس 8 مگا هرتز و بود ریت 9600 در ارسال اطلاعات0.2%خطا خواهید داشت برای جبرای خطا باید از کریستال خارجی استفاده کنید می تونید از جداولی که داخل دیتا شیت هست برای انتخاب فرکانس و بود مناسب برای کار مورد نظرتون استفاده کنید ، این رو ببینید بخشی از اون جداول ست که مربوط به سه تا فرکانس میشه :

    دیدگاه


      #3
      پاسخ : مشکل در ارتباط با پورت سریال

      طبق جدولی که گذاشتین برای کریستال 8 باید 0.2% خطا داشته باشیم , اما این عکسی که من گذاشتم خطا بالای 20% هستش
      من با کریستال 4 داخلی میکرو تست کردم , هیچ مشکلی در ارسال اطلاعات نداره فقط با 8 که این مشکل پیش میاد

      دیدگاه


        #4
        پاسخ : مشکل در ارتباط با پورت سریال

        نوشته اصلی توسط hamed_ghorbani
        طبق جدولی که گذاشتین برای کریستال 8 باید 0.2% خطا داشته باشیم , اما این عکسی که من گذاشتم خطا بالای 20% هستش
        ببخشید اشتباه یه لوپی بود!
        راستی شما چجوری مقدار خطا رو از روی عکسی که گذاشتید خطا رو محاسبه می کنید مگه امکانش هست؟
        نوشته اصلی توسط hamed_ghorbani
        من با کریستال 4 داخلی میکرو تست کردم , هیچ مشکلی در ارسال اطلاعات نداره فقط با 8 که این مشکل پیش میاد
        شما با اون 4 مگ کاراکتر الفبایی مثلا "mojtaba" رو هم بدون خطا تونستید ارسال کنید یا فقط اعدادی که نوشتید رو ارسال کردید؟

        دیدگاه


          #5
          پاسخ : مشکل در ارتباط با پورت سریال

          نوشته اصلی توسط mojtaba_led
          راستی شما چجوری مقدار خطا رو از روی عکسی که گذاشتید خطا رو محاسبه می کنید مگه امکانش هست؟شما با اون 4 مگ کاراکتر الفبایی مثلا "mojtaba" رو هم بدون خطا تونستید ارسال کنید یا فقط اعدادی که نوشتید رو ارسال کردید؟
          خطا رو حدودی گفتم , 0.2% یعنی بین 1000 تا ارسال 2 تا down بشه اما اینجا از 21 ارسال 6 down شده
          فرقی نداره , الفبا یا غیر الفبا , جفتش همینه

          دیدگاه


            #6
            پاسخ : مشکل در ارتباط با پورت سریال

            کسی نظری نداره؟

            دیدگاه


              #7
              پاسخ : مشکل در ارتباط با پورت سریال

              خوب چرا از کریستال های دقیق مثل 11.0592 یا 14.745600 استفاده نمیکنید؟ oo:
              الهم عجل لولیک الفرج

              فقط 313 نفر...

              دیدگاه


                #8
                پاسخ : مشکل در ارتباط با پورت سریال

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

                دیدگاه


                  #9
                  پاسخ : مشکل در ارتباط با پورت سریال

                  نوشته اصلی توسط امیر حسام الفتی
                  خوب چرا از کریستال های دقیق مثل 11.0592 یا 14.745600 استفاده نمیکنید؟ oo:
                  منم تو فکر همین بودم , این کارو میکنم

                  دیدگاه


                    #10
                    پاسخ : مشکل در ارتباط با پورت سریال

                    نوشته اصلی توسط reza_agha
                    فرض کنیم شما از کریستال 7.3728 هم استفاده کنین. باز هم امکان بروز خطا هست. هنر این نیست که کاری کنین که مطلقا خطا بصورت سخت افزاری پیش نیاد. بلکه هنر اینه که اگر خطا پیش اومد بتونین شناسائی و رفع اش کنین.
                    یک پروتکل ساده مثل این چیزی که گذاشتین چیز خیلی خوبی نیست. بیایین همراه دیتا های ارسالی یک کد شناسایی سلامت هم ارسال کنین. مثل CRC یا Checksum. در کامپیوتر هم با یک برنامه اونو چک کنین اگر با هم نمیخوند به میکرو درخواست مجدد بدین تا دوباره براتون ارسال کنه.
                    بعد از یک تعداد سعی پشت سرهم برای ارسال مجدد اطلاعات که منجر به خطا بشه با اعلام به اپراتور سعی کنین موارد فیزیکی رو برطرف کنین.
                    حرف شما کاملا درسته , منم در برنامه اصلی این کارو انجام دادم , اما مشکل اینجاست که اطلاعات اینقدر خطا داره که میکرو همش باید اطلاعات رو 2باره ارسال کنه , و این زمان ارسال اطلاعات رو به شدت افزایش میده
                    20% خطا در مقایسه با جدولی که گذاشته شده خیلیه
                    با کریستال خارجی تست میکنم ببینم مشکل برطرف میشه یا نه

                    دیدگاه


                      #11
                      پاسخ : مشکل در ارتباط با پورت سریال

                      شما که با میکرو و کامپیوتر کار میکنید، از چه درایوری برای ولتاژ سریال استفاده کردین؟ MAX232 یا ...
                      حتما بار مقاومتی و باز خازنی پورت سریال رو هم چک کنید که روی ارسال تاثیر نذاره.
                      اسمایل، تومورو ویل بی وُرس

                      دیدگاه


                        #12
                        پاسخ : مشکل در ارتباط با پورت سریال

                        نوشته اصلی توسط ژوپیتر
                        شما که با میکرو و کامپیوتر کار میکنید، از چه درایوری برای ولتاژ سریال استفاده کردین؟ MAX232 یا ...
                        حتما بار مقاومتی و باز خازنی پورت سریال رو هم چک کنید که روی ارسال تاثیر نذاره.
                        از max232 استفاده کردم
                        بار مقاومتی و خازنی رو چیجوری تست کنم؟

                        دیدگاه


                          #13
                          پاسخ : مشکل در ارتباط با پورت سریال

                          با کریستال خارجی مشکلم به طور کامل حل شد
                          ممنون از کسانی که کمک کردند

                          دیدگاه

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