armeducation – Telegram
armeducation
3.58K subscribers
367 photos
326 videos
115 files
370 links
آموزش حرفه ای میکروکنترلرهای ARM

ادمین:
@mzarkoob
مهندس مهدی زرکوب
شروع مطالب :
https://news.1rj.ru/str/armeducation/1
اینستاگرام :
@armeducation
کانال ایتا:
https://eitaa.com/armeducation
همراه :
09359956361
Download Telegram
سخت افزار USB Device .
دو پایه D+ و D- مستقیما به پایه های میکرو متصل شده است.
با یک مقاومت پایه D+ به صورت Pull up شده است. با این کار LED مربوطه روشن می شود.
@armeducation
از دوستان عزیز تقاضامندم در صورت تمایل، مطالب پست ها را تنها بصورت فوروارد در سایر گروها و کانال ها (و سایت ها) قرار دهند و از کپی کردن مطالب بدون ذکر مرجع خودداری کنند.
با تشکر
@armeducation
در صورتی که مطالب آموزشی کانال را مفید می دانید شما معرف کانال به سایر دوستان خود باشید. 👇👇👇
با سپاس
@armeducation
در USB Device می توان از چند کلاس کاری برای تبادل دیتا استفاده کرد :
• Communication Device (CDC) - to realize a virtual COM port
• human interface device class (HID)
• mass storage device class (MSC).
• Audio Device (ADC) - to exchange streaming audio data
شرح بیشتر و اجرای عملی جهت آشنایی با این موارد ذکر خواهد شد.
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
تست عملی کلاس CDC در میکروکنترلر LPC1768 جهت آشنایی با عملکرد این کلاس کاری در USB Device .
@armeducation
در کار با کلاس کاری CDC در USB Device به موارد زیر دقت داشته باشید:
- صرفا ریختن سمپلی که چنین کاری را انجام می دهد مد نظر نیست و این تست جهت آشنایی با این عملکرد می باشد.
- با کار کردن با سمپل مربوطه می توان نقاط ضعف و قوت آن را پیدا کرد.
- اینکه بر اساس نیاز در کجا چه تغییری باید داده شود تا به هدف رسید، مسئله مهمی می باشد.
- در صورتی که سرعت تبادل دیتا مهم باشد باید تست شود آیا این سمپل می تواند این نیاز را برآورده کند!؟
@armeducation
در کار با توابع آماده به این نکته توجه داشته باشید که باید بتوانید خودتان یک پروژه با این کتابخانه ها ایجاد کنید. این موضوع آنجا اهمیت پیدا می کند که پروژه هایی دارید که هر کدام کاری انجام می دهد ولی هر کدام را به هم اد می کنید با خطاهای متعدد یا عدم کارکرد مواجه می شوید. نه متوجه می شوید خطا چیست و نه راه حلی برای حل آن دارید. ساعت ها و شاید روزها زمان هم برای حل آن صرف می شود و در صورت حل نشدن، محصولی جز اعصاب خوردی تولید نکرده اید!
به طور کلی بهتر است مسیر آموزش به درستی طی شود. وقت کافی برای یادگیری اختصاص دهید تا در میانه راه دچار مشکل نشوید و در صورت بروز مشکل راه حلی برای برون رفت داشته باشید.
@armeducation
لینک ویدئو های آموزشی در آپارات :
http://www.aparat.com/mzarkoob

