راه اندازی ماوس با ماژول USB HOST CH376S
راه اندازی وسایلی نظیر موس و کیبورد USB با ساده ترین میکروکنترلرها که انقلابی در پروژه های الکترونیکی رقم خواهد زد-جایگزین تاچ اسکرین در بسیاری از پروژه ها
امروزه ماژول USB HOST CH376S را شاید در هر فروشگاهی پیدا کنید ولی تواناییهای پنهان تراشه CH376S را فقط در پژوهشگران پیدا می کنید.
شاید بدانید که تراشه CH376S یک کنترل کننده مدیریت فایل است. میکروکنترلرها می توانند از این تراشه برای خواندن و نوشتن بر روی USB Flash Disk یا SD کارت استفاده کنند. این ماژول از مد USB-Device و USB-Host پشتیبانی می کند. دستگاه ذخیره سازی گسترده USB و سیستم عامل پروتکل های ارتباطی SD کارت و سیستم عامل مدیریت فایل FAT12/FAT16/FAT32 در این تراشه تعبیه شده است. از وسایلی که قابلیت اتصال به این ماژول را دارند می توان به موس، کیبورد، پرینتر، کول دیسک و هارد به عنوان نمونه اشاره کرد.
این تراشه قدرتمند به همراه مدارات لازمه همه و همه در ماژول USB HOST CH376S جمع شده اند و شما با ارزان ترین قیمت قادر به خرید آن هستید:
مشخصات تراشه CH376S :
- پشتیبانی از سرعت 1.5Mbps و 12Mbps ، سازگار با USB V2.0
- قابلیت تنظیم ماژول در دو مد USB-Host و USB-Device
- کنترل انتقال داده در مد USB Device
- آشکارسازی اتوماتیک اتصال و عدم اتصال دیوایس به ماژول و ارسال پیام
- ارتباط SPI HOST با فرکانس 6MHz و پشتیبانی از کارت های SD ،MMC و TF
- تغذیه 5 ولت یا 3.3 ولت
- دارای رابط سریال آسنکرون حداکثر تا سرعت 3Mbps
- دارای عملیات مدیریتی دیسک
- عملیات خواندن و نوشتن فایل
ارتباط با ماژول USB Host با تراشه CH376S:
این ماژول از سه نوع پروتکل ارتباطی پشتیبانی میکند که عبارتاند از:
- پورت موازی ۸ بیتی
- رابط SPI
- رابط سریال UART
تعیین هر کدام از پروتکل ها توسط جامپری که روی ماژول قرار دارد به شکل زیر قابل تنظیم است:
بریم سراغ اصل مطلب، در ادامه قصد داریم یکی از کاربردهای تراشه قدرتمند CH376S را با عنوان راه اندازی کامل یک ماوس USB به شما آموزش دهیم. ابتدا شما را دعوت می کنیم به مشاهده فیلم مدار نمونهای از راه اندازی ماوس توسط ماژول USB-HOST CH376S :
اگر می خواهید مشابه این پروژه را برای خود بسازید کافی است
ادامه مطالب را مطالعه و بسته دانش فنی این آموزش را در ادامه خریداری نمایید.
نحوه اتصال ماژول CH376S برای راه اندازی ماوس:
ما برای راه اندازی ماوس توسط ماژول USB-HOST از پروتکل سریال با نرخ ارسال 115200 استفاده کردیم که در تصویر زیر نحوه سیم بندی مدار را مشاهده می کنید.
نگران نباشید در بسته ای که در ادامه به عنوان دانش فنی این آموزش در اختیار شما قرار می گیرد شما میتوانید از اصل این فایل طراحی به همراه شماتیک آن برخوردار شوید.
نکته مهم : برای تنظیم نرخ انتقال داده در پورت سریال باید پایههای D5، D4 و D6 ماژول مطابق جدول زیر تنظیم شوند. از آنجا که ما قصد داشتیم این فرآیند توسط میکروکنترلر قابل تنظیم باشد این پایهها به میکرو متصل شده و به نحوی برنامه ریزی شده است که نرخ ارسال پورت سریال روی 115200 باشد.
کد نویسی با کامپایلر کدویژن برای مدیریت ماوس :
برای راه اندازی راحت ماژول CH376S و مدیریت ماوس تیم فنی پژوهشگران برنامه ای با کامپایلر کدویژن آماده کرده است که توسط آن براحتی می توانید اطلاعات خروجی ماوس را بخوانید، برخی از توابع این برنامه را در زیر مشاهده خواهید کرد:
void ResetALL(void); unsigned char Set_USB_Mode_7(void); unsigned char Set_USB_Mode_6(void); void Set_SD0_Int(void); unsigned char Set_Host_End(void); void Set_Slave_End(void); unsigned char SELECT_CONFIGURATION(void); void WRITE_SETUP_TOKEN(void); unsigned char SYNC_TOKEN(void); unsigned char END_POINT(void); unsigned char RD_USB_DATA0(unsigned char LenData);
_ تابع (ResetALL(void : وظیفه این تابع ریست کردن ماژول USB-HOST CH376S میباشد.
_ تابع (Set_USB_Mode_7(void : وظیفه این تابع ریست کردن ارتباط USB میباشد.
_ تابع (Set_USB_Mode_6(void : وظیفه این تابع راه اندازی کردن ماژول USB-HOST CH376S در مد USB-HOST میباشد.
_ تابع (Set_SD0_Int(void : وظیفه این تابع تنظیم کردن مد USB-HOST برای سرعت 1.5MBit/sec میباشد.
_ تابع (Set_Host_End(void : وظیفه این تابع تنظیم آدرس ماژول USB-HOST CH376S میباشد.
_ تابع (Set_Slave_End(void : وظیفه این تابع تنظیم آدرس ماوس میباشد.
_ تابع (SELECT_CONFIGURATION(void : وظیفه این تابع پیکربندی ماوس میباشد.
_ تابع (WRITE_SETUP_TOKEN(void : وظیفه این تابع تنظیم کردن USB در مد idle میباشد.
_ تابع (SYNC_TOKEN(void : وظیفه این تابع هماهنگ کردن ارتباط بین ماژول و ماوس میباشد.
_ تابع (END_POINT(void : وظیفه این تابع درخواست از ماوس برای ارسال آخرین اطلاعات میباشد.
_ تابع (RD_USB_DATA0(unsigned char LenData : وظیفه این تابع خواندن اطلاعات ارسالی توسط ماوس میباشد.
فرمت اطلاعات ارسالی ماوس :
بعد از پیکربندی ماژول CH376S و انجام تنظیمات مربوط به ماوس زمان خواندن پشت سر هم اطلاعات ارسالی توسط ماوس می رسد، البته که این اطلاعات در ماوس های مختلف فرق می کنند. برای مثال ماوسی که ما از آن استفاده کردیم مدل پروداکت 9500 بود و اطلاعات خروجی آن به صورت شش بایتی می باشد به این صورت که بایت اول اطلاعات مربوط به کلیک ها، بایت دوم مقدار حرکت در محور X، بایت سوم جهت حرکت محور X که عدد 0 نشانگر جهت مثبت و عدد 255 نشانگر جهت منفی حرکت، بایت چهارم مقدار حرکت در محور Y، بایت پنجم جهت حرکت محور Y که عدد 0 نشانگر جهت مثبت و عدد 255 نشانگر جهت منفی حرکت و بایت ششم اطلاعات غلتک ماوس را نشان می دهد.
دانش فنی پروژه راه اندازی ماوس با ماژول USB HOST CH376S:
کلیه داده هایی که برای راه اندازی ماوس توسط تراشه CH376S در فوق اشاره و آموزش داده شده است به صورت تکمیلی در بسته دانش فنی به فروش می رساند، با خریداری این بسته که محتوای ذیل را دارا میباشد به راحتی پروژه راه اندازی ماوس و حتی با گسترش آن راه اندازی کیبورد را برای خود پیاده سازی کنید.
.
محتوای بسته دانش فنی:
- کد کامل راه اندازی پروژه مشاهده شده در فیلم به زبان C در کامپایلر CodeVision
- شماتیک و PCB مدار مشاهده شده در فیلم طراحی شده با آلتیوم دیزاینر
- راهنمایی پروگرام کردن فیوزبیت ها
- سایر مستندات فنی مورد نیاز
نکته: بدیهی حق نشر این دانش فنی صرفا برای پژوهشگران و خریداران این محصول دانش فنی محفوظ است؛ هرگونه انتقال به غیر و استفاده تجاری شرعاً و قانوناً حرام و قابل پیگیری است.
تمامی محصولات نرم افزاری سایت شامل خدمات پشتیبانی میباشند و در صورتی که آپدیت ارائه شود، به صورت رایگان برای خریداران قبلی نیز ارسال میشود. در صورت وجود هرگونه مشکل در سورس میتوانید از بخش “نظرات” و یا “تماس با ما” با ما در ارتباط باشید.
سلام من نیاز به اتصال کیبورد به دستگاهم رو دارم
طلاعات زیادی ندارم درباره usb
کد های این پروژه رو برسی کردم
خیلی هاش داخل دیتاشید نبود
میشه راهنمایی کنید باید کدوم توابع رو تغییر بدم برای اتصال کیبود
سلام
منم همین مشکل رو دارم دقیقا
از نویسنده عزیز درخواست میکنم در این مورد کمکمون کنن. واقع ممنون میشم.
سلام
کتابخانه ماژول ارتباط spi و کامپایلر کدویژن رو داره؟
بله کتابخانه کامل هست. یک پروژه نمونه و کتابخانه و توابع کامل
در حال حاضر خیر.