تبیان، دستیار زندگی
مولد کلاک، فرستنده و گیرنده. رجیسترهای کنترل بین تمام واحد ها مشترک هستند. واحد تولید کلاک شامل مولد Baud Rate و بخش سنکرون سازی برای کلاک خارجی ورودی است که بخش دوم درحالتSlave سنکرون کاربرد دارد.
بازدید :
زمان تقریبی مطالعه :

قابلیت های Usart:

در مقاله قبلی در مورد USART  در رباتیک گفتگو کردیم و اکنون قابلیت های آن را مورد بررسی قرار می دهیم

از جمله قابلیت های آن می توان به قابلیت های زیر اشاره کرد:

usart

1) دارای رجیستر های مستقل برای ارسال و دریافت اطلاعات به صورت Full duplex

2) انتقال سنکرون یا آسنکرون

3) کار به صورت Master  و Slave در حالت سنکرون

4) مولد baud rate با دقت بالا

5) پشتیبانی فریم های سریال با 5 ،6،7،8 و 9 بیت داده و یک یا دو بیت برای Stop bit

6) تولید parity  فرد یا زوج و بررسی کردن Parity به صورت سخت افزاری

7) تشخیصOverrun  داده

8) تشخیص خطای فریم

9) فیلتر کردن نویز

10)  سه وقفه جداگانه که یکی پس از تکمیل TX،یکی پس از خالی شدن رجیستر داده TXو دیگری پس از تکمیل RX

11) دارای مد ارتباط چند پردازنده ای

12) دارای مد ارتباط آسنکرون با سرعت دو برابر

بلوک دیاگرام ساده شده Usart در شکل زیر نمایش داده شده است، رجیستر های I/O که قابل دسترسی CPU هستند و پایه های I/O پر رنگ شده اند.

usart

دراین نمودار خط چین ها سه بخش اصلی Usart را مشخص میکنند.( از بالا به پایین ):

مولد کلاک، فرستنده و گیرنده. رجیسترهای کنترل بین تمام واحد ها مشترک هستند. واحد تولید کلاک شامل مولد Baud Rate و بخش سنکرون سازی برای کلاک خارجی ورودی است که بخش دوم درحالتSlave  سنکرون کاربرد دارد. پایه( XCK (Transfer Clock فقط در حالت انتقال سنکرون کاربرد دارد. بخش فرستنده شامل یک بافر نوشتن ، یک شیفت رجیستر سریال ، مولد Parity و واحد کنترل برای تنظیم فریم سریال است . بافر نوشتن اجازه می دهد انتقال پیوسته داده بین فریم ها بدون هیچگونه تأخیری صورت پذیرد. گیرنده با توجه به داشتن واحد های بازیابی داده و کلاک ، پیچیده ترین بخش   Usart است . واحدهای بازیابی برای دریافت داده در حالت آسنکرون به کار می رود . علاوه بر واحد های بازیابی ، گیرنده دارای چک کننده  Parity ، واحد کنترل ، یک شیفت رجیستر و یک بافر دریافت دو مرحله ای (UDR)  است . باید قالب فریم گیرنده همانند فرستنده تنظیم شود. گیرنده توانایی تشخیص خطای فریم ، Overrun داده و خطای Parity را داراست.

ارسال داده فرستنده Usart

فرستنده Usart با یک کردن بیت فعال ساز ارسال (TXEN) در رجیستر UCSRB ، فعال می شود. در این شرایط عملکرد پایه TXD به عنوان پورت متوقف می شود و این پایه به عنوان خروجی فرستنده سریال عمل می کند . مد انتقال ، Baud Rate و شکل فریم باید پیش از هر گونه انتقال داده ، تنظیم شوند . در حالت سنکرون از پایه XCK  به عنوان کلاک انتقال استفاده می شود . انتقال با بارگزاری اطلاعات در بافر ارسال آغاز می شود. CPU می تواند بافر ارسال را با نوشتن UDR بار گزاری کند. هنگامی که شبفت رجیستر آماده فرستادن فریم جدید باشد ، داده موجود در بافر ارسال به آن منتقل می شود . بلافاصله پس از ارسال stop bit آخر یا هنگامی که فرستنده در حالت غیر فعال (Idle)  باشد ، بار گزاری شیفت رجیستر با داده جدید انجام می شود . زمانی که شیفت رجیستر با داده جدید بار گزاری شد ، یک فریم کامل با سرعتی که توسط رجیستر Baud ، بیت U2X یا کلاک XCK  ، بسته به مد مورد استفاده ، مشخص می شود ، ارسال می گردد.

تهیه و تنظیم : سیدخاموشی