فهرست مطالب:

مبانی ارتباط UART: 16 مرحله
مبانی ارتباط UART: 16 مرحله

تصویری: مبانی ارتباط UART: 16 مرحله

تصویری: مبانی ارتباط UART: 16 مرحله
تصویری: MKS SGEN L V1.0 - TMC2208 UART install 2024, نوامبر
Anonim
مبانی ارتباط UART
مبانی ارتباط UART

به یاد دارید زمانی که چاپگرها ، موش ها و مودم ها دارای کابل های ضخیم با این اتصالات بزرگ بودند؟ آنهایی که به معنای واقعی کلمه باید در رایانه شما پیچیده می شدند؟ این دستگاه ها احتمالاً از UART برای ارتباط با رایانه شما استفاده می کردند. در حالی که USB تقریباً به طور کامل جایگزین آن کابل ها و اتصالات قدیمی شده است ، UART ها قطعاً چیزی از گذشته نیستند. در بسیاری از پروژه های الکترونیکی DIY برای اتصال ماژول های GPS ، ماژول های بلوتوث و ماژول های کارت خوان RFID به Raspberry Pi ، Arduino یا سایر میکروکنترلرهای خود ، از UART ها استفاده خواهید کرد.

UART مخفف عبارت Universal Asynchronous Receiver/Transmitter است. این یک پروتکل ارتباطی مانند SPI و I2C نیست ، بلکه یک مدار فیزیکی در یک میکروکنترلر یا یک IC جداگانه است. هدف اصلی UART انتقال و دریافت داده های سریال است.

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

مرحله 1: مقدمه ای بر ارتباط UART

در ارتباط UART ، دو UART مستقیماً با یکدیگر ارتباط برقرار می کنند. UART فرستنده داده های موازی را از یک دستگاه کنترل کننده مانند CPU به شکل سریال تبدیل می کند ، آن را به صورت سریال به UART گیرنده منتقل می کند ، و سپس داده های سریال را به داده موازی دستگاه دریافت کننده تبدیل می کند. فقط دو سیم برای انتقال داده بین دو UART مورد نیاز است. جریان داده از پین Tx فرستنده UART به پین Rx UART دریافت کننده:

مرحله 2: جریان داده ها از پین Tx فرستنده UART به پین Rx UART دریافت کننده:

جریان داده ها از پین Tx فرستنده UART به پین Rx UART دریافت کننده
جریان داده ها از پین Tx فرستنده UART به پین Rx UART دریافت کننده

مرحله 3:

UART ها داده ها را به صورت غیر همزمان انتقال می دهند ، به این معنی که هیچ سیگنال ساعت برای همگام سازی خروجی بیت ها از UART فرستنده تا نمونه گیری بیت ها توسط UART گیرنده وجود ندارد. به جای سیگنال ساعت ، UART فرستنده بیت های شروع و توقف را به بسته داده ای که در حال انتقال است اضافه می کند. این بیت ها ابتدا و انتهای بسته داده را تعریف می کنند تا UART دریافت کننده بداند کی باید بیت ها را شروع کند.

هنگامی که UART گیرنده یک بیت شروع را تشخیص می دهد ، شروع به خواندن بیت های ورودی با فرکانس خاصی می کند که به آن نرخ baud می گویند. نرخ Baud اندازه گیری سرعت انتقال داده است که بر حسب بیت در ثانیه (bps) بیان می شود. هر دو UART باید با سرعت یکسان کار کنند. نرخ باود بین UART های فرستنده و دریافت کننده فقط قبل از اینکه زمان بیت ها بسیار دور شود ، حدود 10 differ متفاوت است.

مرحله 4:

تصویر
تصویر

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

مرحله 5: نحوه عملکرد UART

UART که قرار است داده ها را منتقل کند ، داده ها را از گذرگاه داده دریافت می کند. گذرگاه داده برای ارسال داده به UART توسط دستگاه دیگری مانند CPU ، حافظه یا میکروکنترلر استفاده می شود. داده ها به صورت موازی از گذرگاه داده به UART منتقل می شوند. بعد از اینکه UART فرستنده داده های موازی را از گذرگاه داده دریافت کرد ، یک بیت شروع ، یک بیت برابری و یک بیت توقف اضافه می کند و بسته داده را ایجاد می کند. بعد ، بسته داده به صورت سریال ، بیت به بیت در پین Tx خروجی می شود. UART گیرنده بسته داده را بیت به بیت در پین Rx خود می خواند. سپس UART دریافت کننده اطلاعات را به حالت موازی تبدیل می کند و بیت های شروع ، بیت برابری و بیت های توقف را حذف می کند. در نهایت ، UART گیرنده بسته داده را به موازات گذرگاه داده در قسمت دریافت کننده منتقل می کند:

مرحله 6: نحوه عملکرد UART

تصویر نحوه کار UART
تصویر نحوه کار UART

مرحله 7:

داده های منتقل شده UART در بسته ها سازماندهی می شوند. هر بسته شامل 1 بیت شروع ، 5 تا 9 بیت داده (بسته به UART) ، یک بیت برابری اختیاری و 1 یا 2 بیت توقف:

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

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

