آموزش الکترونیک

ارتباط سریال چیست؟ معرفی کامل انواع پروتکل های ارتباط سریال

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

انواع پروتکل های ارتباطی

انواع مختلفی از انتقال داده در الکترونیک دیجیتال وجود دارد مانند ارتباط سریال و ارتباط موازی. به همین ترتیب پروتکل ها به دو نوع پروتکل ارتباط سریال و پروتکل ارتباط موازی تقسیم می شوند. ISA، ATA، SCSI، PCI و IEEE 488 نمونه هایی از پروتکل های ارتباط موازی هستند. به همین ترتیب چندین نمونه از پروتکل های ارتباطی سریال مانند CAN، ETHERNET، I2C، SPI، RS232، USB، 1 Wire و SATA و غیره وجود دارند.

تصاویر زیر تفاوت ارتباط سریال و موازی را نشان میدهند.

پروتکل ارتباط سریال چیست
پروتکل ارتباط سریال
ارتباط موازی چیست
ارتباط موازی

در این مقاله در مورد انواع متفاوت پروتکل های ارتباطی سریال بحث خواهد شد. ارتباط سریال پرکاربردترین عملکرد برای انتقال اطلاعات بین تجهیزات جانبی پردازش داده، است. هر دستگاه الکترونیکی اعم از رایانه شخصی (PC) یا موبایل با ارتباط سریال کار می کند. پروتکل نوعی ارتباط امن و قابل اعتماد است که دارای مجموعه ای از قوانین است که توسط میزبان مبدأ (فرستنده) و میزبان مقصد (گیرنده) مشابه ارتباط موازی مورد خطاب قرار می گیرد.

حالت های انتقال در ارتباط سریال

همانطور که در بالا گفته شد، در ارتباطات سریال ، داده ها به صورت بیت ها ارسال می شوند، به عنوان مثال پالس های باینری و آن کاملاً شناخته شده است که باینری یک، نشان دهنده منطق HIGH و صفر نشان دهنده منطق LOW است. بسته به نوع حالت انتقال و انتقال داده، انواع مختلفی از ارتباط سریال وجود دارد. حالت های انتقال به عنوان Simplex، Half Duplex و Full Duplex طبقه بندی می شوند.

روش ساده Simplex 

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

روش نیمه دوبلکس Half Duplex

در روش نیمه دوبلکس، هر دو فرستنده و گیرنده می توانند فعال باشند اما به صورت همزمان نیستند. بنابراین اگر فرستنده در حال انتقال است، گیرنده می تواند قبول کند اما نمی تواند ارسال کند و برعکس. مثال های شناخته شده نیمه دوبلکس، اینترنت است که در آن کاربر درخواست داده ای را ارسال می کند و آن را از سرور دریافت می کند.

روش دوبلکس کامل Full Duplex

اگر میخواهید آردوینو را به صورت اصولی و پروژه محور (ساخت ربات، ارتباط با اندروید، اینترنت اشیا، برنامه نویسی حرفه ای) یاد بگیرید، حتما دوره آموزش آردوینو را مشاهده کنید.

در روش دوبلکس کامل، گیرنده و فرستنده می توانند همزمان داده ها را به یکدیگر ارسال کنند. مثال شناخته شده ی آن تلفن همراه است.

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

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

ارتباط سریال همگام

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

ارتباط سریال همگام = سنکرون = Synchronous 

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

ارتباط سریال همگام

ارتباط سریال ناهمگام

در رابط سریال ناهمزمان، سیگنال ساعت خارجی وجود ندارد. رابط های سریال ناهمزمان را می توان بیشتر در کاربردهای مسافت طولانی مشاهده کرد و کاملاً برای برقراری ارتباط پایدار مناسب هستند. در رابط سریال ناهمزمان، عدم وجود منبع ساعت خارجی باعث می شود که به پارامترهای مختلفی مانند کنترل جریان داده، کنترل خطا، کنترل نرخ باود، کنترل انتقال و کنترل گیرنده تکیه کند. در سمت فرستنده، با استفاده از ساعت خاص خود، انتقال داده های موازی به خط سریال وجود دارد. همچنین بیت های شروع، توقف و توازن را اضافه می کند. در سمت گیرنده، گیرنده داده ها را با استفاده از ساعت خاص خود استخراج می کند و پس از حذف بیت های شروع، توقف و توازن، داده های سریال را به فرم موازی تبدیل می کند. RS 232، RS 422 و RS 485 نمونه هایی شناخته شده هستند.

ارتباط سریال ناهمگام = آسنکرون = Asynchronous 

ارتباط سریال ناهمگام

اصطلاحات مربوط به ارتباط سریال

به غیر از همگام سازی ساعت، موارد خاصی وجود دارند که باید هنگام انتقال داده های سریال به خاطر بسپارید مانند Baud Rate یا نرخ باود، انتخاب بیت داده (Framing)، همگام سازی و بررسی خطا. بیایید به طور خلاصه در مورد این اصطلاحات بحث کنیم.

نرخ باود (Baud Rate)

نرخ باود سرعتی است که در آن داده ها بین فرستنده و گیرنده به صورت بیت در ثانیه (bps) منتقل می شوند. رایج ترین میزان استفاده از باود 9600 است. اما انتخاب های دیگری از نرخ باود مانند 1200، 2400، 4800، 57600، 115200 وجود دارند. هر چه نرخ باود fat بیشتری داشته باشد، داده ها همزمان انتقال می یابند. همچنین برای ارتباطات داده، نرخ باود باید هم برای فرستنده و هم برای گیرنده یکسان باشد.

قاب بندی (framing)

فریمینگ به تعداد بیت های داده ارسال می شود که از فرستنده به گیرنده ارسال می شود. تعداد بیت های داده در صورت کاربرد متفاوت است. بیشتر برنامه ها از 8 بیت به عنوان بیت های داده استاندارد استفاده می کنند اما می توانند به عنوان 5، 6 یا 7 بیت نیز انتخاب شوند.

همگام سازی (Synchronisation)

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

کنترل خطا (Error Control)

کنترل خطا در حالی که ارتباط سریال وجود دارد نقش مهمی را ایفا می کند زیرا عوامل زیادی در ارتباط سریال تأثیرگذار بوده و بر آن می افزایند. برای خلاص شدن از شر این خطا، از بیت توازن استفاده می شود که توازن زوج و فرد را بررسی می کند. بنابراین اگر کادر داده شامل تعداد زوجی از 1 باشد، آن را به عنوان توازن زوج می شناسند و بیت توازن در رجیستر روی 1 تنظیم می شود. به همین ترتیب اگر کادر داده شامل تعداد فردی از 1 باشد، به عنوان توازن فرد شناخته می شود و بیتِ توازنِ فرد را در رجیستر پاک می کند.

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

پروتکل های سریال همگام

از انواع پروتکل های سریال همزمان، مانند SPI، I2C، CAN و LIN در پروژه های مختلفی استفاده می شود زیرا یکی از بهترین منابع برای وسایل جانبی پردازنده است. همچنین این پروتکل ها هستند که به طور گسترده در برنامه های اصلی استفاده می شوند.

پروتکل SPI

رابط محیطی سریال (SPI) یک رابط همزمان است که به شما امکان می دهد تا چندین میکروکنترلر SPI به هم متصل شوند. در SPI، سیم هایی جداگانه برای داده و خط ساعت مورد نیاز است. همچنین ساعت در جریان داده گنجانده نشده است و باید به عنوان یک سیگنال جداگانه ارائه شود. SPI ممکن است به عنوان master یا بصورت slave پیکربندی شود. چهار سیگنال اساسی SPI (MISO، MOSI، SCK و SS)، Vcc و Ground بخشی از ارتباطات داده هستند. بنابراین برای ارسال و دریافت داده از slave یا master به 6 سیم نیاز دارد. از نظر تئوری، SPI می تواند تعداد نامحدودی slave داشته باشد. ارتباط داده ها در ثبت کننده های SPI پیکربندی می شود. SPI می تواند حداکثر سرعت 10 مگابیت بر ثانیه را ارائه دهد و برای ارتباط دادهایی با سرعت بالا ایده آل است.

ارتباط سریال همگام SPI

اکثر میکروکنترلرها دارای پشتیبانی داخلی از SPI هستند و می توانند مستقیماً به دستگاه پشتیبانی شده از SPI متصل شوند.

ارتباط سریال I2C

مدار مجتمع اینتر (I2C)، دو خط ارتباطی بین IC یا ماژول های مختلف است که آن دو خط SDA (Serial Data Line) و SCL (Serial Clock Line) هستند. هر دو خط باید با استفاده از مقاومت کششی به منبع مثبت متصل شوند. I2C می تواند سرعتی تا 400Kbps را ارائه دهد و از سیستم آدرس دهی 10 بیتی یا 7 بیتی برای هدف قرار دادن یک دستگاه خاص در گذرگاه i2c استفاده می کند تا بتواند 1024 دستگاه را بهم متصل کند. این ارتباط از طول محدودی برخوردار است و برای ارتباطات روی صفحه ایده آل است. راه اندازی شبکه های I2C آسان است، زیرا فقط از دو سیم استفاده می کنند و دستگاه های جدید به سادگی می توانند به دو خط مشترک I2C متصل شوند. همانند SPI، میکروکنترلرها معمولاً دارای پین های I2C برای اتصال هر دستگاه I2C هستند.

