اطلاعیه

Collapse
No announcement yet.

روش سازگاری I2C BUS برای پایه میکروی 3.3 V

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

    روش سازگاری I2C BUS برای پایه میکروی 3.3 V

    سلام دوستان. تو ارتباط i2c با میکرو به مشکلی که برخوردم اینه که خیلی از این ماژولها ورودی و خروجیشون 5 ولت هست در حالیکه پایه میکروم 3.3 ولته.
    اما تو اینترنت که گشتم آیسی هایی که کار Level Shifting - I2C Bus رو انجام میدن تو ایران نبود.
    کارهای دیگه ای هم تو اینترنت بود از جمله :
    - تقسیم مقاومتی که برای اتصال میکروهای 5ولت به ماژول 3.3 ولت استفاده میشد و بدرد من نمیخورد علاوه بر اونکه مشکلات دیگه هم مانند حداقل سطح ولتاژ داشتند.
    - ماژولهایی که در اونها از طریق قرار دادن ترانزیستور ولتاژ خروجی افزایش پیدا میکرد به 5 ولت که اینطوری فقط میشه از میکرو اطلاعات ارسال کرد نه دریافت.
    ممنون میشم راهنمایی بفرمایید .
    تاپیک ویدیوهای آموزشی حواشی آردوینو و ESP

    #2
    پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

    فکر نمیکنم مشکلی برات پیش بیاد چون من قبلا استفاده کردم
    مثلا سنسور LM75 مستقیم وصل کردم
    ! Life doesn't get easier , you just get stronger

    دیدگاه


      #3
      پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

      سلام مشکلی پیش نمیاد، ای سی های i2c محدوده ولتاژشون معمولاً ۲/۷ (یا ۳ ) تا ۵ ولته اما هر چی ولتاژ پایین تر بیاد سرعت کلاک رو هم باید پایین تر بیاری.دقیقش رو باید از دیتاشیت در بیاری.اما اگر میخوای خیالت راحت باشه برای ۳/۳ ولت از ۱۰۰ کیلوهرتز استفاده کن
      جدیدترین ویرایش توسط سید رضا باباتبار; ۱۶:۵۵ ۱۳۹۶/۰۱/۲۹.
      [آموزشی] کنترل رله با پیامک توسط sim800l
      [آموزشی] راه اندازی سنسورهای DHT11 و DHT22 با کدویژن
      [آموزشی] مدار عملی اتصال میکروفن خازنی به میکروکنترلر
      [آموزشی] آموزش نحوه راه اندازی میکروهای fmd
      صفحه اینستاگرام : ecdco_ir

      دیدگاه


        #4
        پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

        خیلی ممنون از پاسختون.
        دقیقتر اگر بخوام بگم من میخوام به ماژول ads1115 وصلش کنم.
        اگر Vcc ماژولم رو 5 ولت و ارتباط i2c اونرو با میکرو 3,3 ولت بزارم (البته با همون فرکانسی که فرمودید) روی دقت adc ماژول تاثیر نمیزاره؟؟
        سوال دیگه، دقت و سرعت بالای adc برام خیلی مهمه اینکه چکار میتونم بکنم (برای این ارتباط) تا با روشی قابل قبول به بتونم از این ماژول حداکثر سرعت و دقت رو بگیرم. با توجه به اینکه divce های دیگه هم باید به i2c bus اضافه بشه.
        می بخشید از این همه سوال
        تاپیک ویدیوهای آموزشی حواشی آردوینو و ESP

        دیدگاه


          #5
          پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

          البته در باس I2C اصلا ولتاژی از پورت میکرو یا ماژول خارج نمیشه و تعیین کننده ولتاژ همان مقاومتهای بالاکش است
          نکته دوم اینکه فرکانس I2C اونقدری نیست که با کاهش ولتاژ مقدارش افت کنه حداکثر در بهترین شرایط 400 کیلوبیت/ثانیه

          دیدگاه


            #6
            پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

            من یه دور دیتاشیت رو خوندم
            اولآ ماژول با ولتاژ 2 تا 5 ولت کار میکنه.دومآ اینطور که تو نمودار ها مشخصه روی 3.3 ولت خطی تر کار میکنه. سومآ من محدودیتی برای فرکانس با کاهش ولتاژ ندیدم و شما میتونید تو high speed mode با سرعت 3.4 مگاهرتز هم ارتباط داشته باشید با ماژول.سرعت نمونه برداری رو چک نکردم ولی باید در نظر داشته باشید که هر چی سرعت بالاتر بره باید امپدانس خروجی منبعی که میخواید ولتاژش رو اندازه یگیرید کمتر باشه و درضمن ممکنه دقت هم کمتر بشه.
            به نظرم تنها محدودیتی که با ولتاژ 3.3 داری اینه که ماکزیمم ولتاژ اندازه گیری کمتر میشه(شاید)
            [آموزشی] کنترل رله با پیامک توسط sim800l
            [آموزشی] راه اندازی سنسورهای DHT11 و DHT22 با کدویژن
            [آموزشی] مدار عملی اتصال میکروفن خازنی به میکروکنترلر
            [آموزشی] آموزش نحوه راه اندازی میکروهای fmd
            صفحه اینستاگرام : ecdco_ir

            دیدگاه


              #7
              پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

              نوشته اصلی توسط reza0506 نمایش پست ها
              به نظرم تنها محدودیتی که با ولتاژ 3.3 داری اینه که ماکزیمم ولتاژ اندازه گیری کمتر میشه(شاید)
              همانطور که گفتم اصلا لزومی نداره ماژول 3.3 ولت باشه- پایه های I2C در حالت درین باز هست و فرقی نمیکنه چند ولت در ماژول هست - فقط مقاومت های بالاکش به 3.3 وصل میشوند و هر کدام از قطعات در ولتاژ کاری خودشون !!!!!!!!!

              دیدگاه


                #8
                پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

                نوشته اصلی توسط yousef55 نمایش پست ها
                همانطور که گفتم اصلا لزومی نداره ماژول 3.3 ولت باشه- پایه های I2C در حالت درین باز هست و فرقی نمیکنه چند ولت در ماژول هست - فقط مقاومت های بالاکش به 3.3 وصل میشوند و هر کدام از قطعات در ولتاژ کاری خودشون !!!!!!!!!
                نه اینطور نیست Vih باید حداقل 0.7vdd باشه یعنی 3/5 ولت در صورتی که خروجی میکرو 3/3 ولته.
                جدیدترین ویرایش توسط سید رضا باباتبار; ۰۱:۲۴ ۱۳۹۶/۰۱/۳۰.
                [آموزشی] کنترل رله با پیامک توسط sim800l
                [آموزشی] راه اندازی سنسورهای DHT11 و DHT22 با کدویژن
                [آموزشی] مدار عملی اتصال میکروفن خازنی به میکروکنترلر
                [آموزشی] آموزش نحوه راه اندازی میکروهای fmd
                صفحه اینستاگرام : ecdco_ir

                دیدگاه


                  #9
                  پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

                  نوشته اصلی توسط reza0506 نمایش پست ها
                  Vih باید حداقل 0.7vdd باشه یعنی 3/5 ولت در صورتی که خروجی میکرو 3/3 ولته.
                  بله اینو نگفتم چون دیگه همه میدونن باید این اختلاف ولتاژ برای روشن شدن ترانزیستورهای داخلی باید وجود داشته باشه
                  جدیدترین ویرایش توسط yousef55; ۱۷:۵۲ ۱۳۹۶/۰۱/۳۰.

                  دیدگاه


                    #10
                    پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

                    ممنون از عزیزان بابت راهنمایی ارزشمندتون
                    متاسفانه در دیتاشیت ماژول اصلا هیچ اطلاعاتی در این مورد نداده.
                    نوشته اصلی توسط reza0506 نمایش پست ها
                    سلام مشکلی پیش نمیاد، ای سی های i2c محدوده ولتاژشون معمولاً ۲/۷ (یا ۳ ) تا ۵ ولته اما هر چی ولتاژ پایین تر بیاد سرعت کلاک رو هم باید پایین تر بیاری.دقیقش رو باید از دیتاشیت در بیاری.اما اگر میخوای خیالت راحت باشه برای ۳/۳ ولت از ۱۰۰ کیلوهرتز استفاده کن
                    نوشته اصلی توسط reza0506 نمایش پست ها
                    اولآ ماژول با ولتاژ 2 تا 5 ولت کار میکنه.... سومآ من محدودیتی برای فرکانس با کاهش ولتاژ ندیدم و شما میتونید تو high speed mode با سرعت 3.4 مگاهرتز هم ارتباط داشته باشید با ماژول.سرعت نمونه برداری رو چک نکردم ولی باید در نظر داشته باشید که هر چی سرعت بالاتر بره باید امپدانس خروجی منبعی که میخواید ولتاژش رو اندازه یگیرید کمتر باشه و درضمن ممکنه دقت هم کمتر بشه.
                    به نظرم تنها محدودیتی که با ولتاژ 3.3 داری اینه که ماکزیمم ولتاژ اندازه گیری کمتر میشه(شاید)

                    راستش خود منم گیج شدم. تو دیتاشیت ماژول بنظر صحبت دوم شما درست میومد. اما وقتی دیتاشیت آیسی AT24C02 (EEPROM) رو میخوندم (بصورت اتفاقی) تو مشخصات ارتباطش که i2c هست دیدم مثل فرمایش اول شما نوشته:
                    - 100 kHz (2.7v) and 400 kHz (5V) Compatibility
                    میشه عملکرد این ماژول رو به 2 بخش (یا بیشتر) تقسیم کرد:
                    یک بخش مالتی پلکس و adc که حداکثر ولتاژ قابل نمونه برداریش تابع Vdd هست (ولتاژ منبع) که من برای اینکه بتونه تا 5 ولت رو در ورودی اندازه بگیره، تغذیه ماژول رو میخوام 5 ولت بزارم.
                    بخش دوم ارتباط با میکرو از طریق i2c هست که وقتی ما ولتاژ منبع ماژول (Vdd) رو 5 ولت میزاریم، طبعا ولتاژهای ورودی و خروجی به scl و sda هم 5 ولت خواهد شد. درحالیکه ما میکرومون 3.3 ولت میتونه دریافت و ارسال کنه.
                    بنظرم این وسط نیاز به یک مدار تبدیل هست.
                    چون زمانیکه پایه های scl و sda ماژول منتظر دریافت ولتاژ 5 ولت هستند ولتاژ کمتر از 0.7 Vdd که میشه 3.5 ,ولت دریافت میکنند (مثلا در حالت دریافت). و پر واضحه که دراینصورت ماژول یا عملکرد درستی نخواهد داشت یا سرعتش خیلی پایین تر از حداکثر سرعت قابل دستیابی خواهد بود.
                    حقیقتش من این ماژول رو برای یجور اسکوپ دارم استفاده میکنم که طبعا توش تمام موارد سرعت و دقت و حتی دامنه ولتاژ قابل اندازه گیری برام خیلی مهمه.
                    تاپیک ویدیوهای آموزشی حواشی آردوینو و ESP

                    دیدگاه


                      #11
                      پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

                      نوشته اصلی توسط digi-rx نمایش پست ها
                      وقتی ما ولتاژ منبع ماژول (Vdd) رو 5 ولت میزاریم، طبعا ولتاژهای ورودی و خروجی به scl و sda هم 5 ولت خواهد شد.
                      شما آخرشم متوجه نشدید بعد از اینهمه توضیح من
                      ولتاژ ماژول ربطی به I2C نداره - اصلا 100 ولت باشه فقط کافیه مقاومتهای بالاکش روی خط به 3.3 ولت وصل بشه - ولتاژ کل خط را مقاومتهای بالاکش تعیین میکند

                      دیدگاه


                        #12
                        پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

                        پس چرا تو دیتاشیت اون آیسی eeprom که گفتم یعنی
                        AT24C02
                        و ارتباطش از همین طریق i2c هست، اومده گفته اگه آیسی با ولتاژ 5 ولت 400khz و با ولتاژ 2.7 ولت 100khz میتونه سرعت اطلاعات داشته باشه؟؟
                        تاپیک ویدیوهای آموزشی حواشی آردوینو و ESP

                        دیدگاه


                          #13
                          پاسخ : روش سازگاری I2C BUS برای پایه میکروی 3.3 V

                          اون مربوط به ترانزیستورهای خود IC هست واضح هم هست همه میکرو ها همینجوری هستند شما دیتاشیت هر میکروییی رو نگاه کنی همین رو نوشته
                          ولتاژ کار ماژول به خط منتقل نمیشه و ولتاژ خط رو شما با 2 مقاومت تعیین میکنید - تمام

                          دیدگاه

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