اطلاعیه

Collapse
No announcement yet.

استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

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

    استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

    با سلام
    از دوستان کسی تونسته از یک باس spi همزمان برای کار با مموری کارت و یک ویوایس دیگه استفاده کنه؟ مخصوصا اگه اون دیوایس را بخوای داخل یک اینتراپت تایمر با سرعت مثلا 20 میلی ثانیه یک بار استفاده کنی.
    به نظرم این کار عملی نباشه. چون زمان که داری با مموری کار میکنی وقفه پیش بیاد و در همون حین بخوای با دیوایس دیگه ارتباط برقرار کنی اونوقت ممکنه مموری کارت ریست بشه. یا اگه داری با اون دیوایس کار می کنی وسط کار وقفه تایمر برای اون دستور disk_process() پیش بیاد وضعیت نامشخص میشه.
    لطفا نظر بدین.
    در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

    1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
    2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
    3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

    #2
    پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

    کسی نیست جواب بده؟ یعنی کسی کار نکرده؟
    در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

    1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
    2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
    3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

    دیدگاه


      #3
      پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

      سلام
      اگر از نظر زمان بندی مشکلی نداشته باشه
      با آیسی های لچ و ... میشه!
      به شرطی که اون آیسی ها tristate بوده و قابلیت HZ
      (های امپدانس) و داشته باشن!
      در اینصورت باید با خود میکرو، مدیریت بکنی که
      چه زمانی با حافظه
      و چه زمانی به device دیگه ارتباط داشته باشه!
      تکرار میکنم:
      مشروط بر اینکه زمانبندی رعایت بشه!
      :read:
      1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
      2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
      3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

      دیدگاه


        #4
        پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

        اگه میشه لطفا بیشتر توضیح بدین. منظورتون از زمان بندی چیه؟

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


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

        1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
        2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
        3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

        دیدگاه


          #5
          پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

          با سلام مجدد خدمت دوستان
          من برنامه گفته شده در بالا را پیاده کردم و همانطور که حدس میزدم جواب نداد. یعنی اگه در حین استفاده از باس SPI برای ارتباط با کارت حافظه MicroSD وقفه ای پیش بیاد و در روتین وقفه وضعیت خط CS کارت حافظه تغییر کند(برای استفاده باس جهت ارتباط با دیوایس ها دیگر) حتی در صورت بازگشت وضعیت پایه CS به حالت قبل از اجرای وقفه دیگر نمی توان با کارت حافظه ارتباط برقرار کرد.

          اگر دوستان تجربه موفق و یا راهکار و پیشنهادی دارند لطفا ارائه کنند.
          در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

          1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
          2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
          3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

          دیدگاه


            #6
            پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

            روش های زیر پیشنهاد میشه:

            1: اگه به سرعت خیلی بالا نیازی نداری
            میتونی SPI رو روی هر چهار تا پایه ای که دلت میخواد
            شبیه سازی کنی!
            فقط کافیه که Timing Diagram رو درست رعایت کنی!
            (مثال: تایمینگ برای کارت های حافظه )

            2: شما از لچ استفاده کردی؟
            برخی از لچ ها مثه حافظه میمونن
            از این جهت که میتونن آخرین وضعیت خودشونو حفظ کنن!
            اینگونه لچ ها برای کنترل به حداقل 3 خط نیاز دارن:
            Reset, Latch Enable, Output Enable
            الان اسم آیسی هاش یادم نیست
            توی پروتئوس بزنی latch مدلاشو میاره
            کافیه شما خط CS رو بین دو دیوایس مورد نظرت
            با یک لچ کنترل کنی!
            ...
            1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
            2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
            3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

            دیدگاه


              #7
              پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

              با سلام
              ضمن تشکر به خاطر پیشنهاداتی که دادین.
              از روش اول و تایمینگ خیلی سر در نمی یارم. من با میکرو atxmega کار می کنم و این میکرو خودش چند تا باس spi داره. روش اول شاید علاوه بر کند شدن بر پیچیدگی نرم افزار اضافه کنه ولی ممکنه این روش تنها روش برای کار با سری atmega باشه.

              و اما روش دوم اگر با آی سی لچ وضعیت پایه CS حفظ بشه که کلا سیستم کار نمیکنه زیرا زمانی که سیستم داره از این باس برای دیوایس دیگر استفاده می کنه کارت حافظه اطلاعات روی باس را به اشتباه برای خودش تلقی می کنه و اگر هم لچ نباشه همان داستان قبل وجود دارد.
              در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

              1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
              2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
              3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

              دیدگاه


                #8
                پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

                یه اشتباه کوچیک کردم
                شما بایید هر 4 تا پایه ی spi رو لچ کنی!
                اگه هم خوندن داری هم نوشتن
                باید توجه کنی که لچ دو طرفه باشه
                یعنی زمانی که فعال میشه
                پایه هاش در دو طرف قابل تغییر باشن
                (اگه اشتباه نکنم بهش میگن خاصیت Transparency )
                ...
                :read:
                1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
                2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
                3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                دیدگاه


                  #9
                  پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

                  حالا متوجه منظورتون شدم. ولی به احتمال زیاد جواب نده. من با چند تا آی سی دیگه که اینترفیسشون spi بود کار کردم. توی دیتا شیتشون گفته بود که زمانی که پایه cs در وضعیت high برای چند سیکل قرار بگیره رابط spi اون آی سی ریست میشه و اگه همین جریان تو کارت حافظه هم باشه لچ کردن بقیه پایه ها خاصیتی نداره.
                  در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                  1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                  2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                  3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                  دیدگاه


                    #10
                    پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

                    پس شما دیتاشیت مربوط به کارت های میکرو اس دی رو بگیر و مطالعه کن
                    ببین آیا در این ها هم چنین وضعیتی رخ میده؟
                    (فکر نکنم باشه)
                    دیتاشیت 1
                    دیتاشیت 2
                    ...
                    :read:
                    1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
                    2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
                    3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                    دیدگاه


                      #11
                      پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

                      ممنون از توجهتون به این موضوع. من این دیتاشیت ها را نگاه می کنم و نتیجه را اطلاع میدم. فقط یک سئوال این دیتا شیت ها مربوط به یک برند خاص هستند یا در مورد تمامی کارت های حافظه صدق می کنند؟
                      در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                      1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                      2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                      3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                      دیدگاه


                        #12
                        پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

                        دو فایل مذکور را نگاه کردم. متاسفانه چیزی در ارتباط با عملکرد پایه cs نداشت.
                        در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                        1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                        2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                        3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                        دیدگاه


                          #13
                          پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

                          خب حالا میشه 2 کار کرد:

                          1: شما عملی امتحان بکن، ببین مشکلی پیش میاد یا نه؟

                          2: دسترسی به فایل های حافظه چه طوریه؟
                          بیتی؟ بایتی؟ 2 بایتی؟ بلوکی (512 بایت) ؟
                          یعنی در هر بار که آدرسی از حافظه رو میدی
                          کوچکترین دسترسی که به خونه های حافظه داری چقدره؟
                          یعنی چند بایت رو بر میگردونه؟
                          و اینکه شما برای کار خودت نیاز داری که از چند بایت "در هر بار فراخوانی" استفاده کنی؟
                          1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
                          2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
                          3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                          دیدگاه


                            #14
                            پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

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

                            1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                            2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                            3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                            دیدگاه


                              #15
                              پاسخ : استفاده همزمان از یک باس spi جهت استفاده از مموری کارت و یک دیوایس دیگر.

                              کسی می تونه بگه حداکثر زمان لازم برای نوشتن یک بلوک 512 بایتی بر روی کارت حافظه MicroSD با یک ایکسمگا و کلاک 32 مگاهرتز (البته برای ارتباط با میکرو فکر کنم کلاک در حد 4 یا 8 مگاهرتز میشه. دوستان مطلع تایید کنند.) چقدر طول میکشه؟
                              در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                              1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                              2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                              3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                              دیدگاه

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