اطلاعیه

Collapse
No announcement yet.

شروع به کار با AT90USB ها در مد device

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

    شروع به کار با AT90USB ها در مد device

    من امروز با کلی دردسر تونستم از این آی سی جواب بگیرم. از حالا قدم به قدم پیش میریم تا بتونیم از کتابخونه های خود atmel در قدم اول استفاده کنیم.
    شروع کار با یک application note از اتمل هستش که یک کتابخونه ساده و جامع رو برای کار با تمام ورژن های میکروهای سری at90usb ارائه داده.
    AVR276: USB Software Library for AT90USBxxx Microcontrollers

    بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
    اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

    #2
    پاسخ : شروع به کار با AT90USB ها در مد device

    نوشته اصلی توسط mostafahk
    من امروز با کلی دردسر تونستم از این آی سی جواب بگیرم. از حالا قدم به قدم پیش میریم تا بتونیم از کتابخونه های خود atmel در قدم اول استفاده کنیم.
    شروع کار با یک application note از اتمل هستش که یک کتابخونه ساده و جامع رو برای کار با تمام ورژن های میکروهای سری at90usb ارائه داده.
    AVR276: USB Software Library for AT90USBxxx Microcontrollers

    سلام مصطفی جان. برد رو خودت زدی؟ اگه اره میشه شماتیک بزاری؟
    من اصلا با این میکرو نتونستم به جواب برسم. هروقت به کامپیوتر میزنم خراب میشه.
    بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
    موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
    نلسون ماندلا

    دیدگاه


      #3
      پاسخ : شروع به کار با AT90USB ها در مد device

      نوشته اصلی توسط رضا بابایی
      سلام مصطفی جان. برد رو خودت زدی؟ اگه اره میشه شماتیک بزاری؟
      من اصلا با این میکرو نتونستم به جواب برسم. هروقت به کامپیوتر میزنم خراب میشه.
      گفتی قبلا.
      آخر عیبش رو پیدا نکردی؟

      این پروژه برای یک کارت خوان rfid usb هستش که کارش رو شروع کردم.

      بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
      اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

      دیدگاه


        #4
        پاسخ : شروع به کار با AT90USB ها در مد device

        نه والا آخر نتونسم عیبش را بجویم.
        اون مقاومت های خط دیتای USB مقدارش 10 کیلو هس؟!
        بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
        موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
        نلسون ماندلا

        دیدگاه


          #5
          پاسخ : شروع به کار با AT90USB ها در مد device

          نوشته اصلی توسط رضا بابایی
          اون مقاومت های خط دیتای USB مقدارش 10 کیلو هس؟!
          نه اشتباهی شده. 22 اهم هستند.
          بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
          اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

          دیدگاه


            #6
            پاسخ : شروع به کار با AT90USB ها در مد device

            خوب میریم که داشته باشیم.
            application note AVR276 رو با فایل های ضمیمه دانلود کنید :
            http://www.atmel.com/dyn/products/pr...p;part_id=4097
            یا :
            http://www.atmel.com/dyn/resources/p...ts/doc7675.pdf
            http://www.atmel.com/dyn/resources/p...st_Library.zip


            قبل از هر چیز فایل های مربوط به این application رو که دانلود کردید به این نتیجه میرسید که این فایلها خیلی زیاد و بی در و پیکرند ولی اشتباه میکنید.
            داخل این فایل zip چند تا فایل zip به نامهای زیر هست :
            series2-usb_software_library_template-2_0_1-doc
            series4-usb_software_library_template-2_0_1-doc
            series6_7-usb_software_library_template-2_0_2-doc

            خوب منظور از این series2 و series4 سری های مختلف آی سی های خانواده at90usb هستش که هر چی بالاتر میره قابلیت هاش بیشر میشه.
            at90usb82 و at90usb162 همونطور که از عدد آخر اسمشون معلومه سری 2 هستند و at90usb1287 مربوط به سری 7 هست که host و همه چی داره.
            ولی موضوع بحث رو از سری 2 شروع میکنیم که ساده و بی درد سر هستند.
            وقتی فایل رو unzip کردید وارد پوشه series2 بشید و چند تا پوشه میبینید :
            demo که باهاش خیلی کار داریم چون کدها تو این پوشه هستن
            doc که مربوط به توضیحات این کتابخونه هستش
            lib_board که هدر فایل های بردهای استاندارد رو داره
            lib_mcu کتابخونه های لایه های پایین برای سخت افزار میکروکنترلر
            modules که کتابخونه های لایه های بالا رو داره هم برای usb و هم برای schulder که زمانبندی اجرای قسمت های مختلف برنامه رو انجام میده و یه جوری همون main loop هستش.

            تو پوشه demo/gcc فایل مربوط به avrstudio رو میتونید اجرا کنید.

            نکته اول اینکه این کتابخونه تا این لحظه 2 تا باگ داشته :

            اول اینکه تو lib_mcu/power/power_drv.h باید چند تا پرانتز رو مثل زیر پاک کنید :


            [code=c]
            #ifdef __GNUC__
            #define Clear_prescaler() (clock_prescale_set(0))
            #else
            #define Clear_prescaler() (Set_cpu_prescaler(0))
            #endif

            //! Set_prescaler.
            //!
            //! This function configure the internal CPU core clock prescaler value
            //!
            //!
            //! @param x: prescaler new value
            //!
            //! @return none.
            //!
            #ifdef __GNUC__
            #define Set_cpu_prescaler(x) (clock_prescale_set(x))
            #else
            extern void Set_cpu_prescaler(U8 x);
            #endif
            [/code]


            رو به صورت زیر تغییر بدید :


            [code=c]
            #ifdef __GNUC__
            #define Clear_prescaler() clock_prescale_set(0)
            #else
            #define Clear_prescaler() Set_cpu_prescaler(0)
            #endif

            //! Set_prescaler.
            //!
            //! This function configure the internal CPU core clock prescaler value
            //!
            //!
            //! @param x: prescaler new value
            //!
            //! @return none.
            //!
            #ifdef __GNUC__
            #define Set_cpu_prescaler(x) clock_prescale_set(x)
            #else
            extern void Set_cpu_prescaler(U8 x);
            #endif
            [/code]


            دومیش رو شک دارم باگ باشه. ولی این کار رو بکنید بهتره.
            تو فایل modules\usb\device_chap9\usb_standard_request.h یه متغییر به نام usb_device_enumerated به شکل زیر اضافه کنید :


            [code=c]

            void usb_generate_remote_wakeup(void);

            extern U8 usb_device_enumerated;
            extern U8 usb_configuration_nb;
            extern U8 remote_wakeup_feature;


            #if (USE_DEVICE_SN_UNIQUE==ENABLE)
            extern U8 f_get_serial_string;
            #endif
            [/code]


            تو فایل modules\usb\device_chap9\usb_standard_request.c هم این متغییر رو به شکل زیر اضافه کنید :


            [code=c]
            U8 endpoint_status[MAX_EP_NB];
            U8 data_to_transfer;
            U8 usb_configuration_nb;
            U8 usb_device_enumerated = FALSE;
            U8 remote_wakeup_feature = DISABLE;
            U8 device_status = DEVICE_STATUS;
            [/code]


            و همچنین تو همون فایل تابع usb_set_configuration رو به این شکل تغییر بدید :


            [code=c]

            Bool usb_set_configuration( void )
            {
            U8 configuration_number;

            // Get/Check new configuration
            configuration_number = Usb_read_byte();
            if (configuration_number > NB_CONFIGURATION)
            return FALSE; // Bad configuration number then stall request
            Usb_ack_receive_setup();
            usb_configuration_nb = configuration_number;
            usb_device_enumerated = TRUE;

            Usb_send_control_in(); // send a ZLP for STATUS phase
            usb_user_endpoint_init(usb_configuration_nb); // endpoint configuration
            Usb_set_configuration_action();
            return TRUE;
            }
            [/code]


            در حال ویرایش
            بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
            اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

            دیدگاه


              #7
              پاسخ : شروع به کار با AT90USB ها در مد device

              سلام آقا مصطفی
              حالا فهمیدم منظورتون چیه!
              ببخشید من فعلا مانیتورم به دیار باقی شتافته نمیتونم کار رو ادامه بدم
              راستی تو گوشیم اون دکمه تشکر نشون داده نمیشه
              منم ازین پستتون تشکر میکنم .
              Mojtaba_led

              دیدگاه


                #8
                پاسخ : شروع به کار با AT90USB ها در مد device

                سلام
                آقا ادامه نداره ؟ مثله بقیه تاپیک ها بدونه نتیجه رها شد ؟

                دیدگاه


                  #9
                  پاسخ : شروع به کار با AT90USB ها در مد device

                  مگه به عنوان HOST هم استفاده میشه ؟
                  دلا خو کن به تنهایی که از تنها بلا خیزد

                  دیدگاه


                    #10
                    پاسخ : شروع به کار با AT90USB ها در مد device

                    نوشته اصلی توسط hamid67fathi
                    سلام
                    آقا ادامه نداره ؟ مثله بقیه تاپیک ها بدونه نتیجه رها شد ؟
                    comming soon

                    نوشته اصلی توسط Navid_Micro
                    مگه به عنوان HOST هم استفاده میشه ؟
                    بله سری 6 و 7 مثل at90usb167
                    بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
                    اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

                    دیدگاه

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