aref3006
10-08-2014, 15:14
سلام دوستان
من عید پارسال یه پروژه USB MSD رو با یک برد AT91SAM7X256 ساختم (از نظر عملکرد در نهایت پروژه مثل یک کول دیسک هست). برای حافظه از یک MicroSD 2GB استفاده کردم. مشکل من اینه که سرعت این برد در حالت Bulk از 64KB/s بیشتر نمیشه. و کلی طول کشید تا فهمیدم سرعت 12MB/s که در دیتاشیت گفته شده برای حالت آسنکرون هست، در حالی که برای Mass Storage Device باید از حالت Bulk استفاده کنیم. البته ناگفته نماند سرعت 55MHzی میکرو هم کلی دردسر درست می کرد. مثلا مجبور شدم برای سرعت بیشتر، به جای کد بیت بنگی که اوایل برای کار با MicroSD نوشته بودم، از قابلیت های جانبی میکرو استفاده کنم که واسم سخت بود. چون قاطی شدن وقفه های Peripheral SPI با USB برای من که پروژه اولم بود خیلی گیج کننده بود. ضمنا با 55MHz اگه بخوام ۸مگابیت رو در ثانیه پردازش کنم یعنی برای هر بیت حدود ۷ کلاک زمان دارم! نمی دونم چرا این موضوع همون اول کار به ذهنم نرسید.
خیلی دوست دارم بدونم کدام یک از بردهای کویر الکترونیک حداقل سرعت ۱مگابایت بر ثانیه رو در حالت Bulk می دن؟ و مهمترین نکته برای من سرعت راه افتادن باهاش هست. مثلا اگه محیط توسعه ش همون Keil micro vision باشه، یا طرز کار مشابهی داشته باشه عالیه. میکروی SAM7 بدون سیستم عامل هست و میشد روش یک RTOS هم راه انداخت. آیا سیستم عامل دار بودن میکروهای جدید کار رو سخت می کنه؟ و آیا تاخیر تحمیل شده از سمت سیستم عامل، در پروژه USB MSD اختلال ایجاد نمی کنه؟ با توجه به این که هر ۱ میلی ثانیه ممکنه یک تقاضا از سمت Host بیاد و کلی مسائل جزئی دیگه در پروتکل USB.
با تشکر
من عید پارسال یه پروژه USB MSD رو با یک برد AT91SAM7X256 ساختم (از نظر عملکرد در نهایت پروژه مثل یک کول دیسک هست). برای حافظه از یک MicroSD 2GB استفاده کردم. مشکل من اینه که سرعت این برد در حالت Bulk از 64KB/s بیشتر نمیشه. و کلی طول کشید تا فهمیدم سرعت 12MB/s که در دیتاشیت گفته شده برای حالت آسنکرون هست، در حالی که برای Mass Storage Device باید از حالت Bulk استفاده کنیم. البته ناگفته نماند سرعت 55MHzی میکرو هم کلی دردسر درست می کرد. مثلا مجبور شدم برای سرعت بیشتر، به جای کد بیت بنگی که اوایل برای کار با MicroSD نوشته بودم، از قابلیت های جانبی میکرو استفاده کنم که واسم سخت بود. چون قاطی شدن وقفه های Peripheral SPI با USB برای من که پروژه اولم بود خیلی گیج کننده بود. ضمنا با 55MHz اگه بخوام ۸مگابیت رو در ثانیه پردازش کنم یعنی برای هر بیت حدود ۷ کلاک زمان دارم! نمی دونم چرا این موضوع همون اول کار به ذهنم نرسید.
خیلی دوست دارم بدونم کدام یک از بردهای کویر الکترونیک حداقل سرعت ۱مگابایت بر ثانیه رو در حالت Bulk می دن؟ و مهمترین نکته برای من سرعت راه افتادن باهاش هست. مثلا اگه محیط توسعه ش همون Keil micro vision باشه، یا طرز کار مشابهی داشته باشه عالیه. میکروی SAM7 بدون سیستم عامل هست و میشد روش یک RTOS هم راه انداخت. آیا سیستم عامل دار بودن میکروهای جدید کار رو سخت می کنه؟ و آیا تاخیر تحمیل شده از سمت سیستم عامل، در پروژه USB MSD اختلال ایجاد نمی کنه؟ با توجه به این که هر ۱ میلی ثانیه ممکنه یک تقاضا از سمت Host بیاد و کلی مسائل جزئی دیگه در پروتکل USB.
با تشکر