ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 36
  1. #1
    2014/10/16
    1,378
    1,420

    حداکثر سرعت ADC در STM32F103

    باسلام
    در میکرو های جدید امکانات فوق العاده ای دیده میشه!
    یکی از اونها که وقتی در موردش خوندم و شیفتش شدم امکان دسترسی مستقیم به رم (DMA) بود
    میکرو های STM32 واحد ADC فوق العاده ای دارن بطوریکه حتی در دیتاشیت ضعیفترین اونها هم شاهد حضور ADC با سرعت یک میکروثانیه هستیم و برای کسی که خیلی تو حال و هوای دیجیتال و میکرو نبوده و سابقا فقط اندک آشنایی با AVR داشته دیدن همچین سرعتی شگفت انگیزه
    اما مشکلی که هست اینه که در عمل دستیابی به نرخ نمونه برداری یک میلیون نمونه در ثانیه ذکر شده در دیتاشیت یه جورهایی محال و صرفا یه قپی به نظر میرسه!!!
    بنده چند وقتیه کار با میکروی STM32F103RET6 رو با کیوب و توابع هال شروع کردم و به نمونه برداری با نرخ بالا هم نیاز دارم،اما به هر روشی که برنامه نوشتم نتونستم به سرعتی بیشتر از 500 کیلو سمپل برسم که واقعا برام عجیبه!
    چون من فقط و فقط یک کانال رو دارم با یک واحد مبدل میخونم و پس از هر چند ده هزار بار خوندن،تعداد سمپل هارو روی السیدی نشون میدم که نتیجه ای ناامید کننده رو نشون میده!
    ابتدا با روش های ساده و پیش پاافتاده توی حلقه ی اصلی مبدل رو روشن میکردم و با بررسی اینکه تبدیل انجام شده یا نه خروجی رو میگرفتم که خب این روش مسلما سرعت کمی داره
    بعد با استفاده از وقفه و قرار دادن مبدل در حالت پیوسته و گرفتن وقفه این کار رو انجام دادم که در وقفه یک متغیر رو بعلاوه یک میکنم و پس از هر مدت معلومی این عدد رو روی السیدی نشون میدم
    اما همونطور که گفتم نهایت سرعتی که بهش دست پیدا کردم،نیم میلیون نمونه در ثانیه بود و این در حالی بود که در حلقه اصلی تقریبا هیچ کاری انجام نمیشد و در روتین وقفه هم فقط خروجی مبدل رو میریزم توی یه متغیر و همچنین متغیری که مربوط به تعداد نمونه های گرفته شده هست رو بعلاوه یک میکنم
    در این حالت نمیشه حتی مدت زمان نمونه برداری رو کمتر از 55 سیکل کلاک کرد و اگر این عدد رو کمتر کنم هییییییچ چیزی روی السیدی نشون داده نمیشه که نشانگر اینه که برنامه دائما در روتین وقفه هست و این نتیجه گیری با دیباگر هم تایید شد!!!!!!!!!
    همچنین اگر حتی یک دستور به دستورات روتین وقفه اضافه کنم باز هم میکرو توی وقفه میمونه و مجبور میشم زمان نمونه گیری رو از 55 سیکل هم بیشتر کنم و حتی تا 200 سیکل برسونم

    در این حال بود که با اشنایی با قابلیت DMA و با دنیای امید و آرزو راه اندازی این قسمت رو یاد گرفتم و راهش انداختم اما با کمال ناباوری دیدم که سرعت نمونه برداری در این حالت نصف و یا حتی کمتر از نصف حالت قبلی یعنی کار با وقفه هست
    در این حالت اصلا با زمان نمونه برداری کمتر از 200 سیکل برنامه کار نمیکنه و توی وقفه DMA میمونه!!!!!

    آخه چرا؟!؟!!؟!؟

    حتی اوضاع از این هم بدتر شد تاجاییکه من تمام برنامه رو حذف کردم و فقط مبدل رو راه انداختم همراه با DMA و از هیچ وقفه ای هم استفاده نکردم بطوریکه صرفا ADC داشت ول میگشت و داده میگرفت و تبدیل میکرد و با DMA میریخت توی حافظه و توی حلقه اصلی برنامه فقط و فقط یه دستور ساده برای نمایش روی السیدی بود!
    اما در کمال ناباوری چیزی روی السیدی نمیومد!
    آخه مگه نمیگن خوبی DMAاینه که سی پی یو رو مشغول نمیکنه؟!
    خب من که کاری با ADC نداشتم،چرا سی پی یو گیر میکرد؟!؟!


    در انتها باید بگم کلاک ورودی میکرو یک کریستال 8 مگ هست و کلاک داخلی روی حداکثر یعنی 72 تنظیم شده و کلاک ADC دوازده مگ هست که حداکثر کلاک مجازش 14 هست
    ممنون میشم از دوستان راهنماییم کنن
    ................Fx7SAM................
  2. #2
    2016/06/06
    92
    55

    پاسخ : حداکثر سرعت ADC در STM32F103

    عدد یک مگ عدد زیادی برای DMA نیست، برای مثال عددهای SPI خیلی بیشتر از این حد داده میشود. احتمالا تو تنظیمات اشتباهی رخ داده اگر ممکن است فایل Cube را به اشتراک بگذارید. ( اگر فرکانس باس ها را درست تنظیم کنید نباید مشکلی وجود داشته باشد برای مثال نوت دیتا شیت
    To have an ADC conversion time of 1 µs, APB2 must be at 14 MHz, 28 MHz or 56 MHz
    )
    پیشنهاد ST برای نمونه برداری نرخ بالا interleaved است که همزمان دو ADC است این کار دقت ADC را بالا میبرد و شبیه ADC پایلاین میشود.
  3. #3
    2007/08/02
    1,297
    786

    پاسخ : حداکثر سرعت ADC در STM32F103

    سلام
    قبلا وقتی یک پین میکرو AVR به زبان سی در یک حلقه 1 و 0 میکردم سرعت کمتری نسبت به اسمبلی داشتم . ( یادم نمیاد چقدر بود ولی فرقش خیلی بود )
    نمیدونم شاید این مشکل هم یه ربطی به هم مورد داشته باشه .
    بر دوستان رفته چه افسوس میخوری
    ما هم مگر جواز اقامت گرفته ایم
  4. #4
    2016/06/06
    92
    55

    پاسخ : حداکثر سرعت ADC در STM32F103

    ظاهرا فرکانس میکرو رو بیارید رو 56 و دقت کنید فرکانسی که به ADC میرود 14مگ بشود که شما به نرخ 1MSPS میرسید. احتمالا با اور کلاک ماژول سرعت بالا تر هم بگیرید ولی ریسک هنگ و ریستش زیاده. بهتره همون مدل اینترلیو کار کنید. یا از سری F4 یا F7 استفاده کنید
    ویرایش توسط Faateh : 2018/06/29 در ساعت 19:57
  5. #5
    2014/10/16
    1,378
    1,420

    پاسخ : حداکثر سرعت ADC در STM32F103

    نقل قول نوشته اصلی توسط Faateh

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    عدد یک مگ عدد زیادی برای DMA نیست، برای مثال عددهای SPI خیلی بیشتر از این حد داده میشود. احتمالا تو تنظیمات اشتباهی رخ داده اگر ممکن است فایل Cube را به اشتراک بگذارید. ( اگر فرکانس باس ها را درست تنظیم کنید نباید مشکلی وجود داشته باشد برای مثال نوت دیتا شیت
    To have an ADC conversion time of 1 µs, APB2 must be at 14 MHz, 28 MHz or 56 MHz
    )
    پیشنهاد ST برای نمونه برداری نرخ بالا interleaved است که همزمان دو ADC است این کار دقت ADC را بالا میبرد و شبیه ADC پایلاین میشود.
    باتشکر از وقتی که گذاشتید
    این فایل کیوب هست

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    اینم بگم که حتی تا دوبرابر کلاک مجاز هم اورکلاک کردم ولی باز هم سرعت خیییییییییلی کمه!!!
    در مورد مد اینترلیو هم خب بالاخره اینطوری باید حداقل سرعت در حد 500 کیلو باشه که من الان مجدد برنامه رو تست کردم سرعت در حد صد کیلو سمپله
    ................Fx7SAM................
  6. #6
    2016/06/06
    92
    55

    پاسخ : حداکثر سرعت ADC در STM32F103

    دقت کنید اول "
    فرکانس میکرو رو بیارید رو 56 و دقت کنید فرکانسی که به ADC میرود 14مگ بشود"
    دوم در قسمت تنظیمات ADC1 در sampling time را 1.5 سیکل قرار دهید ( الان 239.5 سیکل هست!)
    این را چک کنید


    دلیل: ادغام دو پست برای جلوگیری از اسپم

    با تنظیمات شما حدود 47 کیلو سمپل می شود!
  7. #7
    2014/10/16
    1,378
    1,420

    پاسخ : حداکثر سرعت ADC در STM32F103

    نقل قول نوشته اصلی توسط Faateh

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    دقت کنید اول "
    فرکانس میکرو رو بیارید رو 56 و دقت کنید فرکانسی که به ADC میرود 14مگ بشود"
    دوم در قسمت تنظیمات ADC1 در sampling time را 1.5 سیکل قرار دهید ( الان 239.5 سیکل هست!)
    این را چک کنید


    دلیل: ادغام دو پست برای جلوگیری از اسپم

    با تنظیمات شما حدود 47 کیلو سمپل می شود!
    با تنظیمات کلاکی که فرمودین هم تست کردم،باز هم اوضاع مثل قبل است
    دلیل اینکه زمان نمونه برداری روی 239 است اینه که با زمان کمتر اصلا برنامه گیر میکنه و چیزی روی السیدی نمیاد!!!!!!!!
    ................Fx7SAM................
  8. #8
    2016/06/06
    92
    55

    پاسخ : حداکثر سرعت ADC در STM32F103

    عدد درست 1.5 هست، بقیش مشکل از کد هست . نیامدن داده روی LCD ربط داره به درگیر شدن ADC با LCD که به کد شما ربط داره؛
  9. #9
    2014/10/16
    1,378
    1,420

    پاسخ : حداکثر سرعت ADC در STM32F103

    نقل قول نوشته اصلی توسط Faateh

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    عدد درست 1.5 هست، بقیش مشکل از کد هست . نیامدن داده روی LCD ربط داره به درگیر شدن ADC با LCD که به کد شما ربط داره؛
    دوست عزیز با 1.5 سیکل هم اوضاع همونه و اصلا میکرو وارد حلقه اصلی برنامه نمیشه!!
    ................Fx7SAM................
  10. #10
    2016/06/06
    92
    55

    پاسخ : حداکثر سرعت ADC در STM32F103

    پس اگر میشود بخش هایی از کد مربوط به اینتراپت و خواندن از adc و محاسبه فرکانس رو بزارید
صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 36

موضوعات مشابه

  1. حداکثر سرعت تشخیص لبه در وقفه
    توسط 6759 در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2017/06/22, 00:03
  2. حداکثر سرعت gpio در رسپبری 3
    توسط ali.ra در انجمن خانواده Raspberry Pi
    پاسخ: 14
    آخرين نوشته: 2016/09/15, 19:21
  3. حداکثر سرعت تبادل در میکروی آرم
    توسط behrang73 در انجمن پروسسورهای ARM
    پاسخ: 0
    آخرين نوشته: 2016/07/23, 15:39
  4. حداکثر سرعت ارسال ديتا به ماژول بلوتوث مثل HC-05
    توسط ajapyy در انجمن ماژول های RF - ISM Band و بلوتوث
    پاسخ: 8
    آخرين نوشته: 2015/03/11, 20:43
  5. ADC در XMEGA و حداکثر سرعت نمونه برداری
    توسط طراح در انجمن XMEGA
    پاسخ: 14
    آخرين نوشته: 2014/06/18, 11:27

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •