در اين بخش مي‌توانيد آموزش و مثال‌های مرتبط با میکروکنترلرهای AVR را مشاهده بفرمایید
Colonel II

Colonel II



نماد کاربر
پست ها

6608

تشکر کرده: 1669 مرتبه
تشکر شده: 8142 مرتبه
تاريخ عضويت

سه شنبه 26 آذر 1387 16:20

آرشيو سپاس: 11653 مرتبه در 2024 پست

آموزش کار کردن با ارتباط UART میکروکنترولر

توسط sinaset » سه شنبه 1 دی 1394 14:17

بنام خدا
با سلام

آموزش کار کردن با ارتباط UART میکروکنترولر


در این تاپیک سعی می کنیم،ارتباط UART (برای میکروکنترولر AVR با نام USART) را اموزش دهیم


مقدمه


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

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

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

اگر درون میکروکنترولر واحد Uart نبود.چه اتفاقی می افتاد.؟!


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

به عنوان مثال،یکی از دستور uart که توسط کتابخانه کدویژن پشتیبانی میشود puts می باشد . حال اگر ما بخواهیم متن Hello را برای uart دیگر میکروکنترولر ارسال کنیم ، فقط این دستور ساده را می نویسیم ("puts("Hello و متن به راحتی برای میکروکنترولر دیگر ارسال میشود.

اما اگر سخت افزار uart نبود!، ما باید دست کم 20 تا 30 خط برنامه با حلقه های for و .. و تا حدود پیچیده می نوشتیم. تا دستورات توسط یکی از پایه ها میکروکنترولر ارسال میشد .. !

دیتا 8 بیتی توسط واحد usart به صورت سریالی ارسال میشود
(همانجور که در تصویر بالا می ببینید،بجایی دیتا موازی که سیم زیادی می برد! فقط از طریق یک خط سیم ، بیت ها 0 و 1 پشت سر هم برای گیرنده uart دیگر میکروکنترولر یا ایسی فرستاده میشود)

انشالله در اینده بحث رو بیشتر باز می کنیم...
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

3 کاربر از این پست سپاسگزاري کرده اند

Colonel II

Colonel II



نماد کاربر
پست ها

6608

تشکر کرده: 1669 مرتبه
تشکر شده: 8142 مرتبه
تاريخ عضويت

سه شنبه 26 آذر 1387 16:20

آرشيو سپاس: 11653 مرتبه در 2024 پست

Re: آموزش کار کردن با ارتباط UART میکروکنترولر

توسط sinaset » شنبه 10 بهمن 1394 11:01

بنام خدا
با سلام



برتری های USART نسبت به دیگر واحدهای ارتباطی
واحد USART بدلیل اینکه ،که تنها با دو پایه می تواند اطلاعات را هم زمان دریافت و ارسال کند،نسبت به دیگر رقبا خودچون SPI و I2C  از نظر سادگی برقرار کردن ارتباط، بالاتر می باشد .

در واحدی های دیگری چون SPI و I2C  باید همراه با دیتا یک کلاک جداگانه بر روی یک پایه دیگر ایجاد کنیم. که اصطلاحا به چنین مودهایی "سنکرون" گفته میشود(Synchronous)
اما در USART می توان در مد "آسنکرون" هم کار کرد  و از این بابت پیچیدگی ها کار کردن با مود "سنکرون" را ندارد.به چنین مودم های که خودشان کلاک هم زمان دارن  آسنکرون گفته میشود (ASynchronous)
تفاوت UART با USART
UART مخفف کلمه Universal Asynchronous Receiver Transmitter که به معنی ارسال و دریافت اطلاعات در مد آسنکرون می باشد اما USART مخفف کلمه Universal Synchronous Asynchronous Receiver Transmitter که به معنی ارسال و دریافت اطلاعات در مدهای آسنکرون و سنکرون می باشد.
در واقع USART علاوه بر مود آسنکرون می تواند در مود سنکرون هم کار کند . (ولی در باقی موارد شبیه uart می باشد .

سرعت در UART
(همانجور که در البته پست اول گفتم،برای سادگی کار ما از همان لفظ uart استفاده می کنیم)

البته سرعت در uart قابل تنظیم نیست،اما واحدی به نام Baud rate وجود که به کمک ان می توانید پهنایی داده ارسالی را مشخص کنید .

که در uart از 2400 بیت در ثانیه شروع میشود تا به 250 کیلوبایت در ثانیه می رسید .
*لازم به ذکر است،باید حتما کریستال به پایه میکروکنترولر وصل باشد،وگرنه در زمان بندهای اشکالی پیش می اید و دیتا بدرستی ارسال نمی شود
*در تصویر بالا،میکروکنترولر Atmega328 در فرکانس های مختلف(با کریستال) با سرعت های مختلف مورد ازمایش قرار گرفته است ،که در بعضی سرعت و فرکانس ها،خطاهای به وجود امده که با Erro و به صورت درصد مقابل آنها ذکر شده است.
نقاط ضعف واحد UART
این واحد حدود 20 تا 25 ثانت برد ارسال داده هاش است و بیشتر از این به مشکل بر می خورد . برای همین نمی توان از سیم های بزرگ برای انتقال داده از پایه های Rx و Tx استفاده کرد .
کارهای که می توان با uart انجام داد
به کمک این میکرو می توانید با ماژول های فرستنده و گیرنده وایرلس ارتباط برقرار کنید،همچنین می توانید به کمک واحد با ایسی واسط کامپیوتر چون RS232 و rs485  و واسط های کامپیوتر و . ارتباط برقرار کنید و کارهای را بهتر انجام دهید(به عنوان مثال موسی یا کیبورد برای سیستم بسازید بعد به کمک uart اطلاعات را به واسط های چون rs232 و .. ارسال کنید تا به زبان قابل فهم برای کامپیوتر ان را تبدیل کند)
uart تا حدودی شبیه USB می باشد ، بدلیل انکه برای ارسال اطلاعات به دو سیم بیشتر نیاز ندارد و برای کارهای حساس و کارهای که نیاز به سیم های کمتر وجود دارد بیشتر مورد استفاده قرار می گیرد .
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

2 کاربر از این پست سپاسگزاري کرده اند


 


  • موضوعات مشابه
    پاسخ ها
    بازديدها
    آخرين پست

چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون كاربران آنلاين و 0 مهمان