NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3933 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 17 از 17

موضوع: پروگرام کردن میکرو توسط میکرو دیگر

  1. #1
    عضو جدید
    تاریخ عضویت
    Jan 2011
    نوشته ها
    6
    تشکر
    1
    تشکر شده 5 بار در 5 پست

    پیش فرض پروگرام کردن میکرو توسط میکرو دیگر

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

  2. تشکرها از این نوشته :


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  4. #2
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    بله دایی جان ! امکانش هست ! خیلی ساده در حد خوردن ماست !
    ولی این دقیقا بر میگرده به توانایی شما در برنامه نویسی !
    من دو تا راه حل پیشنهاد میدم ،
    راه حل اول :
    این راه حل مبتنی بر پروگرام دیگر میکرو ها توسط یکی از میکرو ها هست ، خوب برای این کار می تونی میتونی یه حافظه خارجی قرار بدی و فایلی که باید روی میکرو های دیگه پروگرام بشه بریزی توش بعد بری سورس پروگرامر usasp رو گیر بیاری (این پروگرامر اپن سورس هست) و با یه کوچولو دست کاری برنامه و استفاده از توابع پروگرام میکرو ها رو انجام بدی ! به همین سادگی !
    راه حل دوم جامع تر :
    این راه حل بر اساس بوت لودر هست که برای میکرو هایی که استفاده کردی یه بوت لودر بنویسی که بشه پروگرامشون کرد ، وقتی نیاز به پروگرام شدن داشته باشن میکروی مستر یه کد بفرسته و میکروی اسلیو وارد قسمت بوت لود بشه و از اون به بعد دیگه برنامه ریزیش آسون میشه !

  5. کاربران : 8 تشکر کرده اند از شما agape برای ارسال این پست سودمند:


  6. #3
    عضو جدید
    تاریخ عضویت
    Dec 2011
    نوشته ها
    10
    تشکر
    4
    تشکر شده 0 بار در 0 پست

    New

    سلام جناب مدیر:
    میخواستم ببینم این کاری که میفرمایید رو خودتون انجام دادین؟
    من الان در یک پروژه شدیدا به این کار احتیاج دارم
    حدودا 100 تا mega8 دارم که همه روی pcb قرار میگیرند
    حالا من برای پروگرام کردن این 100 تا میکرو چکار میتونم بکنم
    در واقع یک برنامه که باید روی 100 تا میکرو پروگرام بشه.
    راستی یک mega32 به عنوان مستر با mega8 ها در ارتباطه(i2c)
    با تشکر

  7. #4
    عضو جدید
    تاریخ عضویت
    Dec 2011
    نوشته ها
    10
    تشکر
    4
    تشکر شده 0 بار در 0 پست

    New

    در ضمن توسط بوت لودر تونستم تنها یه میکرو را پروگرام کنم نه بیشتر.

  8. #5
    کاربر فعال M_GH آواتار ها
    تاریخ عضویت
    Mar 2012
    نام
    م. غیور
    نوشته ها
    314
    تشکر
    464
    تشکر شده 367 بار در 177 پست

    پیش فرض

    خیلی ممنون از جناب aqape
    منم هوس کرده بودم یه پروگرمر از راه دور بسازم (البته فعلا که پروژه در حال ساخت زیاد دارم)

    این لینک سایت usbasp
    http://www.fischl.de/usbasp/

    اینم لینک جدیدترین کد سورس (تو همون سایت هست)
    http://www.fischl.de/usbasp/usbasp.2011-05-28.tar.gz
    ویرایش توسط M_GH : 05-08-2012 در ساعت 11:53

  9. تشکرها از این نوشته :


  10. #6
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

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

    یه راه سخت افزاری هم هست! اگه می خوای 100 میکروی مثل همو پروگرم کنی می تونی پایه های miso ، mosi ، sck و rst همه رو به هم وصل کنی و بعد با یه حرکت پروگرمشون کنی ، فقط باید حواست باشه که جریان مدار در زمان پروگرم کردن کم نیاد.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  11. تشکرها از این نوشته :


  12. #7
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    نقل قول نوشته اصلی توسط morteza_rk نمایش پست ها
    یه راه سخت افزاری هم هست! اگه می خوای 100 میکروی مثل همو پروگرم کنی می تونی پایه های miso ، mosi ، sck و rst همه رو به هم وصل کنی و بعد با یه حرکت پروگرمشون کنی ، فقط باید حواست باشه که جریان مدار در زمان پروگرم کردن کم نیاد.
    روش خوبیه ولی یک محدودیت داره. وقتی 100 تا ورودی به هم وصل میشن، ظرفیت سلفی و خازنی باس هم 100 برابر میشه و ممکنه با سرعت مورد نظر ما پروگرم انجام نشه. چون پالس بهم میخوره. البته شاید مقدار ظرفیت خازنی خط اونقدر هم زیاد نشه و کارکنه. 100 تا خیلی زیاده وگرنه جواب میده. درضمن قابلیت چک کردن برنامه ریخته شده هم وجود نداره و ممکنه برنامه ریزی ناقص هم انجام بشه و خدا نکرده معلول از کار در بیاد

    به نظر من اگه به این مشکلها خوردین، باید با جامپرهایی در هر نوبت میکروهای محدودی رو به خط پروگرم وصل کنید و به قول دوستمون آدرس بوتلودر رو عوض کنید تا بشه صحت برنامه رو چک کرد

  13. #8
    عضو جدید
    تاریخ عضویت
    Dec 2011
    نوشته ها
    10
    تشکر
    4
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام
    با تشکر از همه دوستان
    این تعداد میکرو (100تا) حد اقل تعداد میکرو هاست
    در واقع این تعداد تا 600 تا ممکنه افزایش پیدا کنه
    واسه همین هم دنبال روشی هستم که بشه این 600 تا میکرو را بگونه ای مطمءن پروگرام کرد.
    ظاهرا استفاده از ارتباط سریال و بوت لودر جهت این کار توصیه شده تره.
    اما این کار بسیار زمان بر هست (البته با روش من)
    اگر ممکنه روشی سریع برای این کار ارایه بدید
    مثلا روشی ک بشه این تعداد میکرو بصورت موازی توسط (rx tx( به طور همزمان پروگرام بشن
    باتشکر
    ویرایش توسط mhn.b : 05-08-2012 در ساعت 17:27

  14. #9
    کاربر فعال M_GH آواتار ها
    تاریخ عضویت
    Mar 2012
    نام
    م. غیور
    نوشته ها
    314
    تشکر
    464
    تشکر شده 367 بار در 177 پست

    پیش فرض

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

  15. #10
    عضو جدید
    تاریخ عضویت
    Dec 2011
    نوشته ها
    10
    تشکر
    4
    تشکر شده 0 بار در 0 پست

    پیش فرض

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

  16. #11
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

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

    ولی بازم باید یه راهی وجود داشته باشه. پس این شرکت هایی که تولید انبوه دارن چجوری میکروهاشونو پروگرم می کنن؟ تک تک که با عقل جور در نمیاد.

    راستی نمیشه بجای اینکه تک تک میکروهارو پروگرم کنی بایت ها رو تک تک براشون فرستی؟

    منظورم اینه : بایت اول به میکروی اول ، بایت اول به میکروی دوم ، بایت اول به میکروی سوم ، بایت اول به میکروی چهارم .... تا اینکه تمام میکروها بایت اول رو بگیرن ، بعد بری سراغ بایت دوم و ...
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  17. #12
    کاربر فعال M_GH آواتار ها
    تاریخ عضویت
    Mar 2012
    نام
    م. غیور
    نوشته ها
    314
    تشکر
    464
    تشکر شده 367 بار در 177 پست

    پیش فرض

    اینجوری گمونم سرعتش زیادم از سرعت تک تک بیشتر در نیاد!


    من میگم که شما چند خط پروگرم هرکدوم جدا رو راه بندازی که همزمان پروگرم کنن (هرخط رو یک میکرو پروگرم کنه) اینجوری سرعت کار رو ببری بالا که کیفیتش هم پایین نیاد

    یا اینکه میتونی یک برنامه کم حجم بوت لودر رو روش بریزی بعدش از طریق i2c (که سرعتش هم بالاست)
    مثلا 100 تا 100 تا پروگرم کنی بعدش نوبتی چک کنی مثلا میکرو 1 رو چک کنی بعدش آزادش کنی بری سراغ میکرو 2 و ...

    یا اینکه یه جوری باشه که تمامی بایت ها همزمان مثلا 5 بار به همه میکرو ها فرستاده بشه اونوقت میکرو خودش خودش رو چک کنه

  18. #13
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    شما میخواهید یک پروگرمر صنعتی تولید کنین یا میخواهید که یک مجموعه از میکرو ها رو پروگرم کنید و مثلا یه چیزی مثل یک مانیتور تبلیغاتی درست کنید.
    برای حالت اول نمیشه از بوت لودر استفاده کرد ولی برای حالت دوم بهتره از بوت لودر و به روش پایپ لاین یا خط لوله ای پروگرام کنید. یعنی اگه 10 تا میکرو دارین در حالی که میکرو 9 داره بایت اول رو رو میکرو 10 میریزه، میکرو 1 داره بایت 9 رو در میکرو 2 پروگرم میکنه و خود میکرو 1 داره بایت دهم رو میگیره.
    برای این کار باید هر میکرو یک گذرگاه ورودی و یک خروجی داشته باشه.
    شبیه پردازشی که در پردازنده ها انجام میشه

  19. #14
    عضو جدید
    تاریخ عضویت
    Oct 2012
    نوشته ها
    7
    تشکر
    0
    تشکر شده 6 بار در 5 پست

    پیش فرض

    سلام
    من یک atmega16 دارم که روی اون بوت لودر دارم و با استفاده از کامپیوتر برنامه را برای بوت لودر ارسال می کنم و به درستی کار می کنه .
    حالا میخوام کاری کنم که میکرو خودش خودش را پروگرام کنه . فرض می کنیم فایل hex دورن یک حافظه جانبی هست و میکرو میخواد اون فایل رو روی بوت لودر خودش بریزه ! میشه ؟ اگر میشه باید چکار کنم ؟ از bascom استفاده می کنم ، کدنویسی به چه شکل هست ؟ با خواندن فایل hex از حافظه مشکلی ندارم اما نمیدونم چجوری باید این فایل را به خورد بوت لودر بدم

    مرسی

  20. #15
    کاربر فعال ppittl آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اکبری
    نوشته ها
    138
    تشکر
    44
    تشکر شده 72 بار در 46 پست

    پیش فرض

    نقل قول نوشته اصلی توسط nicolas1390 نمایش پست ها
    سلام
    من یک atmega16 دارم که روی اون بوت لودر دارم و با استفاده از کامپیوتر برنامه را برای بوت لودر ارسال می کنم و به درستی کار می کنه .
    حالا میخوام کاری کنم که میکرو خودش خودش را پروگرام کنه . فرض می کنیم فایل hex دورن یک حافظه جانبی هست و میکرو میخواد اون فایل رو روی بوت لودر خودش بریزه ! میشه ؟ اگر میشه باید چکار کنم ؟ از bascom استفاده می کنم ، کدنویسی به چه شکل هست ؟ با خواندن فایل hex از حافظه مشکلی ندارم اما نمیدونم چجوری باید این فایل را به خورد بوت لودر بدم

    مرسی
    توی avr صفحه ها 128 بایتی هستند
    اگر بخواهی میکرو خودش رو پروگرام کنه میشه و صد البته هم که میشه
    باید برنامه بوت رو خودت تغییر بدی ترجیحا اسمبلی باید بنویسی حجم کد بوت نباید زیادتر از حد مجاز بشه
    اول بوت باید چک کنی صحت برنامه روی مثلا حافظه رو ، با قراردادی که خودت تعیین میکنی
    مثلا چک سام رو چک کنه و ... از این جور موارد
    بعد باید 128 بایت 128 بایت بخونی و صفحه مورد نظر رو پروگرام کنی و الی آخر
    فقط فکر این مورد رو هم باید بکنی که اگر برنامه ریخته شده صحیح نبود بشه دوباره پروگرام کنی
    موفق باشی

  21. #16
    تازه وارد
    تاریخ عضویت
    Jul 2013
    نوشته ها
    1
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    نقل قول نوشته اصلی توسط agape نمایش پست ها
    بله دایی جان ! امکانش هست ! خیلی ساده در حد خوردن ماست !
    ولی این دقیقا بر میگرده به توانایی شما در برنامه نویسی !
    من دو تا راه حل پیشنهاد میدم ،
    راه حل اول :
    این راه حل مبتنی بر پروگرام دیگر میکرو ها توسط یکی از میکرو ها هست ، خوب برای این کار می تونی میتونی یه حافظه خارجی قرار بدی و فایلی که باید روی میکرو های دیگه پروگرام بشه بریزی توش بعد بری سورس پروگرامر usasp رو گیر بیاری (این پروگرامر اپن سورس هست) و با یه کوچولو دست کاری برنامه و استفاده از توابع پروگرام میکرو ها رو انجام بدی ! به همین سادگی !
    راه حل دوم جامع تر :
    این راه حل بر اساس بوت لودر هست که برای میکرو هایی که استفاده کردی یه بوت لودر بنویسی که بشه پروگرامشون کرد ، وقتی نیاز به پروگرام شدن داشته باشن میکروی مستر یه کد بفرسته و میکروی اسلیو وارد قسمت بوت لود بشه و از اون به بعد دیگه برنامه ریزیش آسون میشه !
    salam man niaz daram ke betoonam ye micro ro tavasote FPGA program konam
    VHDL baladam ama az micri matalebe kami midoonam
    in source ke shoma gozashtid mitoone mano raahnamaii kone?
    ba arze khejalat koodoom ghesmatesh codeshe va ba che narmafzari bayad baazesh konam

  22. #17
    کاربر علاقه مند serjik آواتار ها
    تاریخ عضویت
    Jan 2013
    نوشته ها
    51
    تشکر
    39
    تشکر شده 23 بار در 19 پست

    پیش فرض

    سلام
    شاید "JTAG Daisy-chaining" جواب کار شما را بدهد
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: snapshot4.jpg
مشاهده: 35
حجم: 34.2 کیلو بایت



    Atmel Corporation - Technical Support

    AVR Freaks :: View topic - Using single Socket to program multiple Microcontrollers

موضوعات مشابه

  1. چک کردن برق سه فاز توسط avr
    توسط amin69 در انجمن AVR
    پاسخ: 13
    آخرين نوشته: 02-04-2014, 02:41
  2. [خبر] چاپ بُرد مدار الکترونیکی توسط چاپگر سه بعدی ex1
    توسط Ma3ood در انجمن گفت و گوي آزاد
    پاسخ: 2
    آخرين نوشته: 15-11-2013, 14:27
  3. بلوکه شدن ip توسط سرور
    توسط sajjad_AD در انجمن گفت و گوي آزاد
    پاسخ: 10
    آخرين نوشته: 09-04-2012, 20:50
  4. پاسخ: 5
    آخرين نوشته: 21-06-2010, 17:01
  5. کنترل نور led توسط pwm و adc
    توسط M3R در انجمن AVR
    پاسخ: 14
    آخرين نوشته: 07-02-2010, 21:27

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •