نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
مهدی دمیرچیلو

آموزش جامع میکروکنترلر AVR جلسه۷

به نام خدا

آموزش جامع میکروکنترلر AVR جلسه۷

موضوع این جلسه : ارتباط سریال SPI در AVR

موضوع جلسه بعد : چند تا پروژه در زمینه spi

آموزش جامع میکروکنترلر AVR جلسه7
 

آموزش میکروکنترلر avr


توضیح : مبحث SPI هم کارش تقریبا مثل USART هستش فقط یه کم باهاش تفاومت داره>>>هر کدوم از این روش ها کاربرد خاص خودشون رو دارند>>>مثلا برا اتصال SD CARD به میکرو باید از روش SPI استفاده کنید و برا بیشتر ماژول ها از USART >>>در کل هر کدوم جای خودشون کاربرد هایی دارند.
منم اصلا نمیخواستم این مطلب رو بزارم>>>ولی مجبور شدم>>>چون برا کار با LCD گرافیکی های بزرگ >>اگه بخوای توشون تصویر نشون بدی>>>با توجه به این که میکروکنترلر حافظش کم و محدود هستش ما میایم و به میکرو یه SD CARD وصل میکنیم و تصاویر رو در SD CARD ذخیره میکنیم و از این طریق تصاویر رو تو LCD نشون میدیم.
و به احتمال زیاد مطلب بعدی در مورد “آموزش اتصال SD CARD به میکرو” هستش.>>>و مطلب بعدی در مورد LCD گرافیکی های سری توشیا >>> انشاالله.

پایه های ارتباط سریال SPI در AVR

پایه های ارتباط سریال SPI در AVR
این عکسی که مشاهده میکنید مربوطه به mega16  و اون ۴ تا پایه که تو شکل مشخص کردم مربوطه به بحث ارتباط سریال SPI ، در زیر پایه ها رو مختصرا توضیح میدم.
SS : انتخاب SLAVE مورد نظر (با صفر فعال میشه.>>یعنی اگه پایه SS یه SLAVE رو صفر کنی>>به حالت انتخاب در میاد)
MOSI : پایه انتقال اطلاعات از MASTER به SLAVE
MISO : پایه انتقال اطلاعات از  SLAVE به MASTER
SCK : خط کلاکی که توسط MASTER ایجاد میشه
توجه : در کد نویسی باید ورودی خروجی بودن این پایه ها رو (مثل بقیه پایه ها) تعیین کنیم.
ورودی خروجی بودن پایه ها باید بر طبق جدول زیر باشد. (اگه ۴-۵ خط بالا رو بخونید و تصویر زیر رو نگاه کنید و نیم ثانیه فکر کنید >>کار جدول زیر رو میفهمید.)
ارتباط سریال SPI در AVR
 

مقدمه ای در مورد  مبحث SPI

مبحث SPI هم زیاد با USART فرق نداره (اه اه اه دماغم چرا داره بزرگ میشه؟؟؟) >>> هر کدوم جای خودشون کار برد هایی دارند.
تو مبحث USART میگفتیم فرستنده گیرنده اما در SPI میگیم Master_slave یعنی :
دستگاهی که فرستنده هستش رو میگن Master  و دستگاهی که گیرنده هست رو میگن Slave (نامردا اسم فرستنده گیرنده رو عوض کردن…^_^)
توجه : ما میتونیم با یک master شونصد تا (تعداد زیادی) slave رو کنترل کنیم و بهشون اطلاعات بدیم.
 

ریجستر های SPI

توجه : اونایی که با رنگ سبز مشخص کردم ، مهم هستن و با بقیه فعلا کاری نداریم.

ریجستر SPCR

 آموزش avr
 
 
بیت۰ و ۱ : تعیین تقسیم فرکانسی(تعیین فرکانس کاری SPI)>>>در جدول زیر بیت ۰ ریجستر SPSR رو هم ابردم(اگه یک بشه>>فکانس دوبرابر میشه)
 آموزش avr
بیت۲ : نمونه برداری از پایه های MOSI و MISO >>>صفر : لبه بالا رونده ___ یک : لبه پایین رونده
بیت۳ : وضعیت اولیه پایه ی SCK >>> صفر : پایه SCK صفر میشه ___ یک : پایه SCK یک میشه (البته اینا در صورتی هستن  که پالسی ارسال نمیشه)
بیت۴ : صفر : انتخاب مد SLAVE __ یک : انتخاب مد MASTER
بیت۵ : یک : ابتدا بیت LSB ارسال میشه  ___ صفر : ابتدا بیت MSB ارسال میشه
بیت۶ : یک : فعال کردن SPI ___ صفر : غیر فعال کردن SPI
بیت۷ : فعال شدن وقفه SPI (البته به شرط فعال بودن وقفه همگانی) >>> با یک شدن بیت SPIF واقع در ریجستر SPSR
 

ریجستر SPSR

 آموزش ساده avr
 
 
بیت ۰ :  با یک کردن این بیت>>فرکانس SCK در MASTER دو برابر میشه.
بیت ۱تا۵ :  رزرو شده(یعنی شما نمیتونید از این بیت ها استفاده کنید و باید بجاشون صفر قرار بدید.)
بیت ۶ :  اگه در حین انقال دیتا در ریجستر SPDR ، دیتای جدیدی نوشته بشه>>این بیت یک میشه.
بیت ۷ :  زمانی که دیتا به طور کامل ارسال شود >> این بیت یک میشه.
 

ریجستر SPDR

 آموزش ساده avr
 
 
خواندن و نوشتن دیتا توسط این ریجستر انجام میشود.
 
توجه توجه : عمل دریافت فرستادن اطلاعات(تو کد نویسی منظورمه)با تابع زیر صورت میگیره :

خب این تابع بالا به نظرتون داخلش چی هستش؟ هیچی یه چیز ساده، که این تابع بالا در کتابخونه spi.h تعریف شده(همون کتابخونه ای که باید در اول هر پروژه مربوط به spi قرارش بدیم)، این تابع در این کتابخونه تعریف شده و به صورت زیر هستش(که توضیحاتش رو هم داخل کد قرار دادم و…) :

 
خدایش ساده تر از این نمیشد گفت(تازه کلی سر و تهش رو هم زدم.)
موضوع جلسه بعد : چند تا پروژه در زمینه spi
در آخر مطلب مقابل رو هم ببینید خالی از لطف نیست : ارتباط سریال SPI پیکره بندی و سخت افزاری

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

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) پسورد فایل های سایت : www.dmf313.ir

  1. Avatar

    مهمان

    مهدی

    سلام
    ممنون از زحماتتون

1 2