اطلاعیه

Collapse
No announcement yet.

ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

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

    ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

    با سلام خدمت دوستان
    همانطور که میدونید سیستم USART در AVR از نوع Full Duplex هست. حال اگر از آی سی ADM485 برای مقاوم کردن ارتباط در مقابل نویز در محیط های صنعتی استفاده کنیم، این قابلیت به Half Duplex تقلیل پیدا می کنه. سوال اینه که اگر بخواهیم هر دو میکرو داده هایی به هم ارسال کنند، از چه تکنیکی استفاده میشه؟

    به طور واضح اینکه چطور مدار فرستنده، گیرنده را به وضعیت فرستنده، و خود را به وضعیت گیرنده تغییر حالت دهد؟

    من در هر مدارم از یک ATmega16 و یک ADM485 استفاده کردم و بین این دو تا بورد با دو سیم ارتباط وجود خواهد داشت.
    لازم به گفتن است که پایه های RE و DE در آی سی ADM485 به هم و به یک پین خروجی میکروی همان بورد وصل شده است که با یک کردن این پین ADM485 در حالت فرستنده و با صفر کردن آن در حالت گیرنده قرار می گیرد.

    #2
    پاسخ : ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

    در این ارتباط همه گیرنده هستند، مگر اینکه نودی بخواهد دیتایی بفرستد، پس نگرانی از این بابت وجود ندارد.
    اما اگر منظور شما مولتی مستر بودن است باید خودتون فر ایندی تعریف کنین تا این اتفاق بیافته، مثلا فرستنده یک پین رو یک کنه، و نود های دیگه پس از چک این پین و اطمینان از خالی بودن باس فرایندی رو شروع کنن، و در صورت شروع همزمان بتونن کنار بکشن.
    The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

    دیدگاه


      #3
      پاسخ : ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

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

      دیدگاه


        #4
        پاسخ : ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

        خواهش می کنم در این نوع ارتباط ها معمولا اگه چنین اتفاقی بیافته هر دو فرستنده دست از کار می کشن، و برای زمان رندومی صبر کرده و دوباره اقدام به ارسال می کنند
        خیلی فکر نکردم اما مثلا شما اول اون پین رو چک می کنین ببینین خالی هست یا نه، اگه خالی بود ارسال کنید و در حد فاصل ارسال مثلا هر کاراکتر یه بار دیگه وضعیت رو چک کنید، اگه ارسال دیگه ای انجام شد به روش بالا عمل کنید.(پیش فرض هم این بود که هر دستگاه در زمان عدم ارسال، گیرنده میشه خود به خود)
        The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

        دیدگاه


          #5
          پاسخ : ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

          البته اگر این اتفاق بیفته آی سی های ADM هر دو ممکنه آسیب ببینن و اینکه در AVR فرستنده دیتا رو که می فرسته فقط اینو میفهمه که فریم داده رو روی پین خروجی TXD ریخته و کاری نداره که گیرنده اینو دریافت کرده نکرده. یا داره ارسال میکنه یا اصلا" مرده!
          ضمنا" بین دو بورد فقط دو سیم + یک سیم GND وجود داره و هیچ پینی از هر دوی میکروها به هم وصل نیستند که به هم خبر ارسال رو بدن.

          دیدگاه


            #6
            پاسخ : ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

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

            دیدگاه


              #7
              پاسخ : ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

              مسئله اینه که وقتی اینه که وقتی یکی در حال ارسال هستش، اون یکی هم بخواد داده ارسال کنه. اونوقت....

              دیدگاه


                #8
                پاسخ : ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

                خب میتونید با داشتن 4تا 485 و یه ارتباط 4سیمه (اگه مشکلی نداشته باشین با تعداد سیم ها) این ارتباط رو Full Duplex کنید.
                من برای یکی از سنسورهام که میخواستم از فاصله دور ازش دیتا بگیرم از این روش استفاده کردم :|

                «پشتکار» «پشتکار» «پشتکار»

                دیدگاه


                  #9
                  پاسخ : ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

                  با تعداد سیم ها مشکل دارم.

                  دیدگاه


                    #10
                    پاسخ : ارتباط USART کاملا" دوطرفه در سیستم Half Duplex ؟؟؟

                    سلام
                    ارتباطی که در پست اول ذکر کردید ارتباط تفاضلی 485 هست و اگر میخواین دو طرفه کامل بشه باید به 422 ارتقا پیدا کنه.

                    در ضمن برای این نوع مدارات VP08 پیشنهاد میکنم. توی مدارات نظامی زیاد استفاده میشه.

                    دیدگاه

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