اطلاعیه

Collapse
No announcement yet.

پخش صوت در avr با pwm

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

    پخش صوت در avr با pwm

    سلام، من یه فایل صوتی mp3 رو به wav تبدیل کردم، 8bit، 8khz و mono
    بر اساس چیزهایی که تو مقالات و فروم ها خوندم تایمر هامو تنظیم کردم،
    کد:
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: 7.813 kHz
    // Mode: Normal top=0xFF
    // OC0 output: Disconnected
    // Timer Period: 32.768 ms
    TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (1<<CS02) | (0<<CS01) | (1<<CS00);
    TCNT0=0x00;
    OCR0=0x00;
    
    
    
    
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: 31.250 kHz
    // Mode: Fast PWM top=0xFF
    // OC2 output: Non-Inverted PWM
    // Timer Period: 8.192 ms
    // Output Pulse(s):
    // OC2 Period: 8.192 ms Width: 0 us
    ASSR=0<<AS2;
    TCCR2=(1<<PWM2) | (1<<COM21) | (0<<COM20) | (1<<CTC2) | (1<<CS22) | (1<<CS21) | (0<<CS20);
    TCNT2=0x00;
    OCR2=0x00;
    
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (1<<TOIE0);
    و داخل وقفه این کد رو گذاشتم:
    کد:
    OCR2=sl[i++];
        if(i>=8128 ){
         i=0;
        }
    ولی صدای مفهومی از بلندگو چه تو پروتئوس و چه سخت افزار پخش نمیشه
    اگه ممکنه راهنماییم کنید

    #2
    پاسخ : پخش صوت در avr با pwm

    با pwm اصولا کیفیت قابل فهمی نداره باید با dac باشه حتی بدون ای سی هم میتونی من با avr موج سینوسی خیلی تمیز ساختم

    دیدگاه


      #3
      پاسخ : پخش صوت در avr با pwm

      نوشته اصلی توسط omid khakyar نمایش پست ها
      با pwm اصولا کیفیت قابل فهمی نداره باید با dac باشه حتی بدون ای سی هم میتونی من با avr موج سینوسی خیلی تمیز ساختم
      ;کیفیتش برام مهم نیست، فقط قابل فهم باشه هم فعلا کافیه.

      دیدگاه


        #4
        پاسخ : پخش صوت در avr با pwm

        تکنیک 2RC صدای بهتری پخش میکنه ،، من برنامه بسکام رو دارم،،
        تونت جستجو کنید نمونه برنامش رو پیدا میکنید

        دیدگاه


          #5
          پاسخ : پخش صوت در avr با pwm

          نوشته اصلی توسط Alfred188 نمایش پست ها
          سلام، من یه فایل صوتی mp3 رو به wav تبدیل کردم، 8bit، 8khz و mono
          بر اساس چیزهایی که تو مقالات و فروم ها خوندم تایمر هامو تنظیم کردم،
          کد:
          // Timer/Counter 0 initialization
          // Clock source: System Clock
          // Clock value: 7.813 kHz
          // Mode: Normal top=0xFF
          // OC0 output: Disconnected
          // Timer Period: 32.768 ms
          TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (1<<CS02) | (0<<CS01) | (1<<CS00);
          TCNT0=0x00;
          OCR0=0x00;
          
          
          
          
          // Timer/Counter 2 initialization
          // Clock source: System Clock
          // Clock value: 31.250 kHz
          // Mode: Fast PWM top=0xFF
          // OC2 output: Non-Inverted PWM
          // Timer Period: 8.192 ms
          // Output Pulse(s):
          // OC2 Period: 8.192 ms Width: 0 us
          ASSR=0<<AS2;
          TCCR2=(1<<PWM2) | (1<<COM21) | (0<<COM20) | (1<<CTC2) | (1<<CS22) | (1<<CS21) | (0<<CS20);
          TCNT2=0x00;
          OCR2=0x00;
          
          
          // Timer(s)/Counter(s) Interrupt(s) initialization
          TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (1<<TOIE0);
          و داخل وقفه این کد رو گذاشتم:
          کد:
          OCR2=sl[i++];
              if(i>=8128 ){
               i=0;
              }
          ولی صدای مفهومی از بلندگو چه تو پروتئوس و چه سخت افزار پخش نمیشه
          اگه ممکنه راهنماییم کنید
          سلام
          فیلتر در خروجی pwm قرار میدید؟ بعد از فیلتر هم توان خروجی خوبی نداره و باید سیگنال تقویت بشه و بعد به بلندگو داده بشه! من خودم قبلا با pwm صدا پخش کردم و کیفیتش هم برای کار من قابل قبول بوده؛ البته نباید انتظار خیلی زیادی داشت.
          ضمنا پروتئوس هم در پخش صدا مشکل داره و شبیه سازش هنگ میکنه. اگر میخوایید از پروتئوس خروجی صوتی بگیرید باید از گراف صوتی استفاده کنید که خوب همونطوری که مشخصه این کار هم برای خودش محدودیت هایی داره.
          جدیدترین ویرایش توسط hossein.m98; ۲۲:۰۷ ۱۳۹۷/۰۹/۰۹.

          دیدگاه


            #6
            پاسخ : پخش صوت در avr با pwm

            نوشته اصلی توسط yousef55 نمایش پست ها
            تکنیک 2RC صدای بهتری پخش میکنه ،، من برنامه بسکام رو دارم،،
            تونت جستجو کنید نمونه برنامش رو پیدا میکنید
            منم با همین تکنیک یک موج سینوسی تمیز درست کردم فقط بگم که بهتره که اخر مقاومت ها یه خازن یک نانو با زمین موازی کنید باش

            دیدگاه


              #7
              پاسخ : پخش صوت در avr با pwm

              سلام لطفا کسی که با بسکام کار میکنه توی واتساپ یا تلگرام
              باشماره00639080193317
              پیام بزاره مشکلی دربستن مدارویک سطر کد دارم
              حل شد بزاریم توسایت ممنون

              دیدگاه

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