PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کمک برای ایجاد پروتکل spi با 8051



mostafa_s
07-10-2011, 18:50
سلام دوستان می خوام با استفاده از 8051 ، mmc رو راه اندازی کنم و نیاز به ایجاد spi به صورت نرم افزاری دارم کسی هست که در مورد نحوه ارتباط spi با سیستم ها دیگه اطلاعاتی داشته باشه؟

sadmonew
07-10-2011, 18:56
با سلام به شما دوست عزيز
فكر ميكنم ديگه استفاده از 8051 تو پروژه ها منسوخ شده. البته شايد شما براي كار خاصي ميخواي از 8051 استفاده كني؟ امان از دست اين استاداي دانشگاه كه هنوزم تو فكر استفاده از 8051 هستن.:018:



________________________
برنامه نويسي، الكترونيك(PE) (You can see links before reply)
________________________

esisafa
08-10-2011, 01:15
راستش رابط spi خیلی خفنه و شاید و شاید با شیفت رجیستر خارجی موازی به سری بشه اونو شبه سازی کرد
چونکه اطلاعات حلقوی جریان داره یعنی وقتی یک بایت رو میفرستیم بعد از اینکه اون بایت به گیرنده رسید دوباره دریافت میشه توسط فرستنده و در حلقه بر میگرده بعد از 16 کلاک
البته شاید بشه با برنامه هم شبیه سازی کرد. باید آزمایش کرد

mostafa_s
08-10-2011, 10:52
تنها راه بوجود آوردن این رابط در 8051 شیفت رجیستر هاست ولی این مطلب رو که اطلاعات به صورت حلقه جریان داره رو میشه بیشتر توضیح بدید؟:mrgreen:

esisafa
08-10-2011, 11:21
وقتی داده در شیفت رجیستر فرستنده قرار میگیره و آماده ی فرستادن میشه. با 8 پالس به گیرنده میرسه و در شیفت رجیستر گیرنده قرار میگیره. حالا اگر 8 تا پالس دیگه ادامه پیدا کنه همون داده دوباره به فرستنده بر میگرده. این مسیرای رفت و برگشت همون miso و mosi هستن
پایه های clk و ss هم که معلومه
فقط نمیدونم لازمه حتما داده ها به گیرنده برگردن یانه
یعنی گیرنده و فرستنده با هم یک شیفت رجیستر 16 بیتی رو تشکیل میدن که خروجی یکی ورودی دیگری هست
تو اینترنت و سایت atmel یک سرچی بزن سیگنالاشو برسی کن میفهمی

ghaem313
08-10-2011, 21:28
به چه زباني مي خواي
اتفاقا خيلي راحته

mostafa_s
12-10-2011, 13:13
می خواستم به زبان اسمبلی بنویسم. ولی خب راهشو پیدا کردم. پروتکل isp دارای یک رجیستر که اطلاعات رو می تونه به صورت سنکرون ارسال کنه. و عمل کردش به این صورت که وقتی اطلاعات داخل رجیستر بار گزاری میشه اطلاعات به سیستم slave شیفت داده میشه و همزمان slave میتونه اطلاعاتش رو به رجیستر master شیفت بده به این صورت که اگر اطلاعت از master از MSB شیفت داده بشن همزمان slave می تونه اطلاعات خودشه به LSB رجیستر master شیفت بده. که دلیل این هماهنگی میتونه سنکرون سازی کلاک از طریق master باشه. چون slave با کلاک master اطلاعات رو شیفت میده.

ghaem313
12-10-2011, 15:54
حالا كه در مورد اين پپروتكل مطالعه كردي راحت مي توني برنامه را بنويسي
البته اين پروتكل ميتونه 4 حالت داشته باشه بر مبناي نمونه برداري و نمونه گذاري در لبه ها پايين رونده يا بالا رونده
و دو حالت ارسال msb يا lsb در ابتدا
و در نهايت master يا slave بودن

كه بهتره شما وسيله اي كه قراره باهاش ارتباط برقرار كني را بررسي كني و برنامه را براش بنويسي

اتمل يه فايل به اسم avr320 داره كه pdf توضيحات و سورس اسمبلي براي spi 16 بيتي را داده. براي ارتباط با حافظه هاي eeprom خودش تهيه شده
avr320 را تو گوگل بزن و دانلودش كن و با تغييرش راحت مي توني براي 8051 ازش استفاده كني

esisafa
12-10-2011, 17:37
میگم حالا که برای شما مثل آب خوردن شد میتونین پورت سریال هم به pdi تبدیل کنین
اینم مدلیه که خود اتمل گفته.(پیوست)
فقط یکم برنامه لازم داره برای راه اندازیش به صورت pdi
اگه یک هدر براش بنویسیم که خیلی عالی میشه مخصوصا برای ارتباط با xmega از طریق pdi

ghaem313
13-10-2011, 00:01
میگم حالا که برای شما مثل آب خوردن شد میتونین پورت سریال هم به pdi تبدیل کنین
اینم مدلیه که خود اتمل گفته.(پیوست)
فقط یکم برنامه لازم داره برای راه اندازیش به صورت pdi
اگه یک هدر براش بنویسیم که خیلی عالی میشه مخصوصا برای ارتباط با xmega از طریق pdi

من كه نگفتم مثل آب خوردنه گفتم راحته. يعني بدون درد سر ميشه برنامه براش نوشت و برنامه تست شده زياده كه نمونه اش براي avr وجود داره و به زبان c هم براي راه اندازي rfm12 رو اكثرا ديدن

اما در رابطه با pdi
pdi يه پروتكل عمومي كه نيست. فقط براي پروگرم و ديباگ كردن xmega به كار ميره
اما اگر تمايل به بحث داريد تو بخش خودش يه تاپيك بزنيد

esisafa
13-10-2011, 12:17
بله سر فرصت باید یک تاپیک برای راه اندازی pdi با mega8 راه بندازیم تا در آینده شاید بشه usbasp رو برای xmega هم راه انداخت. اگه کسی خواست کار کنه یکم از راحو رفته باشیم