موضوع مقاله: فرستنده و گیرنده سریال غیر همزمان جهانی | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # فرستنده و گیرنده سریال غیر همزمان جهانی | مقدمه: انتقال اطلاعات را می‌توان به دو روش کلی، انتقال به روش موازی و انتقال به روش سریال، تقسیم‌بندی نمود. | ## بخش 1: فرستنده و گیرنده سریال غیر همزمان جهانی | در روش انتقال موازی چند بیت اطلاعات به وسیله چند خط انتقال می‌یابد و در روش انتقال سریال در هر لحظه فقط یک بیت ارسال می‌شود. در مقایسه بین این دو روش می‌توان گفت که در روش انتقال موازی به علت انتقال چند بیت اطلاعات در یک لحظه، سرعت آن نسبت به سریال که در یک لحظه فقط یک بیت را انتقال می‌دهد بیشتر است. همچنین برای فواصل طولانی بکار بردن روش انتقال موازی به علت ازدیاد سیم‌های ارتباطی، دارای هزینه بالا می‌باشد؛ بنابراین در فواصل طولانی انتقال به روش سریال مناسب تر است. استاندارد تبدیل خروجی UART به یک سیگنال فیزیکی در سمت فرستنده و برعکس، با یک مدار جداگانه و با توجه به نوع استاندارد ارتباطی مورد نظر برای انتقال(RS422 ،RS485 ،RS232 و …) انجام می‌شود. هر یک از این استانداردها روش متفاوتی برای تولید سیگنال خروجی ارائه می‌کنند که با سطح ولتاژ TTL ریزکنترلرگرها و مدارات دیجیتالی نیز فرق می‌کند. همان‌طور که از اسم این دو پیداست USART که هر دو نوع همزمان و غیر همزمان را شامل می‌شود در واقع نسخه کامل تری از UART است که ارتباط همزمان را هم پشتیبانی می‌کند. نوع همزمان ارتباط سریال، اطلاعات را به صورت همزمان با یک سیگنال کلاک منتقل می‌کند. این نوع ارتباط سرعت بالاتری (حدود ۴Mbp/s) نسبت به حالت غیر همزمان دارد با این حال به خاطر سیم کشی بیشتر و مدارات پیچیده تری که مورد نیاز است در عمل از ارتباط غیر همزمان استفاده می‌شود. ارتباط بین فرستنده و گیرنده در روش انتقال سریال اول از همه باید گفت که در حالتی که هیچ ارسال و دریافتی انجام نمی‌شود یا اصطلاحاً خط انتقال در حالت بیکار (Idle) قرار دارد، سطح ولتاژ مربوط به یک منطقی بر روی خط ارسال قرار می‌گیرد. تغییر وضعیت از یک به صفر منطقی به معنی شروع ارسال است و گیرنده آماده دریافت اطلاعات می‌شود. بعد از آن یک بایت داده به ترتیب از بیت کم ارزش (LSB) به بیت پرارزش (MSB)ارسال می‌شود. در نهایت یک بیت برای آزمایش شدن درستی داده ارسال شده، روی خط ارسال قرار می‌گیرد که بیت "بیت توازن" نام دارد. "بیت توازن" در واقع XOR تک تک بیت‌های داده‌است که اگر تعداد ۱های داده فرد باشد این مقدار ۱ و در غیر اینصورت صفر خواهد بود. | ## بخش 2: فرستنده و گیرنده سریال غیر همزمان جهانی | گیرنده با دریافت داده، یک بار دیگر این XOR را محاسبه می‌کند و اگر با مقدار "بیت توازن" دریافت شده متفاوت باشد، متوجه خطای آن شده و آن بسته را کلا نادیده می‌گیرد. پس همان‌طور که مشخص است هر بسته ارسالی ۱۱ بیتی است که ۸ بیت (یک بایت) داده را منتقل می‌کند. به‌طور کلی سه روش برای ارتباط بین فرستنده و گیرنده قابل بررسی می‌باشد: ۱- روش یک طرفه یا ساده در این روش، اطلاعات فقط در یک جهت انتقال می‌یابند. روش‌های مختلف ارسال سریال دو روش کلی برای انتقال سریال وجود دارد که عبارتند از: ۱- انتقال سریال به روش سنکرون یا همزمان در این روش، انتقال اطلاعات بین دو سیستم، به ازای هر پالس ساعت، یک بیت ارسال می‌شود. به طوری که فرستنده همزمان با ارسال اطلاعات، پالس ساعت را نیز ارسال می‌کند و گیرنده به کمک پالس ساعت که از فرستنده ارسال شده، خود را تنظیم و همزمان می‌کند تا از روی خط داده، اطلاعات را به درستی بردارد. (در شکل ۱) نمونه برداری در لبه بالارونده صورت می‌پذیرد و با هر لبه بالارونده پالس ساعت یک نمونه برداشته می‌شود. این نوع ارتباط سریال به دلیل اینکه دارای پالس‌های همزمانی می‌باشد در سرعت‌های بالا قابل استفاده است. الف) ارتباط سریال سنکرون یا همزمان Master در این حالت پالس‌های همزمانی توسط خود ریزکنترلگر (روی پایه XCK) تولید و به عنوان پالس ساعت از تراشه (فرستنده) به گیرنده همراه و همزمان با اطلاعات فرستاده می‌شود تا گیرنده به وسیله آن خودش را تنظیم کند. ب) ارتباط سریال سنکرون یا همزمان Slave در این حالت ریزکنترلگر نقش گیرنده را بر عهده دارد و پالس‌های همزمانی که از فرستنده ارسال شده‌است، از طریق پایه XCK دریافت می‌شود. ۲- انتقال سریال به روش آسنکرون یا غیر همزمان (در شکل ۲ و ۳) یک نمونه از ارسال سریال اطلاعات به روش آسنکرون را نشان می‌دهد. در این روش، یک کاراکتر همراه با یک بیت توازن، بیت پایانی و بیت شروع جمعاً به تعداد ۱۰ بیت فرستاده می‌شود. بیت‌های شروع و پایان بجای سیگنال ساعت که به همراه اطلاعات ارسال نمی‌شوند، بکار گرفته می‌شوند. در عوض، فرض می‌شود که اطلاعات با فرکانسی در محدوده، ۱۰٪ فرکانس از پیش تعریف شده ارسال می‌شود. | ## بخش 3: فرستنده و گیرنده سریال غیر همزمان جهانی | هنگام دریافت اطلاعات، در حالت آسنکرون به دلیل آنکه هیچ پالس ساعتی با اطلاعات فرستاده نمی‌شود، باید با دقت خاصی دریافت نمود. برای این کار، اطلاعات را با یک بیت شروع و به دنبال آن اطلاعات اصلی، بیت توازن و در انتها بیت پایانی ارسال می‌شوند. برای این کار از رشته اطلاعات نمونه برداری شده تا یک منطق صفر بدست آید، بعد از آن نیمی از زمان یک بیت سپری شده تا مجدداً از آن نمونه برداری گردد. بعد از نمونه برداری در وسط بیت شروع، بترتیب ۹ بار دیگر به فواصل زمانی یک بیت از اطلاعات نمونه برداری می‌شود. اطلاعات نمونه برداری شده در یک ثبات انتقالی جمع شده تا به صورت یک بایت اطلاعات موازی درآید. اگر بیت پایانی موجود باشد، اطلاعات قابل قبول است و در غیر این صورت یک خطای قالب بندی نشان داده خواهد شد. خطای قالب بندی معمولاً در صورتی اتفاق می‌افتد که اطلاعات با نرخ انتقال (Baud Rate) اشتباه دریافت گردد؛ که در شرایط عادی نباید بیفتد. گذرگاه داده برای ارسال داده‌ها به UART توسط قطعاتی مانند CPU، حافظه یا ریزکنترلگر استفاده می‌شود. داده‌ها به صورت موازی از گذرگاه داده به UART فرستاده شده، دستگاه ارسال کننده با اضافه کردن بیت‌های شروع، توازن و پایان یک بسته داده ایجاد می‌کند. دستگاه دریافت کننده داده‌های سریال را از طریق پایه RX دریافت و به حالت موازی تبدیل کرده و بیت‌های شروع، تعادل و پایان را حذف می‌کند. نرخ انتقال نرخ انتقال‌های که به صورت قراردادی بین فرستنده و گیرنده در یک ارتباط سریال، مشخص می‌شود مقادیر خاصی می‌توانند داشته باشند که مقدارهای ۴۸۰۰، ۱۹۲۰۰ ،۹۶۰۰، ۳۸۴۰۰، ۵۷۶۰۰، ۱۱۵۲۰۰ (بیت بر ثانیه) از معمول‌ترین این مقادیر اند. پس هر بیت در فاصلهٔ زمانی ۱۰۴٫۱۶۶ میکروثانیه باید منتقل شود و در تمام این مدت مقدار خود را حفظ کند تا گیرنده نمونه برداری مناسبی انجام دهد. مزایا و معایب روش UART عدم وجود پروتکل ارتباطی جالب به نظر می‌رسد ولی UART با توجه به نحوه عملکردش بسیار مناسب و کاربردی است. | ## جمع‌بندی | ۱- مزایا: استفاده از فقط دو سیم ضرورتی به استفاده از سیگنال کلاک وجود ندارد (پایه XCK) وجود بیت توازن برای بررسی خطا ساختار بسته‌های داده با توجه به تنظیمات دو سمت قابل تغییر است در اختیار بودن مستندات و اطلاعات مفید و روش‌های گسترده استفاده ۲- معایب: اندازه داده‌های ارسالی حداکثر به ۹ بیت محدود شده عدم پشتیبانی از چند master (کنترل‌کننده) و چند slave (کنترل‌شونده) میزان نرخ انتقال دو سمت حداکثر می‌توانند ۱۰٪ با یکدیگر اختلاف داشته باشند.