@armeducation
با ارائه نظرات، پیشنهادات و انتقادات ، باعث دلگرمی ما باشید و هم باعث بهبود مطالب آموزشی.
ادمین:
@mzarkoob
با سپاس
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
تست عملی کلاس HID در میکروکنترلر LPC1768 جهت آشنایی با عملکرد این کلاس کاری در USB Device .
@armeducation
در کار با کلاس کاری HID در USB Device به موارد زیر دقت داشته باشید:
- صرفا ریختن سمپلی که چنین کاری را انجام می دهد مد نظر نیست و این تست جهت آشنایی با این عملکرد می باشد.
- با کار کردن با سمپل مربوطه می توان نقاط ضعف و قوت آن را پیدا کرد.
- اینکه بر اساس نیاز در کجا چه تغییری باید داده شود تا به هدف رسید، مسئله مهمی می باشد. به عنوان نمونه عملکرد توابع بررسی شود که بر اساس نیاز از توابع ارسال و دریافت استفاده شود.
- در صورتی که سرعت تبادل دیتا مهم باشد باید تست شود آیا این سمپل می تواند این نیاز را برآورده کند!؟ در اینجا هر بار فقط یک بایت ارسال و دریافت انجام می شود. در صورتی که بخواهیم دیتای بیشتری را هر بار ارسال کنیم ارسال بایت بایت کافی نیست و لازم است با تغییرات در سمپل میکرو و سمپل دریافت در pc در هر بار تعداد بایت بیشتری تبادل انجام شود. می توان هر بار 32 بایت دیتا تبادل کرد.
- با توجه به اینکه hid در وسایلی مثل کیبورد و موس که نیاز به سرعت تبادل بالا ندارند استفاده می شود نباید انتظار داشت سرعت بالایی در این کلاس کاری در اختیار ما قرار داده شود. شاید بتوان به سرعت تبادل 64 KB/S رسید.
@armeducation
Forwarded from armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
یکی از قابلیت های میکروکنترلرهای ARM تبدیل شدن به رم ریدر توسط USB Device است.
در اینجا، بر روی میکروکنترلر STM32F103VE که با مد SDIO با SD کارت تبادل دیتا دارد، این کار انجام شده است.
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
در این قسمت شنود اطلاعات usb HID ، به صورت عملی در کامپیوتر انجام شده است.
همان طور که مشاهده می شود در هر پکیج داده، یک بایت ارسال می شود که می توان با تنظیمات در برنامه افزایش یابد.
@armeducation
با قرار دادن برنامه مربوطه در میکرو و اتصال usb device میکروکنترلر lpc1768 به کامپیوتر، یک وسیله صوتی جهت پخش صدا از کامپیوتر شناسایی خواهد شد که می توان به جای اسپیکر از آن استفاده کرد.
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
اجرای عملی کلاس Audio Device در usb device.
تبدیل شدن برد میکروکنترلر lpc1768 به اسپیکر کامپیوتر
@armeducation
@armeducation
در USB Host می توان از دو کلاس کاری برای تبادل دیتا استفاده کرد :
• human interface device class (HID)
• mass storage device class (MSC).
- کاربرد HID در اتصال کیبورد یو اس بی به میکروکنترلر است.
- کاربرد MSC در اتصال یو اس بی فلاش به میکروکنترلر است.
می توان اتصال پرینتر به USB Host میکروکنترلر را نیز انجام داد و پرینت گرفت!
شرح بیشتر و اجرای عملی جهت آشنایی با HID و MSC در USB Host ذکر خواهد شد.
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
اجرای عملی کلاس HID در usb Host.
اتصال کیبورد USB به میکروکنترلر LPC1768 و نمایش در TFT LCD.
میکروکنترلر LPC1768 دارای usb Host می باشد.

@armeducation
سخت افزار USB Host .
دو پایه D+ و D- مستقیما به پایه های میکرو متصل شده است.
از دو جامپر برای اینکه پایه D+ و D- یا به Device یا به Host متصل شود، استفاده می شود.
@armeducation
انجام یک کار بزرگ با تقسیم آن به قسمت های کوچک قابل انجام تر است.
قبلا در پست های گذشته ذکر شد که ممکن است افرادی نتوانند پریفرال ها و قسمت های مختلف را با هم ترکیب کنند که منجر به انجام کاری شود.
به عنوان مثال کوچک، قسمتی جزیی از یک کار نمایش عکس روی TFT است. عکس ها در SD یا USB Flash است و سرعت نمایش مهم است. مراحل کار:
- خواندن یک فایل از SD کارت
- نحوه دیکد کردن یک عکس( عکس با فرمت BMP ساده تر و فرمت های دیگری مثل JPG مشکل تر)
- کار با TFT LCD و نحوه عملکرد آن
حال از ترکیب این که چند مرحله یک نمایش عکس ایجاد می شود. در صورت نمایش صحیح با این مسئله مواجه می شوید که چگونه سرعت نمایش را بالا برد!؟ به سراغ بهینه کردین برنامه ها می روید. سعی در استفاده از حداکثر توان CPU خواهید کرد. راه حل های مختلفی را امتحان می کنید . مانند ریختن در یک فضایی و سپس قرار دادن در ال سی دی که نخواهید مستقیما از SD کارت نمایش انجام شود. در صورت مطلوب نبودن ممکن است دنبال یک میکروی قوی تر باشید. اکنون باید برنامه های قبلا نوشته شده را به میکرو جدید منتقل کنید و .....
← چقدر مدت زمان صرف شده تا یک قسمت کوچک به نحو مطلوب انجام شود؟
سایر قسمت ها باقی مانده است! ممکن است همزمان لازم باشد از چند پریفرال استفاده شود. آیا کتابخانه های مورد استفاده این اجازه را می دهد؟ یا خود میکرو چنین امکانی دارد؟
حجمی از دیتا مرتب بایستی منتقل شود و نباید زمان CPU میکرو صرف آن شود چون از انجام سایر کارها باز می مانند. چندین کار بایستی با تقسیم زمان بین آنها انجام شود ....
در اینجا مشخص است که بین راه اندازی اولیه یک یا چند پریفرال تا پیاده سازی یک کار، تفاوت بسیار است.
@armeducation
آیا کتابخانه های مورد استفاده اجازه را می دهد از چند پریفرال همزمان استفاده شود ؟ تا بحال با این مسئله مواجه شده اید؟
به عنوان نمونه برای راه اندازی اولیه کاری با استفاده از توابع RL کیل، قسمت SD کارت و USB را راه اندازی کرده اید. حال می خواهید هر دو با هم کار کند. آیا چنین امکانی با استفاده از توابع RL کیل داده شده است!؟
می خواهید USB و CAN همزمان در STM32 کار کند. آیا چنین امکانی در این میکرو داده شده است!؟
@armeducation