مرحله 9:

شروع بیت

خط انتقال داده UART معمولاً در زمانی که داده ها را منتقل نمی کند در سطح ولتاژ بالا نگه داشته می شود. برای شروع انتقال داده ها ، UART فرستنده خط انتقال را از بالا به پایین برای یک چرخه ساعت می کشد. هنگامی که UART گیرنده انتقال ولتاژ بالا به پایین را تشخیص می دهد ، شروع به خواندن بیت های فریم داده با فرکانس نرخ baud می کند.

چارچوب اطلاعات

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

برابری

برابری یکنواختی یا عجیب بودن یک عدد را توصیف می کند. بیت برابری راهی است که UART دریافت کننده می گوید که آیا هرگونه داده در طول انتقال تغییر کرده است یا خیر. بیت ها را می توان با تابش الکترومغناطیسی ، ناسازگاری سرعت باود یا انتقال داده از راه دور تغییر داد. بعد از اینکه UART دریافت کننده فریم داده را خواند ، تعداد بیت ها را با مقدار 1 می شمارد و بررسی می کند که آیا مجموع آن عدد زوج یا فرد است. اگر بیت برابری 0 (زوج برابری) باشد ، 1 بیت در قاب داده باید به یک عدد زوج برسد. اگر بیت برابری 1 (برابری فرد) باشد ، 1 بیت در قاب داده باید به یک عدد فرد برسد. وقتی بیت برابری با داده ها مطابقت دارد ، UART می داند که انتقال عاری از خطا بوده است. اما اگر بیت برابری 0 ، و مجموع آن فرد باشد ؛ یا بیت برابری 1 است و مجموع برابر است ، UART می داند که بیت های قاب داده تغییر کرده است.

توقف بیت ها

o سیگنال پایان بسته داده ، فرستنده UART خط انتقال داده را از ولتاژ پایین به ولتاژ بالا حداقل به مدت دو بیت هدایت می کند.

مرحله 10: مراحل انتقال UART

1. UART فرستنده داده ها را به صورت موازی از گذرگاه داده دریافت می کند:

مرحله 11: UART انتقال تصویر داده ها را به صورت موازی از گذرگاه داده دریافت می کند

UART انتقال دهنده تصویر به صورت موازی از گذرگاه داده دریافت می کند
UART انتقال دهنده تصویر به صورت موازی از گذرگاه داده دریافت می کند

مرحله 12: 2. انتقال UART ، بیت شروع ، بیت برابری و بیت (های) توقف را به Data Frame اضافه می کند:

2. انتقال UART بیت شروع ، بیت برابری و بیت (های) توقف را به Data Frame اضافه می کند
2. انتقال UART بیت شروع ، بیت برابری و بیت (های) توقف را به Data Frame اضافه می کند

مرحله 13: 3. کل بسته به صورت سری از UART انتقال دهنده به UART دریافت کننده ارسال می شود. Receiving UART نمونه خط داده را با نرخ پیش فرض Baud تنظیم می کند:

3. کل بسته به صورت سری از UART انتقال دهنده به UART دریافت کننده ارسال می شود. Receiving UART نمونه خط داده را با نرخ پیش فرض Baud تنظیم می کند
3. کل بسته به صورت سری از UART انتقال دهنده به UART دریافت کننده ارسال می شود. Receiving UART نمونه خط داده را با نرخ پیش فرض Baud تنظیم می کند

مرحله 14: 4. دریافت UART بیت شروع ، بیت برابری و توقف بیت را از فریم داده حذف می کند:

4. دریافت UART بیت شروع ، بیت برابری و توقف بیت را از فریم داده رد می کند
4. دریافت UART بیت شروع ، بیت برابری و توقف بیت را از فریم داده رد می کند

مرحله 15: 5. دریافت UART داده های سریال را به موازی تبدیل می کند و آنها را به گذرگاه داده در انتهای دریافت کننده منتقل می کند:

5. دریافت UART داده های سریال را به موازی تبدیل می کند و در انتهای دریافت آن را به گذرگاه داده منتقل می کند
5. دریافت UART داده های سریال را به موازی تبدیل می کند و در انتهای دریافت آن را به گذرگاه داده منتقل می کند

مرحله 16: مزایا و معایب UARTS

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

مزایای

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

اندازه فریم داده ها حداکثر تا 9 بیت محدود می شود از سیستم های متعدد slave یا master پشتیبانی نمی کند نرخ Baud هر UART باید در حدود 10٪ از یکدیگر باشد ادامه قسمت سوم این سری ، اصول اولیه پروتکل ارتباطی I2C برای آشنایی با روش دیگر برقراری ارتباط دستگاه های الکترونیکی. یا اگر قبلاً این کار را نکرده اید ، قسمت اول ، اصول پروتکل ارتباط SPI را بررسی کنید.

و مثل همیشه ، اگر سوالی دارید یا هر چیز دیگری برای اضافه کردن دارید ، در نظرات به من اطلاع دهید! اگر این مقاله را دوست داشتید و می خواهید نمونه های بیشتری از آن را ببینید ، حتماً آن را دنبال کنید

با احترام

م. جنید

توصیه شده: