نمای کلی RS-485
مانند RS-232، RS-485 یک استاندارد ارتباط سریال است. نام رسمی فعلی آن TIA-485/EIA-485-A است، اما معمولاً به عنوان استاندارد RS-485 شناخته می شود. RS-485 به طور گسترده در صنایعی مانند اتوماسیون صنعتی، خودروسازی و مدیریت ساختمان استفاده می شود.
اتوبوس RS{8}}485 بر کاستیهای RS{11}}232، مانند فواصل کوتاه ارتباطی و سرعت کم داده، غلبه میکند. RS-485 از سرعت داده تا 10 مگابیت بر ثانیه پشتیبانی می کند و فاصله ارتباطی نظری تا 1200 متر دارد. برخلاف گیربکس تک سر RS-232، RS-485 از انتقال دیفرانسیل از طریق یک جفت سیم جفت پیچ خورده استفاده می کند که یک سیم به عنوان A و دیگری به عنوان B تعیین شده است.
لایه فیزیکی RS-485
لایه فیزیکی RS-485 وظیفه انتقال داده های خام بین دستگاه ها و رسانه انتقال فیزیکی را بر عهده دارد. تبدیل سیگنال های الکتریکی به داده های دیجیتال را انجام می دهد، در حالی که سطوح ولتاژ، زمان بندی، نرخ داده و سایر پارامترها را نیز تعریف می کند.
① سیگنال های دیفرانسیل
کابل کشی مسافت طولانی منجر به تضعیف سیگنال شده و احتمال نویز و تداخل را افزایش می دهد. این به صورت تغییر در دامنه ولتاژ در کابلهای A و B ظاهر میشود. با این حال، مزیت استفاده از خطوط دیفرانسیل این است که با کم کردن اختلاف بین دو سیگنال، تداخل را خنثی میکنیم و به سیگنال معمولی اجازه خروجی میدهیم. توانایی یک گیرنده دیفرانسیل برای نادیده گرفتن ولتاژهای یکسان در هر دو خط سیگنال، رد حالت رایج نامیده می شود.


استاندارد مشخص می کند که منطق 1 از +2V تا +6V است و منطق 0 -6V تا -2V است.
RS-485 به ولتاژ باس خاصی نیاز ندارد. فقط حداقل ولتاژ دیفرانسیل را در نظر می گیرد. در طول کابل طولانی تر، ولتاژ دریافتی گیرنده ممکن است به +/- 200 mV کاهش یابد، که هنوز برای RS-485 کاملاً قابل قبول است - این یکی از مزایای RS-485 است.
بسیاری از فرستندههای گیرنده استاندارد TIA/EIA-485A را برآورده میکنند یا حتی از آن فراتر میروند. با این حال، در کاربردهای عملی، پارامترهای مشخص شده دستگاه اولویت دارند. به عنوان مثال، حداقل آستانه ورودی منفی برای یک فرستنده گیرنده خاص 200- میلی ولت است.


② تعاریف سیگنال
امروزه بسیاری از مبدلهای RS{3}}485 با RS-422 سازگار هستند، بنابراین اغلب سیگنالهایی با برچسب T/R+ و T/R- در این مبدلها مشاهده میکنید که مطابق با A+ و B- RS-485 است.
برای کانکتورهای مادگی DB9، تعریف سیمکشی RS-485 به شرح زیر است: پایههای 6 تا 9 N/A هستند و نباید متصل شوند.
| DB9 | سیگنال خروجی | سیم کشی تمام دوبلکس RS{1}}422 | سیم کشی نیمه دوبلکس RS{1}}485 |
| 1 | T/R+ | ارسال (A+) | RS-485 (A+) |
| 2 | T/R- | ارسال (B-) | RS{1}}485 (B-) |
| 3 | RXD+ | دریافت (A+) | خالی |
| 4 | RXD- | دریافت (B-) | خالی |
| 5 | GND | سیم زمین | سیم زمین |
③ توپولوژی
RS{1}}485 از هر دو پیکربندی دو سیمه و چهار سیمه- پشتیبانی می کند. پیکربندی چهار سیم محدود به ارتباط نقطه-به-نقطه است و امروزه به ندرت استفاده می شود. پیکربندی دو سیم بیشتر مورد استفاده قرار می گیرد. این پیکربندی از یک توپولوژی گذرگاه استفاده می کند که به 32 گره اجازه می دهد تا در یک گذرگاه واحد متصل شوند.
مانند I²C، اتوبوس RS{1}}485 در حالت اصلی-کار میکند. از هر دو حالت-به-نقطه تکی-و چند-حالت برده پشتیبانی میکند، اما از حالت چند اصلی پشتیبانی نمیکند.


