راه اندازی USB HOST MSC در STM32

در این آموزش خواهیم دید که چگونه از STM32 USB به عنوان یک Host برای ارتباط به Mass Storage Device (MSC) می توان استفاده کرد. به عنوان مثال درایو فلش یا کارت SD استفاده می کنیم. برای این کار ، باید از USB به عنوان Class Mass Storage (MSC)  استفاده کنیم. ما همچنین از FATFS  (FAT File System) برای ایجاد برخی دایرکتوری ها و فایل ها بر روی USB استفاده خواهیم کرد.

اول از همه ما باید حالت USB_OTG_FS را در حالت Host Only انتخاب کنیم. همچنین مطمئن شوید که VBUS را فعال می کنید ، زیرا دستگاه های USB بیشتر منبع تغذیه ندارند و به همین دلیل VBUS برق مورد نیاز اینگونه دستگاه ها را تأمین می کند.

در مرحله بعد ، USB_HOST را انتخاب کنید و کلاس را به عنوان  Mass Storage Classانتخاب کنید. 

اکنون باید ولتاژ پین VBUS را فعال کنیم. برای این کار باید به user manual برای این برد DiscoveryF4 نگاه کنید. ما برای ارتباط با USB در برد DiscoveryF4 از مدار زیر استفاده می کنیم.

همان طور که در تصویر بالا مشاهده می کنید ، VBUS از پین PC0 تغذیه می شود. اما PC0 به EN پین متصل است که یک پین active Low  است. این بدان معنی است که برای تأمین ولتاژ به VBUS ، باید PC0 Pin را پایین بکشیم ، یا اساساً آن را LOW تنظیم کنیم.

 

بخش های مهم کد سورس

اول از همه ما نیاز داریم که فایل handling library files را کپی کنیم. این فقط برخی از توابع FATFS است که از بعضی جهات ترتیب داده شده است تا رابط کاربری کمی ساده تر شود.

ما باید برنامه خود را در پرونده usb_host.c بنویسیم. که در پوشه root->USB_HOST->App قرار دارد.

USBH_UserProcess در حالتهای مختلف فراخوانی می شود ، به عنوان مثال- وقتی USB متصل می شود ، یا قطع می شود ، یا وقتی که آماده ارتباط است. ما برنامه خود را هنگامی که برنامه آماده باشد می نویسیم.

نتیجه



جهت دانلود این آموزش به لینک زیر مراجعه کنید:

USB HOST MSC in STM32