• خونه
  • تماس با ما
  • همکاری با ما
  • حمایت مالی
آزادی حجاز
  • News
  • AVR
    • AVR Train
      • آموزش جامع AVR
      • آموزش صحیح و خوانا نوشتن کد
    • تابلو روان
    • موتور
      • موتور DC
      • موتور پله ای
      • سرو موتور
    • سنسور و ماژول
      • RFID
      • التراسونیک
      • شتاب سنج
      • رطوبت سنج
      • دماسنج
      • بلوتوث
      • اتصال AVR به کامپیوتر
      • اتصال رم به AVR
      • فرستنده گیرنده رادیویی
      • ساعت و تاریخ
      • جوی استیک
    • IC
      • IC حافظه
      • ADC
      • DS1307(ساعت)
      • BCD TO 7S
      • شیفت ریجستر
    • LCD
      • LCD گرافیکی
      • LCD کاراکتری
      • LCD رنگی
    • LED – 7S – Dot Matrix
      • LED
      • سون سگمنت(۷S)
      • دات ماتریس
    • ساعت
    • پروگرامر
    • اسیلوسکوپ
    • ولتاژ،جریان،مقاومت،فرکانس،خازن و…
      • ولت متر
      • اهم متر
    • امواج
    • کی پد(KEY PAD)
    • فوتوسل
  • ARM
    • ARM Projects
    • ARM Train
      • AT91
      • STM32
      • LPC1768
      • LPC2368
  • Arduino
    • Arduino Train
    • Arduino Projects
  • Raspberry
  • FPGA
  • PCB
    • آلتیوم
      • آموزش آلتیوم
      • پروژه آلتیوم
  • S.W
    • Codevision
    • Proteus
    • Serial Port
    • Android
    • Labview
  • Analog
  • etc
    • Components
    • Android
    • C/C++/Qt
    • OpenCV
    • QuadCopter
    • PC And Micro
    • Communication Protocols
دلیل پیشرفت سریع آلمان و ژاپن
آموزش الکترونیک ۱ آموزش سینماتیک روبات ها آموزش آردوینو در Proteus
آموزش الکترونیک ۲ آموزش رباتیک و ربات های سری آموزش Proteus - تحلیل مدار
آموزش مبانی الکترونیک آموزش میکروکنترلر STM32F1xx آموزش آردوینو - کنترل با شبکه
برنامه نویسی Raspberry Pi آموزش AVR و Codevision - مقدماتی آموزش برنامه نویسی آردوینو با متلب
کاربرد Raspberry Pi در صنعت آموزش AVR و Codevision - تکمیلی آموزش برنامه نویسی آردوینو - رباتیک
● تبلیغات دیجیتال هوشمند● آموزش های رایگان● استخدام در فرادرس
شما اینجائید:خانه » الکترونیک » ARM » پروژه میکروکنترلر ARM » تبدیل usb به سریال مجازی در میکروکنترلر lpc1768

تبدیل usb به سریال مجازی در میکروکنترلر lpc1768

ارسال شده توسط:مهدی دمیرچیلو تاریخ ارسال: 2019/01/27 در پروژه میکروکنترلر ARM 2 نظر

به نام خدا : همونطور که میدونید میکروکنترلر lpc1768 استفاده پروتکول usb رو داره، که برا این مورد، حتی کلاک جداگانه ای هم داره، در فصل 11 و 12 و 13 دیتاشیت درباره راه اندازی این پروتکول صحبت شده ( که در آینده، مطالبش رو قرار میدم )، که ما با فصل 11 کار داریم که عنوانش USB device controller هستش، یعنی میکروکنترلر در نقش device ( بحث دستگاه و میزبان و … در مطلب آموزش usb به صورت کامل گفته میشه )، ما قبلا برای ارتباط میکرو با pc میومدیم در سمت میکرو از پروتکول UART و در سمت PC از نرم افزار های ارتباط سریال و از ماژولهای USB TO TTL به عنوان مبدل/واسط بین میکرو و PC استفاده میکردیم، که خب قیمت این مبدل هم چیزی حدود 10-20 تومن هستش، که در تولید مدار مد نظر در تعداد بالا، قیمت این آیسی خودشو نشون میده!، حالا جدا از این که این آیسی فضایی از برد اشغال میکنه!، و بطبع اندازه PCB و قاب مدار ممکنه بزرگ بشه و …، و این که سرعت UART کجا، سرعت USB کجا، خطای چند درصد UART کجا، خطای 0 درصد USB کجا و… فک کنم با همین توضیحات قانع شدید که برید سمت استفاده از پروتکول USB

USB Virtual COM

تبدیل usb به سریال مجازی در میکروکنترلر lpc1768