ارتباط سریال I2C

ارتباط USB

یو اس بی (Universal Serial Bus)  پروتکل گسترده ای با نسخه ها و سرعت های مختلف است. حداکثر 127 دستگاه جانبی را می توان به یک کنترل کننده میزبان USB متصل کرد. USB به عنوان دستگاه “نصب و اجرا کن” عمل می کند. از USB تقریباً در دستگاههایی مانند صفحه کلید، چاپگرها، دستگاههای رسانه ای، دوربینها، اسکنرها و ماوس استفاده می شود. این دستگاه برای نصب آسان، درجه بندی سریعتر داده ها، کابل کشی کمتر و اتصال گرم طراحی شده است. آن جایگزین پورت های سریال و موازی حجیم تر و کندتر شده است. USB از سیگنال دیفرانسیل برای کاهش تداخل و انتقال سریع سرعت در مسافت طولانی استفاده می کند.

یک گذرگاه دیفرانسیل با دو سیم ساخته شده است، یکی نشان دهنده داده های منتقل شده و دیگری مکمل آن است. ایده آن این است که ولتاژ “متوسط” روی سیم ها هیچ اطلاعاتی را حمل نمی کند، در نتیجه تداخل کمتری ایجاد می شود. در USB، دستگاه ها مجازند بدون سوال از میزبان، مقدار مشخصی از برق را بگیرند. USB فقط از دو سیم برای انتقال داده استفاده می کند و سریعتر از رابط سریال و موازی است. نسخه های USB از سرعت های مختلفی مانند 1.5 مگابیت در ثانیه (USB v1.0)، 480 مگابیت در ثانیه (USB2.0)، 5Gbps (USB v3.0) پشتیبانی می کنند. طول کابل USB جداگانه می تواند تا 5 متر بدون توپی و 40 متر با توپی برسد.

ارتباط CAN

شبکه منطقه کنترل کننده {The Controller Area Network (CAN)} به عنوان مثال در خودرو استفاده می شود و اجازه می دهد تا ارتباط بین ECU (واحدهای کنترل موتور) و سنسورها فراهم شود. پروتکل CAN قوی، کم هزینه و بر اساس پیام است و بسیاری از برنامه ها را پوشش می دهد مانند اتومبیل، کامیون، تراکتور، روبات صنعتی. سیستم گذرگاه CAN امکان تشخیص و پیکربندی خطای مرکزی را در تمام ECU ها فراهم می کند. پیام های CAN از طریق شناسه ها اولویت بندی می شوند تا شناسه هایی با بالاترین اولویت قطع نشوند. هر ECU دارای یک تراشه برای دریافت کلیه پیامهای ارسالی است، برای ارتباط تصمیم می گیرد و مطابق آن عمل می کند، این امکان تغییر آسان و درج گره های اضافی را فراهم می کند (به عنوان مثال ثبت کنندهای گذرگاه داده CAN). این برنامه ها شامل شروع / توقف وسایل نقلیه، سیستم های جلوگیری از برخورد است. سیستم های گذرگاه CAN می توانند تا سرعت حداکثر 1 مگابیت بر ثانیه را فراهم کنند.

ارتباط میکرو سیم

میکروسیم یک رابط 3 سیم 3 مگابیت بر ثانیه [دوبلکس کامل] است که اساساً زیرمجموعه رابط SPI است. Microwire یا همان میکروسیم یک درگاه ورودی / خروجی سریال در میکروکنترلرها است، بنابراین گذرگاه Microwire در EEPROM ها و سایر تراشه های جانبی نیز یافت می شود. 3 خطوط SI (ورودی سریال)، SO (خروجی سریال) و SK (ساعت سریال) هستند. خط ورودی سریال (SI) به میکروکنترلر، SO خط خروجی سریال و SK خط ساعت سریال است. داده ها در لبه در حال افت SK منتقل شده و در لبه در حال افزایش ارزش گذاری می شوند. SI در لبه رو به افزایش SK تغییر مکان داده است. تقویت کننده گذرگاه اضافی برای میکروسیم، MICROWIRE / Plus نامیده می شود. به نظر می رسد تفاوت اصلی بین دو گذرگاه این است که ساختار MICROWIRE / Plus در میکروکنترلر پیچیده تر است. آن تا سرعت 3Mbps را پشتیبانی می کند.

