|
||||||
ورود کاربرانمطالب پر بازدیدمحصولات پرفروشدسته هاآمار سایت |
یادش بخیر چندین سال پیش یکی از پروژه های مهم و البته مشکلی که هر برنامه نویس الکترونیک با اون درگیر بود ضبط صدا بود.کاربردهای زیادی میشه واسه ضبط صدا پیدا کرد مثلا سخنگو کردن وسایل! ، حرف شنو کردن وسایل! ، کاربردهای استراق اسمع و ... البته اون زمان به دلیل محدودیت های زیادی که در ضبط صدا وجود داشت بیشتر چنین ایده هایی به ذهن میرسید یعنی مدت زمان ضبط صدا و کیفیت ضبط صدا اونقدر کم بود که کاربردهایی مثل mp3 player و mp4 player کمتر به ذهن میرسید درواقع برای ضبط صدا گزینه های کمتری دراختیار داشتید که معروفترین حالت استفاده از آیسی ضبط صدا سری ISD بود که نسل اول اون میتونست تا 8 ثانیه صدا رو با کیفیت مناسب ذخیره کنه! البته در سری های بعدی این مدت زمان ضبط بیشتر شد و نیازی که موازی کردن آی سی ها رو (برای افزایش زمان ضبط) حذف کرد. کم کم استفاده از MMC مرسوم تر شد اون وقت ها خود مموری ها هم ظرفیت های چند گیگابایتی امروزی رو نداشتند اما بازهم بسیار بسیار ظرفیت بیشتری از ISD داشتند. ظرفیت حافظه بیشتر ، ابتکارات جدیدتری رو به ذهن ماها آورد و دیگه از سخنگو کردن اهم متر و روشن کردن کولر با دستور (روشن شو!) رو بیخیال شدیم و آرزومون شد ساختن wav player و mp3 player و بعدها mp4 player خوشبختاننه مموری کارت ها و SD کارتها قابلیت ارتباط با SPI رو داشتن برای همین میشد مستقیما مموری رو با میکروهای PIC و AVR به راحتی راه اندازی کرد البته به شرط داشتن یک کتابخانه خوب . مموری کارت ها از چند سری مختلف تشکیل شده اند نسل اول MMC دارای ظرفیت های مگا بایتی بودند اما SD کارت ها که سرعت بیشتری هم از MMC داشتند امکان ظرفیت 2G رو میسر کردند اما نیاز امروزی به 2G هم کفایت نمیکرد و برای همین SDHC و SDXC هم در ادامه ظرفیت های بسیار بالاتری وارد بازار شدند. برای اطلاعات بیشتر در مورد انواع مموری کارت ها اینجا کلیک کنید. سورس ها و کتابخانه های خوبی هم برای ارتباط با مموری کارتها برای کامپایلرهای محبوب کدویژن و بسکام و... اومدبه این صورت استفاده از مموری کارت در پروژه های الکترونیکی مرسوم تر شد تا درنهایت ماژول های چند هزار تومنی که بدون کدنویسی خاصی امکان ارتباط با مموری رو برای شما به ساده ترین شکل ممکن فراهم میکنه وارد بازار شدند. مموری کارت ها در بسته بندی های مختلفی هم وارد بازار شدند که در تصاویر زیر ترتیب پایه ها و شکل ظاهری اونا رو مشاهده میکنید: میکرو SD کارت
ترتیب پایه های SD و MMC
ارتباط با مموری کارتشما کافیست مموری کارت رو به پورت SPI میکرو متصل کنید و اونو Initiate کنید سپس مموری کارت آماده دریافت فرامین شماست متونید در اون بنویسید ، بخونید ، اطلاعات رو پاک کنید و .... شما کافیست مموری کارت رو به پورت SPI میکرو متصل کنید و اونو Initiate کنید سپس مموری کارت آماده دریافت فرامین شماست متونید در اون بنویسید ، بخونید ، اطلاعات رو پاک کنید و .... در ادامه سورس برنامه نمونه ای برای دانلود گذاشته شده که میکرو موردنظر شما رو راه اندازی میکنه و برحسب انتخاب شما محتویات اونو به شما نمایش میده و میتونید از ممووری بخونید و بنویسید. اما پس از راه اندازی اولیه MMC/SD/SDHC شما به به روش مختلف میتونید با مموری کارت ارتباط داشته باشید روش اول : روش سطح پایین و دومین روش : روش سطح بالا ارتباط سطح پایینبه اسمش نگاه نکنید این نوع ارتباط ، یک ارتباط کامل با کلیه اختیارات موجود هست البته برای این نوع ارتباط بایستی از ساختار ارسال و دریافت کامندهای مموری (فریم بندی آنها) اطلاعات خوبی داشته باشین. (به طور مثال پاسخ های R1 یا R3 ) دقت کنید که در این حالت شما سکتور به سکتور میتونید در مموری کارت بنویسید و به دلیل ایتکه دیتایی که شما ارسال خواهید کرد از ساختار FAT پیروی نمکنه ، جدول FAT از بین رفته و برای استفاده مجدد از FAT (برای مثال اتصال آن به کامپیوتر) بایستی مجددا مموری رو FORMAT کنید. این شیوه ارسال برای ارتباط به حداکثر سرعت ممکن مناسب هست به طور مثال برای پخش یک فایل wav با بیت ریت بالا به چنین ارتباطی نیاز خواهید داشت.در پستهای بعدی برنامه ای این چنینی را قرار خواهم داد. ارتباط سطح بالاهمانطور که میدونید موقعی که مموری رو به سیستم کامپیوتر خود متصل میکنیدمیتونید در اون فایلهایی رو ذخیره کنید این فایلها از ساختار مشخصی پیروی میکنند و اگر این ساختار FAT رو دستکاری کنید و تغییر بدید برای شناسایی مجدد مموری کارت توسط کامپیوتر ، باییستی اونو فرمت کنید. قسمتی که فضای موجود در مموری ، توسط FAT اشغال میشه واسه همینه که همیشه ظرفیتی آزادی که برای مموری فرمت شده مشاهد میکنید اندکی کمتر از ظرفیت نامی اون هست. امروزه بیشتر FAT32 مرسوم شده میتونید برای اطلاعات بیشتر در مورد اون میتونید گوگل کنید: FAT32 vs FAT16 vs NTFS کتابخانه فعلی کدویژن نیز از SD کارتهای SDHC پشتیبانی میکنه: افزوده شدن SDHC در کتابخانه جدید کدویژن
اما ما در اینجا از کتابخونه های مشابهی که سبکتر از کتابخانه کدویژن هستند استفاده خواهیم کرد که با نوع SDHC و SD ver2 هم کارکنه. یکی از این کتابخونه ها سایت زاپنی chan هستش که تقریبا کامله و توضیحات کاملی رو هم میتونید از سایتش elm-chan.org بدست بیارین واسه همین من درمورد اون توضیح نمیدم و میخوام از سورس دیگه ای که از برنامه نویس فعال هندی مون هست رو بهتون معرفی کنم که ایشون هم توضیحات خوبی در سایتشوون قرار دادن: dharmanitech.com اگه شما هم از اونایی هستید که ارتباط با MMC رو انجام دادین اما سورس برنامه تون نمیتونه SDHC ها رو Initiate کنه میتونید از این کتابخونه استفاده کنید. برنامه برای winAVR نوشته شده بود من با تغییرات کوچیکی اونو به کدویژن تبدیل کردم. این پروژه صرفا برای راه اندازی و تست مموری کارت هست دلیل استفاده از این کتابخونه ، راحتی استفاده از اون هست در این پروژه شما میتونید مموری کارت رو به روش سطح پایین و یا سطح بالا (توسط FAT) راه اندازی کنید. از ارتباط UART برای کنترل پروژه استفاده شده لذا شما میتونید مثلا با کیلید 5 محتویات داخلی مموری رو مشاهده کنید و با کلید 6 و وارد کردن نام فایل متیونید اون فایل رو باز کرده و محتویات فایل رو ببینید و.... کافیه شما پایه های RXD و TXD میکرو رو به PC متصل کنید و خیلی راحت فرامین لازم رو با پورت سریال ارسال و دریافت کنید در عکس زیر مشاهده میکنید که با نرم افزار Hercule با پورت سریال ارتباط برقرار کرده ایم. مقدار باود رو 19200 قرار بدید. ارسال فرامین به مموری کارت با هایپرترمینال Hercules
این نرم افزار امکانات جالبی داره علاوه بر ارتباط سریال ، شما میتوید تست های مربوط به ارتباط TCP رو هم انجام بدید. شماتیک این پروژه رو هم با فایل Eagle قرار داده ایم البته شمایتک خاصی این پروژه لازم نداره فقط کافیه پایه های مموری رو بدین به SPI میکرو و پایه های سریال میکرو رو هم بدین به پورت سریال کامپیوتر و یک LED رو هم میتونید PORTD.3 متصل کنید تا در صورتی که پورت سریال رو وصل نکردین از طرق فلش زدن اون از Initiate کامل مموری کارت مطمئن بشید. میتونید به جای زنر از تقسیم مقاومتی بین ارتباط میکرو با MMC استفاده کنید و یا اگه از میکروهای سری L و یا سری A استفاده میکنید تغذیه میکرو رو با مموری یکی کنید و با هم 3.3 ولت بدید. این پروژه به راحتی میتونه با میکرو ATMEGA8 هم راه اندازی بشه که در نمونه کد زیر ما از میکرو MEGA16 استفاده کرده ایم. تا یادم نرفته اینو هم بگم که بایستی مموری کارت شما به صورت FAT32 فرمت شده باشه تا توسط این کتابخونه به درستی کار کنه سایز کلاستر رو هم خود سورس برنامه تشخیص میده شما میتویند مثلا روی 1024 بایت فرمت کنید. فرمت کردن مموری کارت
این پروژه رو به طور کامل تست کردم و میتونید با خیال راحت از اون استفاده کنید و اگه سوالی داشتید در قسمت نظرات همین بخش مطرح کنید. شماتیک کامل پروژه
برای دانلود سورس کامل پروژه در کامپایلر کدویژن + شماتیک مدار چاپی در Eagle از لینک زیر استفاده کنید. اگه این مطلب برای شما مفید بوده برای حمایت از ما در قسمت زیر ، روی علامت G+ کلیک کنید و به جای کپی این پست در سایت و وبلاگ خود ، آدرس سایت Pcenter.ir را قرار دهید.
اگر این مطلب برای شما مفید بوده
برروی کلید G+1 کلیک کنید !
دانلود فایل های پروژه :دانلود رایگان پروژه
خرید پروژه
کلیه فایل های ضمیمه این پروزه به صورت رایگان قرار داده شده است.
اگر این مطلب برای شما مفید بوده میتوانید با درج لینک سایت ما در سایت یا وبلاگ خود ویا معرفی سایت ما به دوستان خود و یا با روش های پیشنهادی ما از پی سنتر حمایت کنید. راهنمای پروژه
رمز فایل
www.pcenter.ir
مطالب مرتبط :
تگ ها : ارتباط AVR با مموری کارتارتباط AVR با اس دی مموری کارت ارتباط با SD cardارتباط با SDHC cardراه اندازی مموری کارت MMC SDHC با میکروکنترلر AVRارتباط SPI میکروکنترلر با MMCارسال فرامین R1 و R3 به MMCراه اندازی مموری کارت با ظرفیت حافظه بالاFAT16 و FAT32 در مموری کارتنحوه فرمت مموری کارتخواندن و نوشتن در مموری کارت با میکروکنترلرInitiate مموری کارت
نوشته شده در پنجشنبه ۰۱ بهمن ۱۳۹۴ | ۱۴:۰۷ توسط Admin
بازدید : 11389
نظر شما : جدیدترین مطالب
راه اندازی کیبورد 4 در 4 در کدویژن
راه اندازی موس و کیبورد با AVR نحوه تغییر نام و آیکون برنامه های اندرویدی بانک خازن چیست ؟ SVC چیست ؟ راه اندازی مموری کارت MMC و SD و SDHC با AVR فیلم آموزشی نحوه ساخت کیبورد مجازی در سی شارپ سورس کامل بازی سوکوبان Sokoban با امکان طراحی مرحله جدید و حل خودکار آن مدار کامل RFID سیستم تشخیص اشخاص برای ورود و خروج مدار کامل تابلوروان AVR با دات ماتریس رنگی باقابلیت گسترش اندازه تابلو شبیه سازی کابین آسانسور با میکروکنترلر PIC و کامپایلر MPLAB X |
|||||
| ||||||