در این مطلب از کتابخونه ای استفاده میکنیم که در اصل من از سایت زیر پیدا ( دانلود ) کردمش ( سرویس blogspot ایران رو تحریم کرده، باید از قند شکن استفاده کنید اگه دوست دارید لینک زیر رو ببینید ) که این کتابخونه برا C هستش که من تغییراتی توش دادم و به ++C تبدیلش کردم، هر دو کتابخونه رو میتونید از ته مطلب دانلود کنید :

LPC17xx Virtual COM port – A USB CDC Class device library

 

توابع کتابخونه : کتابخوانه فوق، حاوی توابع زیر هستش که در فیلم توضیح دادم و از اسمشون هم عملکردشون معلومه.

1
2
3
4
void init();
uint16_t available();
void write(uint8_t c);
uint8_t read();

 

کد پروژه : عملکرد پروژه اینه که یه سری کاراکتر رو در هر 100mS ارسال میکنه به PC و اگه هم دیتایی باشه، میخونه و همونو دوباره میفرسته برا PC، تو PC هم به کمک نرم افزار ارتباط سریال به پورت مد نظر وصل میشیم و دیتا رو میخونیم.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "public_library.h"
 
#include "clock.h"
CLOCK clock;
 
#include "usbSerial.h"
USB_VIRTUAL_COM USBvc;
 
#include "delay.h"
DELAY delay( 0/*timer_number*/ );
 
int main()
{
clock.init();
 
USBvc.init();
 
while(1)
{
// Write
for(uint8_t i='A'; i<='z'; i++) USBvc.write(i);
USBvc.write('\n');
 
// Read
while( USBvc.available() ) USBvc.write( USBvc.read() );
 
// Delay
delay.timer_ms(100);
}
}

 

شماتیک پروژه : پایه های کابل USB ( که 4 تا پایه داره : GND و VBUS و +D و -D ) رو به همون پایه ها در میکرو وصل کنید، تغذیه میکرو هم وصل باشه یا این که از همون پایه VBUS کابل USB تامین بشه ( بیشتر از 100mA نکشید فقط )

تبدیل usb به سریال مجازی در میکروکنترلر lpc1768

 

اتصال نرم افزار ارتباط سریال به پورت مد نظر ما : بعد از وصل شدن تغذیه میکرو و وصل شدن کابل USB مربوطه به PC، میکرو شناسایی و پیکربندی میشه و ارتباط برقرار میشه ( اگه از هدربرد ECA استفاده میکنید، چراغ قرمز رنگ روشن میشه ) بعد میرید تو Device manager میبینید که دستگاه رو کدوم پورت سوار شده، بعد میاید تو نرم افزار ارتباط سریال، پورت رو تنظیم میکنید، تنظیم مقدار Baud rate هم مهم نیست.

 

فیلم پروژه : https://www.aparat.com/v/CsqYH

دانلود تمام فایل های مورد نیاز این پروژه : 

داخل پوشه main lib، کتابخونه اصلی که دربارش صحبت کردم قرار داره.

داخل پوشه USB VIRTUAL PORT KeilV5 کتابخونه ای که تغییر دادم + پروژه قرار داره.

فایل usbser.inf که درایمر سمت pc هستش که باید نصب کنید.

پوشه “بررسی اطلاعات تبادل شده” حاوی یه سری اطلاعات رد بدل شده بین میکرو و pc هستش که به کمک لاجیک آنالایزر تهیه شده، دوست داشتید میتونید کدهاشو بررسی کنید.

دانلود تمام فایل های مورد نیاز این پروژه

 

ممنون از شما، امیدوارم این مطلب مفید باشه براتون، فعلا یا علی.

سخن امام خمینی ره

این عکسو چند وقت پیش تو نت دیدم، نظرتون چیه دربارش؟ ( این چیزی که میبینید در عکس بالا، از قول آقای نوبخت زده شده، این آقا قبلا همچین حرفی زده، تو آرشیو سایت های خبری میتونید پیدا کنید )

گروه پرسش و پاسخ الکترونیکی سروش

درباره مهدی دمیرچیلو

جنگ ما فتح قدس را در پی خواهد داشت (امام خمینی) >>>>>> اگر از صدام بگذریم، اگر مسأله قدس را فراموش کنیم، اگر از جنایت های امریکا بگذریم از آل سعود نخواهیم گذشت. ان‌شاالله اندوه دلمان را را در وقت مناسب با انتقام از امریکا و ال سعود برطرف خواهیم کرد و داغ و حسرت حلاوت این جنایت بزرگ را بر دلشان خواهیم گذاشت و با برپایی جشن پیروزی حق بر جنود کفر و نفاق و آزادی کعبه از دست نااهلان و نامحرمان به مسجد الحرام وارد خواهیم شد (امام خمینی)

