اطلاعیه

Collapse
No announcement yet.

نمونه برداری از ADC با مدت زمان طولانی

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

    #16
    پاسخ : نمونه برداری از ADC با مدت زمان طولانی

    نوشته اصلی توسط tiranoid نمایش پست ها
    من در خدمتم. این که بیش از 200 کیلوبایت فلش داره. و دو تا DMA مجزا. شما نیاز به بافر کردنش تو حافظه دیگه ای ندارید براحتی میتونید با کمک دو تا DMA اینا رو بفرستید.
    یه کیلوبایت بافر هم کافیشه
    1- ببخشید متوجه منظورتون از این که میگید نیازی به بافر کردن نیست رو متوجه نشدم.
    2- دو تا DMA رو چه جوری پیکربندی کنم ؟
    3- الان اگر داده های ADC رو داخل حافظه فلش بریزم سرعت اجرای برنامه کاهش پیدا نمیکنه ؟
    حالا شروع کردم به خوندن دیتاشیت W25 تا برنامه اون رو هم بنویسم.
    خیلی ممنون.

    دیدگاه


      #17
      پاسخ : نمونه برداری از ADC با مدت زمان طولانی

      1) منظورم حافظه جدا بود. تو همون رم خودش هم میتونید بافر کنید. هرچقد که بافرتونو بزرگتر انتخاب کنید قطعا بهتره. ولی 4 یا 8 کیلوبایت کافیه بسته به سرعت فرستادن اطلاعات. (این به شرطیه که همینطور که ضبط میکنید بفرستید، ینی استریم کنید. اگر میخواید اول یه دقیقه کامل ضبط کنید بعد بفرستید نمیشه باید همون حافظه استفاده کنید.)
      2) DMA اول دیتا رو از ADC بعد از هر تبدیل میخونه و تو بافر مینویسه تا بافر اول پر بشه و بعد بره سراغ بافر دوم، DMA دوم بعد از پر شدن بافر اول شروعغ میکنه فرستادنش.
      3) از چه نظر. اینکه سی پی یو کند بشه ؟ DMA وقت سی پی یو رو آزاد میکنه.
      Si vis pacem, para bellum

      دیدگاه


        #18
        پاسخ : نمونه برداری از ADC با مدت زمان طولانی

        با سلام
        میون این بحثهای ذخیره سازی نمونه ها در یه حافظه ی مجزا و بعدش انتقال آفلاین اونها به کامپیوتر، بنظرم بد نیست به انتقال آنلاینش هم فکر کنین.
        با یو اس بی، هم از طریق HID و هم با یه FT2232 میتونین بصورت آنلاین با سرعت بالا ارسال، و تو کامپیوتر دریافت و ذخیره کنین. اینطوری زمان نمونه برداری هم محدودیتی نخواهد داشت.
        کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

        دیدگاه


          #19
          پاسخ : نمونه برداری از ADC با مدت زمان طولانی

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

          دیدگاه


            #20
            پاسخ : نمونه برداری از ADC با مدت زمان طولانی

            نوشته اصلی توسط tiranoid نمایش پست ها
            1) منظورم حافظه جدا بود. تو همون رم خودش هم میتونید بافر کنید. هرچقد که بافرتونو بزرگتر انتخاب کنید قطعا بهتره. ولی 4 یا 8 کیلوبایت کافیه بسته به سرعت فرستادن اطلاعات. (این به شرطیه که همینطور که ضبط میکنید بفرستید، ینی استریم کنید. اگر میخواید اول یه دقیقه کامل ضبط کنید بعد بفرستید نمیشه باید همون حافظه استفاده کنید.)
            2) DMA اول دیتا رو از ADC بعد از هر تبدیل میخونه و تو بافر مینویسه تا بافر اول پر بشه و بعد بره سراغ بافر دوم، DMA دوم بعد از پر شدن بافر اول شروعغ میکنه فرستادنش.
            3) از چه نظر. اینکه سی پی یو کند بشه ؟ DMA وقت سی پی یو رو آزاد میکنه.
            مهندس الان یه چیزی که من توی دیتاشیت این ای سی دیدم . مثلا برای دستور زیر میگه که پایه CS رو تا داده های رجیستر حالت رو نخوندیم صفر نگه داریم. حالا اگر مثلا ما اون بایت اول رو فرستادیم بعد پایه CS یک شددیگه اون رجیستر های حالت رو نمیفرسته ؟
            احتمالا جوابتون بله هست. از این جهت این سوال پرسیدم که میکرویی که باهاش کار میکنم خودش یک پایه داره به اسم SPISTE که این پایه قبل از ارسال 0 میشه و بعد از ارسال اتوماتیک خودش 1 میشه.
            میخوام اگر بشه از همین پایه استفاده کنم و پایه بیشتری رو درگیر نکنم( راه کار اول )
            یا اینکه داده الکی بفرستم که همچنان این پایه صفر بمونه تا رجیستر های حالت رو بخونم ( راه کار دوم )
            مشکلی که با راهکار دوم دارم این هست که نمیدونم این پایه بعد از اینکه یک بایت رو فرستاد 1 میشه و قبل از ارسال بایت بعدی دوباره 0 و در انتهای بایت دوم 1. وهمین طور به ترتیب. فعلا هم به اسکوپ دسترسی ندارم متاسفانه که چک کنم.( توی دیتاشیت هم چیزی ندیدم)
            میخواستم بدونم شما میدونید این ای سی W25 چه جوری هست رفتارش ؟

            خیلی ممنون.

            دیدگاه


              #21
              پاسخ : نمونه برداری از ADC با مدت زمان طولانی

              این صرفا پایه معروف CS تو ارتباط SPI ه و مختص این چیپ نیست.
              تا زمانی که پایه CS چیپ پایین نباشه، چیپ اصن به داده های SPI توجهی نمیکنه و چیزیم در پاسخ نمیفرسته. کلا موقه ارتباط این باید لوو باشه.
              کنترل نرم افزاریش بسیار راحت تر از کنترل سخت افزایشه.
              Si vis pacem, para bellum

              دیدگاه


                #22
                پاسخ : نمونه برداری از ADC با مدت زمان طولانی

                نوشته اصلی توسط tiranoid نمایش پست ها
                این صرفا پایه معروف CS تو ارتباط SPI ه و مختص این چیپ نیست.
                تا زمانی که پایه CS چیپ پایین نباشه، چیپ اصن به داده های SPI توجهی نمیکنه و چیزیم در پاسخ نمیفرسته. کلا موقه ارتباط این باید لوو باشه.
                کنترل نرم افزاریش بسیار راحت تر از کنترل سخت افزایشه.
                سلام مهندس جان.
                من کتابخونه w25q64fv رو نوشتم. ارتباط spi رو هم تست کردم اوکیه.
                الان مشکلی که دارم اینه که وقتی با حافظه فلش ارتباط برقرار میکنم کلا عدد 0xFF رو برمیگردونه.
                یعنی چه رجیستر های حالت رو میخونم و چه id های ای سی کلا همه بیت ها یک هست.
                مشکل از کجا میتونه باشه ؟
                من چه طور بفهمم که ای سی داره درست جواب میده یا نه ؟ ( هر چند کاملا مشخصه که داره اشتباه جواب میده. )
                ممنون.

                دیدگاه


                  #23
                  پاسخ : نمونه برداری از ADC با مدت زمان طولانی

                  نوشته اصلی توسط saati.sms نمایش پست ها
                  سلام مهندس جان.
                  من کتابخونه w25q64fv رو نوشتم. ارتباط spi رو هم تست کردم اوکیه.
                  الان مشکلی که دارم اینه که وقتی با حافظه فلش ارتباط برقرار میکنم کلا عدد 0xFF رو برمیگردونه.
                  یعنی چه رجیستر های حالت رو میخونم و چه id های ای سی کلا همه بیت ها یک هست.
                  مشکل از کجا میتونه باشه ؟
                  من چه طور بفهمم که ای سی داره درست جواب میده یا نه ؟ ( هر چند کاملا مشخصه که داره اشتباه جواب میده. )
                  ممنون.
                  معمولا برای تست کانکشن از همون خوندن ID ش استفاده میکنن. حقیقتا کار زیادی از دستم برنمیاد چون مشخص نیس مشکل از کجاس. از اتصالات فیزیکی یا کد یا هرچی.
                  Si vis pacem, para bellum

                  دیدگاه


                    #24
                    پاسخ : نمونه برداری از ADC با مدت زمان طولانی

                    نوشته اصلی توسط tiranoid نمایش پست ها
                    معمولا برای تست کانکشن از همون خوندن ID ش استفاده میکنن. حقیقتا کار زیادی از دستم برنمیاد چون مشخص نیس مشکل از کجاس. از اتصالات فیزیکی یا کد یا هرچی.
                    مقدار 0xFFکه برمیگرده رو متوجه شدم. پول اپ پایه ها رو فعال کردم به خاطر اون بود. و این یعنی پایه DO حافظه فلش High Z هست.
                    این حافظه ای که از سایت گرفتم SMD بود با زور لحیمش کردم. احتمالا خیلی داغ شده و اسیب دیده . حالا انشاالله PCB براش میزنم و یک بار دیگه تستش میکنم ببینم مشکل کجاست.
                    ممنون از راهنمایی تون.

                    دیدگاه


                      #25
                      پاسخ : نمونه برداری از ADC با مدت زمان طولانی

                      نوشته اصلی توسط tiranoid نمایش پست ها
                      معمولا برای تست کانکشن از همون خوندن ID ش استفاده میکنن. حقیقتا کار زیادی از دستم برنمیاد چون مشخص نیس مشکل از کجاس. از اتصالات فیزیکی یا کد یا هرچی.
                      سلام مهندس.
                      من برای این حافظه PCB طراحی کردم.
                      ولی فقط پایه هاش رو به پین هدر وصل کردم. توی ماژول هاش مقاومت هم گذاشته .
                      نیازی هست که منم مقاومت و خازن یا چیز دیگه ای بزارم ؟
                      ممنون.

                      دیدگاه


                        #26
                        پاسخ : نمونه برداری از ADC با مدت زمان طولانی

                        نوشته اصلی توسط saati.sms نمایش پست ها
                        سلام مهندس.
                        من برای این حافظه PCB طراحی کردم.
                        ولی فقط پایه هاش رو به پین هدر وصل کردم. توی ماژول هاش مقاومت هم گذاشته .
                        نیازی هست که منم مقاومت و خازن یا چیز دیگه ای بزارم ؟
                        ممنون.
                        برد تبدیل همین شکلی آماده که هست.
                        اگر میخواید برد بزنید که رو بردبورد تست کنید، حداقل واسش خازن دیکاپل هم بذارید بین خطوط تغذیه.
                        Si vis pacem, para bellum

                        دیدگاه


                          #27
                          پاسخ : نمونه برداری از ADC با مدت زمان طولانی

                          نوشته اصلی توسط tiranoid نمایش پست ها
                          برد تبدیل همین شکلی آماده که هست.
                          اگر میخواید برد بزنید که رو بردبورد تست کنید، حداقل واسش خازن دیکاپل هم بذارید بین خطوط تغذیه.
                          خوب نه داشتم طراحی PCB هم یاد میگرفتم کم کم گفتم یه تستی هم اینجا بکنم.
                          اگر امکان داره در مورد خازن دیکاپل هم توضیح بدید من هنوز اشنا نیستم.

                          ----- خودم مطالعه کردم و متوجه شدم. منظورتون خازن بین VCC و GND برای حذف نویز بود ؟
                          و اینکه مثلا خازن 100پیکو پکیج SMD0805 برای این کار کافیه یا خازن با ظرفیت بیشتر بذارم ؟
                          توی ماژول هاش دو تا دیگه قطعه هست که نمیدونم چی هستن ؟ ( اگر میدونید راهنماییم کنید. )
                          ممنون.
                          جدیدترین ویرایش توسط saati.sms; ۱۴:۳۳ ۱۳۹۹/۰۵/۲۰.

                          دیدگاه


                            #28
                            پاسخ : نمونه برداری از ADC با مدت زمان طولانی

                            نوشته اصلی توسط tiranoid نمایش پست ها
                            برد تبدیل همین شکلی آماده که هست.
                            اگر میخواید برد بزنید که رو بردبورد تست کنید، حداقل واسش خازن دیکاپل هم بذارید بین خطوط تغذیه.
                            سلام مهندس.
                            وقتتون به خیر.
                            من بالاخره این رو راه انداختمش و تونستم ایدی حافظه فلش و ظرفیتش رو بخونم.
                            اما یه مشکلی که دارم اینه که وقتی یک page رو مینویسم ، تمام مقادیر 0 نوشته میشه.
                            یک کلیپ 7 مگابایتی هم قرار میدم که روند کار رو نشون بده.
                            اول یک سکتور رو پاک میکنم و بعد یک پیج از اون رو میخونم که تمام مقادیر 255 یا همون 0xFF هستش که درسته.
                            اما بعدش میام برنامه رو تغییر میدم و بعد از اینکه اون سکتور رو پاک کردم اعداد 0 تا 255 رو داخل اون پیج مینویسم. و بعدش اون پیج رو میخونم اما تمام مقادیر صفر هستن.
                            به نظرتون مشکل کجاست ؟
                            خیلی ممنون.
                            اینم لینک کلیپ :

                            دیدگاه

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