اطلاعیه

Collapse
No announcement yet.

مشکل تولید فرکانس متغییر با AVR

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

    مشکل تولید فرکانس متغییر با AVR

    با سلام
    من می خوام یه فانکشن ژنراتور با AVR بسازم .
    لینک زیر یه مدار فانکشن ژنراتور با AVR تا فرکانس 8 مگا هرتز با انواع موج ها هست من می خوام این برنامه را که به ASM هست با C یا Bascom بنویسیم من بیشتر با قسمت ساخت فرکانسش مشکل دارم هر کس در مورد مدار نظری داره (نحوه مارکرد , مد های استفاده شده و ...) تو اینجا مطرح کنه تا یکی شو بسازسیم .
    لینک مدار :
    http://upload.iranblog.com/1/1206951929.rar

    لینک زیر جدول موجها هست
    http://upload.iranblog.com/1/1206891195.rar

    #2
    پاسخ : مشکل تولید فرکانس متغییر با AVR

    ..........
    جدیدترین ویرایش توسط mojtabama2000; ۱۳:۵۴ ۱۳۹۶/۰۴/۲۳.

    دیدگاه


      #3
      پاسخ : مشکل تولید فرکانس متغییر با AVR

      با مد CTC تا نصف فرکانس اسیلاتور رو میشه ساخت. البته برای شکل موج مربعی.
      من فرکانس میکروم 8 مگ بود و تا فرکانس 4 مگ تونستم تولید کنم. برای شکل موجهای دیگه مثلا مثلثی و سینوسی به دلیل استفاده از DAC و یا فیلترهای پایین گذر این فرکانس کم میشه. در واقع بسته به رزولوشن مثلا گاهی شاید 20 پالس pwm بتونن 1 سیکل از سینوس رو بسازن.
      www.gam-co.blogsky.com

      دیدگاه


        #4
        پاسخ : مشکل تولید فرکانس متغییر با AVR

        با سلام.سوالی از دوستان.
        من با این برنامه و در محیط پروتئوس:
        $regfile = "m8def.dat"
        $crystal = 8000000
        Config Portc = Output
        Config Timer0 = Timer , Prescale = 1
        Enable Interrupts
        Enable Timer0
        Timer0 = 254
        On Timer0 Fg
        Start Timer0
        Do
        Loop
        End
        '-----------------------------------------
        Fg:
        Timer1 = 254
        Toggle Portc.0
        Start Timer0
        Return
        با کلاک داخلی 8 مگا هرتز حداکثر 15کیلو هرتز و با کریستال خارجی 16 مگاهرتز حداکثر تا 31 کیلوهرتز فرکانسی خروجی گرفتم.برای تولیدفرکانس بالاتر مثلا تا 100کیلوهرتز چه باید کرد؟

        دیدگاه


          #5
          پاسخ : مشکل تولید فرکانس متغییر با AVR

          خب بعد تحقیق کردن متوجه شدم که با تایمرهای میکرو نمیشه بیش از همین 30 و اندی کیلو ,فرکانس گرفت و باید از مد pwm fast استفاده کرد.کسی از دوستان هست که در محیط بسکام جهت راه اندازی این مد اطلاعاتی رو در اختیارم بزاره؟

          دیدگاه


            #6
            پاسخ : مشکل تولید فرکانس متغییر با AVR

            خب کسی پاسخ نداده.ولی من مشکل خودم را با دستور waitus و toggle حل کردم.با کلاک داخلی ۸ مگاهرتز تا حدود۲۵۰ کیلوهرتز از خروجی گرفتم.

            دیدگاه


              #7
              پاسخ : مشکل تولید فرکانس متغییر با AVR

              اگر از تایمر و مد CTC استفاده کنید حداقل سیکل اجرا 3 باید باشه. یعنی برای یک موج مربعی با سیکل وظیفه 50 درصد 6 کانت نیاز دارید. با کلاک 16 مگاهرتز میتونید نهایت 2.6 مگاهرتز بگیرید.
              با زبان اسمبلی هم بخواید خودتون برنامه بنویسید بیشتر از این طول میکشه. چه برسه سی و بعدش بسکام.
              پس بهتره مدهای کاری تایمرها رو مطالعه کنید. برنامه ریزیشون هم خیلی ساده است. فقط 4 تا رجیستر رو باید مقدار دهی کنید.
              ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

              امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

              دیدگاه


                #8
                پاسخ : مشکل تولید فرکانس متغییر با AVR

                سلام دوست عزیز.
                چرا از ARM مثل میکرو کنترلر NXP یا STM استفاده نمی کنی؟!البته اگه بخوای می تونی از FPGA جهت تولید سیگنال استفاده کنی و میکرو رو به FPGA وصل کنی . با FPGA سخت افزار رو تولید می کنه که سرعت موج تولید خیلی بیشتره(چندین مگاهرتزه)اصلا با میکرو کنتر ها قابل مقایسه نیست

                دیدگاه

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