پروتکل های سریال ناهمگام

هنگام انتقال اطلاعات موثق از راه دور، نوع ناهمزمان پروتکل های سریال بسیار ضروری است. ارتباط ناهمزمان نیازی به ساعت زمانی ندارد که در هر دو دستگاه مشترک باشد. هر دستگاه به طور مستقل پالس های دیجیتالی را گوش می دهد و آن ها را ارسال می کند که آن، بیت های داده را با نرخ توافق شده نشان می دهد. ارتباطات سریال ناهمزمان، گاهی اوقات به عنوان سریال منطق ترانزیستور-ترانزیستور (TTL) شناخته می شود، جایی که سطح ولتاژ بالا منطق 1 است و ولتاژ پایین برابر با منطق 0 است. تقریباً هر میکروکنترلر موجود در بازار امروز حداقل یک فرستنده گیرنده همگام جهانی (UART) برای ارتباط سریال دارد. RS232، RS422، RS485 مثال هایی از آن هستند.

پروتکل RS232

RS232 (232 استاندارد توصیه شده) پروتکل رایجی برای استفاده در متصل کردن دستگاههای جانبی مانند مانیتورها cncهاو … است. RS232 دارای اتصالات ماده و نر است. RS232 توپولوژی نقطه به نقطه با حداکثر یک دستگاه متصل شده، است و مسافت حداکثر 15 متر را با 9600 دور در ثانیه پوشش می دهد. اطلاعات مربوط به رابط RS 232 به صورت دیجیتالی و با منطق 0 و 1 منتقل می شود. منطق 1 (MARK) مربوط به ولتاژ در محدوده 3- تا 15- ولت است. منطق 0 (SPACE) مربوط به ولتاژ در محدوده 3+ تا 15+ ولت است. این در کانکتر DB9 وجود دارد که دارای 9 پایه از جمله TxD، RxD، RTS، CTS، DTR، DSR، DCD، GND است.

پروتکل RS422

RS422 مشابه RS232 است که امکان ارسال و دریافت همزمان پیام در خطوط جداگانه را دارد اما از سیگنال دیفرانسیل برای این امر استفاده می کند. در شبکه RS 422 فقط یک دستگاه انتقال دهنده و حداکثر 10 دستگاه گیرنده وجود دارد. سرعت انتقال داده در RS-422 به فاصله بستگی دارد و می تواند از 10 کیلوبیت بر ثانیه (1200 متر) تا 10 مگابیت در ثانیه (10 متر) متغیر باشد. خط RS-422 دارای چهار سیم برای انتقال اطلاعات (2 سیم پیچ خورده برای انتقال و 2 سیم پیچ خورده برای دریافت) و یک سیم مشترک زمینی GND است. ولتاژ روی خطوط داده می تواند در محدوده ی 6- ولت تا 6+ ولت باشد. اختلاف منطقی بین A و B بیشتر از 0.2+ V است.منطق 1 مربوط به تفاوت بین A و B کمتر از 0.2- V است. استاندارد RS-422 نوع خاصی از کانکتر را تعریف نمی کند، معمولاً می تواند یک پایانه بلوک یا یک کانکتر DB9 باشد.

پروتکل RS485

از آنجا که RS485 از توپولوژی چند نقطه ای استفاده می کند، بیشترین کاربرد را در صنایع دارد و پروتکل ترجیحی صنعت است. RS422 می تواند 32 درایور خط و 32 گیرنده را در یک پیکربندی دیفرانسیل متصل کند اما با کمک تکرارکننده های اضافی و تقویت کننده های سیگنال تا 256 دستگاه. RS-485 نوع خاصی از اتصال را تعریف نمی کند، اما اغلب یک پایانه بلوک یا یک کانکتر DB9 است. سرعت عمل نیز به طول خط بستگی دارد و در 10 متر می تواند به 10 مگابیت در ثانیه برسد. ولتاژ روی خطوط در محدوده ی 7- ولت تا 12+ ولت است. دو نوع RS-485 وجود دارد مانند حالت نیمه دوبلکس RS-485 با 2 اتصال و حالت دوبلکس کامل RS-485 با 4 اتصال. برای کسب اطلاعات بیشتر در مورد استفاده از RS485 با میکروکنترلرهای دیگر، لینک ها را بررسی کنید.

نتیجه گیری

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

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

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. مالکیتی بر مطالب ارائه شده ندارم. اکثر فعالیت بنده در زمینه ترجمه است. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *