اطلاعیه

Collapse
No announcement yet.

میکرو کنترلر داخل fpga

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

    میکرو کنترلر داخل fpga

    سلام
    این طور که معلومه میشه یه مبکرو کنترلر رو داخل یه fpga پیاده یازی کرد....
    اون طوری که فهمیدم(با توجه به لینک زیر) ...انگار میشه 2 تا میکرو کنترلر داخل fpga ایجاد کرد.........
    http://www.fpga4fun.com/spoc1.html


    حالا سوالم اینه که میشه avr رو هم داخل fpga ساخت؟؟؟؟
    یا اصلا میکروکنترلری میشه تو fpga ساخت که زبون برنامه نویسیش c باشه؟؟؟؟(فک کنم اینا به صورت core باید موجود باشن.....زیاد خودم هم دقیقا نمیدونم)

    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    #2
    پاسخ : میکرو کنترلر داخل fpga

    نوشته اصلی توسط md3848

    حالا سوالم اینه که میشه avr رو هم داخل fpga ساخت؟؟؟؟
    یا اصلا میکروکنترلری میشه تو fpga ساخت که زبون برنامه نویسیش c باشه؟؟؟؟(فک کنم اینا به صورت core باید موجود باشن.....زیاد خودم هم دقیقا نمیدونم)
    برای قسمت اول سوالتون این پست رو ببنید

    http://www.eca.ir/forum2/index.php?topic=61677.msg354848#msg354848

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

    تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
    داشتن عقله زيادتر از دیگر آدم ها است

    دیدگاه


      #3
      پاسخ : میکرو کنترلر داخل fpga

      میشه.چرا که نه؟
      میکروکنترلر PICO BLAZE یا MICRO BLAZE که مال خود شرکت XILINX هستش رو میشه پیاده کرد روشون با زبان C هم برنامه نوشت براش(که خیلی سخته پیاده سازیش)
      خودم پروژه ی کارشناسیم پیاده سازی یه میکروکنترلر 32 بیتی بود.اینی که پیاده کردم با امکانات میشه گفت خوبش روی تراشه ی XC3S400 میشه 5 تا پیاده کرد.
      ینی یه پردازنده ی 32 بیتی 5 هسته ای :nice:

      AVR و... که خیلی سبکتر میشن و تعداد خیلی خیلی بیشتر هم میشه توشون جا داد.منتها باید طراحی کنی و از معماری AVR یا هر پردازنده ی دیگه هم گاهی داشته باشی :nerd:

      دیدگاه


        #4
        پاسخ : میکرو کنترلر داخل fpga

        شدنش که میشه. اما یک نکته ای رو تو ذهنت داشته باش. هر چیزی جای خودش کاربرد داره و به وقت خودش.
        قرار نیست که از FPGA به عنوان میکروکنترلر استفاده بشه حالا چه توش یکی باشه چه چند تا. هزینه یک FPGA و مکافات PCB زدن براش رو در نظر بیری می بینی که اصلا به صرفه نست به جای AVR استفاده بشه.
        به نظر من این کارای فانتزی بیشتر برای کسایی هستش که برای علاقه شون به FPGA این کارهارو می کنند.
        البته اینم بگم یک سری از قطعات هستند که ترکیبی از میکروکنترلر و FPGA هستند که اونا بحثشون جداست.
        ---------
        .
        .
        ...........

        دیدگاه


          #5
          پاسخ : میکرو کنترلر داخل fpga

          نوشته اصلی توسط ajapyy
          شدنش که میشه. اما یک نکته ای رو تو ذهنت داشته باش. هر چیزی جای خودش کاربرد داره و به وقت خودش.
          قرار نیست که از FPGA به عنوان میکروکنترلر استفاده بشه حالا چه توش یکی باشه چه چند تا. هزینه یک FPGA و مکافات PCB زدن براش رو در نظر بیری می بینی که اصلا به صرفه نست به جای AVR استفاده بشه.
          به نظر من این کارای فانتزی بیشتر برای کسایی هستش که برای علاقه شون به FPGA این کارهارو می کنند.
          البته اینم بگم یک سری از قطعات هستند که ترکیبی از میکروکنترلر و FPGA هستند که اونا بحثشون جداست.
          توی کارهای بسیار بزرگ که شما یک مدار پرسرعت پیچیده دارید و میخواهید قسمت های مختلف اونو کنترل کنید چاره ای جز استفاده از میکروکنترلر در کنار مدارات Custom نیست، در بسیاری از پروژه های صنعتی که با FPGA پیاده سازی شده اند از یک یا حتی چند میکروکنترلر در کنار یک مدار Custom در FPGA استفاده شده است، دلیلش هم کاملا مشخص است، شما اگه بخوایی یه کنترل خیلی پیچیده رو در سطح ساختاری و یا حتی رفتاری پیاده سازی کنی یا اصلا شدنی نیست ، یا اگرم اینکارو بکنی اینقدر منبع تو FPGA مصرف میشه و Routing ش زیاد میشه که مجبور میشی بری یه FPGA بزرگتر بگیری حتا، ضمن اینکه فرایند طراحی، تست و شبیه سازی هم بسیار مشکل و پیچیده خواهد شد.

          دلیل بعدی که نیاز هست حتما از یک پردازنده در کنار مدارات Custom استفاده بشه برنامه پذیری و قابلیت انعطاف پذیری بالای پردازنده هست، یک Firewall و یا Router سخت افزاری رو در نظر بگیرید که دارای چندین پورت پرسرعت 10 گیگابیت بر ثانیه هست، در چنین مواردی استفاده از مدار Custom برای انتقال اطلاعات میان پورت ها اجتناب ناپذیر هست، اما سیستم کنترل رو به هیچ وجه نمیشه ساختاری یا رفتاری توصیف کرد ! چون باید توسط کاربر برنامه ریزی شود، نمیتونیم به کاربر بگیم برو VHDL یا Verilog یاد بگیر که ؟!

          اهمیت وجود ریزپردازنده در FPGA ها به قدری هست که مثلا شرکت Xilinx سری Zynq رو تولید کرد که توش 2 تا پردازنده سخت افزاری ARM هست ، یا سری Virtex5 که بعضی پارت هاش دارای یک یا 2 پردازنده PowerPC می باشند.
          فتو بلاگ من
          کاردستی ها :
          روبات شطرنج باز ( یادگار دوران جوانی )
          فارسی نویسی مستقیم در نمایشگر های گرافیکی
          کتابچه خود آموز زبان توصیف سخت افزار Verilog

          دیدگاه


            #6
            پاسخ : میکرو کنترلر داخل fpga

            الان شما منتقد حرف من بودید یا موافقش ؟ oo:
            اینکه یکی میکرو داخل FPGA باشه یا اینکه کنارش باشه با اینکه داخلش برنامه نویسی بشه خیلی فرق داره.
            منظور من اینه که نمی صرفه مثلا داخل FPGA بیای و میکروکنرلر رو ایحاد کنی با نرم افزار. اما درسته در کنار FPGA از میکروکنترلر هم استفاده می کنند. و البته همونطور که گفتم :
            البته اینم بگم یک سری از قطعات هستند که ترکیبی از میکروکنترلر و FPGA هستند که اونا بحثشون جداست.
            ---------
            .
            .
            ...........

            دیدگاه


              #7
              پاسخ : میکرو کنترلر داخل fpga

              نوشته اصلی توسط ajapyy
              الان شما منتقد حرف من بودید یا موافقش ؟ oo:
              اینکه یکی میکرو داخل FPGA باشه یا اینکه کنارش باشه با اینکه داخلش برنامه نویسی بشه خیلی فرق داره.
              منظور من اینه که نمی صرفه مثلا داخل FPGA بیای و میکروکنرلر رو ایحاد کنی با نرم افزار. اما درسته در کنار FPGA از میکروکنترلر هم استفاده می کنند. و البته همونطور که گفتم :
              اینکه یک میکروکنترلر یا هر نوع ریز پردازنده دیگری بصورت یک تراشه جدا در کنار FPGA باشه ، از نظر قیمت تمام شده محصول شاید به صرفه باشه، اما در کاربرد های پرسرعت جدا بودن ایندو از هم مشکلات فراوانی ایجاد میکنه.

              ضمننا نمیتوان بطور کلی نظر داد که نمیصرفه داخل FPGA یک میکروکنترلر بصورت Soft-Core ( چیزی که مد نظر شماست ) پیاده سازی کرد، همونطور که گفتم، مسائل کنترلی پیچیده بدون پیاده سازی پردازنده درون FPGA به راحتی قابل حل نیستند، اگر محصول مورد طراحی قابل پیاده سازی با میکروکنترلر باشه ( به تنهایی ) ، اصلا نیازی به FPGA نیست و نباید رفت سمتش.
              در حال حاضر Soft-Core های بسیار زیادی با کامپایلر، مستندات، و کلی پریفرال و ... توسط شرکت ها و گروه های مختلف توسعه داده می شند، picoBlaze,Microblaze,Nios,zpu,openRisc,LEON و ...
              برای برخی از softcore های معروف همچون LEON,OpenRISC و Microblaze ، هسته لینوکس هم پورت شده و باقی قضایا.

              این گستردگی، و وجود ابزار های فراوان نشان از اهمیت و کاربرد بالای پردازنده های soft-core داره.

              پردازنده های Hardcore هم تا جایی که من اطلاع دارم از شرکت Xilinx فقط سری Zynq هست، Virtex5 بطور کلی Discontinue شده.
              فتو بلاگ من
              کاردستی ها :
              روبات شطرنج باز ( یادگار دوران جوانی )
              فارسی نویسی مستقیم در نمایشگر های گرافیکی
              کتابچه خود آموز زبان توصیف سخت افزار Verilog

              دیدگاه


                #8
                پاسخ : میکرو کنترلر داخل fpga

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

                دیدگاه


                  #9
                  پاسخ : میکرو کنترلر داخل fpga

                  با توجه به صحبت دوستان و اینکه نباید متحجر باشیم، من قبول کردم که استفاده از میکروکنترلر به صورت نرم افزاری داخل FPGA می تونه فایده داشته باشه.
                  ---------
                  .
                  .
                  ...........

                  دیدگاه


                    #10
                    پاسخ : میکرو کنترلر داخل fpga

                    نوشته اصلی توسط ajapyy
                    با توجه به صحبت دوستان و اینکه نباید متحجر باشیم، من قبول کردم که استفاده از میکروکنترلر به صورت نرم افزاری داخل FPGA می تونه فایده داشته باشه.
                    یکی از ویژگی های مورد توجه fpga که مخصوصا در صنایع هوا فظا و نظامی بسیار مورد اهمیت داره پلی مورفیسم یا چند ریختی بودن این المان ها است .
                    یعنی میگن fpga را تو یک سیستم قرار میدن که یک مدت میکرو کنترلر باشه بعد تبدیل بشه به یک فیلتر بعد تبدیل بشه به یک converter و بعد تبدیل بشه میکروپروسسور یک لحضه بعد بشه mmi
                    تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                    داشتن عقله زيادتر از دیگر آدم ها است

                    دیدگاه


                      #11
                      پاسخ : میکرو کنترلر داخل fpga

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

                      دیدگاه

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