گیرنده RS-485
RS{3}}485 از انتقال دیفرانسیل استفاده می کند. اگر می خواهید یک دستگاه RS-485 را با استفاده از یک میکروکنترلر کنترل کنید، به یک فرستنده گیرنده مشابه با گذرگاه CAN نیاز دارید. نمودار زیر یک MCU را نشان می دهد که یک دستگاه RS-485 را کنترل می کند.
در داخل یک فرستنده گیرنده (نیمه بالایی) و یک فرستنده (نیمه پایینی) قرار دارد. در زیر توضیح مختصری درباره نحوه عملکرد یک فرستنده و گیرنده ارائه شده است تا به شما در درک نحوه ارتباط MCU با دستگاه 485 کمک کند.

ساختار داخلی یک فرستنده گیرنده RS-485
کجا:
A و B اتوبوس هستند.
R ورودی گیرنده است.
RE سیگنال فعال کردن گیرنده است.
DE سیگنال فعال فرستنده است.
D خروجی فرستنده است.
برای سیگنالهای فعال، آنهایی که خط بالای حرف دارند فعال هستند-کم (مثلاً RE در شکل بالا)، در حالی که آنهایی که خط ندارند فعال-بالا هستند (مثلاً DE).
جدول حقیقت گیرنده
برای فرستنده، جدول صدق به شرح زیر است:
1. هنگامی که پین فعال درایور DE در منطقی بالا باشد، خروجی های دیفرانسیل A و B از حالت منطقی در ورودی داده D پیروی می کنند. منطق بالای D باعث بالا رفتن A و پایین رفتن B می شود. در این حالت، ولتاژ خروجی دیفرانسیل که به صورت VOD=VA – VB تعریف میشود، مثبت است. وقتی D کم است، حالت خروجی معکوس می شود: B بالا می رود و A پایین می رود و VOD منفی است.
2. وقتی DE کم است، هر دو خروجی امپدانس-بالا میشوند. در این مورد، حالت منطقی در D نامربوط است.
جدول صدق زیر برای گیرنده اعمال می شود:
1. هنگامی که پین فعال گیرنده (RE) در پایین منطقی باشد، گیرنده فعال می شود. هنگامی که ولتاژ ورودی دیفرانسیل، تعریف شده به عنوان VID=VA – VB، مثبت است و از آستانه ورودی مثبت VIT+ فراتر می رود، خروجی R گیرنده بالا می رود. وقتی VID منفی است و کمتر از آستانه ورودی منفی VIT{5}} است، خروجی گیرنده R پایین میآید. اگر VID بین VIT+ و VIT{8}} باشد، خروجی تعریف نشده است.
2. هنگامی که RE منطقی بالا یا شناور است، خروجی گیرنده امپدانس بالایی دارد، بدون توجه به بزرگی یا قطبیت VID.


پیوند داده RS-485
پس از بحث در مورد اصول عملکرد فرستنده گیرنده RS-485 در بالا، اکنون پیوند داده RS{4}}485 را به اختصار شرح خواهیم داد. ابتدا می توانید نگاهی به فرمت فریم پروتکل UART که قابل درک است بیندازید.
چه Master داده ها را به Slave ارسال کند یا Slave داده ها را برای Master ارسال کند، هر دو خط A و B استفاده می شوند. بنابراین، RS{1}}485 معمولاً در حالت نیمه دوبلکس استفاده میشود.
GPIO میزبان پین DE فرستنده گیرنده RS{4}}485 را برای تنظیم حالت انتقال کنترل می کند. یک بایت از خط UART TXD به خط داده (D یا DI) فرستنده گیرنده RS-485 ارسال می شود. فرستنده گیرنده جریان بیت UART تک سر را به یک جریان بیت دیفرانسیل در خطوط A و B تبدیل می کند. هنگامی که داده ها از فرستنده گیرنده خارج می شوند، میزبان بلافاصله فرستنده گیرنده را به حالت دریافت تغییر می دهد.
برده نیز مانند ارباب عمل می کند. Slave پین /RE فرستنده گیرنده RS-485 را برای تنظیم حالت دریافت کنترل می کند، جریان بیت ارسال شده توسط master را دریافت می کند، آن را به یک سیگنال تک سر تبدیل می کند و آن را از طریق خط UART RXD Slave دریافت می کند. هنگامی که Slave آماده پاسخگویی است، داده ها را به همان روش master ارسال می کند، در حالی که master به حالت دریافت تغییر می کند.
تبدیل RS-232 به RS-485
امکان تبدیل بین RS-232 و RS-485 وجود دارد. یک روش تبدیل RS-232 به TTL و سپس تبدیل TTL به RS-485 است. البته تراشه هایی نیز وجود دارند که از تبدیل مستقیم RS-232 به RS-485 پشتیبانی می کنند و بسیاری از این ماژول ها به صورت آنلاین در دسترس هستند.
ماژول های تبدیل RS-232 به RS-485
تفاوت بین RS-485 و CAN
اگرچه RS-485 فرمت پروتکل داده استانداردی ندارد، اما شباهت های زیادی با گذرگاه CAN دارد. به عنوان مثال، هر دو A&B و CANH&CANL سیگنال های دیفرانسیل هستند. هر دو برای ارتباط به فرستنده و گیرنده نیاز دارند. و هر دو از مقاومت های پایانی 120 اهم، در میان شباهت های دیگر، استفاده می کنند.
| ویژگی های اتوبوس | اتوبوس CAN | اتوبوس RS-485 |
| هزینه های سخت افزاری | کمی بالاتر | ارزان |
| استفاده از اتوبوس | داوری اولویت خودکار، استفاده بالا | از نظرسنجی استفاده می کند. استفاده کم |
| نرخ انتقال داده | بالا | کم |
| مکانیسم های تشخیص خطا | کنترلکننده دارای یک مکانیسم جمع کنترل برای اطمینان از صحت انتقال داده در سطح پایین است | فقط مشخصات لایه فیزیکی؛ بدون مشخصات لایه پیوند داده |
| تأثیر یک شکست{0} یک گره | تاثیری روی اتوبوس ندارد | فلج اتوبوس |
| هزینه های توسعه | توسعه نرم افزار انعطاف پذیر، هزینه زمان کم | توسعه دشوار است |
| هزینه های سیستم | نسبتا کم | بالا |
مدارهای رایج RS-485
در اینجا یک مدار معمولی RS-485 است که من به صورت آنلاین پیدا کردم. دو نکته قابل توجه است:
1. سیگنال های فعال RE و DE را می توان توسط یک GPIO برای حفظ منابع کنترل کرد. وقتی GPIO25 سطح بالایی را خروجی می دهد، RE و DE 0 V هستند و دستگاه وارد حالت دریافت می شود. وقتی خروجی GPIO25 سطح پایینی دارد، RE و DE 3.3 ولت هستند و دستگاه وارد حالت انتقال می شود.
2. در برخی مدارها، یک مقاومت کشش-به بالا به پایه A و یک مقاومت کش{2}}پایین به پایه B اضافه میشود. دلیل اصلی این امر این است که وقتی گذرگاه RS{5}}485 در حالت بیکار است، سطح ولتاژ ثابت نیست{{8}یعنی بین m-{0} و m-{0} در نوسان است. فرستنده و گیرنده ممکن است یک سطح بالا یا پایین خروجی داشته باشد. UART باید در زمان بیکاری سطح بالایی را حفظ کند. اگر فرستنده گیرنده در این زمان سطح پایینی را خروجی دهد، UART آن را به عنوان یک بیت شروع تفسیر می کند که می تواند باعث خطاهای ارتباطی شود. مقادیر خاص R_u و R_d در اینجا به تفصیل مورد بحث قرار نخواهند گرفت. قصد دارم در آینده مقاله مفصلی در مورد این موضوع بنویسم.

در مورد نکته دوم به نکات زیر توجه کنید:
① اگر یک مقاومت کششی-به بالا به پین A و یک مقاومت کششی-روی پایه B را اعمال کنید، ممکن است ارتباط داده به دلیل اتصالات معکوس با شکست مواجه شود.
② اگر یک فرستنده گیرنده دارای مقاومتهای-کشش-بالا و پایین-پایین باشد، نیازی به افزودن مقاومتهای خارجی نیست.