مطالب مرتبط

  • » تبدیل میکروکنترلر LPC1768 به کیبورد

  • » تبدیل میکروکنترلر LPC1768 به موس

  • » کتابخانه راه اندازی uart میکروکنترلر lpc1768

  • » پروژه دربازکن با ماژول rdm6300 rfid

  • » پروژه راه اندازی spi میکروکنترلر lpc1768

  • » آموزش پروژه محور lpc1768 مبحث i2c master mode

  • » پروژه ساعت ds3231 با میکروکنترلر آرم lpc1768

  • » آموزش راه اندازی eeprom خارجی با lpc1768

  • » پروژه ساعت ساده قابل تنظیم با ۷segment و lpc1768

  • » کاملترین پروژه با سون سگمنت با میکرو lpc1768

2 نظر

  1. Amir
    2019/01/29 در 16:24

    سلام خسته نباشید
    اول جا داره که تشکر کنم از آموزش های خوبتون … متشکریم good

    چند تا سوال داشتم :

    اول اینکه اموزش های USB ادامه داره ؟؟

    بعد اینکه چرا LPC17xx ؟؟ الان خیلی ها دارن از STM ها استفاده میکنن … البته من چند وقته که پروژه انجام ندادم . یه جورایی حس میکنم LPC17xx ها داره فراموش میشه … شاید هم نه

    من چند ساله که با سایتتون آشنا هستم و سر میزنم اما فعالیت ها و آموزش ها خیلی کاهش یافته . چرا ؟؟

    بازم ممنونم از سایت خوبتون bye

    پاسخ
    • مهدی دمیرچیلو
      2019/01/29 در 16:35

      سلام – ممنو ناز شما – لطف دارید.

      اول اینکه اموزش های USB ادامه داره ؟؟

      اگه خدا بخواد و مشکی رخ نده – بله! – فعلا رو HID دارم مطالعه میکنم – انگلیسیم ضعیفه اذیتم میکنه – خدا لعنت کنه مسئولین آموزش پرورش رو!

      فعالیت ها و آموزش ها خیلی کاهش یافته . چرا ؟؟

      بگذریم…

      پاسخ

یک نظر بدهید

برای صرف‌نظر کردن از پاسخ‌گویی اینجا را کلیک کنید.

آزادی قدس نزدیک است، ان شاء الله

آزادی قدس نزدیک است، ان شاء الله

مطلب ( پروژه ) بعدی …

فعلا دارم رو USB و میکرو LPC کار میکنم، 3 تا موضوع مطرح هستش ( که تو ذهنمه هر3شو برم ) :

1) میکرو در نقش Device ( فعلا محوریت کار من این مورد هستش )
2) میکرو در نقش Host
3) میکرو در نقش OTG

 

و باز 2 تا موضوع مطرح هستش، برا راه اندازی usb دو تا راه داریم ( که تو ذهنمه هر2شو برم ) :

1) استفاده از میکروکنترلر ( فعلا محوریت کار من این مورد هستش که از LPC1768 استفاده میکنم )
2) استفاده از آیسی های مختص اینکار.

 

فعلا کارم با دیتاشیت usb تموم شده، دارم کلاس های usb رو مطالعه میکنم، کلاس cdc رو ماستمالی کردیم و یه پروژه ازش منتشر کردیم، الان رو کلاس HID ریز شدم و دارم مطالعه میکنمش و پروژه ازش میزارم تو سایت.

 

جزئیات داستان رو در لینک زیر میتویند ببینید :

آموزش جامع پروتکول USB

 

===

 

به علت اثطغبال بیش از حد دوستان از موضوع usb؛ فعلا یکم سرگرم طراحی قالب جدید سایت شدم ^_^

نظرات اخیر

  • میثم : اقا دم شما گرم. سایت شما یکی از منابع عالی الکترونیک هست که خیلی مط ...

  • مهدی دمیرچیلو : سلام پروژه - خط 3 MFRC522 mfrc522(10/*SS_PIN*/, 9/*RST_PIN*/); پین ...

  • مهدی دمیرچیلو : سلام - باید واحد تایمر میکرو رو مطالعه کنید و توابع مورد نیازتون رو ...

  • مهدی دمیرچیلو : سایت شخصی هستش - دوس دارم ته هر مطلبم یه عکس یا یه متلب متفرقه قرار ...

  • mosa : سلام آقا مهدی مرسی بابت مطلب عالیتون یه سوال داشتم!من از آردوینو می ...

جستجو

bigtheme
  1. پسورد فایل های سایت

    پسورد تمام فایل های سایت الکترونیک

  2. کانال ما در آپارات


ارائه دادن پروژه های سایت به استاد و یا فروختنشون مورد رضایت ما نیست و خلاف شرع و قانون می باشد / کپی کردن مطالب سایت ممنوعه /
  توسط بیگ تم