آموزش اتصال کارت حافظه به میکروکنترلر AVR با کدویژن CodeVision

در این پروژه به شما نحوه اتصال برقرار کردن کارت حافظه SD را به میکروکنترلرهای AVR را آموزش خواهیم داد.

sdcard_thumb

پایه ها و پورت های IO کارت حافظه SD

پایه نام عملکرد (حالت SD) عملکرد (حالت SPI)
1 DAT3/CS Data Line 3 Chip Select/Slave (SS)
2 CMD/DI Command Line Mater Out Slave In (MOSI)
3 VSS1 Ground Ground
4 VDD Supply Voltage Supply Voltage
5 CLK Clock Clock (SCK)
6 VSS2 Ground Ground
7 DAT0/DO Data Line 0 Master In Slave Out (MISO)
8 DAT1/IRQ Data Line 1 Unused or IRQ
9 DAT2/NC Data Line 2 Unused

مهم ترین دستورات کارت حافظه SD

دستور Argument نوع پاسخ به دستور توضیحات
CMD0 None R1 کارت را به تنظیم مجدد و پیش فرض و حالت غیر فعال خود باز می گرداند.
CMD16 32-bit Block Length R1 انتخاب طول بلوک
CMD17 32-bit Block Address R1 خواندن یک بلوک
CMD24 32-bit Block Address R1 نوشتن یک بلوک
CMD55 None R1 دستور بعدی مربوط به نرم افزار (ACMDXX) می باشد.
CMD58 None R3

خواندن OCR

(Operating Conditions Register)

ACMD41 None R1 مقداردهی اولیه

مقداردهی اولیه کارت حافظه SD

این کار زمانی انجام می شود که کنترل SPI سیگنال ساعت به 400 کیلوهرتز تنظیم شود که این کار برای انجام به کارت های حافظه SD و MCC نیازمند می باشد. سپس دستور در CMD0 در زمانی که کارت وارد شده CS (در سطح L) ریست می شود. بایت CRC برای دستور CMD0 و دستور آرگیومنت صفر، به صورت 0x95 می باشد. دستور CMD58؛ برای مثال ما می خواهیم بررسی کنیم که آیا کارت حافظه می تواند از ولتاژ یکسان خود میکروکنترلر (بین 2.7 تا 3.6 ولت) استفاده کند یا نه.

بخش برنامه نویسی

ارتباط برقرار کردن کارت حافظه با میکرو

مقداردهی اولیه SPI

برنامه برای فرستادن یا دریافت کردن یک بایت از طریق SPI

برنامه برای فرستادن یک دستور فریم

برنامه برای مقداردهی اولیه کارت حافظه

نوشتن بر روی کارت حافظه

در این برنامه اگر دستور به خطایی بر بخورد، به 1 و اگر به موفقیت انجام شود به 0 بر می گردد.

خواندن از روی کارت حافظه

در این برنامه اگر دستور به خطایی بر بخورد، به 1 و اگر به موفقیت انجام شود به 0 بر می گردد.

یک نمونه برنامه برای یادگیری بهتر

اشتراک در
اطلاع از
guest
1 دیدگاه
تازه‌ترین
قدیمی‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
رسول
رسول(@google_rasoulsalimian)
عضو
یکشنبه، ۲۵ دی ۱۴۰۱ ۲۲:۲۴:۰۶
امتیاز :
     

سلام
bv چیه؟؟؟؟؟؟؟؟؟

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

29
0
افکار شما را دوست داریم، لطفا نظر دهید.x
()
x