اطلاعیه

Collapse
No announcement yet.

RS485 در میکروهای ARM

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    RS485 در میکروهای ARM

    با سلام به همه دوستان ،

    من واقعا گیج شدم اینکه میگن- سازنده های پردازنده ARM - این پردازنده rs485 رو پشتیبانی میکند معنیش چیه؟
    اصلا این جمله که خود شرکت atmel تو سایتش نوشته یکی بمن بفهمونه؟
    •Dedicated RS485 mode for USART peripherals is available on most Atmel ARM-based AT91SAM and AVR 32-bit microcontrollers.
    [آیا پروتکل مد باس را support میکند به این معنی که library آماده ای دارد یا نه؟

    #2
    پاسخ : RS485 در میکروهای ARM

    پروتکل RS485 یک پروتکل half-duplex هست بنابراین نمیشه در هنگامی که دیتایی از طرف مقابل میاد براش دیتایی فرستاد. این به این معنی هست که شما یا در حال ارسال هستین و یا دریافت. برای پیاده سازی پروتکل های این تیپی معمولا از پروتکل هایی استفاده میکنن که بفرم master-slave باشه. یعنی در هر لحظه فقط یک نفر حرف بزنه و اون یکی گوش کنه.
    در این گونه شرایط معمولا master همیشه بطور پیش فرض در حالت ارسال باقی میمونه تا بتونه چیزی رو بفرسته. اما همه slave ها در حالت دریافت باقی میمونن تا بتونن به محض اینکه master چیزی فرستاد جوابشو بدن. اما ترتیب چطوریه؟

    master اطلاعات رو میفرسته. و در زمانی که آخرین بیت از آخرین بایت ارسال شد (که شامل بیت های کنترلی هم میشه) بلافاصله بایستی خط به حالت شنیدن بره تا اگه میکرو ی طرف مقابل بلافاصله شروع به ارسال جواب کرد چیزی گم نشه. برای انجام اینکار در میکروهایی مثل AVR این عمل سوئیچ کردن جهت کاری آی سی درایور RS485 رو در وقفه نشان دهنده اختتام ارسال اطلاعات انجام میدن. اما در میکروهای آرم برای هر چه بالاتر بردن سرعت تبادل داده این کار رو خود میکرو میتونه انجام بده. غیر از این مسئله بعضی هاشون هم میتونن جهت ارسال و دریافت اطلاعات رو بطور اتوماتیک بعد از میزان دلخواهی تاخیر عوض کنن. ضمنا میشه بسته به اینکه مستر یا slave باشین جهت پیش فرض ارسال یا دریافت باشه.

    دیدگاه


      #3
      پاسخ : RS485 در میکروهای ARM

      سلام دوباره ،
      :smile:
      از پاسختون ممنونم
      ولی اینی که شما به اون اشاره کردید یک چیز کلی هسش دقیقا مشخص نمیکنه که نقش ARM اینجا چیه؟
      چون همونطوریکه میدونین اینو میشه با AVR هم به نوعی پیاده سازی کرد.واضحتر بگم هنوز برای من جا نیفتاده که اگه بخواهم فقط بخاطر RS485 ARM اونو انتخاب کنم.و اینی که شما گفتین آخرین بیت از آخرین بایت ،ARM اینو چطوری میفهمه؟
      اگه ممکنه یک مقدار عملی تر پاسخ بدین ممنون میشم.

      دیدگاه


        #4
        پاسخ : RS485 در میکروهای ARM

        اگه به دیتا شیت دقت کنین میبینین که یکی از سریال ها تمامی سیگنالهای hand-shaking رو داره. وقتی از این سریال استفاده میکنین (مثلا در LPC1768) میتونین از سیگنال RTS یا DTR برای اتصال به پایه تعیین جهت آی سی 75176 استفاده کنین. با این کار و فعال کردن مکانیسم مربوطه (مثلا با RTS) وقتی اقدام به ارسال داده به طرف مقابل میکنین میتونین بطور اتوماتیک خط رو در حالت ارسال قرار بدین. از طرف دیگه اگر با روالهای وقفه اختتام ارسال اطلاعات سریال کار کنین اگر اطلاعاتی نیاز به ارسال داشته باشه که هنوز ارسال نشده مرتبا این بافر توسط نرم افزار پر میشه ولی در انتهای ارسال و پس از یک مدت زمانی (عموما قابل تنظیم) میکرو بطور اتوماتیک خط رو به حالت دریافت برمیگردونه.
        این ها یه کمی مراقبتهای نرم افزاری رو کم میکنه اما فکر نمیکنم در کاربرد های مرسوم خیلی اثر مهمی داشته باشه. اما خوب ذره ذره جمع گردد....!

        دیدگاه

        لطفا صبر کنید...
        X