تبلیغات
کانون فرهنگی بسیج دانشجویی دانشگاه آزاد اسلامی واحد دزفول
اتصال حافظه MMC به AVR

طرز اتصال یک حافظه MMC رو به یک میکروکنترلر AVR آموزش دهم. همیشه یکی از مشکلاتی که در بیشتر پروژه های الکترونیکی وجود دارد کم بودن حافظه می باشد مثلا برای ساخت یک رکوردر صدا با یک میکروکنترلر نیاز به حافظه با حجم بالا می باشد و نیاز به نوعی از حافظه می باشد که با قطع تغذیه اطلاعات آن پاک نشود. آی سی های حافظه زیادی در بازار وجود دارند که دارای ظرفیت زیادی هستند ولی MMC به دلیل حجم زیاد و سرعت بالا و در دسترس بودن و نیز ارزان بودن از همه آی سی های موجود مقرون به صرفه تر می باشد. و چون به صورت کارت می باشد دارای مزیت هایی نسبت به آیسی های حافظه می باشند.

کارت های فلش دارای انواع مختلف می باشند مثل SD و MMC و .... دو نمونه از این کارت ها در شکل زیر می بینید:


نمای زیرین این کارت ها هم به این صورت می باشد
کارت MMC موجود در عکس دارای پایه هستش که وقتی پایه اونو جدا کنیم اندازش نصف می شه.

من کارتی رو که به میکرو وصل کردم و جواب گرفتم کارت MMC هست که در تصویر بالا می بینید .SD هم تست کردم ولی درست جواب نمیده شاید اشکال از کامندهای اون باشه . به شما پیشنهاد میکنم MMC بگیرین تا به مشکل بر نخورین. شماره پایه MMC به صورت زیر می باشد:



ارتباط با این کارت ها به صورت سریال هست و در دو مود SPI و MMC کار می کنه و چون آیسی های میکروکنترلر AVR دارای سخت افزار SPI میباشند می توانند با مد SPI با MMC ارتباط برقرار کنند.نحوه اتصال MMC به میکروکنترلر ATMEGA16 در شکل زیر می بیند:



تغذیه MMC 3.2 ولت هستش که توسط یک رگولاتور ترانزیستوری که در شکل می بینید ساخته می شود. چون تغذیه میکروکنترلر 5 ولت و تغذیه MMC 3.2 ولته برای تبدیل سطح از تقسیم مقاومتی استفاده شده است که در شکل بالا می بینید.

سورس های زیادی در اینترنت برای ارتباط با MMC وجود دارند که من تعداد زیادی از آنها را گرفتم و تست کردم و جواب گرفتم و بیشتر سورس ها به زبان C هستش ولی با WinAVR یا برنامه های دیگه نوشته شده و با CodeVision سازگاری ندارند که با کمی تغییرات می شه سورس ها رو داخل CodeVision آورد و کامپایل کرد. من یک نمونه از این سورس ها رو با اندکی تغییرات داخل CodeVision آوردم و توابع مربوط به نوشتن و خواندن را داخل یک فایل جدا به نام mmc.h قرار دادم تا بشه از اون در پروژه های دیگه هم استفاده کرد.

داخل این فایل دو تابع وجود دارد با نام های Write_MMC و Read_MMC که هر دوی این توابع یک عدد به عنوان آدرس بلاکی که دیتا باید در ان آدرس نوشته یا خوانده شود , می گیرند. اگر تابع Write_MMC فراخوانی شود مقادیر موجود در آرایه MMC_Buffer در آدرسی که در ورودی تابع تعیین شده نوشته می شود و اگر تابع Read_MMC فراخوانی شود از آدرسی که در ورودی تابع تعیین شده ۵۱۲ بایت از MMC خوانده می شود و در آرایه MMC_Buffer قرار داده می شود .



یک مثال با CodeVision نوشتم که طرز استفاده از این هدر فایل را نشان می دهد. همراه فایل پروژه یک فایل PDF است که کامندهای MMC را نشان می دهد.


دانلود سورس پروژه:

:كد
http://rapidshare.com/files/206719218/MMC_AVR_CodeVision.zip.html

| نظرات ( )

به اشتراک بگذارید :

 

ارسال شده توسط : بسیجی در تاریخ : یکشنبه 3 خرداد 1388 و ساعت : 12:00 ب.ظ
مرتبط با موضوع :
Display Pagerank