نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
مهدی دمیرچیلو

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

به نام خدا : همونطور که میدونید میکروکنترلر 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

 

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

 

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

 

شماتیک پروژه : پایه های کابل 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 هستش که به کمک لاجیک آنالایزر تهیه شده، دوست داشتید میتونید کدهاشو بررسی کنید.

 

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

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

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

گروه پرسش و پاسخ الکترونیکی در سروش
مهدی دمیرچیلو
ارسال دیدگاه
6

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

4) پسورد فایل های سایت : www.dmf313.ir

  1. Avatar

    مهمان

    غزل

    سلام
    ممنون از سایت خوبتون
    فقط تمام جلسات در چه سایت قرار داده شده؟
    من فقط جلسه 0 و 14و 15 را پیدا کردم

    • مهدی دمیرچیلو

      نویسنده این مطلب

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

      سلام – جلسه 0و14و15؟ چه مطلبی؟ لینکشون رو میشه بدید.

  2. Avatar

    مهمان

    علی

    سلام خسته نباشید میشه اموزش نصب c++ در کیل بگید من نمی تونم پروژه کامپایل کنم

    • مهدی دمیرچیلو

      نویسنده این مطلب

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

      سلام – تاجایی که یادمه موقع ایجاد پروژه جدید میشد زبون رو انتخاب کرد یا از طریق تنظیمات – دقیقا خاطرم نی.
      چیزی لازم نی نصب کنید

  3. Avatar

    مهمان

    Amir

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

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

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

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

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

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

    • مهدی دمیرچیلو

      نویسنده این مطلب

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

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

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

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

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

      بگذریم…