اطلاعیه

Collapse
No announcement yet.

تشخیص ارتباط دو میکرو

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

    تشخیص ارتباط دو میکرو

    دوستان در رابطه با یک پروژه نیاز به کمک دارم
    دو تا میکرو دارم که با دو پین به وصل شدند و با هم در ارتباط هستند یک پین کلاک هست که شکل موج مربعی با فرکانس 217 هرتز هست و یک پین دیگه گاهی 32 بیت و گاهی 35 بیت ارسال میشه و خط دیتا هست.
    پین های میکرو تو یک میکرو RXD TXD هست و در یک میکرو دیگه پین های معمولی!
    چطوری میشه تشخیص داد چه پروتکلی هست؟

    #2
    پاسخ : تشخیص ارتباط دو میکرو

    نوشته اصلی توسط tarasheh نمایش پست ها
    دوستان در رابطه با یک پروژه نیاز به کمک دارم
    دو تا میکرو دارم که با دو پین به وصل شدند و با هم در ارتباط هستند یک پین کلاک هست که شکل موج مربعی با فرکانس 217 هرتز هست و یک پین دیگه گاهی 32 بیت و گاهی 35 بیت ارسال میشه و خط دیتا هست.
    پین های میکرو تو یک میکرو RXD TXD هست و در یک میکرو دیگه پین های معمولی!
    چطوری میشه تشخیص داد چه پروتکلی هست؟
    سلام
    معمولا ارتباط سریال در مد آسنکرون و بدون کلاک راه اندازی میشه. تنها رابط I2C هستش که یک سیگنال دیتا به همراه کلاک داره. از اونجایی که I2C رابط نسبتا ساده و کم سرعتی هستش، میشه نرم افزاری هم پیاده اش کرد و لزومی نداره که حتما به پایه های I2C سخت افزاری میکروکنترلر چیزی متصل شده باشه.

    دیدگاه


      #3
      پاسخ : تشخیص ارتباط دو میکرو

      تو ارتباط I2C ایا لزوما باید بیت استارت وبیتStop و ACK باشه؟ چون 32 بیت انتقال داده میشه و بیت ها متغیر هستند و بیت استارت و stop , ack ,و ادرس نداره.

      دیدگاه


        #4
        پاسخ : تشخیص ارتباط دو میکرو

        نوشته اصلی توسط tarasheh نمایش پست ها
        تو ارتباط I2C ایا لزوما باید بیت استارت وبیتStop و ACK باشه؟ چون 32 بیت انتقال داده میشه و بیت ها متغیر هستند و بیت استارت و stop , ack ,و ادرس نداره.
        لزومی نداره حتما I2C باشه. ممکنه یه پروتکل کاملا دلخواه باشه. بعضی تراشه ها مثل TM1637 هستن که ارتباطی شبیه I2C دارن ولی I2C نیستن.
        جدیدترین ویرایش توسط hossein.m98; ۲۳:۲۷ ۱۳۹۹/۰۴/۱۸. دلیل: تصحیح اشتباه

        دیدگاه


          #5
          پاسخ : تشخیص ارتباط دو میکرو

          نوشته اصلی توسط hossein.m98 نمایش پست ها
          لزومی نداره حتما I2C باشه. ممکنه یه پروتکل کاملا دلخواه باشه. بعضی تراشه ها مثل TM1637 هستن که ارتباطی شبیه I2C دارن ولی I2C نیستن.
          TM1637 را نگاه کردم اینم شبیه I2C هست
          ولی این ارتباط فرکانسش در 400 هرتز هست و بیت ACK و ... نداره 32 بیت اطلاعات ردو بدل میشه

          دلیل: ادغام دو پست برای جلوگیری از اسپم

          مشکلم الان اینه که چطور وقتی کلاک با فرکانس 500 هرتز هست و 32 بیت روی یک پین میکرو با چه پروتکلی تو میکرو این اطلاعات را بخونم؟
          فرض کنیم یک میکرو داریم که روی یک پینش کلاک هست با فرکانس 500 هرتز و یک پین دیگه دیتا
          این دوتا پین را به دوتا پین AVR وصل کنیم تا بتونیم اطلاعات را بخونیم از چه پروتکلی میشه استفاده کرد؟uart همزمان I2C یا SPI
          چون اینها همه فرکانسشون بالاست

          دیدگاه


            #6
            پاسخ : تشخیص ارتباط دو میکرو

            نوشته اصلی توسط tarasheh نمایش پست ها
            TM1637 را نگاه کردم اینم شبیه I2C هست
            ولی این ارتباط فرکانسش در 400 هرتز هست و بیت ACK و ... نداره 32 بیت اطلاعات ردو بدل میشه

            دلیل: ادغام دو پست برای جلوگیری از اسپم

            مشکلم الان اینه که چطور وقتی کلاک با فرکانس 500 هرتز هست و 32 بیت روی یک پین میکرو با چه پروتکلی تو میکرو این اطلاعات را بخونم؟
            فرض کنیم یک میکرو داریم که روی یک پینش کلاک هست با فرکانس 500 هرتز و یک پین دیگه دیتا
            این دوتا پین را به دوتا پین AVR وصل کنیم تا بتونیم اطلاعات را بخونیم از چه پروتکلی میشه استفاده کرد؟uart همزمان I2C یا SPI
            چون اینها همه فرکانسشون بالاست
            منظورم این نبود برید در مورد TM1637 تحقیق کنید! منظورم این بود هر ارتباط 2 سیمه ای لزوما I2C یا UART نیست.
            وقتی هیچ کدوم از این دوتا نباشه، با سخت افزار هیچ کدوم از این دوتا نمیشه خوندش. در این صورت باید به صورت نرم افزاری و با GPIO ها این رابط رو پیاده کنید.

            دیدگاه


              #7
              پاسخ : تشخیص ارتباط دو میکرو

              ممنون
              میشه بیشتر راهنمایی کنید
              می خوام SPI را به صورت نرم افزاری پیاده کنم

              دیدگاه


                #8
                پاسخ : تشخیص ارتباط دو میکرو

                نوشته اصلی توسط tarasheh نمایش پست ها
                ممنون
                میشه بیشتر راهنمایی کنید
                می خوام SPI را به صورت نرم افزاری پیاده کنم
                خیلی سادس. میتونید تحقیق کنید که SPI چطوری کار میکنه و سیگنال های اون چه عملکردی دارن، بعد همونو نرم افزاری و با کد نویسی پیاده کنید. البته چون SPI رابط نسبتا پر سرعتیه و مثل I2C کند نیست، معمولا کسی نرم افزاری پیادش نمیکنه.
                وقتی یه رابط نرم افزاری پیاده بشه، CPU رو درگیر تغییر وضعیت سیگنال ها و شیفت دادن اطلاعات میکنه. به خاطر همین رابط های سخت افزاری مختلفی روی میکروکنترلر قرار میدن که لازم نباشه CPU و برنامه درگیر هندل کردن رابط بشه. پیاده سازی نرم افزاری وقتی توجیه داره که یا کنترلر مورد نظر اون رابط رو به شکل سخت افزاری نداشته باشه، یا اینکه از نظر فیزیکی نشه از پایه های مخصوص به اون واحد سخت افزاری استفاده کرد.
                جدیدترین ویرایش توسط hossein.m98; ۰۰:۵۶ ۱۳۹۹/۰۴/۲۵. دلیل: تصحیح اشتباه

                دیدگاه

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