اطلاعیه

Collapse
No announcement yet.

مشکل سرعت در ماژول مبدل تبدیل USB به TTL

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

    مشکل سرعت در ماژول مبدل تبدیل USB به TTL

    با سلام،

    مشکل اینجانب اینه که با استفاده از دو ماژول مبدل USB(با دو تراشه CP2102 و دو تراشه PL2303 تست کردم) میخوام فایل های بافر با حجم بالا را بین دو نود انتقال بدم
    حالا در انتقال فایل 2.14 مگابایتی اگر baud rate 9600 باشه حدود 45 دقیقه طول میکشه و وقتی baud rate را روی حداکثر میزارم به 1.5 دقیقه میرسد، ولی تا جایی که خاطرم هست در مستندات نوشته بود سرعت ماکزیمم سریال 1 مگابیت بر ثانیه است. برنامه نوشته شده در هر دوسمت به زبان c و سیستمی میباشد، حال سوالاتی دارم که ممنون میشم راهنمایی بفرمایید.

    آیا باید تنظیم خاصی انجام بدم، یا این Device ها محدودیت دارند؟
    راه حل جایگزین و ارزان برای این مشکل مد نظرتون هست ؟ (ارتباط دو ماژول یک طرفه باشد مثل همین TTL که فقط با TX->RX میشه استفاده کرد)

    با تشکر

    #2
    پاسخ : مشکل سرعت در ماژول مبدل تبدیل USB به TTL

    سلام. شاید پاسخی که میدم بی ربط به نظر برسه ولی در مواردی که دیدم در تبادل این سری اطلاعات از ارتباط SPI استفاده بشه بهتر و سریع تره. البته باید کار با SPI رو بلد باشید. ماژول های ارتباط SPI هم در بازار موجود است. :rolleyes:
    STM32 واقعا یه چیز دیگه است...

    دیدگاه


      #3
      پاسخ : مشکل سرعت در ماژول مبدل تبدیل USB به TTL

      نوشته اصلی توسط Javad Moosavi
      سلام. شاید پاسخی که میدم بی ربط به نظر برسه ولی در مواردی که دیدم در تبادل این سری اطلاعات از ارتباط SPI استفاده بشه بهتر و سریع تره. البته باید کار با SPI رو بلد باشید. ماژول های ارتباط SPI هم در بازار موجود است. :rolleyes:
      ممنون برای پاسختون، میشه مختصری در ارتباط با این ماژول بفرمایید و همچنین حداکثر سرعتش (لینکی، مرجعی چیزی)

      دیدگاه


        #4
        پاسخ : مشکل سرعت در ماژول مبدل تبدیل USB به TTL

        نوشته اصلی توسط xman_1365_x
        با سلام،

        مشکل اینجانب اینه که با استفاده از دو ماژول مبدل USB(با دو تراشه CP2102 و دو تراشه PL2303 تست کردم) میخوام فایل های بافر با حجم بالا را بین دو نود انتقال بدم
        حالا در انتقال فایل 2.14 مگابایتی اگر baud rate 9600 باشه حدود 45 دقیقه طول میکشه و وقتی baud rate را روی حداکثر میزارم به 1.5 دقیقه میرسد، ولی تا جایی که خاطرم هست در مستندات نوشته بود سرعت ماکزیمم سریال 1 مگابیت بر ثانیه است. برنامه نوشته شده در هر دوسمت به زبان c و سیستمی میباشد، حال سوالاتی دارم که ممنون میشم راهنمایی بفرمایید.

        آیا باید تنظیم خاصی انجام بدم، یا این Device ها محدودیت دارند؟
        راه حل جایگزین و ارزان برای این مشکل مد نظرتون هست ؟ (ارتباط دو ماژول یک طرفه باشد مثل همین TTL که فقط با TX->RX میشه استفاده کرد)

        با تشکر
        من با مبدل PL2303 و میکری LPC1768 به سرعت 3Mbps رسیدم. البته بالاتر رو دیگه امتحان نکردم. دیتا رو هم به لب ویو توی کامپیوتر می فرستادم.
        ---------
        .
        .
        ...........

        دیدگاه


          #5
          پاسخ : مشکل سرعت در ماژول مبدل تبدیل USB به TTL

          نوشته اصلی توسط Des_B
          من با مبدل PL2303 و میکری LPC1768 به سرعت 3Mbps رسیدم. البته بالاتر رو دیگه امتحان نکردم. دیتا رو هم به لب ویو توی کامپیوتر می فرستادم.
          3Mbps مگه امکان داره ؟ مطمعن هستین ؟
          میشه تنظیماتی که انجام دادین رو بفرمایید؟
          و اینکه آیا از پین های DTR و CTS هم استفاده کردین ؟

          دیدگاه


            #6
            پاسخ : مشکل سرعت در ماژول مبدل تبدیل USB به TTL

            نوشته اصلی توسط xman_1365_x
            3Mbps مگه امکان داره ؟ مطمعن هستین ؟
            میشه تنظیماتی که انجام دادین رو بفرمایید؟
            و اینکه آیا از پین های DTR و CTS هم استفاده کردین ؟
            بله خوب دروغ ندارم بگم :biggrin:
            تنظیمات خاصی نداشت، حالت عادی عادی بود. تنظیمات باود ریت LPC1768 رو بزارید روی مقدار دلخواه.
            ببینید AVR نمی تونه به این سرعت برسه، چون نهایت سرعت AVR (به جز Xmega) 20 مگا هرتز هستش. حالابا این حساب، نهایت باودریت میشه 1.25Mbps.
            داخل LPC1768 به خاطر سرعت بالای اون، میشه به سرعت 6Mbps هم رسید. ماژول PL2303 هم که این سرعت رو ساپورت می کنه. بقیه هم میشه قسمت کامپیوتر که اونم می تونه به این سرعت برسه.
            من فقط از پایه های Rx و Tx مازول استفاده کردم.
            ---------
            .
            .
            ...........

            دیدگاه


              #7
              پاسخ : مشکل سرعت در ماژول مبدل تبدیل USB به TTL

              نوشته اصلی توسط Des_B
              بله خوب دروغ ندارم بگم :biggrin:
              تنظیمات خاصی نداشت، حالت عادی عادی بود. تنظیمات باود ریت LPC1768 رو بزارید روی مقدار دلخواه.
              ببینید AVR نمی تونه به این سرعت برسه، چون نهایت سرعت AVR (به جز Xmega) 20 مگا هرتز هستش. حالابا این حساب، نهایت باودریت میشه 1.25Mbps.
              داخل LPC1768 به خاطر سرعت بالای اون، میشه به سرعت 6Mbps هم رسید. ماژول PL2303 هم که این سرعت رو ساپورت می کنه. بقیه هم میشه قسمت کامپیوتر که اونم می تونه به این سرعت برسه.
              من فقط از پایه های Rx و Tx مازول استفاده کردم.
              ممنون دوست گرامی، اما تست اولیه و سرعتی که من ذکر کردم روی دو کامپیوتر انجام شد(حتی روی دو سیستم دیگه هم تست کردم) که بعد از اینکه دیدم سرعت اینقدر پایینه مدار AVR رو فعلا گذاشتم کنار تا ببینم مشکل از چیه

              دوستان متخصص، کسی نظری یا راه حلی نداره ؟

              دیدگاه


                #8
                پاسخ : مشکل سرعت در ماژول مبدل تبدیل USB به TTL

                عکس پایینو از دیتا شیت PL2303HXD برداشتم:

                داخلش نوشته تا سرعت 12Mbps رو می تونید برسید. خوب وقتی از میکروکنترلر با سرعت بالا استفاد میشه مشکلی نیست و یمشه به این سرعت سریال تا یک جاهایی رسید. مثلا تا 6Mbps.
                وقتی این ماژول درایورش روی سیستم نصب میشه، پورت سریال درست شده (مجازی) دیگه محدودیت های پورت سریال سخت افزاری کامپیوتر رو نداره. به همین خاطر فکر نمی کنم ارتباطی داشته باشه که با میکرو کار کنید یا PC. حالا من وقت کردم، با سرعت 6Mbps از میکرو به کامپیوتر و بالعکس رو امتحان می کنم.
                برای دو تا PC هم چون سمت PC درایور کارشو می کنه، فکر نکنم مشکلی پیش بیاد.
                ---------
                .
                .
                ...........

                دیدگاه


                  #9
                  پاسخ : مشکل سرعت در ماژول مبدل تبدیل USB به TTL

                  نوشته اصلی توسط Des_B
                  عکس پایینو از دیتا شیت PL2303HXD برداشتم:

                  داخلش نوشته تا سرعت 12Mbps رو می تونید برسید. خوب وقتی از میکروکنترلر با سرعت بالا استفاد میشه مشکلی نیست و یمشه به این سرعت سریال تا یک جاهایی رسید. مثلا تا 6Mbps.
                  وقتی این ماژول درایورش روی سیستم نصب میشه، پورت سریال درست شده (مجازی) دیگه محدودیت های پورت سریال سخت افزاری کامپیوتر رو نداره. به همین خاطر فکر نمی کنم ارتباطی داشته باشه که با میکرو کار کنید یا PC. حالا من وقت کردم، با سرعت 6Mbps از میکرو به کامپیوتر و بالعکس رو امتحان می کنم.
                  در عکسی که گذاشتین نوشته 12 میلیون بادریت که تا جایی که خاطرم هست برای ارسال اسنکرون 10 بیت نیاز داریم که میشه 1.5 Mbps که یعنی 187.5 KBps درسته؟

                  برای دو تا PC هم چون سمت PC درایور کارشو می کنه، فکر نکنم مشکلی پیش بیاد.
                  مشکل من دقیقا همینجا است که متاسفانه با دوسیستم نشد به سرعت مناسبی برسم

                  دیدگاه


                    #10
                    پاسخ : مشکل سرعت در ماژول مبدل تبدیل USB به TTL

                    نوشته اصلی توسط xman_1365_x
                    در عکسی که گذاشتین نوشته 12 میلیون بادریت که تا جایی که خاطرم هست برای ارسال اسنکرون 10 بیت نیاز داریم که میشه 1.5 Mbps که یعنی 187.5 KBps درسته؟
                    سرعت که همون 12Mbps هستش. حالا اگر بخواهیم جزیی تر بررسی کنیم:
                    8 بیت داده، 1 بیت توقف، 1 بیت سروع و بدون بیت پریتی. که میشن 10 بیت. یعنی برای ارسال هر بایت ما نیاز به ارسال 10 بیت داریم. پس سرعت یک جورایی میشه :
                    1.2MBps.
                    اون قست آخر رو نمیدونم چیکار کردید.
                    نوشته اصلی توسط xman_1365_x
                    مشکل من دقیقا همینجا است که متاسفانه با دوسیستم نشد به سرعت مناسبی برسم
                    تو هر دو طرف از ماژول یکسان استفاده می کنید؟
                    برنامه ای که باهاش تبادل دیتا می کنید چیه؟
                    ---------
                    .
                    .
                    ...........

                    دیدگاه


                      #11
                      پاسخ : مشکل سرعت در ماژول مبدل تبدیل USB به TTL

                      نوشته اصلی توسط Des_B
                      سرعت که همون 12Mbps هستش. حالا اگر بخواهیم جزیی تر بررسی کنیم:
                      8 بیت داده، 1 بیت توقف، 1 بیت سروع و بدون بیت پریتی. که میشن 10 بیت. یعنی برای ارسال هر بایت ما نیاز به ارسال 10 بیت داریم. پس سرعت یک جورایی میشه :
                      1.2MBps.
                      اون قست آخر رو نمیدونم چیکار کردید.
                      اشتباها بر 8 تقسیمش کردم بجای 10

                      تو هر دو طرف از ماژول یکسان استفاده می کنید؟
                      برنامه ای که باهاش تبادل دیتا می کنید چیه؟
                      بله هر دو PL2303 هست.
                      خودم کدشو نوشتم، به زبان سی، و توابع API ویندوز برای serial programming که بادریتو در هر دو طرف روی حداکثر تنظیم کردم.(البته با کدهای دیگه هم تست کردم فرقی نکرد)

                      دیدگاه

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