در دنیای مهندسی الکترونیک و دیجیتال UART یکی از پرکاربردترین پروتکل ها است و
از این رو بر تمامی علم آموزان این حوزه واجب است که بدانند UART چیست و چگونه عمل می کند؟

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

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

1# UART چیست؟

“UART” مخفف Universal Asynchronous Receiver-Transmitter به معنی فرستنده و گیرنده سریال ناهمزمان جهانی است.

UART در حقیقت یک محیط سخت افزاری است که در داخل یک میکروکنترلر وجود دارد.

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

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

عملکرد UART این است که داده های ورودی و خروجی را به جریان دودویی سریال تبدیل می کند.

داده های سری 8 بیتی دریافت شده از دستگاه با استفاده از مبدل سریال به موازی به شکل موازی و
داده های موازی دریافت شده از CPU با استفاده از مبدل موازی به سریال به شکل سریال تبدیل می شوند.

UART چیست؟

2# علت وجود UART چیست؟

پروتکل هایی مانند SPI (رابط سریال جانبی)، USB (گذرگاه سریال عمومی) و Bus برای ارتباط سریع استفاده می شوند.

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

UART یک وسیله ارتباطی ارزان با یک فرستنده/گیرنده است.

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

علت وجود UART چیست؟

با استفاده از مبدل RS232-TTL یا مبدل USB-TTL می توان با رایانه شخصی ارتباط برقرار کرد.

نکته مشترک بین RS232 و UART این است که هر دو برای انتقال و دریافت داده به کلاک نیاز ندارند.

این را هم ببینید
پروتکل چیست؟

3# بلوک دیاگرام UART

برای این که بهتر متوجه شویم UART چیست، باید با اجزای تشکیل دهنده این پروتکل پر استفاده آشنا شویم.

UART از اجزای نشان داده شده در شکل زیر تشکیل شده است.

بلوک دیاگرام UART

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

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

به طور مشترک، هر دو فرستنده و گیرنده با یک مولد Baud rate (نرخ باود) عمل می کنند.

مولد نرخ باود سرعت تولید فرستنده و گیرنده را برای ارسال/دریافت داده فراهم می کند.

داده ای که قرار است منتقل شود، در رجیستر نگهداری انتقال (Transmit hold register) ذخیره می شود.

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

علاوه بر این، یک منطق کنترل خواندن یا نوشتن ارائه شده است تا زمان خواندن/نوشتن را تشخیص دهد.

4# UART چگونه کار می کند؟

تا به این جا، فهمیدیم که UART چیست و از چه اجزایی تشکیل شده است.

مرحله بعد، آشنایی با نحوه عملکرد آن است.

برای دانستن عملکرد UART، باید عملکرد اساسی ارتباط سریال را درک کرد.

فرستنده و گیرنده برای همگام سازی با یکدیگر از پارامترهای بیت شروع، بیت پایان و پارامترهای زمانی استفاده می کنند.

داده های اصلی به صورت موازی هستند.

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

برای طراحی مبدل ها از فلیپ فلاپ یا لچ D استفاده می شود.

1-4# فلیپ فلاپ D

فلیپ فلاپ D به عنوان فلیپ فلاپ داده نیز شناخته می شود.

در این فلیپ فلاپ، اگر کلاک تغییر کند، یک بیت از سمت ورودی به سمت خروجی شیفت پیدا می کند.

D فلیپ فلاپ

2-4# مبدل موازی به سریال

نقش مبدل موازی به سریال در پروتکل UART چیست؟

  1. تعداد فلیپ فلاپ ها معادل تعداد بیت های منتقل شده است.
    مالتی پلکسرها را در مقابل هر یک از فلیپ فلاپ ها قرار دهید.
    نقش یک مالتی پلکسر، ترکیب داده های ورودی و تبدیل آن به یک داده سریال است.
    برای مولتی پلکسر دو ورودی تعریف شده است.
    یکی از آن دو ورودی، داده موازی جدید وارد شده به سیستم بوده و
    ورودی دوم، خروجی مالتی پلکسر مرحله قبل است.
  2. داده ها را هم زمان در فلیپ فلاپ های D به شکل موازی دریافت می کند.

مبدل موازی به سریال

3-4# مبدل سریال به موازی

