اطلاعیه

Collapse
No announcement yet.

میکروکنترلرهای با هسته ARM چقدر استفاده دارند؟

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

    #16
    پاسخ : میکروکنترلرهای با هسته ARM چقدر استفاده دارند؟

    نوشته اصلی توسط فرشاد اکرمی
    بحث خیلی جالبیه
    ولی هنوز اون سوال دوستمون که سوال من هم هست رو کسی جواب نداده !
    اون سیستم عاملی که روی arm نصب میشه به چه دردی می خوره ؟
    باهاش میشه چیکار کرد ؟
    فکر کنم جواب شما رو دادم، نهایتا مثل یک واسط بین ورودی خروجی ها و برنامه میمونه. یا مثلا یک Platform برای اجرای برنامه های گرافیکی، البته من نمیدونم قدرت این پردازنده های آرم چقدره اما اون سیستمی که من دیدم، روی آرم لینوکس نصب کرده بود به همراه یک LCD گرافیکی.

    البته حتما این رو هم میدونید که نصب کردن سیستم عامل کلی از فضای رم رو میگیره، به همراه اندکی از قدرت پردازشی ولی در عین حال میتونه امکاناتی مثل شبیه سازی پردازش های همزمان، نرم افزار های Script based به جای نرم افزار های ترتیبی، واسط کاربری بهتر و .... رو در اختیار کاربر قرار میده در کل تمام کارهایی که سیستم عامل روی کامپیوتر انجام میده.

    دیدگاه


      #17
      پاسخ : میکروکنترلرهای با هسته ARM چقدر استفاده دارند؟

      به هرحال هر میکرویی چه 8بیتی یا 16 بیتی یا 32 بیتی جایگاه خاص خودشون رو دارن.
      برای یک کنترل از راه دور ساده دیگه ARM نمیزارن حتی اگه قیمتش 2هزار تومن باشه!!!
      برای یک دستگاه ساده و تک کاربردی میکروی 32 بیتی کاربرد نداره.
      همینطور که دوست عزیزمون جناب طراح فرمودن کاربرد دوچرخه، خودروی سواری و کامیون مشخصه و وجود همه در جای خود لازم و برای رفتن به داخل شهر و گرفتن یک کتاب نیاز نیست از یک کامیون سنگین استفاده بشه حالا هرچقدر هم کامیون مطمئن و جادار و ... باشه.
      ARM در جاهایی که نیاز به امکانات زیاد و سرعت بالا باشه به کار میاد.
      من خودم برای یک پروژه ای نیاز به امکانات بالا و مصرف کم با سرعت پردازشی پایین بودم و داشتم تو خانواده ARM دنبال یک چیز مناسب میگشتم که متوجه شدم Xmega اومده و میتونه نیاز منو برآورده کنه اینکه رفتم سراغ اون.
      منظورم از این حرفها اینکه باید از میکروی مناسب در جای مناسب خودش استفاده کرد و اگر نیاز در اون زمینه نباشه، وقت گذاشتن برای اون ممکنه باعث از دست رفتن سرمایه (مادی و معنوی) بشه.
      Xmega + IAR + Labview = New Life

      دیدگاه


        #18
        پاسخ : میکروکنترلرهای با هسته ARM چقدر استفاده دارند؟

        سلام

        به نظر من هم هیچ وقت میکرو های 32 بیتی و یا بالاتر نمیتونه جای 8 بیتی ها رو بگیره اگر حرف شما اینه که قیمت 32 بیتی ها میاد پایین خوب به همون نسبت هم قیمت 8 بیتی ها میاد پایین. البته بحث قیمت یکم پیچیده تره جدا از تکنولوژی ساخت فاکتوری که خیلی مهمه نیاز بازار هست. و مسلما چیزی که تو بیشتر جاها استفاده میشه همون 8 بیتی ها هستن(از اسباب بازی بگیر تا...) شما دارید بحث روی تفاوت قیمت 1000 تومان میکنید در صورتی که توی تولید یه سیستم به صورت انبوه بحث روی حتی یک سنت هست. در ضمن از دیدگاه تولید کننده خود پیچیدگی سیستم هم میتونه یه دلیل باشه واسه اینکه سراغ میکرو های ساده تر بره. چون این پیچیدگی بیشتر یعنی یه کارمند متخصص تر یه برد گرون تر یه پروسه تولید زمان بر تر و تر و تر و تر.... :biggrin:

        پس نتیجه میگیریم هر چیزی جای خودش. بله شما خیلی arm رو قبول دارید ولی برای تولید کننده چیزی که از همه چی مهم تره (حتی کیفیت) قیمت تمام شدست.

        چیزی که ممکنه ما رو به سمت arm بکشونه میتونه یک یا چند مورد از موارد زیر باشه:
        ۱-ما به تعداد زیادی io نیاز داریم.
        ۲-سرعت پردازش بالایی میخواهیم
        ۳-به واحد خاصی نیاز داریم که فقط توی این میکرو ها پیدا میشه(یعنی یا اون واحد رو به طور مستقل نمیشه پیاده کرد یا اینکه اینجوری بصرفه تره یعنی همون قیمت تمام شده)
        و....

        در مورد سیستم عامل (البته به نظر من) ما در یک یا چند مورد از موارد زیر اقدام به راه اندازی سیستم عامل میکنیم.

        ۱- کار بر ما احتیاج به یک واسط داره تا از طریق اون بتونه برنامه خاصی رو در سیستم اجرا کنه.
        ۲- ما در کاربرد خودمون احتیاج به یک سیستم چند وظیفه ای داشته باشیم.
        ۳-سخت افزار ما به قدری پیچیدست که باید برای ارتباط با اون (از طریق نرم افزار) یک واسط برای اون داشته باشیم. این واسط(سیستم عامل) هم باید این پیچیدگی رو از دید برنامه نویس مخفی کنه هم اینکه یه مدیریت روی اون داشته باشه تا هر برنامه (یا پروسس) نتونه بطور مستقل روی اون کار کنه.

        در مورد ۳ دوتا مثال میزنم که تو کتاب سیستم عامل تنن باوم اومده:

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

        اما در مورد arm و سیتم عامل قضیه با pc فرق میکنه چون اینجا ما با یه سیستم نهفته (Embedded system ) سرو کار داریم. سیستم نهفته رو مثل یه pc در نظر بگیرید ولی با یه کار برد خاص (مثلا جعبه سیاه هواپیما , مودم ADSL , تلوزیون دیجیتال و ...) البته بحث تعریف سیستم های نهفته یکم پیچیده تره که بعدا سر فرصت میگم (میتونید از ویکی کمک بگیرید یا مراجعه کنید به کتاب embedded system architecture Tammy Noergaard )

        در مورد realtime یا بلادرنگ بودن هم اول یه توضیحی در مورد خود کلمه بدم بعد هم در مورد سیتم عامل بلادرنگ.
        یه سیستم بلادرنگ به سیستمی میگن که بین وردی سیستم و پاسخ در خروجی سیستم زمانی بیش از اون چیزی که تعیین شده (deadline) طول نکشه. مثلا تو ویکی مثالی که زده سیستم زد قفل هست که سیستم باید بلافاصله پاسخ بده وگرنه :cry2:

        حالا سیستم عامل بلادرنگ چیه؟ سیستم عامل بلادرنگ تفاوت عمده ای که با سیستم عامل های معمولی داره تو زمان بندی و مدیریت اجرای پروسس هاشه. یکی بحث همون deadline هست یعنی یه cpu موظفه یه پروسس خاص رو توی یه زمان تعیین شده تموم کنه وگر نه اون پروسس fail میشه. در صورتی که مثلا در ویندوز هیچ محدودیتی در به اتمام رسوندن یه پروسس در یه زمان خاص وجود نداره و این کاملا بسته به اینکه سیستم چقدر مشغول باشه یا پروسس چقدر حجیم باشه متغییر هست.
        یکی هم بحث زمان بندی و اولویت بندی پروسس هاشه(البته این تو هر سیستم عامل دیگه ای هم هست ولی تو بلادرنگ فرق میکنه )
        Work with what you have .Never limit yourself by things you could have had

        دیدگاه

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