اطلاعیه

Collapse
No announcement yet.

حداکثر فرکانس

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

    حداکثر فرکانس

    با عرض سلام خدمت اساتید.
    حداکثر فرکانس خروجی در میکرو های avr چنده ؟
    تو حالت های fast pwm ,phase correct pwm?
    تکاور شدن جرات افزون کند.....هراس از دل مرد بیرون کند....


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

    #2
    پاسخ : حداکثر فرکانس

    با کلاکی که به تایمر میدید کاملا نسبت مستقیم داره.
    از کلاک خود سی پی یو استفاده میکنی؟ اگر آره ، کلاک سی پی یو تون را چقدر تنظیم کردید.

    چون گفتید از مدهای pwm میخواهید استفاده کنید ، فکر میکنم میخواید دیوتی سایکل موج خروجی به صورت دلخواه باشد. درسته؟

    تو fastpwm روشی هست که میشه انواع مختلفی فرکانس با استفاده از کلاک تایمر ثابت ساخت( با اینکه این تصور وجود دارد که نمیشه اینکار رو کرد )

    راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
    کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
    نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
    http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
    انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

    دیدگاه


      #3
      پاسخ : حداکثر فرکانس

      نوشته اصلی توسط RubeuS
      با کلاکی که به تایمر میدید کاملا نسبت مستقیم داره.
      از کلاک خود سی پی یو استفاده میکنی؟ اگر آره ، کلاک سی پی یو تون را چقدر تنظیم کردید.
      توی اینجور سوالات باید 16 در نظر بگیریم.
      من در بعضی موارد دیدم که میکرو رو اورکلاک هم کردن(شاید بخاطر همین نشه دقیق گفت :rolleyes.
      اگه درست به خاطر داشته باشم اگه از منبع خارجی واسه تایمر استفاده کنید، کلاکش باید نصف میکرو باشه.

      دیدگاه


        #4
        پاسخ : حداکثر فرکانس

        بیشترین فرکانس موج مربعی که میشه روی یکی از پایه های میکرو ایجاد کرد برابر نصف فرکانس میکرو هست.یعنی مثلا اگر از اسیلاتور داخلی 8 مگ استفاده کنید میتونید مربعی 4 مگ رو تولید کنید.برای این کار از یکی از تایمر ها تو مد ctc با کلاک اصلی و حالت تاگل شونده پایه خروجی و OCR0=0x00 استفاده کنید.

        مثال:

        // Timer/Counter 0 initialization
        // Clock source: System Clock
        // Clock value: 8000.000 kHz
        // Mode: CTC top=OCR0
        // OC0 output: Toggle on compare match
        TCCR0=0x19;
        TCNT0=0x00;
        OCR0=0x00;
        افتادگی آموز اگر طالب فیضی هرگز نخورد آب زمینی که بلند است

        دیدگاه


          #5
          پاسخ : حداکثر فرکانس

          بله دقیقا همینطوره . حداکثر نصف کلاک میکرو.

          فرقی نمیکنه تو fast pwm هم با همون روش که گفتم حداکثر نصف کلاک میکروتون میشه. یعنی به اندازه یک کلاک high و به اندازه یک کلاک low

          پس اگر کلاک میکرو رو فرضا حداکثر 16MHz بگیرید ، حداکثر فرکانس روی oc میشه 8MHz
          راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
          کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
          نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
          http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
          انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

          دیدگاه


            #6
            پاسخ : حداکثر فرکانس

            نوشته اصلی توسط rozeh
            توی اینجور سوالات باید 16 در نظر بگیریم.
            من در بعضی موارد دیدم که میکرو رو اورکلاک هم کردن(شاید بخاطر همین نشه دقیق گفت :rolleyes.
            اگه درست به خاطر داشته باشم اگه از منبع خارجی واسه تایمر استفاده کنید، کلاکش باید نصف میکرو باشه.
            اگر از کلاک خارجی برای تایمر استفاده کنیم. کلاک خارجی هم مثل داخلی متناوب هست و هر سیکل منطم هست ؟
            چرا باید کلاک خارجی نصف میکرو باشه؟

            دیدگاه


              #7
              پاسخ : حداکثر فرکانس

              نوشته اصلی توسط navid.h
              اگر از کلاک خارجی برای تایمر استفاده کنیم. کلاک خارجی هم مثل داخلی متناوب هست و هر سیکل منطم هست ؟
              چرا باید کلاک خارجی نصف میکرو باشه؟
              صفحه 87 دیتاشیت مگا16 زیر تصویر شماره 38 تا صفحه بعد بالای عکس شماره 39

              دیدگاه


                #8
                پاسخ : حداکثر فرکانس

                با تشکر از پاسخ دوستان
                خب یعنی فرمول خاصی دارین؟
                اگه از کلاک داخلی 8مگ استفاده کنم حداکثر خروجی؟
                اگه از 1 مگ؟
                از 4مگ؟
                از 16 خروجی؟
                تکاور شدن جرات افزون کند.....هراس از دل مرد بیرون کند....


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

                دیدگاه


                  #9
                  پاسخ : حداکثر فرکانس

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

                  TABRIZ

                  دیدگاه


                    #10
                    پاسخ : حداکثر فرکانس

                    نوشته اصلی توسط TABASOOMTZ
                    سلام دوست عزیز
                    از جواب ها معلومه اون طور که من برداشت کردم
                    منظور اینه که فرکانسه میکروت رو هرچی گرفتی خروجیهPWM نصفه اونه
                    جناب تبسم پاسخ بدین:
                    پس در حالت fast pwm ,phase correct pwm چطوری میشه؟
                    تکاور شدن جرات افزون کند.....هراس از دل مرد بیرون کند....


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

                    دیدگاه


                      #11
                      پاسخ : حداکثر فرکانس

                      در اکثر میکروهای سری mega و در مود Fast PWM و Phase Correct PWM حداکثر فرکانس موج PWM که میکرو از طریق تایمر های 16 بیتی توانایی تولیدش رو داره در عمل به یک چهارم حد اکثر فرکانس کلاک CPU محدود میشه. توجه داشته باشید که حد اقل رزولوشن در این مد برابر 2 بیت هست و حد اقل عدد برای قرار دادن در ICRx یا OCRxA برابر 3 هست.

                      دیدگاه


                        #12
                        پاسخ : حداکثر فرکانس

                        - طبق دیتاشیت در حالت fast pwm فرکانس موج تولیدی برابره با:
                        فرکانس کاری میکرو تقسیم بر (N ضربدر (1+مقدار TOP ))
                        که مقدار N میتونه 1 ، 8 ، 64 ، 256 یا 1024 باشه (با رجیسترها قابل تنظیمه)

                        -در حالت phase correct هم برابره با:
                        فرکانس کاری میکرو تقسیم بر (N ضربدر 2 ضربدر مقدار TOP)
                        که مقدار N میتونه 1 ، 8 ، 64 ، 256 یا 1024 باشه (با رجیسترها قابل تنظیمه)

                        اما TOP طبق دیتاشیت، برای تایمر 1 برابره با:
                        The counter reaches the TOP when it becomes equal to the highest
                        value in the count sequence. The TOP value can be assigned to be one
                        of the fixed values: 0x00FF, 0x01FF, or 0x03FF, or to the value stored in
                        the OCR1A or ICR1 Register. The assignment is dependent of the mode
                        of operation.

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

                        دیدگاه


                          #13
                          پاسخ : حداکثر فرکانس

                          نوشته اصلی توسط محمدصادق رستمی
                          - طبق دیتاشیت در حالت fast pwm فرکانس موج تولیدی برابره با:
                          فرکانس کاری میکرو تقسیم بر (N ضربدر (1+مقدار TOP ))
                          که مقدار N میتونه 1 ، 8 ، 64 ، 256 یا 1024 باشه (با رجیسترها قابل تنظیمه)

                          -در حالت phase correct هم برابره با:
                          فرکانس کاری میکرو تقسیم بر (N ضربدر 2 ضربدر مقدار TOP)
                          که مقدار N میتونه 1 ، 8 ، 64 ، 256 یا 1024 باشه (با رجیسترها قابل تنظیمه)

                          اما TOP طبق دیتاشیت، برای تایمر 1 برابره با:
                          The counter reaches the TOP when it becomes equal to the highest
                          value in the count sequence. The TOP value can be assigned to be one
                          of the fixed values: 0x00FF, 0x01FF, or 0x03FF, or to the value stored in
                          the OCR1A or ICR1 Register. The assignment is dependent of the mode
                          of operation.

                          :read:
                          بله درست می فرمایید. البته بوسیله روشی(نرم افزاری) میتوان این مقادیر ثابت فرکانس را به مقادیر متغییر تبدیل کرد.(در مد fastPWM

                          به عنوان مثال:
                          در تایمر0 در میکروهای معروفی مثل مگا16 و 32 ...
                          درصورتی که فرکاس میکرو 8 مگاهرتز باشد و پری اسکیلر روی مقدار 1 تنظیم شود( N ) و TOP هم چون تایمر 8 بیتی است 255 می باشد. پس فرکانس موج مربعی خروجی میشود:
                          کد:
                          8MHz / ( 1 * ( 255 +1) ) = 31.25KHz
                          که میتوان بوسیله روش نرم افزاری این مقدار را به
                          کد:
                          8MHz / (1 * 2) = 4MHz
                          افزایش داد . که یعنی با نرم افزار کاری کنیم که تایمر به جای اینکه از 0 تا TOP بشمرد ، فقط از TOP-2 تا TOP بشمرد.




                          راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                          کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                          نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                          http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                          انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                          دیدگاه


                            #14
                            پاسخ : پاسخ : حداکثر فرکانس

                            نوشته اصلی توسط RubeuS
                            بله درست می فرمایید. البته بوسیله روشی(نرم افزاری) میتوان این مقادیر ثابت فرکانس را به مقادیر متغییر تبدیل کرد.(در مد fastPWM

                            به عنوان مثال:
                            در تایمر0 در میکروهای معروفی مثل مگا16 و 32 ...
                            درصورتی که فرکاس میکرو 8 مگاهرتز باشد و پری اسکیلر روی مقدار 1 تنظیم شود( N ) و TOP هم چون تایمر 8 بیتی است 255 می باشد. پس فرکانس موج مربعی خروجی میشود:
                            کد:
                            8MHz / ( 1 * ( 255 +1) ) = 31.25KHz
                            که میتوان بوسیله روش نرم افزاری این مقدار را به
                            کد:
                            8MHz / (1 * 2) = 4MHz
                            افزایش داد . که یعنی با نرم افزار کاری کنیم که تایمر به جای اینکه از 0 تا TOP بشمرد ، فقط از TOP-2 تا TOP بشمرد.
                            تشکر بی نهایت از توجهتون.
                            میشه این روش رو هم توضیح بدین؟
                            چرا تو phase correct نمیشه؟
                            تکاور شدن جرات افزون کند.....هراس از دل مرد بیرون کند....


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

                            دیدگاه


                              #15
                              پاسخ : پاسخ : حداکثر فرکانس

                              نوشته اصلی توسط SaeedMcu
                              تشکر بی نهایت از توجهتون.
                              میشه این روش رو هم توضیح بدین؟
                              چرا تو phase correct نمیشه؟
                              خواهش میکنم. (من که تو پست دوم این تاپیک گفته بودم :smile: )

                              ببینید تو مد fastpwm اگر تایمر از 0 تا TOP بشمرد ، دیدید که فرکانس ثابت می شود. و در صورتی که از مد غیر معکوس ( non-inverting ) استفاده کنیم ، در یک دوره تناوب از 0 تا مقدار رجیستر OCR موج در high است و از OCR تا TOP موج در low است. پس اگر کاری کنیم که تایمر از صفر نشمرد و بجاش از TOP-2 بشمرد و رجیستر OCR را نیز روی مقدار TOP-1 تنظیم کنیم، موج در یک کلاک تایمر high و در کلاک بعدی low و همینطور تا آخر . پس باید مقدار TCNT را اول کار TOP-2 بدیم و مقدار OCR را TOP-1 بدیم.
                              سوال : خوب برای دفعه اول این درست کار میکند ولی برای دفعات بعدی با سرریز تایمر مقدار TCNT صفر میشود و کار خراب میگردد. باید چه کار کنیم؟
                              جواب : می توانیم وقفه سرریز تایمر را فعال کنیم و در روتین سرریز تایمر مقدار TCNT را TOP-2 بدیم که اینجوری دوباره از TOP-2 میشمرد .

                              برای مد phase correct به دلیل نوع افزایشی و کاهشی شمردن ، نمیشه اینجوری عمل کرد( حداقل من بلد نیستم، هر چی فکر میکنم هیچ جوره نمیشه با فرض ثابت بودن کلاک پردازنده و پری اسکیلر ،فرکانس متغییر ساخت)
                              راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                              کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                              نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                              http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                              انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                              دیدگاه

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