اطلاعیه

Collapse
No announcement yet.

درخواست کمک در مورد i2c

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

    درخواست کمک در مورد i2c

    با سلام
    من اگه بخوام توی پروژه ام هم از ds1307 و هم از SHT75 استفاده کنم با توجه به این که هر دو از i2c استفاده میکنن به چه روشی باید اقدام کنم و آیا امکانپذیر هست؟

    با تشکر

    #2
    پاسخ : درخواست کمک در مورد i2c

    ماژول های سری SHTxx به هیچ عنوان I2C نیستند. از یه پروتکلی استفاده میآ‌کنند که شبیه I2C هست.
    در ضمن با آدرس دهی سخت افزاری میآ‌تونید بیش تر از 1 وسیله I2C رو روی باس I2C قرار بدید.

    دیدگاه


      #3
      پاسخ : درخواست کمک در مورد i2c

      نوشته اصلی توسط حمیدرضا رضائی
      ماژول های سری SHTxx به هیچ عنوان I2C نیستند. از یه پروتکلی استفاده میآ‌کنند که شبیه I2C هست.
      در ضمن با آدرس دهی سخت افزاری میآ‌تونید بیش تر از 1 وسیله I2C رو روی باس I2C قرار بدید.
      قصد جسارت به شما رو ندارم ولی سری SHT7x قابل اتصال به باس I2C هست (متاسفانه اینگونه جا افتاده که I2C یک پروتوکوله، در صورتی که I2C تنها و تنها یک باسه و با هر پروتوکولی میشه روش داده ردوبدل کرد، چون Philips یک پروتوکول جامع و استاندارد برای این باس ابداع کرده همگی اون رو به اسم پروتوکول I2C میشناسن).
      سری SHT7x تنها قابلیت آدرس دهی سخت افزاری رو نداره، مثلا شما به E2PROM شرکت Atmel با استفاده از پایه هاش میتونید بهش آدرس بدید و در پروتوکول ازش استفاده کنید ولی این سنسور قابلیت آدرس دهی نداره، از اون میشه در باس I2C بدون مشکل استفاده کرد ولی چون آدرس پذیرنیست در هر باس I2C تنها یک سنسور رو میشه استفاده کرد. تنها با سوئیچ کردن بین پروتوکول ها این کار امکان پذیره، اگر این کار رو نکرده بودم اینقدر مطمئن راجبش نمینوشتم.


      The serial interface of the SHT7x is optimized for sensor
      readout and effective power consumption. The sensor
      cannot be addressed by I2C protocol, however, the sensor
      can be connected to an I2C bus without interference with
      other devices connected to the bus. Microcontroller must
      switch between protocols.


      موفق باشید.
      اسمایل، تومورو ویل بی وُرس

      دیدگاه


        #4
        پاسخ : درخواست کمک در مورد i2c

        The serial interface of the SHTxx is optimized for sensor readout
        and power consumption and is not compatible with
        I2C interfaces, see FAQ for details.
        در متن بالا به صراحت قید شده که اینترفیس سریال این سنسور با I2C سازگار نیست(صفحهآ‌ی 2 از دیتاشیت)

        ولی در یک دیتاشیت SHT21 نوشته شده:
        SHT21 communicates with true I2C protoco

        شما از طریق I2C سخت افزاری AVR با این سنسور ارتباط برقرار کردید؟

        دیدگاه


          #5
          پاسخ : درخواست کمک در مورد i2c

          نوشته اصلی توسط حمیدرضا رضائی
          The serial interface of the SHTxx is optimized for sensor readout
          and power consumption and is not compatible with
          I2C interfaces, see FAQ for details.
          در متن بالا به صراحت قید شده که اینترفیس سریال این سنسور با I2C سازگار نیست(صفحهآ‌ی 2 از دیتاشیت)

          ولی در یک دیتاشیت SHT21 نوشته شده:
          SHT21 communicates with true I2C protoco

          شما از طریق I2C سخت افزاری AVR با این سنسور ارتباط برقرار کردید؟
          بله، ولی با سری SHT7x همونطور که آقای hamid0o0 مد نظروشون هست و در همون زمان اونها رو I/O میکردم و بعد از کار دوباره به مد I2C سخت افزاری میبردمشون، به قول خوارج به صورت "Multi-Purpose" از پایه ها استفاده میکردم. در پیام قبل هم من فقط سری SHT7x رو گفتم با باس I2C سازگاره نه همه سریها. در ضمن این به این معنا نیست که چون با باس I2C سازگاره حتما پروتوکولش هم مثل I2C هست، باید بین پروتوکولها سوئیچ کرد، پول پ هم فراموش نشه. :bye
          اسمایل، تومورو ویل بی وُرس

          دیدگاه


            #6
            پاسخ : درخواست کمک در مورد i2c

            ممنون از دوستانی که کمک کردن
            حالا با این تفاسیر آیا میشه هر دو قطعه (ds1307 و sht75) رو با یه میکرو راه اندازی کرد؟

            دیدگاه


              #7
              پاسخ : درخواست کمک در مورد i2c

              نوشته اصلی توسط hamid0o0
              ممنون از دوستانی که کمک کردن
              حالا با این تفاسیر آیا میشه هر دو قطعه (ds1307 و sch75) رو با یه میکرو راه اندازی کرد؟
              با DS1307 کار نکردم، کاری که من انجام دادم برای یک سیستم MPEG-II Encoder بود که در بخش I2C دو چیپ صدای دیجیتال، دو چیپ صدای آنالوگ، یک کارت A/D ویدئو، یک RTC شرکت Philips، یک سنسور SHT71 و FPGA بود که همه به یک باس I2C وصل بودن، برای RTC چون دقت در زمان مهم بود Interrupt خارجی هر یک ثانیه رو اعلام میکرد و در لحظه از I2C میخوندم، قطعات دیگه اکثرا به هنگام Config فقط ست میشدن و برای خوندن دما و رطوبت هم پایه ها رو میبردم تو مد I/O و با همون پروتوکول خودش از SHT میخوندم. کل باس 3.3 ولت بود و مشکلی هم نداشتم.
              اسمایل، تومورو ویل بی وُرس

              دیدگاه


                #8
                پاسخ : درخواست کمک در مورد i2c

                به هر حال میآ‌تونید SHT رو با پایه های دیگهآ‌ میکرو هم راه اندازی کنید.

                دیدگاه


                  #9
                  پاسخ : درخواست کمک در مورد i2c

                  نوشته اصلی توسط حمیدرضا رضائی
                  به هر حال میآ‌تونید SHT رو با پایه های دیگهآ‌ میکرو هم راه اندازی کنید.

                  میشه در این زمینه یه کم توضیح بدین آخه کلا من نادان هستم :cry: و تا حالا با پایه های دیگه میکرو I2C رو راه اندازی نکردم


                  همین که من توی کانفیگ پایه های دیگه رو معرفی کنم کافیه؟
                  یعنی اینطوری؟
                  کد:
                  [left][left]
                  sck alias portd.0
                  dataout alias portd.1
                  datain alias pind.1
                  [/left][/left]

                  بعدش همه چی درست میشه؟

                  دیدگاه


                    #10
                    پاسخ : درخواست کمک در مورد i2c

                    نمونه برنامه رو میآ‌تونید در لینک زیر مشاهده کنید:
                    http://www.mcselec.com/index.php?opt...&Itemid=57

                    دیدگاه


                      #11
                      پاسخ : درخواست کمک در مورد i2c

                      با سلام مجدد
                      من سنسور sht75 رو راه اندازی کردم اما یه جورایی جوابی که میده پرت و پلاست مخصوصا در مورد رطوبت
                      فکر کنم این ثابت ها که توی برنامه داره استفاده میشه مال sht11 باشه و برای sht75 احتیاج باشه که تغییر کنن
                      خودم طبق دیتاشیت و عقل ناقصم عددها رو عوض کردم وضع بدتر شد

                      از دوستانی که با این سنسور آشنایی دارن خواهش میکنم لطف کنن و بگن مقدار ثابتها رو چجوری باید تعریف کنیم
                      منظورم ایناست
                      کد:
                      Const C1 = -4
                      Const C2 = 0.0405
                      Const C3 = -0.0000028
                      Const T1c = .01
                      Const T2 = .00008
                      Const T1f = .018
                      از لطفتون ممنونم

                      دیدگاه

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