پروتکل UART چیست ؟ قسمت دوم
نکته مهم قبل از هر چیز متن پروتکل SPI چیست که قسمت اول این مقاله است را حتما بخوانید(کلیک کنید)
پروتکل UART
اگر به یاد بیاورید پرینتر ها ، موس ها ، کیبرد و… قدیمی با یک کابل خیلی بزرگ به کامپیوتر وصل می شدند. که این کابل به صورت سریال با کامپیوتر ارتباط بر قرار میکرد.
این کابل ها از پروتکل UART بودند.البته این پروتکل هنوز در برد های موبایل استفاده می شود.
این روزها از پروتکل UART در پروژهای الکترونیکی برای ارتباط ماژول های مختلف با انواع میکروکنترلرها مثل رزپبری پای، آردوینو ARM و … مورد استفاده قرار میگرد.
و هم در برد موبایل برای ارتباط بین قسمت های مختلف هنوز از این نوع پروتکل برای ارتباط استفاده می شود.
UART مخفف کلمه ( Universal Asynchronous Receiver Transmitter ) است.
UART یک پروتکل ارتباطی مانند SPI و یا I2C نیست که ارتباط به صورت MASTER و SLAVE باشد، بلکه یک مدار فیزیکی در میکروکنترلر است (مثل شکل بالا در گوشی A50) و یا یک IC ، کار ارسال و دریافت دیتا را به صورت سریال انجام میدهد.
یکی از نقاط قوت UART، استفاده از دو سیم جهت انتقال دیتا بین قطعات می باشد. به همین خاطر در قسمت هایی که سرعت اهمیت چندانی ندارد معمولا از این نوع پروتکل برای ارتباط استفاده میکنند.
نحوه ارتباط UART
در ارتباط UART دو دستگاه به طور مستقیم با یکدیگر متصل می شوند. دستگاه ارسال کننده دیتاهای های موازی را که از بخش کنترلی مانند CPU دریافت می کند، و به سریال تبدیل میکند و برای دستگاه دریافت کننده ارسال می کند. سپس در سمت دریافت کننده دیتاهای سریال به صورت موازی تبدیل می شوند. دیتاها به صورت بیت به بیت ها از پین TX (دستگاه ارسال کننده دیتا ) برای پین RX (دستگاه دریافت کننده دیتا) ارسال می شوند.
UART دیتاهای ها را به صورت ناهمزمان(UNSANCRON) ارسال می کند. به این معنی که CLOCK به منظور هماهنگ کردن دیتاهای خروجی دستگاه ارسال کننده با دیتا های دستگاه دریافت کننده، نداریم. به جای کلاک از بیت های شروع، توازن(parity) و پایان در دیتاهای های ارسالی استفاده می کند، لذا دستگاه دریافت کننده متوجه می شود که چه زمانی شروع به خواندن دیتاها ها کند.
زمانی که دستگاه دریافت کننده متوجه بیت (دیتا به صورت بیت 0و1 ارسال میشود) شروع شد، داده های ورودی را با فرکانس پالس مشخصی که به آن نرخ انتقال داده(baud rate) می گویند، دریافت می کند.
baud rate (بادریت) تعیین کننده سرعت انتقال اطلاعات است و برحسب بیت برثانیه(bps) سنجیده می شود. هر دو دستگاه اتباطی با UART باید با baud rate یکسان عمل کرده و حداکثر میزان اختلاف آنها بیشتر ده درصد نباشد.
دستگاه TX( ارسال کننده ) دیتا را از مسیر data bus دریافت می کند.
برای ارسال اطاعات در UART از قطعاتی مثل CPU، حافظه و یا میکروکنترلر(مثلا AVR , ARM ,…) استفاده می شود. دیتاها به صورت موازی از گذرگاه داده به UART فرستاده شده، دستگاه ارسال کننده با اضافه کردن بیت های شروع، توازن و پایان یک بسته دیتا ایجاد می کند. در ادامه این بسته به صورت سریال و بیت به بیت از طریق پین TX(ارسال کننده) ارسال می شود.
دستگاه RX (دریافت کننده) داده های سریال را از طریق پین RX دریافت و به حالت موازی تبدیل کرده و بیت های شروع، تعادل و پایان را حذف می کند. در انتها این دیتا ها به گذرگاه دیتا در دستگاه دریافت کننده فرستاده می شوند.
پروتکل UART
در پروتکل UART دیتا ها به صورت یک بسته دیتا ارسال می شود ، هر بسته دیتا شامل بین 5 تا 9 بیت دیتا(بسته به نوع دیتا و دستگاه دارد) و یک بیت شروع و یک بیت توازن و یک بیت توقف یا پایان کار است.
بیت شروع BIT START :
در حالت عادی خط انتقال شروع در حالت HEIGHT (1) قرار دارد.وقتی که دستگاه ارسال کننده قصد ارسال دیتا را دارد یک بیت LOW (0) به صورت یک پالس به دستگاه گیرنده ارسال میکند.و دستگاه گیرنده آمده دریافت دیتا از گذرگاه baud rate می شود.
DATA FRAME :
اطلاعات در این قسمت قرار دارد و اطلاعات بین 5 تا 9 بیت در این قسمت ارسال می شود.
بیت توازن PARITY BITS :
این بیت ها معمولا توازن زوج و یا فرد در داده ها به وجود می آورند. از بیت توازن برای تشخیص وجود خطا در دیتاهای ارسال شده در UART استفاده می شود.
بیت های ارسالی ممکن است به دلایلی مثل: نویز، عدم تطبق baud rate یا فاصله طولانی بین دستگاه ها ایجاد شود.
زمانی که داده دریافت شد، تعداد یک های موجود در آن با توجه به توازن زوج و یا فرد انتخاب شده، بررسی می شود. در صورتی که بیت توازن صفر باشد(توازن زوج)، در این صورت تعداد یک ها باید زوج، و در صورتی که بیت توازن یک باشد(توازن فرد) تعداد یک ها باید فرد باشد. از این طریق وجود و یا عدم وجود خطا در دیتاهای ارسالی چک می شود.
بیت پایانی یا STOP BITS :
برای مشخص کردن پایان ارسال دیتا است و دستگاه فرستنده TX خط انتقال داده را برای مدت حداقل دو پالس بیت از حالت LOW (0) به حالت HIGH 1 تغییر می کند تا دریافت کننده RX متوجه پایان کار شود.
پروتکل UART چیست
مراحل انتقال داده در UART:
1-دستگاه ارسال کننده (TX) دیتاها را به صورت موازی از گذرگاه دریافت می کند.
2- دستگاه ارسال کننده TX بیت شروع BIT START ،توازن و پایانی را به داده اضافه می کند.
3- بسته دیتا به صورت سریال و با توجه به سرعت baud rate از دستگاه ارسال کننده TX فرستاده می شود.
4-دستگاه دریافت کننده (RX) بیت شروع، توازن و پایانی را از دیتای خود حذف می کند.
5-دستگاه دریافت کننده (RX ) دیتا سریال را به موازی تبدیل کرده و به گذرگاه دیتا ارسال می کند.
پروتکل UART در برد موبایل
پروتکل UART در برد موبایل برای ارتباط قسمت های مختلف با CPU مثل حافظه JTAG ,.. کاربرد دارد و اگر در نقشه گوشی در قسمت های مختلف با عبارت UART مواجه شدید منظور مسیر های مربوط به پروتکل UART است.
مثلا در شکل بالا مسیر UART برای اراتباط با بلوتوث و WIFI از پروتکل UART استفاده میکند و در شماتیک کاملا مشخص است که این مسیر ها مربوط به فرستنده TX و گیرنده RX است.
پروتکل UART چیست
نتیجه گیری :
در دوره های آموزش تعمیرات موبایل شیراز فیدار که در آموزشگاه تعمیرات موبایل شیراز فیدار برگذار میگردد مسیر ها و عیب یابی مسیر های بین آی سی ها مثل SPI I2C , UART I2S را به صورت کامل آموزش میدهیم.در دوره های آموزش تعمیرات موبایل که در آموزشگاه فیدار برگذار میگردد تمام نکته ها و تکنیک های تعمیرات موبایل به صورت کامل و تخصصی به ما آموزش داده میشود.برای شرکت در دوره ها به لینک آموزشگاه تعمیرات موبایل شیراز فیدار مراجعه کنید و برای مشاهده آموزش ها و تکنیک های رایگان تعمیرات موبایل به کانال یوتیوب fidarteam ، آپارات fidarteam و اینستگرام ما به آدرس fidarteam مراجعه کنید