اطلاعیه

Collapse
No announcement yet.

چطور با ماژول آماده usb کار کنیم؟

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

    چطور با ماژول آماده usb کار کنیم؟

    سلام.
    من می خواهم مثلا عدد 100 را با کامپیوتر با استفاده پورت USB به میکرو ارسال کنم. من یه تبدیل usb به serial و برعکس خریدم. حالا می خواهم اونو به atmega128 وصل کنم و عددی که از کامپیوتر ارسال م شود را دریافت و آن را به پورت مکرو ارسال کند. التها بسکام ویژال بیسک باشد. اگر serial پورت به usb تبدیل کنیم آیا با اینکه دیتا را با serial ارسال می کنیم در خروجی که به usb تبدیل شده با همان سرعت usb وارد میکرو می شود؟
    ممنون

    #2
    پاسخ : چطور با ماژول آماده usb کار کنیم؟

    سلام دوست عزیز
    نه اینطور نیست.سرعت همون سرعتی هستش که شما واسه ارتباط تعیین می کنید و سرعت USB در این ماجرا هیچ ارتباطی نداره
    مداری که خریدین چیپ FTDI داره یا AVR CDC هستش؟
    موفق باشید.

    دیدگاه


      #3
      پاسخ : چطور با ماژول آماده usb کار کنیم؟

      سلام

      از روی اسمشون معلومه

      شما وقتی مدار تبدیل رو وصل کنید به سیستم به Device manager یه پورت com اضافه میشه (مثلا پورت 10 یا 4 یا ...)

      بعد شما با هر نوع برنامه کامپایلر که بخواید میتونید با اون پورت com کار کنید

      وقتی توی ستینگ شما میگید baud برابر با 9600 (مثلا) سیستم اتوماتیک روی اون باوود تنظیم میشه (شما فقط باید باوود سیستم مهمان رو تنظیم کنید که همون میکروی AVR شماست)

      برای تست مدار و کارهای شما اول با hyper یا یه چیز شبیه به این استفاده کنید تا روال کار بیاد دستتون

      فقط اینکه سرعت انتقال داده واقعی توی cdc خیلی کمه مثلا شما میگید باوود باشه 921600 باشه که عدد بزرگیه ولی داده ها منقطع و با تاخیر میان و در کل سرعت شما کمه با Cdc ولی با ftdi یا cdc های میکروهای قویتر نه این مشکل تا حدودی رفع شده

      این منقطع بودن موقعی پیش میاد که شما بخواید بیشتر از بافر دریافت یا ارسال رو در یک زمان ارسال یا دریافت کنید (مثلا یه avr-cdc با 8 بایت بافر بین هر 8 بایت بطور حداقل یه تاخیر کوتاه داره تا داده رو تبدیل و ارسال کنه به usb که کار رو خراب میکنه)

      (من امروز cdc رو روی lpc2378 راه انداختم :mrgreen: و مسلما یه میکرو که سخت افزاری usb داره و سرعتش هم خیلی بالاست مشکل ارسال و دریافت با تاخیر رو نداره)

      اگه بخوای توی وبلاگم یه برنامه گذاشتم برای avr-cdc که مال همون شرکت obdev و خیلی خوب کار میکنه
      به وبلاگم سر بزنید

      دیدگاه


        #4
        پاسخ : چطور با ماژول آماده usb کار کنیم؟

        کاری که من می خواهم انجا بدم به این صورت است که پیکسل های یه عکس را با استفاده از برنامه ای که نوشتم با ویژیال بیسک نوشتم بایت اول رو با پورت usb به میکرو ارسال کنم بعد به اون عدد به پورت میکرو بره و پشت سرش دوباره پیکسل بعدی. البته با سرعت usb. در حقیقت می خواهم روی led matrix که به میکرو وصل شده رو به پورت usb وصل کنم و همزمان بتونم اون تصویری که در کامپیوتر که اندازش 8 در 8 است رو رو led matrix نشون بده. باید چکار کنم؟
        این مبدل های USB به سریال ایا سرعت انها برای ارسال از کامپیوتر بیشتر از پورت سریال است؟ چقدر بیشتر است؟

        دیدگاه


          #5
          پاسخ : چطور با ماژول آماده usb کار کنیم؟

          شما پس باید از ftdi یا pl2303 استفاده کنید چون سرعتشون بیشتره

          الان این ماژولی که خریدید چیه؟

          در کل هر نوع مبدلی رو که وصل کنید به کامپیوتر یه پورت کام مجازی ایجاد میشه با رفتار شبیه به پورت کام

          شما شماره پورت رو از Device manager پیدا کن برنامه رو روی اون پورت تنظیم کن

          دیگه کاری نباید انجام بدید (فقط با یه پورت com کار میکنید)
          به وبلاگم سر بزنید

          دیدگاه


            #6
            پاسخ : چطور با ماژول آماده usb کار کنیم؟

            ممنون. فرض کنیم پورت ما در کامپیوتر مشخص شد حالا نرخ بوود چنده؟ در میکرو بای چند باشه؟ من ماژول رو باز کردم ای سی FDTI بود؟

            دیدگاه


              #7
              پاسخ : چطور با ماژول آماده usb کار کنیم؟

              خوب ... هر باوود استانداردی که کامپیوتر ساپورت میکنه و میکرو مقابل هم توی اون سرعت کار کنه و خطا نداشته باشه از 1200 تا همون 900 و خورده ای کیلو

              شما باوود روی توی برنامه تنظیم میکنید مثلا 9600 سیستم از طریق usb به ftdi باوود رو ارسال میکنه و تنظیم میشه

              خیلی سخت نگیر شما ماژول رو وصل کن به کامپیوتر پورت رو پیدا کن بورو توی بیسکام یا با هایپر باهاش ارتباط برقرار کن ... عین یه پورت کام معمولیه

              یه میکرو هم برای دست گرمی ببند که توش یه چیزی رو بگیره و بفرسته همین ... میبینی چقدر راحت کار میکنه
              به وبلاگم سر بزنید

              دیدگاه


                #8
                پاسخ : چطور با ماژول آماده usb کار کنیم؟

                تا اینجا متوجه شدم. حالا اگر 100بایت رو از بایت 1 تا 100 چقدر زمان طول می کشد تا به میکرو ارسال بشه و روی پورت میکرو قرار بگیره؟

                دیدگاه


                  #9
                  پاسخ : چطور با ماژول آماده usb کار کنیم؟

                  خوب اینجا برمیگرده به باوود ریت تنظیم شدت و اینکه بافر اینقدری باشه

                  با ftdi تست نکردم ولی باید قاعدتا برابر باوود ریت شما باشه مثلا اگه تنظیم کردید باوود مساوی 115200 میشه 11,52kB در ثانیه البته این برای یک بسته داده در ابعاد بافر شماست و مطمئنا وقتی بخواید داده رو جابجا کنید کلی زمان هم اینجا از دست میدی

                  باوود رو بالا ببرید تا حد ممکن (من تست کردم توی باوود خیلی بالا نزدیک یک مگا بیت بر ثانیه دیگه داده ها از دست میرن البته توی بیسیک و سی)


                  فکر نکنم برای کار شما خیلی مشکلات وجود داشته باشه ولی من برای دانشگاه علم و صنعت پروژه میبستم مجبور شدم از یه نوع تکنیک برنامه نویسی برای بافرها استفاده کنم که به شکل سخت افزاری روی DSP ها میشه پیکره بندی کرد ولی روی AVR شبیه سازیش کردم و DSP کارها بهش میگن بافر پینگ پنگ

                  روش کارش خیلی سادست ولی سرعت واقعا زیاد میشه

                  شما دو تا بافر در نظر میگیرید هم اندازی و از نظر آرایه و فضای رم: پشت سر هم

                  اولی رو شروع به پر کردن میکنید(هر اینتراپت یک خونه پر میشه)
                  بافر اول که پر شد یک بیت بمنزله پرشدن بافر یک بلند میشه و توی برنامه اصلی اون بافر رو هر بلایی که خواستیم سرش میاریم
                  در این حین دیگه توی زیر برنامه وقفه بافر اول رو نمینویسیم و توی بافر دوم مینوسیسم تا یا اینکه بافر دوم پر بشه که وای میستیم یا اینکه کار ما با بافر اول تموم بشه و اون بیت صفر بشه
                  حالا دو باره داده رو توی بافر اول ذخیره میکنیم و بافر دوم رو بلا سرش میاریم
                  به وبلاگم سر بزنید

                  دیدگاه


                    #10
                    پاسخ : چطور با ماژول آماده usb کار کنیم؟

                    سلام. من می خواهم در لحظه اول 100 بایت از کامپیوتر به میکرو ارسال کنم تا در بافر ذخیر بشن بعد از بافر خونده بشه و بایت ها یکی یکی به پورت میکرو ارسال بشه. بعد از تمام شدن دوباره 100 بایت دیگر ارسال بشه. حالا می خواهم این کار با سرعت بالا انجام بشه.
                    لطفا این سایت رو ببینید. من می خواهم همچی کاری کنم
                    http://planetclegg.com/projects/QC-Peggy.html

                    دیدگاه


                      #11
                      پاسخ : چطور با ماژول آماده usb کار کنیم؟

                      سلام

                      خوب اینطوری من بگم میشه یا نه که جور در نمیاد

                      شما مدار رو ببند باوود رو هم ببر بالا تا جایی که میتونی ... اگه داده سالم دریافت میشه و override نمیشه خوب خوبه

                      بعد شما میخوای ماتریس چند در چند رو ساپورت کنی

                      و چند بار در ثانیه؟

                      باید اینا رو واسه خودت حساب کنی

                      مثلا یه ماتریس 8x64 دارید که میشه 64 باید در هر رفرش
                      اگه بخواید 20 بار هم رفرش کنید میشه 1280 بایت در ثانیه

                      این به سرعت زیادی نیاز نداره ... شما بالا این مقدار هر چی بذاری میشه پشتیبانیش کرد مثلا 230400 بذار که سریع داده رو دریافت کنی بتونی رفرش رو انجام بدی

                      یا اینکه اینتراپتی ببند که دیگه باوود رو هم میتونی پایین بیاره
                      به وبلاگم سر بزنید

                      دیدگاه


                        #12
                        پاسخ : چطور با ماژول آماده usb کار کنیم؟

                        سلام
                        ممنون. شما اون سایت رو دیدین؟ می خوام بدونم چطور می شود همچی کاری کرد؟
                        در حقیقت می خوام بدونم چطور می شود یه ماتریس رو به کامپیوتر وصل کرد که یه عکس ساده که در کامپیوتر نشون می ده رو مستقیم روی ماتریس نشان دهیم

                        دیدگاه


                          #13
                          پاسخ : چطور با ماژول آماده usb کار کنیم؟

                          سلام. لطفا این سایت رو ببینید هر کس می داند این تابلو چطور کار می کند ه توضیح بدهد تا همه دوستان استفاده کنند.
                          ممنون

                          دیدگاه

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