اطلاعیه

Collapse
No announcement yet.

اتصال دو حافظه mmc به یک میکرو

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

    اتصال دو حافظه mmc به یک میکرو

    سلام دوستان عزیر
    ابتدا ایام سوگواری را خدمت همه تسلیت می گم و از همه دوستان توی این شب های عزیز التماس دعا دارم.
    اما ما تونستیم بالاخره با mmc و از طریق fat ارتباط برقرار کنیم مشکل ما این بود که سر انتخاب (chipselect) حافظه یا mmc را به پایه دیگری غیر از SS وصل می کردیم و چون برای ارتباط spi لازم بود دچار مشکل می شدیم اما حالا من می خوام دوتا mmc را به یک میکرو وصل کنم واز همین طریق با هاشون ارتباط برقرار کنم می دونم یه جورایی مثل شبکه کردن چند میکرو می شه ولی نمی دونم چه جوری یعنی آیا می شه پایه دیگری را غیر از pb.4 را به عنوان ss انتخاب کرد من با کدویژن کار می کنم ممنون می شم دوستان راهنمایی کنند
    چه خوش است زر خالی که به آتش اندر آید
    چو کند درون آتش هنر و گهرنمائی
    مگریز ای برادر تو ز شعله های آذر
    ز برای امتحان را چه شود اگر درآئی
    به خدا ترا نسوزد رخ تو چو زر فروزد
    که خلیل زاده ای تو زقدیم آشنائی چو خلیل رو در آتش که تو خالصی و دلپاک در خیبر است برکن که علی مرتضائی.

    #2
    پاسخ : اتصال دو حافظه mmc به یک میکرو

    2 MMC رو نمیشه چون اونوقت برنامه نمی فهمه که این دستورایی که مینویسی
    برای کدومشه ولی ساده ترین راهش استفاده از 2 مگا 64 یا مگا128 است که
    باید دو میکرو رو با سریال ارتباط بدی
    الهم عجل لولیک الفرج

    فقط 313 نفر...

    دیدگاه


      #3
      پاسخ : اتصال دو حافظه mmc به یک میکرو

      البته من با MMC کار نکردم. ولی اگه روش ارتباطی SPI باشه امکانش هست. SS برای همین جور موقع هاست دیگه.
      اگه اشتباه می کنم اصلاح کنید.

      دیدگاه


        #4
        پاسخ : اتصال دو حافظه mmc به یک میکرو

        به نظر منم می شه.
        مقاله آقای سپاس یار رو ببینید:
        http:// www.avr.ir/eca/spi_bus.pdf
        یادمه راجع به ارتباط شبکه ای هم توضیح داده بودن.

        ================================================
        اینجا رو ببینید:
        http://www.google.com/search?hl=en&inlang=ar&domains=www.eca.ir& amp;sitesearch=www.eca.ir&ie=windows-1256&oe=windows-1256&q=spi_bus&btnG=Search&sitesearch= www.eca.ir
        جریان چیه؟من کلیک می کنم یه تاپیک دیگه باز میشه.تو سرچم این تاپیک نمی یومد!فکر کنم به خاطر علامت تعجب های عنوان تاپیک باشه!!

        دیدگاه


          #5
          پاسخ : اتصال دو حافظه mmc به یک میکرو

          ممنون از شما که در بحث شرکت کردید
          fam که گفته نمی شه را نمیدونم چرا ولی من فکر می کنم می شه سر ss را برای همین کار می خوام تا بین MMC های مختلف تمایز قائل بشه اما در پاسخ به حامد باید بگم در شکل هایی که من تو اینترنت پیدا کردم چنین ارتباطی انجام پذیره یعنی به قول شما سر ss برای اتنخاب slaveآ‌ اما توی اون شکل ها پایه های دیگری را برای انتخاب slave های دیگر در نظر گرفته اند اما هیچ کس توضیح نداده که چه چوری و چه تغییرات یا تنظیماتی را باید در پروتکل انجام بگیره و در نهایت این مقاله آقای سپاس یار وجود نداره اگر کسی اصل فایل را داره لطفا یک لینک صحیح را قرار بده و همونطور که آقای حسنی گفتن اون تاپیک هم یه چیز دیگر رو نشون میده
          به هر حال اگر دوستان نظری در مورد تنظیمات یا یه کدی که برای شبکه کردن میکرو ها باشه دارن را اینجا مطرح کنن ممنون می شم
          چه خوش است زر خالی که به آتش اندر آید
          چو کند درون آتش هنر و گهرنمائی
          مگریز ای برادر تو ز شعله های آذر
          ز برای امتحان را چه شود اگر درآئی
          به خدا ترا نسوزد رخ تو چو زر فروزد
          که خلیل زاده ای تو زقدیم آشنائی چو خلیل رو در آتش که تو خالصی و دلپاک در خیبر است برکن که علی مرتضائی.

          دیدگاه


            #6
            پاسخ : اتصال دو حافظه mmc به یک میکرو

            سلام
            این شکلیه که تو مقاله آقای سپاس یار بود




            تنظیمات خاصی دیگه نمی خواد.اون سه تا میکرو رو در نظر بگیرید .اگه خواستید به بالایی بفرستید قبل از دستور ارسال، ss1 رو صفر می کنید و همین طور برای وسطی قبل از دستور ارسال ss2رو صفر کنید و........خوب حالا شما از پین های دیگه برای ss1 وss2 استفاده کنید.فکر کنم بشه. :smile:

            دیدگاه


              #7
              پاسخ : اتصال دو حافظه mmc به یک میکرو

              ببینید دوستان من دارم از کتابخانه fat و mmc که آقای فخر گذاشتن استفاده می کنم ساختار MMC و fat را می دونم و اینکه کتابخانهاشون جه جوری کار می کنند اما برای ارسال فقط مقادیرم را درون تابع ()spi می گذاشتم و ارسال می کنم و نتونستم سر در بیاورم که مفداردهی اولیه SS و تعیین اینکه SS کجا باشه چه جوری انجام می شه فکر می کنم اگر آقای فخر این تاپیک را می خونن بتونن کمک بیشتری بکنند دوستای عزیز دیگر مثل آقای حسنی هم اگر زحمت بکشن و یک کد که توی اون چند تا میکرو را شبکه کرده باشن قرار بدن ممنون می شم البته هر کس دیگری هم اطلاعاتی داره ممنون می شم اگر در این بحث شرکت کنه شب قدری ثواب داره :job: التماس دعا
              چه خوش است زر خالی که به آتش اندر آید
              چو کند درون آتش هنر و گهرنمائی
              مگریز ای برادر تو ز شعله های آذر
              ز برای امتحان را چه شود اگر درآئی
              به خدا ترا نسوزد رخ تو چو زر فروزد
              که خلیل زاده ای تو زقدیم آشنائی چو خلیل رو در آتش که تو خالصی و دلپاک در خیبر است برکن که علی مرتضائی.

              دیدگاه


                #8
                پاسخ : اتصال دو حافظه mmc به یک میکرو

                سلام
                پایه های ارتباط سریال SPI رو می شه بین دستگاههای زیادی که از این ارتباط پشتیبانی می کنند، به اشتراک گذاشت. همونطوری که آقای حسنی اشاره کردند. حالا مهم اینه که داده ای رو که روی این خطوط مشترک می فرستیم در واقع متعلق به چه دستگاهیه. اگر از دو دستگاه استفاده می کنیم می شه از پایه SS استفاده کرد. چون یک بیت دو حالت داره دیگه. باید این پایه رو یکبار به صورت مستقیم به Chip Select یکی از دستگاهها و Not اونرو به Chip Select دستگاه دوم وصل کرد.
                حالا اگر از دو دستگاه بیشتر داشته باشیم دیگه نمی شه از این پایه که دو حالت داره استفاده کرد. باید همونطوری که تو شکل قبلی هست عمل کنیم. و با استفاده از پایه های مختلف، دستگاه مورد نظر رو برای قبول داده ها انتخاب کنیم. مثل Portb.0 برای دستگاه اول، Portb.1 برای دستگاه دوم و ... . بعد با فعال کردن اونها دستگاه مورد نظر رو انتخاب کنیم.
                همین قضیه برای MMC ها هم که می شه دستگاههای ما، قابل اجراست. پیشنهاد میکنم برای اینکه درگیر SS نشی از راه حل دوم که برای تعداد دستگاههای بیشتر از 2 تا هست، استفاده کنی.
                تو بسکام می تونم کد بذارم:
                کد:
                set Portb.0
                reset Portb.1
                کد بالا برای انتخاب دستگاه دوم. کد زیر رو هم می شه استفاده کرد.
                کد:
                Portb=&b11111101
                که در یک خط دستگاه قبلی رو می شه غیر فعال و دستگاه جدیدی رو فعال کرد.
                موفق باشی

                دیدگاه


                  #9
                  پاسخ : اتصال دو حافظه mmc به یک میکرو

                  ممنون از همه دوستان
                  فکر می کنم من سوالم را بد مطرح کردم من برای کاری که می خوام انجام بدم می خوام بدونم چه موقع پایه SS صفر و بعد یک می شه و چون از کتابخانه های آماده spi در کدویژن دارم استفاده می کنم نمی دونم این کار کی و کجا اتفاق می افته من می خوام این را تشخیص بدم یعنی مثلا اگر یک کد اسمبلی توی یکی از lib هاست کدوم lib
                  چه خوش است زر خالی که به آتش اندر آید
                  چو کند درون آتش هنر و گهرنمائی
                  مگریز ای برادر تو ز شعله های آذر
                  ز برای امتحان را چه شود اگر درآئی
                  به خدا ترا نسوزد رخ تو چو زر فروزد
                  که خلیل زاده ای تو زقدیم آشنائی چو خلیل رو در آتش که تو خالصی و دلپاک در خیبر است برکن که علی مرتضائی.

                  دیدگاه


                    #10
                    پاسخ : اتصال دو حافظه mmc به یک میکرو

                    مفداردهی اولیه SS و تعیین اینکه SS کجا باشه چه جوری انجام می شه
                    سلام
                    عرض کردم خدمتتون ،قبل از دستور ارسال.
                    به عنوان مثال

                    کد:
                    PORTB.0=0; 
                    Rec=spi(send);   d  
                    delay_ms(20)   
                    PORTB.0=1

                    Rec و send متغیر هستند.با صفر کردن ss قبل از ارسال به اون طرف! می فهمونید که آقا من یه چیزی می خوام بفرستم آماده باش! بعد از ارسال هم یه delay جهت محکم کاری که مطمین شیم ارسال به طور کامل انجام شده(شایدم ضروری نباشه) و بعد از اون ss رو یک می کنیم که اگه خواستی واسه میکروی بعدی بفرستی فقط ss همون میکروی مورد نظر صفر باشه و بقیه یک باشن.
                    می خوام بدونم چه موقع پایه SS صفر و بعد یک می شه و چون از کتابخانه های آماده spi در کدویژن دارم استفاده می کنم نمی دونم این کار کی و کجا اتفاق می افته
                    خوب این کار رو خودمون انجام میدیم دیگه.

                    دیدگاه


                      #11
                      پاسخ : اتصال دو حافظه mmc به یک میکرو

                      اقا سلام
                      من تمام این تاپیک ها رو خوندم
                      من میخوام mega16 و vs 1011 و mmc هر سه رو تو مدار استفاده کنم و درون mmc چندتا پوشه باشه و درون هر پ.شه چندتا اهنگ
                      نگین با m16نمیشه چون یکی از دوستان یه بردی رو به من داد که این کارو کرده بود
                      بدون هیچ مشکلی و از طریق سریال که از دستگاه دیگه به میکرو ارسال میشد نحوه اجرا اونها کنترل میکردن
                      من این برنامها رو که گفتین واسه حتی خوندن یه فایل متنی با میکرو با بیسکام کامپایل میکنم
                      اما نمیدونم چرا همش به این دستورها گیر میده و خطا میزنه
                      include "Config_MMC.bas"
                      $Include "Config_AVR-DOS.BAS"
                      میگه که اینا رو نمیشناسه
                      من حتی ورژن جدید بسکام رو نصب کردم 9.5
                      اما بازم نمیدونم چی شد تو کتابخانه های خودش فایل mmc.libهست اما بازم نمیشه
                      خوشحال میشم دوستان کمک کنند
                      اگه مایل بودین عکس این بردی رو که گفتم هم میتونم بذارو تا دوستان ببینند

                      دیدگاه


                        #12
                        پاسخ : اتصال دو حافظه mmc به یک میکرو

                        سلام
                        اون دوتا فایل رو شما از پوشه Samples\AVRDOS که تو محل نصب بسکام هست، به محل فایل خودت کپی کن تا اونها رو پیدا کنه. چون از همون آدرس فایلی که داره کامپایل می کنه ، دنبال فایلهای include شده می گرده.
                        بهتره از همین الان برای انجام چنین پروژه ای روی میکروکنترلرهایی کار کنی که امکانات بیشتری دارند مثل mega64/128. جدا از بحث حافظه که حتما کم میاری ممکنه برای کارهای مختلف پورت هم کم بیاری.
                        موفق باشی.

                        دیدگاه


                          #13
                          پاسخ : اتصال دو حافظه mmc به یک میکرو

                          ممنون از جوابتون
                          من هم دارم با 128 کار میکنم تا بتونم مسلط بشم
                          تونستم باmmc ارتباط برقرار کنم فقط نمی دونم چرا موقع اینیت کردن اینقدر طول میکشه
                          و یکی دیگه هم اینکه فایلی رو که تو notepad ایجاد کردم رو نمی تونم بخونم
                          مثلا اگه اونجا نوشتم aliاین ali رو چجوری روی lcd باید ببینم
                          lپیشاپیش از جوابتون منون

                          دیدگاه


                            #14
                            پاسخ : اتصال دو حافظه mmc به یک میکرو

                            سلام
                            اینکه می گی طول می کشه ممکنه اصلا نتونسته MMC رو راه بندازه شما تونستس راهش بندازی؟
                            بهتره تا کدی که نوشتی رو بذاری؟ از یه سری دستور ساده مثل Line input, input, get می تونی از داخل فایل ها داده هاشونو بخونی. برای خوندن از فایل حتما باید فایل مورد نظرت رو به صورت In put باز کرده باشی.
                            موفق باشی

                            دیدگاه


                              #15
                              پاسخ : اتصال دو حافظه mmc به یک میکرو

                              سلام اقای e
                              ممنون از جوابها و پیگیریهاتون اره من تونستم مموری رو راه بندازم فقط اینیت کردنش خیلی طول میکشه
                              البته از 128 مگ استفاده میکنم
                              من الان تونستم هم پوشه ایجاد کنم هم فایل هم برم داخل اونا و برگردم
                              دارم روی ای سی vs1011eکار میکنم در مورد این ای سی کسی هست که بتونه کمکم کنه فکر میکنم تونسته باشم از پس mmc بر بیام
                              پیشتپیش ممنون از لطفتون

                              دیدگاه

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