سه شنبه, خرداد 5, 1405
ادامه منو
    خانهآموزشمطالب آموزشیپورت COM مجازی چیست؟ مسیر کامل ارتباط USB تا UART در STM32

    پورت COM مجازی چیست؟ مسیر کامل ارتباط USB تا UART در STM32

    در این پست از سایت اِمیک, یک پست آموزشی با عنوان پورت COM مجازی چیست؟ مسیر کامل ارتباط USB تا UART در STM32 قرار داده شده است. در بسیاری از پروژه های الکترونیکی لازم است کامپیوتر با یک میکروکنترلر مانند STM32 ارتباط برقرار کند. برای مثال ممکن است بخواهیم از طریق یک نرم افزار روی کامپیوتر به میکروکنترلر فرمان بدهیم، داده ای را ارسال کنیم یا اطلاعاتی را از آن دریافت کنیم.

    پورت COM مجازی چیست؟ مسیر کامل ارتباط USB تا UART در STM32

    یکی از رایج ترین روش های انجام این کار استفاده از ارتباط سریال از طریق پورت COM است. در این پست ابتدا مفهوم پورت را بررسی می کنیم و سپس می بینیم که ارتباط بین کامپیوتر و میکروکنترلر از طریق USB و پورت COM چگونه برقرار می شود.

    پورت چیست؟

    در دنیای کامپیوتر، پورت (Port) مسیری برای تبادل داده بین کامپیوتر و یک دستگاه دیگر است. هر زمان که کامپیوتر بخواهد با یک وسیله خارجی ارتباط برقرار کند، داده ها از طریق یک پورت منتقل می شوند. به طور کلی پورت ها به دو دسته تقسیم می شوند:

    پورت های فیزیکی

    پورت های فیزیکی همان درگاه های سخت افزاری روی کامپیوتر هستند که می توان آنها را به صورت مستقیم روی بدنه دستگاه مشاهده کرد. این پورت ها برای اتصال انواع تجهیزات استفاده می شوند. برخی از نمونه های رایج پورت های فیزیکی عبارت اند از:

    • پورت USB برای اتصال فلش مموری، ماوس، کیبورد و بردهای الکترونیکی
    • پورت HDMI برای اتصال مانیتور یا تلویزیون
    • پورت Audio Jack برای هدفون و میکروفن
    • پورت Ethernet برای اتصال شبکه

    این پورت ها مسیر فیزیکی انتقال داده بین کامپیوتر و دستگاه های دیگر را فراهم می کنند.

    پورت های مجازی

    در کنار پورت های فیزیکی، نوع دیگری از پورت ها نیز وجود دارند که پورت مجازی (Virtual Port) نامیده می شوند. این پورت ها به صورت فیزیکی روی کامپیوتر وجود ندارند، بلکه سیستم عامل آنها را به صورت نرم افزاری ایجاد می کند.

    یکی از مهم ترین انواع پورت های مجازی، پورت COM مجازی (Virtual COM Port) است.

    وقتی برخی دستگاه ها و بردها مانند Arduino، بعضی بردهای STM32 یا ماژول های USB به سریال به کامپیوتر متصل می شوند، سیستم عامل با کمک درایور مربوطه یک پورت COM مجازی ایجاد می کند. این پورت ها در سیستم عامل با نام هایی مانند COM4, COM3, COM2, COM1 و … نمایش داده می شوند.

    هر نرم افزار یا زبان برنامه نویسی (مثلاً پایتون) که توانایی باز کردن پورت COM را داشته باشد، می تواند از طریق این پورت با دستگاه متصل شده ارتباط سریال برقرار کند.

    نقش ماژول USB به سریال

    میکروکنترلرها معمولا برای ارتباط سریال از استانداردی به نام UART استفاده می کنند. در این روش ارتباط از طریق دو پایه اصلی انجام می شود:

    • پایه ارسال داده (TX)
    • پایه دریافت داده (RX)

    در مقابل، کامپیوترها معمولا ارتباط مستقیم UART ندارند و بیشتر از USB برای اتصال دستگاه ها استفاده می کنند.

    اینجاست که ماژول USB به سریال وارد عمل می شود. این ماژول در واقع یک مبدل است که بین کامپیوتر و میکروکنترلر قرار می گیرد و داده ها را بین دو نوع ارتباط مختلف تبدیل می کند. به عبارت دیگر، این ماژول داده های USB را به سیگنال های سریال UART تبدیل می کند و همچنین برعکس آن را نیز انجام میدهد.

    ایجاد پورت COM هنگام اتصال دستگاه

    زمانی که ماژول USB به سریال یا بردی که چنین قابلیتی دارد به کامپیوتر وصل می شود، اگر درایور آن از قبل در سیستم عامل نصب شده باشد، فعال می شود و سیستم عامل یک پورت COM مجازی ایجاد می کند. اما اگر درایور شناسایی نشود، دستگاه به صورت ناشناس ظاهر می شود و لازم است درایور مربوطه را نصب کنیم تا پورت COM ایجاد شود.

    از نگاه نرم افزارهای کامپیوتری، این پورت دقیقا مانند یک پورت سریال واقعی عمل می کند. به همین دلیل برنامه ها بدون اینکه درگیر پیچیدگی های ارتباط USB شوند، می توانند از طریق همین پورت COM با دستگاه ارتباط برقرار کنند. یعنی سیستم عامل با کمک درایور، دستگاه USB را به گونه ای معرفی می کند که از دید برنامه ها و نرم افزارهای کامپیوتری، یک پورت COM (سریال واقعی) به نظر برسد، در حالی که در پشت صحنه، داده ها از بستر USB عبور می کنند.

    در واقع پورت COM مجازی یک لایه واسط نرم افزاری است که ارتباط بین برنامه های کامپیوتری و سخت افزار متصل شده را ساده می کند.

    مسیر انتقال داده از کامپیوتر به STM32

    برای درک بهتر موضوع، می توان مسیر انتقال داده را به صورت مرحله ای در نظر گرفت.

    ابتدا یک برنامه روی کامپیوتر (مثلاً نرم افزار نوشته شده با پایتون) داده ای را برای ارسال آماده می کند. این داده از طریق پورت COM مجازی به سیستم عامل ارسال می شود. سپس سیستم عامل و درایور مربوطه داده را به شکل مناسب برای انتقال از طریق USB آماده می کنند.

    این داده از طریق کابل USB به ماژول USB به سریال منتقل می شود. ماژول نیز داده دریافتی را به سیگنال های سریال UART تبدیل می کند.

    در نهایت این سیگنال ها از طریق پایه های RX و TX به میکروکنترلر STM32 منتقل می شوند و میکروکنترلر می تواند آنها را دریافت و پردازش کند.

    مسیر کلی ارتباط

    اگر بخواهیم مسیر ارتباط را به صورت خلاصه بیان کنیم، می توان آن را به شکل زیر در نظر گرفت:

    نرم افزارهای کامپیوتری (مثلاً برنامه نوشته شده با پایتون) پورت COM مجازی درایور سیستم عامل ارتباط USB ماژول USB به سریال ارتباط UART میکروکنترلر STM32

    در مسیر بازگشت نیز دقیقا همین مسیر به صورت معکوس طی می شود تا داده از میکروکنترلر به کامپیوتر برسد.

    جمع بندی

    برای ارتباط بین کامپیوتر و میکروکنترلر معمولا از ترکیب پورت COM مجازی، USB و ارتباط سریال UART استفاده می شود. در این فرایند:

    1. سیستم عامل یک پورت COM مجازی ایجاد می کند
    2. برنامه های کامپیوتری از طریق این پورت با دستگاه ارتباط برقرار می کنند
    3. داده ها از طریق USB به ماژول USB به سریال منتقل می شوند
    4. این ماژول داده ها را به سیگنال های UART تبدیل می کند
    5. میکروکنترلر STM32 از طریق پایه های RX و TX داده را دریافت می کند

    به این ترتیب یک مسیر ارتباطی ساده و قابل استفاده بین نرم افزارهای کامپیوتری و میکروکنترلر ایجاد می شود.

    نظر یادتون نره…

    عابد رازانی
    عابد رازانیhttps://emic.ir/
    فارغ التحصیل کارشناسی الکترونیک از دانشکده باهنر شیراز و علاقمند به برنامه نویسی و طراحی مدارات الکترونیکی, در حال حاضر به تولید محتوای آموزشی و طراحی و انجام پروژه مشغول هستم.

    ارسال دیدگاه

    لطفا نظر خود را وارد کنید!
    لطفا نام خود را اینجا وارد کنید

    spot_img