اطلاعیه

Collapse
No announcement yet.

مشکل در تنظیم کردن DMA در تایمر ادوانس جهت ساخت PWM

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

    مشکل در تنظیم کردن DMA در تایمر ادوانس جهت ساخت PWM

    القصه اینکه برای تولید شکل موج سینوسی سه فاز با فرکاسن متغیر در STMF4 هر چه گشتیم راهی پیدا نکردیم که بشه فرکانس سینوس رو تغییر داد.
    کار به این شکل انجام میشه که یک لوکاپ تیبل داریم که قراره مقادیر داخلش توی CCR1تا CCR3 تایمر یک با تایمینگهای متفاوت (جهت تغییر دادن فرکانس سینوس) بارگیری بشه.
    چیزی که تا اینجا به ست اوردم اینه که تو میکرو های STM وقتی با استفاده از DMA میخوایم عددی رو از SRAM لود بکنیم داخل تایمر ایونت های DMA (سیگنالی که به DMA میره تا لحظه وقوع مقدار جدید بارگیری بشه و سی پی یو درگیر بارگیری با اون تعداد بالای تایمر نشه) از سمت خود تایمر یک میاد. یعنی با هر سیکل PWM عدد جدید بارگیری میشه.
    با این منوال ما قادر نخواهیم بود فرکانس سینوس رو بدون تغییر فرکانس تایمر که در نهایت منجر به تغیر فرکانس PWM خواهد شد تغییر بدیم.
    ------------------------
    در حال حاضر از وقفه یک تایمر دیگه برای بارگیری CCR1 تا CCR3 استفاده شده که طبیعتا سی پی رو درگیر میشه. حدودا هر شصت میکرو ثانیه یکبار (در حداکثر فرکانس) وقفه رخ میده که مطلوب نیست.
    کسی راه حلی داره که ایونت DMA رو در این حالت بشه از یک تایمر دیگه گرفت؟
    پیشاپیش سپاسگذارم.
    حیف از من خسته- حیف از همین چن خط
    به اصل و به ذات و- به باعثت لعنت

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