اطلاعیه

Collapse
No announcement yet.

ارتباط دو میکرو با پروتوکل I2C

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

    ارتباط دو میکرو با پروتوکل I2C

    با سلام خدمت دوستان

    درباره ارتباط میکرو با وسایل و ماژول های جانبی که I2C رو پشتیبانی میکنند مشکلی نیست.. چون هرکدوم یک آدرس مشخص و نحوه استفاده خاص خود را تو دیتاشیتشون دارن..

    ولی عمل آدرس دهی در ارتباط دو میکرو ( یا چند میکرو به صورت master و slave ) با این پروتوکل چطوریه ؟؟

    آیا باید از TWI استفاده بشه ؟؟ ( که در codevision در قسمت wizard امکان آدرس دهی میکرو slave فراهم هست)
    به رویاهات فکر کن!!

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

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

    بنده تمام ECA رو زیر و رو کردم ولی چیزی پیدا نکردم.

    هدف : می خواهیم کار رو پیش ببریم تا نهایتش به جایی برسیم که محصول این همه تفکرات برای همه قابل استفاده بشه.

    موضوع: ارتباط دو یا چند میکرو با هم از طریق پروتکل I2C

    پروژه هایی مبتنی بر ارتباط ماژول ها و ... با میکرو به طریق i2c موجود هست و ملت در این باب دغدغه ای ندارند. ولی در مورد چند میکرو یا دو میکرو با هم این عدم وجود اطلاعات کافی برای خیلی ها مشکل ساز شده، لذا خواهشمندم دوستان ، اساتید و ... اطلاعات خودشون رو به اشتراک بگذارند.

    با تشکر.
    همواره يادمان باشد:
    1-مردان بزرگ اراده مي کنند و مردان کوچک آرزو
    2-افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
    3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.

    دیدگاه


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

      دروووود
      من قبلا با بسکام این کارو کردم ولی باید از lib های آماده استفاده کنی ولی در مورد کدویژن مثالش توی کتاب avr به زبان c پرتوی فر هست.

      دیدگاه


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

        این پروژه شماتیک خاصی نداره و خیلی ساده هست، ولی گفتم همین رو رسم کنیم تا با یک روش و با هم پیش برویم.
        ال سی دی رو هم من باب تشریفات گذاشتم.
        [/url]
        همواره يادمان باشد:
        1-مردان بزرگ اراده مي کنند و مردان کوچک آرزو
        2-افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
        3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.

        دیدگاه


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

          دوستان سلام.

          توی جستجوهام به یک لینک خوب برخوردم که مطالعه ی خود موضوع و لینکهای موجود در آن رو به دوستان توصیه می کنم.
          http://www.eca.ir/forum2/index.php?topic=75169.msg450932#msg450932

          در لینک فوق بیشتر پیرامون I2C بحث شده. ولی ما باید با TWI یا همون Two Wire کار کنیم.


          *** دوستان یک نفر، تفاوت عمده ی I2c و TWI رو باهم شرح بده؟ طبیعتاً از یک خانواده هستند ولی پس چرا فرق دارند.در عکس زیر حالت های مختلف پنجره های i2c و twi رو گذاشتم.


          نظر من:
          تفاوت I2c با twi اینه که I2c به صورت نرم افزاری ایجاد می شه و روی تمام پورت ها قابل استفاده است اما TWI سخت افزاری انجام می شه
          تو I2C میکرو کنترلر Master هستش و بقیه قطعات متصل به پورت Slave، ولی تو TWI میکرو کنترلر هم میتونه Master باشه هم Slave

          کمک کنید تا سایر تفاوت هاش معلوم بشه؟!
          همواره يادمان باشد:
          1-مردان بزرگ اراده مي کنند و مردان کوچک آرزو
          2-افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
          3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.

          دیدگاه


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

            نوشته اصلی توسط S_Ahmad
            دوستان یک نفر، تفاوت عمده ی I2c و TWI رو باهم شرح بده؟ طبیعتاً از یک خانواده هستند ولی پس چرا فرق دارند
            TWI همان I2C است و به دلیل اینکه کلمه I2C از طرف فیلیپس معرفی شده است، Atmel از نام TWI استفاده می کند. در شکل هایی هم که قرار داده اید، پنجره مستقل I2C مربوط به پیاده سازی این پروتکل بصورت نرم افزاری است و این یک امکان ناشی از کتابخانه های کدویژن است و ارتباطی به واحد سخت افزاری TWI یا همان I2C ندارد. در AVR یک پورت TWI بصورت سخت افزاری وجود دارد که تنظیمات آن در بخش دیگری که شکل آن را قرار داده اید، انجام می شود. در مورد ارتباط دو میکروکنترلر از طریق TWI هم مستلزم مطالعه و تسلط دقیق بر این مبحث از روی Datasheet است. در این رابطه، بزودی در فیلم های آموزش AVR مبحث TWI آغاز خواهد شد و با مراجعه به مباحث آن می توانید جزئیات عملکرد این سخت افزار را پیگیری کنید.
            اوژن: به معنای افکننده و شکست دهنده است
            دانایی، توانایی است-Knowledge is POWER
            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

            دیدگاه


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

              نوشته اصلی توسط S_Ahmad
              دوستان سلام.

              توی جستجوهام به یک لینک خوب برخوردم که مطالعه ی خود موضوع و لینکهای موجود در آن رو به دوستان توصیه می کنم.
              http://www.eca.ir/forum2/index.php?topic=75169.msg450932#msg450932

              در لینک فوق بیشتر پیرامون I2C بحث شده. ولی ما باید با TWI یا همون Two Wire کار کنیم.


              *** دوستان یک نفر، تفاوت عمده ی I2c و TWI رو باهم شرح بده؟ طبیعتاً از یک خانواده هستند ولی پس چرا فرق دارند.در عکس زیر حالت های مختلف پنجره های i2c و twi رو گذاشتم.


              نظر من:
              تفاوت I2c با twi اینه که I2c به صورت نرم افزاری ایجاد می شه و روی تمام پورت ها قابل استفاده است اما TWI سخت افزاری انجام می شه
              تو I2C میکرو کنترلر Master هستش و بقیه قطعات متصل به پورت Slave، ولی تو TWI میکرو کنترلر هم میتونه Master باشه هم Slave

              کمک کنید تا سایر تفاوت هاش معلوم بشه؟!
              twi همان i2c هستش. کدویژن اومده یک شری توابع رو برای آی سی های پر کاربرد مثل DS1307 آماده کرده و براتون گذاشته. یعنی با همون توابع معروف i2c_start و i2c_stop و i2c_read و i2c_write میشه برای تمام المان ها توابع جدیدتر ساخت
              وقتی twi رو تنظیم می کنید باید تنظیم پایه ها رو هم انجام بدین. این تنظیم در فایل i2c.h مشخص شده که باید شماره Port و پین ها رو مشخص کنید
              برای ارتباط با المان های مختلف، این المان ها از داخل طوری تنظیم شده اند که نسبت به آدرس و ارسال Start جواب بدن. بطور مثال میتونید خط دیتا یک eeprom از نوع i2c به شماره AT24C256 رو ببینید. تو دیتاشیتش هست. اگر میخواین میکرو ها به اون صورت کار کنن باید به اون شکل تنظیم بشن. برای ارتباط میکروها و کلا ارتباطات از این قبیل من SPI رو توصیه میکنم. سرعت بسیار زیاد و عملکرد دو طرفه عالی
              خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

              دیدگاه


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

                نوشته اصلی توسط S_Ahmad
                با سلام به همه ی دوستان

                بنده تمام ECA رو زیر و رو کردم ولی چیزی پیدا نکردم.

                هدف : می خواهیم کار رو پیش ببریم تا نهایتش به جایی برسیم که محصول این همه تفکرات برای همه قابل استفاده بشه.

                موضوع: ارتباط دو یا چند میکرو با هم از طریق پروتکل I2C

                پروژه هایی مبتنی بر ارتباط ماژول ها و ... با میکرو به طریق i2c موجود هست و ملت در این باب دغدغه ای ندارند. ولی در مورد چند میکرو یا دو میکرو با هم این عدم وجود اطلاعات کافی برای خیلی ها مشکل ساز شده، لذا خواهشمندم دوستان ، اساتید و ... اطلاعات خودشون رو به اشتراک بگذارند.

                با تشکر.
                بعد از چند ماه هنوز هم اطلاعات کافی برای ارتباط دو میکرو تو فروم وجود نداره!!!
                من می خوام 32 کاراکتر برای lcd رو از میکروی مستر به میکروی دیگه ای بفرستم....
                توابع ارسال و دریافت چه هستند؟
                کاربرد وقفه در ارتباط چه هست؟
                اگر از تاپيکي بدتون مياد...
                اگر با استارتر تاپيکي مشکل دارين...
                اگر خواستين تاپيکي فراموش بشه...
                ...بگين که
                [glow=red,2,300]من تو اون تاپيک پستي ارسال کنم.[/glow]

                دیدگاه


                  #9
                  پاسخ : ارتباط دو میکرو با پروتوکل I2C

                  از برادر طراح عزیز خواهش دارم راهنمایی کنن
                  مشکل من با بیسکامه نه چیز دیگه ای
                  مشکل اینجاست لایب twi_i2c-slave
                  در بیسکام وجود ندارد !!

                  CONFIG TWISLAVE
                  در بیسکام وجود داره ولی لایبش پولیه
                  با ریجیستر ها مشکلی ندارم میتونم کانفیگشو بکنم ولی نمیتونم لیبل وقفه رو چهطور براش معرفی کتنم
                  یه برنامه نمونه برای اسلیو پیدا کردم ولی مشکل اینه که دریافت دیتا باید همیشه تو روتین چک بشه
                  و خبری از وقفه دریافت در مد اسلیو نیست
                  چه کار میشه کرد
                  [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                  دیدگاه


                    #10
                    پاسخ : ارتباط دو میکرو با پروتوکل I2C

                    با سلام خدمت دوستان کسی میدونه که چه طوری میشه تو کدویژن دوتا میکرو رو از طریق پروتکل i2c به هم مرتبط کرد <<<<؟؟؟؟؟؟؟؟

                    دیدگاه


                      #11
                      پاسخ : ارتباط دو میکرو با پروتوکل I2C

                      سلام دوستان میخواستم بدونم چظور میشه این دو میکرو کنترلر STM32F030K6T6 رو که مدلشون یکسان هست رو به هم اتصال داد؟ من میخوام فرکانس و حافظه اون ها این طوری بیشتر بشه یعنی یکیشون فرکانش 48Mhz و حافظه 32Kb داره و میخوام دوبرابر بشه درمجموع تا فشار قطعات بیشتری روشون نیاد؟میخوام ببینم شدنی هست یا خیر؟

                      دیدگاه


                        #12
                        پاسخ : ارتباط دو میکرو با پروتوکل I2C

                        نوشته اصلی توسط keyhankm نمایش پست ها
                        سلام دوستان میخواستم بدونم چظور میشه این دو میکرو کنترلر STM32F030K6T6 رو که مدلشون یکسان هست رو به هم اتصال داد؟ من میخوام فرکانس و حافظه اون ها این طوری بیشتر بشه یعنی یکیشون فرکانش 48Mhz و حافظه 32Kb داره و میخوام دوبرابر بشه درمجموع تا فشار قطعات بیشتری روشون نیاد؟میخوام ببینم شدنی هست یا خیر؟
                        با سلام و احترام
                        با استفاده از دو میکروکنترلر نمیتوانید انتظار سرعت و یا حجم حافظه دو برابر داشته باشید. از آنجا که هر کدام از میکروها سخت افزار و برنامه مستقل خود را دارد لذا ماکزیمم سرعت و حافظه برای هر کدامشان مجزا بوده و ربطی به هم ندارد. در ضمن به این نکته هم توجه کنید که میکروکنترلر اگر در محدوده سخت افزاری مجاز خود کار کند فشاری به آن وارد نخواهد شد.
                        استفاده از دو میکرو زمانی توجیه پذیر است که یک میکرو جوابگو نباشد و شما بتوانید پروژه خود را به دو بخش مجزا تقسیم کنید بطوریکه این دو بخش مجزا نیاز به ارتباط سریع با یکدیگر نداشته باشند چون روشهای ارتباطی معمولی بین دو میکرو نمیتوانندسرعتی قابل مقایسه با سرعت پردازش میکرو داشته باشند.
                        موفق باشید.

                        دیدگاه

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