اطلاعیه

Collapse
No announcement yet.

کار عملی با Xmega از 0 تا ...

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کار عملی با Xmega از 0 تا ...

    بسم الله الرحمن الرحیم.
    سلام خدمت همه ی برو بچهایی که دنبال کار با چیز های جدید هستند این تاپیک رو من به دستور جناب طراح عزیز ایجاد کردم تا تمای اطلاعاتی که از ایشون و بکسری منابع بدس آوردم در اختیار دیگران بگذارم.
    خوب مرحله ی اول کار عملی اینه که اول یه پروگرمر MK2 داشته باشید و سعیم کنید سر خودتونو شیره نمالید و یدونه بخرید من که خیلی ازش راضی هستم. کسانی هم که نمیتونن این پروگرمر رو خریداری کنند باید از این برد های آموزشیی که سر خودش پروگرمر داره استفاده کنند که تا چند هفته ی دیگه رونمایی میشه. (توسط یک شرکت پروگرمر سازی). خوب حالا اساسی ترین مشکلمون حل شد.
    مرحله بعدی آماده کردن میکرو برای اونایی که از برد آموزشی استفاده نمیکنند.
    حالا موقع کار عملی شروع میشه و چندین را جوی پای دوستان گذاشته میشه.
    1) استفاده از اسمبلی و کامپایلر AVR-Studio
    2) استفاه از GCC و کامپایلر AVR-Studio یا Win Avr یا IAR
    3) استفاده از بیسکام (که البته خیلی کامداش کامل نیست و ما بصورت ترکیبی از اسمبلی و بیسیک مینویسیم)
    4) سایر کامپایلر هایی که از Xmega پشتیبانی میکنند
    در گام بعدی با توجه به امکاناتی که Xmega داره سعی میکنم از روی تاپیک برخی مشخصات Xmega پیش میریم و من تا هرجا بتونم سعی میکنم همه ی این ویژگی ها رو پیاده کنم.
    اگه از این تاپیک استقبال بشه که من در خدمتم
    فعلا یا علی
    :rolleyes:
    الهم عجل لولیک الفرج

    فقط 313 نفر...

    #2
    پاسخ : کار عملی با Xmega از 0 تا ...

    نوشته اصلی توسط FAM
    حالا موقع کار عملی شروع میشه و چندین راه جلوی پای دوستان گذاشته میشه.
    1) استفاده از اسمبلی و کامپایلر AVR-Studio
    2) استفاه از GCC و کامپایلر AVR-Studio یا Win Avr یا IAR
    3) استفاده از بیسکام (که البته خیلی مداش کامل نیست و ما بصورت ترکیبی از اسمبلی و بیسیک مینویسیم)
    4) سایر کامپایلر هایی که از Xmega پشتیبانی میکنند
    با تشکر از شما به دلیل تشکیل این تاپیک
    همانگونه که اخیرا خدمت دوستان در انجمن PIC عرض شد، کامپایلر IAR به دلیل محیط مشترکی که برای میکروکنترلرهای مختلف شامل AVR و XMEGA و ARM و PIC دارد، دارای این مزیت است که هر زحمتی که برای آشنایی با محیط و نکات فنی آن کشیده شود، برای بقیه میکروکنترلرها هم مفید خواهد بود و با آشنایی با آن می توان یک کار موازی را در بخش ARM و PIC هم انجام داد. البته قبول دارم که کار با این کامپایلر بسیار مشکل تر از محیط هایی مانند codevision است، اما معمولا حرفه ای بودن با راحتی همیشه جمع پذیر نیست و این جمله ای که از طرف برخی دوستان دائما تکرار می شود که فلان روش راحت تر است و تعبیراتی مانند آن، تا حدی تعجب آور به نظر می رسد. اگر می خواهیم بهترین باشیم و به کیفیت عملکرد در حد مطلوب برسیم باید به سختی های آن هم تن بدهیم و از همه روش ها راحت تر آن است که اصولا قید XMEGA و میکروکنترلر و الکترونیک را بزنیم که اصلا متحمل فشار و سختی نشویم. بنابراین با استناد به همان دلیل استفاده از محیط IAR برای تمام میکروکنترلرها و اینکه این کامپایلر اگر بهترین نباشد جزو بهترین هاست، پیشنهاد می کنم اگر فعالیتی بخواهد انجام بگیرد حول محور IAR باشد. اما به هر حال شما به هر روشی که مایل هستید، تجربه خود را در اختیار دیگران قرار دهید و حتما از آن استفاده می کنیم.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #3
      پاسخ : کار عملی با Xmega از 0 تا ...

      خب مثل اینکه این تاپیک موندگار بشه پس بیایید شروع کنیم.
      جناب طراح با وجود اینکه تازه داشتم سر از اسمبلی در می آوردم واین بیسیک لعنتی رو میزاشتم کنار حالا که شما میگی IAR پس ما هم میگیم IAR
      خوب حالا پس شما جناب طراح لطف کنید لینک دانلود رو توی همین تاپیک قرار بدید تا ما هم شروع کنیم.
      روند این تاپیک ان شا الله این گونه خواهد بود:
      دانلود و نصب آخرین ورژن های بسکام و IAR
      خوندن هلپ هر دو کامپایلر (مواردی که مربوط به Xmega باشه)
      تهیه ی Xmega و برد آموزشی

      خب حالا ما که شروع کردیم چرا دست پایین ایرانی باید همه چیش خوب باشه پس آستینا رو بالا بزنید و یا علی
      در اصل ما میخواهیم کمی از هر سه زبان یعنی C , Basic ، ASM رو بنویسیم ولی بیشتر تمرکزمون روی C هست.
      :job:
      اگه بحث خوب پیش بره و بچه ها استقبال کنن من هر روز 2 تا 5 بار میام و سر میزنم و سوالات رو با کمک هم حل میکنیم.
      [glow=red,2,300]هرکی میخواد بیاد تو گود ماهستیم. [/glow]
      راستی توی پست قبلمم اشاره کردم که ماپله به پله از تاپیک مشخصات ویژه ی Xmega جلو میریم.
      الهم عجل لولیک الفرج

      فقط 313 نفر...

      دیدگاه


        #4
        پاسخ : کار عملی با Xmega از 0 تا ...

        نوشته اصلی توسط FAM
        جناب طراح با وجود اینکه تازه داشتم سر از اسمبلی در می آوردم واین بیسیک لعنتی رو میزاشتم کنار حالا که شما میگی IAR پس ما هم میگیم IAR
        برنامه نویسی اسمبلی جای خود را دارد و استفاده از IAR به معنای عدم استفاده از این زبان نیست. زیرا در داخل IAR قابلیت نوشتن برنامه به این زبان وجود دارد و از AVR Studio هم می توان برای این کار استفاده کرد. نکته دیگر اینکه در برخی کاربردها لازم است ترکیبی از C و اسمبلی نوشته شود که در هرصورت این برنامه نویسی یکی از اجزای کار با XMEGA است.
        درباره لینک دانلود IAR من اطلاعی از این مورد ندارم، زیرا نرم افزار را از بازار تهیه کرده ام و حجم نرم افزار در حد 500 مگا بایت است و حتی اگر لینک دانلود هم داشته باشد، تهیه آن از این طریق برای برخی دوستان میسر نیست.
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه


          #5
          پاسخ : کار عملی با Xmega از 0 تا ...

          سلام جناب طراح.
          من خیلی فکر کردم گفتم حالا که با Bascom کار کردم در این تاپیکم تا حد مناسبی با بیسیک جلو بریم سپس هرکی خواست بیاد سراغ IAR ماهستیم.
          نظر شما چیه.؟ :rolleyes:
          از دوستان خواهش میکنیم نظر بدن. :angry:
          الهم عجل لولیک الفرج

          فقط 313 نفر...

          دیدگاه


            #6
            پاسخ : کار عملی با Xmega از 0 تا ...

            جمله ای هست که می گوید: " قانون جنگل بهتر از بی قانونی است". شما هر فعالیتی که در این مورد انجام دهید بهتر از سکون و عدم فعالیت است. فقط یک مشکل این است که BASCOM فقط با XMEGA128A1 سازگار است و سخت افزاری که در اختیار من است با شماره دیگری مطابقت دارد. در هر صورت به عنوان شروع می توانید برنامه هایی را که در تاپیک دیگر این انجمن با IAR نوشته شده، با BASCOM بنویسید و تست کنید تا بعد از آن برنامه هایی مانند فرکانس متر و کانتر و غیره به عنوان ادامه کار نوشته شود. یا حتی اگر راجع به مقدمات کار مانند چگونگی راه اندازی XMEGA یا نحوه پروگرم کردن آن مطالبی دارید، برای استفاده دوستان آن را ذکر کنید.
            اوژن: به معنای افکننده و شکست دهنده است
            دانایی، توانایی است-Knowledge is POWER
            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

            دیدگاه


              #7
              پاسخ : کار عملی با Xmega از 0 تا ...

              بسیار خوب پس شروع می کنیم.
              اون دوستانی که قصد کار کردن دارند یه سری به سایت یزد کیت بزنن و بسکام 1.11.9.8 را دریافت کنن
              دوستان بدونید که در تمام برنامه ها و توضیحاتی که اینجا ارائه میشه تا اطلاع ثانوی میکرو مورد استفاده ATXMEGA128A1 هست.
              اطلاعاتی راجع به میکرو کنترولر و نحوه ی پروگرم کردن توسط MK2
              اساس PDI Programming بر طبق 2 پایه است که یکی پایه ی دیتا و دیگری ریست میکرو کنترلر میباشد. ولی پروگرمر MKII برای پروگرم کردن باید به تغذیه ی میکرو کنترلر نیز وصل باشد. این پروگرمر دارای 2 LED میباشد که یکی به رنگ سبز و دیگری دورنگ است LED سبز رنگ نشانهی پاور است و اما LED دورنگ:
              زمانی که شما پروگرمر را به کامپیوتر متصل میکنید و نرم افزار AVR-Studio را باز مینمایید این LED اگر به برد و میکروکنترلر شما متصل باشد و میکرو شما بدون هیچ مشکلی کار کند به رنگ سبز در میآید اگر به میکرو متصل نباشد به رنگ قرمز درآمده و اگر به پایه های اشتباهی متصل شده باشد با رنگ نارنجی چشمک میزند. لازم به ذکر است که هنگام Upgrade شدن نیز این LED با رنگ نارنجی به حالت خاصی چشمک میزند.
              هم چنین این پروگرمر دارای یم کانکتور 6 پایه است که ترتیب پایه های آم از قرار زیر است:
              1----> PDI
              2----> VCC
              3----> NC
              4----> NC
              5----> RST
              6----> GND
              با نصب AVR-Studio درایور این پروگرمر نیز نصب میشود و از طریق همین نرم افزار شما میتوانید هگز تولیدی بسکام را داخل میکرو ی خود بریزید.
              اگر به تاپیک مشخصات ویژه ی Xmega نگاه کرده باشید درمیابید که اولین ویژگی مورد بحث Clock سیستم بوده که ان شا الله در صورتی که وثت کنم فردا توضیحات و مطالبی را در این مورد به این تاپیک اضافه میکنم (در صورت استقبال دوستان)

              دیگه خوابم میاد :mrgreen: شب بخیر :bye
              الهم عجل لولیک الفرج

              فقط 313 نفر...

              دیدگاه


                #8
                پاسخ : کار عملی با Xmega از 0 تا ...

                نوشته اصلی توسط FAM
                سلام جناب طراح.
                من خیلی فکر کردم گفتم حالا که با Bascom کار کردم در این تاپیکم تا حد مناسبی با بیسیک جلو بریم سپس هرکی خواست بیاد سراغ IAR ماهستیم.
                نظر شما چیه.؟ :rolleyes:
                از دوستان خواهش میکنیم نظر بدن. :angry:
                با سلام
                من موافقم با این کار با تشکر

                دیدگاه


                  #9
                  پاسخ : کار عملی با Xmega از 0 تا ...

                  آقا ما هم هستیم من الآن یه پروگرامر و یه میکرو xmega128A1 و آخرین ورژن AVRstudio دارم ولی میخواستم اگه میشه یه key generator بدید تا از IAR داخل سی دی پروگرامر استفاده کنیم تا نیازی به دانلود آن نباشد
                  با تشکر از همکاریتان

                  دیدگاه


                    #10
                    پاسخ : کار عملی با Xmega از 0 تا ...

                    با سلام.
                    کلاک سیستم:
                    میکرو ی مورد نظر ما دارای 2 RCپر مصرف داخلی میباشد که یکی 2 مگاهرتز و دیگری 32 مگاهرتز سرعت دارند به علاوه این میکرو دازای 3 دیوایدر (تقسیم کننده) و یک پی ال ال (ضرب کننده) نیز هست (برای بدس آوردن کلاک های ترکیبی)
                    حال به نحوه ی پیکره بندی کلاک سیستم در بسکام توجه کنید..
                    CONFIG OSC=ENABLED|DISABLED , PLLOSC=ENABLED|DISABLED, EXTOSC=ENABLED|DISABLED, 32KHZOSC=ENABLED|DISABLED, 32MHZOSC=ENABLED|DISABLED, RANGE=range, 32KHZPOWERMODE=powermode, STARTUP=startup
                    با مساوی قرار دادن Config OSC با Enabled اسیلاتور 2مگاهرتزی فعال میماند ولی میتوان با Disabled کردن آن را از کار انداخت برای روشن کردن Pll آن را برابر با Enabled قرار میدهیم و برای خاموش کردن Disabled میکنیم.
                    برای استفاده از اسیلاتور خارجی باید آن را فعال و میزان رنج را با توجه به مقادیر زیر تنظیم کنیم.
                    - 400KHZ_2MHZ
                    - 2MHZ_9MHZ
                    - 9MHZ_12MHZ
                    - 12MHZ_16MHZ
                    مقدار start up هم در موارد زیر تعریف میشود:
                    - EXTCLK (6 CLK)
                    - 32KHZ (for 16 CLK)
                    - XTAL_256CLK (for 256 CLK)
                    - XTAL_1KCLK (for 1K CLK)
                    - XTAL_16CLK (for 16K CLK)
                    برای فعال و استفاده از فرکانس 32MHZ خط زیر را وینویسیم
                    Config Osc = Enabled , 32mhzosc = Enabled
                    حال باید به تقسیم کننده ها مقدار بدهیم که این کار میتوان مستقیما در رجیستر آن ها انجام شود و یا با استفاده از توابع آماده ی بسکام انجام شود.
                    CONFIG SYSCLOCK=sysclock , PRESCALEA=prescaleA, PRESCALEBC=prescaleB_C
                    sysclocl باید یکی از مقادیر زیر باشد.
                    - 2MHZ
                    - 32MHZ
                    - EXTERNAL
                    - PLL
                    تقسیم کننده ی A میتواند یکی از مقادیر زیر را داشته باشد:
                    1 , 2 ,4, 8, 16, 32, 64, 128,256,512
                    تقسیم کنندهی B و C باید به صورت زیر مقدار دهی شوند:
                    - 1_1 (1 + 1 division)
                    - 1_2 (1+2 division)
                    - 4_1 (4 + 1 division)
                    - 2_2 (2 + 2 division)
                    برای استفاده از 32 مگاهرتز خط زیر را به برنامه اضافه میکنیم:
                    Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1

                    احتمالا شب یه برنامه ی کلی بزارم.


                    الهم عجل لولیک الفرج

                    فقط 313 نفر...

                    دیدگاه


                      #11
                      پاسخ : کار عملی با Xmega از 0 تا ...

                      با سلام
                      متسفانه چون این سایتای پلود خیلی بازی در میارن من برنامه رو کپی کردم و در زیر گذاشتم شما هم اونو کپی کنید و توی بسکام پیست نمایید و کامپایل کنید.
                      این برنامه چگونگی استفاده از کلاک و IO ها رو نشون میده.
                      ' In the Name of God
                      '----------------------------------------------------------------
                      ' Amir Hesam Olfati
                      ' atxmega128A1
                      ' This sample show xmega clock and io how is work
                      '-----------------------------------------------------------------
                      $regfile = "xm128a1def.dat"
                      $crystal = 32000000
                      $hwstack = 64
                      $swstack = 40
                      $framesize = 40
                      'baraie estefade az dac va adc lib zir ra be barneme ezafe mi****m
                      '$lib "xmega.lib"
                      '$external _xmegafix_clear
                      '$external _xmegafix_rol_r1014
                      Config Osc = Enabled , 32mhzosc = Enabled 'estefade az osilator dakhelie 32MHZ
                      Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1 'meghdare 3 divider ra mosavi ba 1 gharar midahim
                      Config Portb = Output
                      Config Portd = Output
                      Config Portc = Output
                      Do
                      Portb = &HAA
                      Portd = 11110000
                      Set Portc.0
                      Portc.2 = 1
                      Wait 1
                      Portc.2 = 0
                      Reset Portc.0
                      Portb = &H55
                      Portd = 00001111
                      Loop
                      الهم عجل لولیک الفرج

                      فقط 313 نفر...

                      دیدگاه


                        #12
                        پاسخ : کار عملی با Xmega از 0 تا ...

                        سلام
                        بهتر نیست ابتدا یک برد برای xmega درست کنیم بعد همه با هم روی همین سخت افزار کار کنیم؟

                        دیدگاه


                          #13
                          پاسخ : کار عملی با Xmega از 0 تا ...

                          با سلام خدمت دوستان
                          مدتی است من میخواهم با XMEGA کار کنم ولی کار خاصی انجام نداده ام علت اصلی به نظر من آن است که
                          لوازم کار را تا کنون فراهم ننموده ام برای حل این مشکل قبلا در یک پست دیگر از دوستان کمک خواسته بودم
                          در جواب پیشنهاد شد از همین بردهایی که در سمت راست این صفحه معرفی شده استفاده کنم(برد آموزشی
                          XMEGA به همراه پرگرامر MKII ) در ادامه پیشنهاد شده بود صبر کنم تا بردی که در حال آماده شدن است مورد استفاده قرار گیرد و این برد به صورت رایگان توسط خود دوستان فراهم میگردد.
                          در جایی دیگر دوست ما FAM گفته بود چند هفته صبر کنیم که یک شرکت داره یک برد میزنه که سر خودش هم یک پرگرامر داره.
                          در جاهای دیگری از مبحث XMEGA بعضی دوستان گفته بودند پرگرامر هایی را امتحان کرده اند ولی اشکال داشته
                          در جای دیگری گفته شده کامپایلر IAR برای کار مناسب است و دوست دیگری گفته با crack ان مشکل دارد
                          این موضوعات باعث سردر گمی من شده است من نمیدانم کدام حرفها قطعی است لذا خواهشمندم دوستانی که تا کنون از برد XMEGA ای جواب گرفته اند وپرگرامر مطمعنی را تست کردهاند و با کامپایلری خودشان به صورت قطعی کار کرده اند مرا راهنمایی کنند واز راهنمایی های مبهم لطفا اجتناب کردد به عنوان مثال پرگرامری که ساخته نشده و قطعا اشکالات ان شناسایی نگردیده یک راهکار مبهم میباشد برای تصمیم گیری برای من
                          مهم آن است که بدانم در حال حاضر چه وجود دارد وچه وجود ندارد
                          با تشکر از همه دوستان

                          دیدگاه


                            #14
                            پاسخ : کار عملی با Xmega از 0 تا ...

                            من هم مشکل شمارا دارم ولی دست به کار شدم و یک پروگرامر MKII خریدم با امید به اینکه در آینده نیاز کمتر به پروگرامر دیگری خواهیم داشت زیرا این پروگرامر با نرم افزار AVR Studio بروز(Update) میشود ومیکرو های آینده این شرکت را پشتیبانی خواهد کرد
                            مسئله بعدی پیدا کردن یک مدل خوب از Xmega در اصفهان یک فروشگاه وفقط مدل ATXMEGA128A1 را به قیمت دوازده هزار تومان میفروشد که برای شروع گزینه خوبی میتواند باشد (به دلیل ساپرت BASCOM از آیسی و امکانات زیاد)به خاطر همین من از شما آدرس فروشگاه های تهران را خواستم و بالاخره یکی را پیدا کردم که همین مدل را هشت هزار تومان میداد و مدل های دیگر هم داشت
                            درمورد اینکه این IC ها به صورت SMD هستند و نمیتوان مستقیما روی برد برد قرار داد بنابراین دو راه داریم یکی استفاده از برد تبدیل به dip و دیگری طراحی یک برد همانند بردهای ARM برای کار آسان تر من هماکنون روی دو روش کار میکنم تا چند روز دیگه خبر میدم
                            اما در مورد کامپایلر استفاده از BASCOM برای شروع کار میتواند خوب باشد ولی من از سایت بسته نرم افزار های IAR 2010 را خریداری نمودم با استدلال به اینکه ورژن این مجموعه از نرم افزار داخل DVD پروگرامر بالاتر بود واینکه داخل DVD گفته شده بود که ورژن پایین تر از XMEGA پشتیبانی میکند اگر ساپرت کرد خبرش را میدهم
                            این بود خلاصه کار فعلی من با XMEGA :biggrin:

                            دیدگاه


                              #15
                              پاسخ : کار عملی با Xmega از 0 تا ...

                              درمورد اینکه این IC ها به صورت SMD هستند و نمیتوان مستقیما روی برد برد قرار داد بنابراین دو راه داریم یکی استفاده از برد تبدیل به dip و دیگری طراحی یک برد همانند بردهای ARM برای کار آسان تر من هماکنون روی دو روش کار میکنم تا چند روز دیگه خبر میدم
                              سلام

                              پا برهنه بپرم وسط بحث :mrgreen:

                              به نظر من یک برد وسط این دو تا که گفتید درست کنید :rolleyes: مثل همون بردی که آقای شفقی برای آرم سری X256,S64 زدند ... یعنی یه سری قطعات لازم برای راه اندازی رو روی برد بزارید و بقیش رو بسته به نیاز روی برد برد ببندید....مثلا خازنها رو روی برد اصلی بزارید...یا مثلا رگولاتور رو روی برد اصلی بزارید و....

                              بازم شرمنده که پابرهنه پریدم وسط حرف شما :mrgreen:

                              موفق باشی دادا! :nerd:

                              دیدگاه

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