اطلاعیه

Collapse
No announcement yet.

کار با میکروکنترلر ARM (پروژه دوم گروه ZILLION)

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

    کار با میکروکنترلر ARM (پروژه دوم گروه ZILLION)

    سلام دوستان در پروژه جدید من خودم توانستم تا حدودی با میکروکنترلر ARM و کامپایلر IAR کار کنم من سعی می کنم تا آنجا که می توانم اطلاعاتی را که بدست آورده ام در اختیار دوستان قرار بدهم تا شاید در حد خودم بتوانم این کمبود منبع علمی و عملی در این موضوع را برطرف کنم.

    برای اینکه بقیه دوستان بتوانند بردشان را بسازند من در زیر لینک دانلود شماتیک برد گروهمان را قرار دادم در ضمن این فایل شامل pcb دیگری هم هست (البته این PCB گروه نیست ولی می تواند کمک زیادی به دوستان بکند)

    لینک دانلود شماتیک بورد گروه Zillion:

    http://www.4shared.com/file/95811319/17834dfd/schematic_main_Board.html


    لینک دانلود PCBآ‌ یک بورد که توسط یک شرکت چینی طراحی شده:
    http://www.4shared.com/file/95812055/6aaad565/ARM_PCB_evolution.html

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

    در ضمن برای اینکه بقیه دوستان هم در این پروژه همکاری کنند من این آموزش را تا مرحله ای به صورت OPEN SOURCE انجام می دهم و از مرحله ای به بعد فقط بین افراد فعال گروه که در کار همکاری می کنند قرار می گیرد بنابراین از هم اکنون پیشنهاد می دهم که با گروه همکاری کنید و در نظرات فعال باشید تا عضوی از گروه شوید و از نتایج سایر افراد گروه بهره مند شوید.

    امیدوارم بتوانیم کارهای بزرگی را با همکاری هم و در کنار هم انجام دهیم.

    من در پستهای بعدی شروع به آموزش بخشهای مختلف میکروکنترلر AT91SAM7S64 خواهم کرد.
    -------------------------------------
    مراحل کار:
    1- آشنایی محیط IAR
    2- کار با پورتهای میکرو به عنوان خروجی
    3- کار با پورتهای میکرو به عنوان ورودی
    4- کار با LCD کاراکتری
    5- کار با مبدل دیجیتال به آنالوگ
    6- کار با تایمر پریودیک PIT
    7- کار با اینترپت خارجی
    8- کار با تایمر کانتر و اینترپت آن
    9- کار با PWM
    10- کار با پورت سریال
    11- کار با پورت USB
    12- بررسی ریزه کاری ها و موارد دیگر

    در ضمن برای اینکه بررسی بخشها دقیق انجام شود و به سوالات دوستان به صورت کامل رسیدگی شود در هر مرحله سعی می کنیم مقداری زمان بگذاریم.

    #2
    پاسخ : کار با میکروکنترلر ARM (پروژه دوم گروه ZILLION)

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

    در زیر لینک دانلود فایل را قرار دادم امیدوارم که مفید باشه

    http://www.4shared.com/file/98143425/14663363/IAR_fasl1.html

    دیدگاه


      #3
      پاسخ : کار با میکروکنترلر ARM (پروژه دوم گروه ZILLION)

      دوستان طبق برنامه ای که داشتیم تصمیم دارم این دفعه کار با پورتها را آموزش بدهم.

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

      AT91C_BASE_PIOA->PIO_PER = 0x00010000;کد0x0001000 شماره رجیستر مربوط به پین 16 ام است.
      یادتان باشد که قبل از هر کاری باید لایبرری مربوط به رجیسترها را انتخاب کنید برای این کار هدر فایل با نام AT91SAM7S64.h را در دایرکتوری پروژه تان کپی کنید بعد در قسمت بالای برنامه تان کد زیررا بنویسید
      #include "AT91SAM7S64.h"سپس قسمت اصلی برنامه تان را به صورت بنویسید
      Int main()
      {
      }
      قسمت اصلی برنامه تان را بین دو کروشه بنویسید.
      برای جلوگیری از سردرگمی من لینک دانلود فایل نمونه را برایتان ارسال کردم.
      حال باید پورت را به صورت خروجی تعریف کنیم. برای اینکار کد زیر را بنویسید
      AT91C_BASE_PIOA->PIO_OER = 0x00010000;این دستور رجیستر مربوط به پایه شماره 16 را فعال می کند. وظیفه این رجیستر config پورت به صورت خروجی است. رجیستر هر پینی که 1 است به صورت خروجی تعریف می شود.

      حال میخواهیم پورت را مقدار دهی کنیم. برای این کار از دو کد زیر استفاده می کنیم.
      AT91C_BASE_PIOA->PIO_SODR = 0x00010000; AT91C_BASE_PIOA->PIO_CODR = 0x00010000;دستور اول پینهای خروجی را set و دومی خروجی را Clear می کند.
      برای اینکه بتوانید بهتر موارد فوق را درک کنید حتما مثال قرارداده شده در لینک زیر را دانلود کنید و بررسی کنید.

      لینک دانلود مثال نمونه: http://www.4shared.com/file/95320476/41f20c19/IO_online.html

      هر کس سوالی درباره این موضوع دارد و یا اینکه موردی به نظرش می رسد که کاربردی است حتما بگوید تا همه استفاده کنند.

      دیدگاه


        #4
        پاسخ : کار با میکروکنترلر ARM (پروژه دوم گروه ZILLION)

        آیا منابعی میشناسید که ساختار جامعی برای طراحی مدارهایی که با میکروهایی با هسته ی ARM (که خروجی های LCD tftوUSB hostو...)روشون هست رو توضیح داده باشند. (فکر کنم یه جایی دیدم که این میکرو های که موضع تاپیکه قابلیت پیاده سازی خیلی راهتتری دارند و اون امکانات رو دارن. شایدم اشتباه میکنم ) :rolleyes:
        راستش برای بستن یه مدار با یه سیستم عامل جمع و جور ((که یه شرکتی لطف کرده باشه امکانات جانبی LCD و... رو توی میکروش قرار داده باشه) )می خواستم. :smile:
        Gracias A La Vida
        [glow=red,2,300]ساخت فرز CNC[/glow]
        http://www.eca.ir/forum2/index.php?topic=56308.0
        http://up9.iranblog.com/images/4xd21f8vemt8g46011fx.jpg
        زمین سفت است و آب شلست و هوا نرم است و همه چیز عالیست در این حوالی...

        دیدگاه

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