نقش مبدل سریال به موازی در پروتکل UART چیست؟

  1. در ابتدا، گذرگاه موازی غیرفعال است.
    داده ها را در ورودی اولین فلیپ فلاپ ذخیره کنید. اکنون کلاک را 1 کنید.
    این کار، بیت با ارزش کم تر را به ورودی فلیپ فلاپ دوم و خروجی فلیپ فلاپ اول منتقل می کند؛
    به همین ترتیب، همه بیت ها را یکی یکی انتقال دهید.
  2. در این زمان هر فلیپ فلاپ حاوی یک بیت داده سریال است.
    در عین حال تمام بیت ها به خروجی فلیپ فلاپ منتقل می شوند.
    اکنون گذرگاه موازی را فعال کنید؛ این کار باعث می شود که مبدل هم زمان همه بیت ها را ارسال کند.

مبدل سریال به موازی

4-4# راهنمای پروتکل UART

ما می توانیم UART را طوری تنظیم کنیم که با انواع پروتکل های سریال کار کند.

روند کار در یک طرح ارتباطی UART به شرح زیر است:

  1. پین Tx (انتقال) یک تراشه مستقیماً به پین ​​Rx (دریافت) دیگری و بالعکس متصل می شود.
    معمولاً انتقال در 3.3 یا 5 ولت انجام می شود.
    UART یک پروتکل تک master و تک slave است که
    در آن یک دستگاه برای برقراری ارتباط فقط با یک شریک تنظیم شده است.
  2. داده ها به موازات دستگاه کنترل به یک UART می روند و از آن می آیند.
  3. هنگام ارسال روی پین Tx، اولین UART این اطلاعات موازی را به سریال ترجمه کرده و
    به همتای گیرنده منتقل می کند.
  4. UART دوم این داده ها را روی پین Rx خود دریافت کرده و
    مجدداً به موازی تبدیل می کند تا با دستگاه کنترل کننده خود ارتباط برقرار کند.

UART ها داده ها را به صورت سریال، در یکی از سه حالت زیر انتقال می دهند:

  • Full duplex: ارتباط همزمان بین master و slave وجود دارد.
  • Half duplex: داده ها در یک بار در یک جهت جریان می یابند.
  • Simplex: فقط ارتباط یک طرفه است.

راهنمای پروتکل UART

5# قالب پروتکل در UART چیست؟

UART ارتباط را با بیت آغازین “0” شروع می کند.

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

همچنین یک بیت توازن (parity bit) هم ارائه می شود.

توازن زوج با 0 و توازن فرد با 1 نشان داده می شود.

قالب پروتکل در UART چیست؟

انتقال داده ها با استفاده از یک خط انتقال واحد (TxD) انجام می شود.

در این جا “0” به عنوان فاصله خالی در نظر گرفته می شود و “1” به عنوان داده شناخته می شود.

فرستنده هر بار یک بیت ارسال می کند.

پس از ارسال یک بیت، بیت بعدی ارسال می شود.

به این ترتیب، تمام بیت های داده با نرخ باود از پیش تعیین شده به گیرنده ارسال می شوند.

در انتقال هر بیت تأخیر خاصی وجود دارد.

به عنوان مثال، برای ارسال یک بایت داده با نرخ باود 9600، هر بیت با تأخیر 108 میکروثانیه ارسال می شود.

بیت توازن به داده ها اضافه می شود؛ بنابراین، 10 بیت داده برای ارسال 7 بیت داده مورد نیاز است.

قالب پروتکل در UART چیست؟ (2)

در هنگام دریافت، از خط RxD (گیرنده) برای دریافت داده استفاده می شود.

قالب پروتکل در UART چیست؟ (3)

6# مزایا و معایب UART چیست؟

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

برای داشتن دید گسترده تر نیاز است بدانیم مزایا و معایب UART چیست تا
بتوانیم با توجه به آن ها، در موقعیت های مناسب آن را به کار ببریم.

مزایا:

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

معایب:

  • UART از پیکربندی multi-slave یا multi-master پشتیبانی نمی کند.
  • اندازه بسته داده به 9 بیت محدود می شود.
  • UART برای برقراری ارتباط سریال در هنگام مصرف زیاد انرژی مناسب نیست.

دانلود pdf مقاله

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

برای یادگیری صفر تا صد این حوزه به آموزش جامع میکروکنترلر آرم مراجعه کنید.

برای مشاهده توضیحات کامل بسته کلیک کنید.

بسته میکروکنترلر آرم

اگر به دنبال یاد گرفتن مهارت بیشتر و افزایش درآمد هستید،

برای دریافت آموزش های رایگان مرتبط با حوزه علاقه‌مندی خود فقط کافیه فرم رو تکمیل کنید.

لطفا موبایل خود را وارد نمایید

نظرتون درباره این مقاله چیه؟
ما رو راهنمایی کنید تا اون رو کامل تر کنیم و نواقصش رو رفع کنیم.
توی بخش دیدگاه ها منتظر پیشنهادهای فوق العاده شما هستیم.