اطلاعیه

Collapse
No announcement yet.

wave player & fat

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

    #46
    پاسخ : wave player & fat

    دوستان کسی میتونه بگه Wave 16bit رو چطوری میشه پخش کرد ؟
    خودش میگه هر بلوک 16 بیته و از و مقدارش بین 32765- تا 32766 هست ، یعنی همون مقدار Integer خودمون
    حالا میخوام بدونم چه جور میشه این مقدار رو به یه مقدار 10 بیت تبدیل کرد تا بشه با PWM میکرو پخشش کرد ؟؟؟؟؟
    دلا خو کن به تنهایی که از تنها بلا خیزد

    دیدگاه


      #47
      پاسخ : wave player & fat

      نوشته اصلی توسط Navid_Micro
      دوستان کسی میتونه بگه Wave 16bit رو چطوری میشه پخش کرد ؟
      خودش میگه هر بلوک 16 بیته و از و مقدارش بین 32765- تا 32766 هست ، یعنی همون مقدار Integer خودمون
      حالا میخوام بدونم چه جور میشه این مقدار رو به یه مقدار 10 بیت تبدیل کرد تا بشه با PWM میکرو پخشش کرد ؟؟؟؟؟
      با سلام
      دوست من چرا باید به 10 بیت تبدیل بشه؟
      شما میتونید با کانفیگ مناسب PWM از تایمر یک که 16 بیت هست استفاده کنید
      یا اینکه از DAC 16 16 بیت استفاده کنید پیشنهاد بنده استفاده از تکنیک R2R هست البته اگه نخواید از PWM استفاده کنید
      به همین سادگی :nice:
      تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
      به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

      دیدگاه


        #48
        پاسخ : wave player & fat

        بیشتر توضیح میدی
        در ضمن من یک مشکلی گیر کردم
        چیپ من mega88 هست و با سریال اهنگه مورد نظر رو انتخاب میکنم با ارسال یک بایت مشخص
        حالا مشکل اینه بعد از روشن شدن مدار
        میکرو شروع به پخش نمیکنه یا اگر پخش میکنه با سرعتی بسیار پایین و مشکا با یک بار رست میکرو حل میشه تا دفعه بعدی که برق کلی مدار از بین بره
        تا جایی هم که شده کدها رو بهینه و کوتاه کردم
        هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
        بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
        میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

        تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

        دیدگاه


          #49
          پاسخ : wave player & fat

          میکرو شروع به پخش نمیکنه یا اگر پخش میکنه با سرعتی بسیار پایین و مشکا با یک بار رست میکرو حل میشه تا دفعه بعدی که برق کلی مدار از بین بره
          تا جایی هم که شده کدها رو بهینه و کوتاه کردم
          دوست عزیز شما اگه از تایمر استفاده میکنی عدد تایمر رو باید از رابطه فرکانس بدست بیاری
          در ضمن باید Sample Rate فایل wave رو هم بدست بیاری
          دلا خو کن به تنهایی که از تنها بلا خیزد

          دیدگاه


            #50
            پاسخ : wave player & fat

            گفتم با یک بار رست مشکل حل میشه پس فکر نمیکنم به تایمر ربط پیدا کنه چون
            مقدار دهی میشه قبل از while اصلی
            هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
            بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
            میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

            تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

            دیدگاه


              #51
              پاسخ : wave player & fat

              نوشته اصلی توسط n340
              مشکل اول رو میتونی تابع play رو داخل یک تایمر دیگه بزاری تا بافر رو دائم برات پر کنه
              و یا خوندن adc برا تاچ رو داخل اوور فلو بزاری تا مشکلی با تابع play ایجاد نکنه
              ممنون دوست عزیز که راهنمایی کردید.میشه یک مقدار بیشتر توضیح بدید متوجه نشدم که باید چکار کنم
              یک سوال دیگه داشتم وقتی تابع play اجرا می کنم مقدار خروجی از تاچ تغییر می کنه (درست کار نمی کنه) ولی قبل از اجرای play تاچ دقیق کار می کنه در ضمن متغییر هایی که استفاده کردم رو چک کردم مشکلی نداشتند.

              دیدگاه


                #52
                پاسخ : wave player & fat

                سلام دوستان
                چه عالی میشد اگر الگریتم خواندن PCM را به صورت کلی میگفتید
                با تشکر

                دیدگاه


                  #53
                  پاسخ : wave player & fat

                  خوب بهتره اول خودم تا اونجایی که میدونم توضیح بدم

                  برای تبدیل سیگنال آنالوگ به PCM باید از ADC ها یا به قولی از نمودار آنالوگمون انتگرال بگیریم
                  تا به ازای هم sample یک عدد نسبت به ولتاژ به ما بدهد و بستگی به اینکه هشت یا شانزده بیتی است این ولتاژ را به عدد تبدیل کند
                  و اما برای decode کردن :
                  در این حالت باید برعکس کار بالا انجام بدهیم یعنی از یک DAC استفاده کنیم ولی چون در میکرو DAC نداریم
                  پس باید از روش دیگری استفاده کنیم که آن PWM است

                  حالا من تو قسمت PWM مشکل دارم و این است که عددی که ما داریم ولتاژ را مشخص میکند و با pwm میتوانیم فرکانس و طول موج را تغییر دهیم
                  چه رابطه ای در اینجا برقرار است (خواهشن فقط الگریتم یا همون روند انجام کار)

                  دیدگاه


                    #54
                    پاسخ : wave player & fat

                    سلام ShahiMV
                    منم یه چیزایی فهمیدم که مقدار عرض پالس موج pwm با مقدار دهی OCR1BLوOCR1AL
                    با توجه به همون عددی که شما اشاره کردید تغییر می کنه حالاموج تولید شده رو به یک مدار انتگرال گیر ساده میدیم و خروجی انتگرالگیر همون صدای آنالوگ هستش
                    حالا سوال من اینه که فرکانس کاری میکرو حداقل چقدر می تونه باشه(اگه samplr rate=32khz) چون من همین مدار رو بستم ولی با فرکانس های داخلی سرعت پخش کم میشه
                    توی مداری که روش دارم کار می کنم از یک lcd n96 برای نمایش اطلاعات mmc استفاده می کنم
                    یک مشکل دیگه برام پیش اومده
                    زمانی که پخش یک فایل wav تموم میشه دیگه تاچ lcd درست کار نمی کنه یعنی pwm روی تاچ اثر منفی میزاره
                    ولی تاقبل از پخش فایل تاج بدرستی کار میکنه
                    لطفا راهنمایی کنید

                    دیدگاه


                      #55
                      پاسخ : wave player & fat

                      سلام به همگی
                      شکل زیر یک قسمت از مدار wave player mono است که در سایت قرار دادن



                      این مدار mono پس چرا sound_L و sound_R داره????
                      از قرار معلوم بعدش هم به یک آی سی دیگه میره و با هم ترکیب میشه پس دیگه استریو نداریم




                      این هم یک قسمتی از برنامه ی wave player mono 8bit است
                      در وقفه ی تایمر صفر

                      کد:
                              if (us > buf_size-1) 
                                  {
                                  us = 0;
                                  f_mmc = 0;
                                  f_cmc = !f_cmc;
                                  }
                                  
                              if(f_cmc)
                                  OCR1BL = Buf1[us];
                              else
                                  OCR1BL = Buf2[us];
                              us++;
                              if (us > buf_size-1) 
                                  {
                                  us = 0;
                                  f_mmc = 0;
                                  f_cmc = !f_cmc;
                                  }
                                  
                              if(f_cmc)
                                  OCR1AL = Buf1[us]; 
                              else
                                  OCR1AL = Buf2[us];
                              }

                      همین طوری که میبینید
                      برای تایمر یک از دو بایت OCR1B و OCR1A استفاده شده
                      در صورتی که ما میخوایم در حالت مونو کار کنیم پس برای چی از دو تا استفاده کرده ایم
                      تا دو تا خروجی روی اون پایه ها داشته باشیم

                      دیدگاه


                        #56
                        پاسخ : wave player & fat

                        با سلام
                        اول از همه شرمنده که چند وقتی هست که نمیتونم سر بزنم چون واقعا سرم شلوغه حتی خونه هم خیلی دیر وقت میرم :redface:

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

                        موردی که باید بگم اینه که کی گفته که خروجی ما مونو هست ؟؟؟ :angry:
                        نه برادر استرو هست و با فرکانس 16 مگاهرتز میتونید تا فایل هایی با سمپلریت 32 کیلو هرتز رو پخش کنید البته باید حتما 8 بیت و PCM باشن
                        در اون شماتیک هم چون ایسی LM380 منو هست بنده این کار رو کردم ولی شما میتونید با قرار دادن یه تقویت کننده استریو هر خروجی رو به یکی از کانالهای ورودیش بدید تا خروجی استرو داشته باشید :redface:

                        توی پست های قبلی خیلی از دوستان مشکلاتی رو مطرح کردن و در اخر مشکل رو به سورس برنامه نسبت دادن که منو واقعا ناراحت کرد در صورتی که برنامه بنده مشکل داشت توی انجمن قرار نمیدادم در ضمن همه سورسها و برنامه هایی که در انجمن توسط بنده یا دیگر دوستان قرار داده شده اند یه نمونه یا روش کار رو نشون میدن و بیشتر برای این هستند که روش و راه رو نشون بدن نه اینکه لقمه امدرو بهتون بدن به قول معورف ماهی گیری رو یاد میدن

                        به همین سادگی :nice:
                        تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                        به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                        دیدگاه


                          #57
                          پاسخ : wave player & fat

                          سلام استاد جانم
                          میشه از این پروژه فیلم بگیرید و در اینجا قرار بدید
                          من هم در طی ساختنش هستم ولی تو چند مورد به مشکل برخوردم
                          اطلاعات رو از mmc میخونم ولی نمی دونم چگونه دو تا تایمر رو دقیق تنظیم کنم تا صدای مطلابی بده
                          فعلا فقط صدای بوق خیلی شدید میده
                          اگر شما این دستگاه را بستید ازش فیلم بگیرید و بگذارید تا ما هم با انگیزه ی مضاعف این کار را ادامه بدیم
                          اگر روی پروجکت برد هم بستید کفایت میکنه فقط اینکه کار خودتون باشه نه از این فیلم هایی که تو اینترنت پره مثل avr64

                          با امید موفقیت

                          دیدگاه


                            #58
                            پاسخ : wave player & fat

                            نوشته اصلی توسط ShahiMV
                            سلام استاد جانم
                            میشه از این پروژه فیلم بگیرید و در اینجا قرار بدید
                            من هم در طی ساختنش هستم ولی تو چند مورد به مشکل برخوردم
                            اطلاعات رو از mmc میخونم ولی نمی دونم چگونه دو تا تایمر رو دقیق تنظیم کنم تا صدای مطلابی بده
                            فعلا فقط صدای بوق خیلی شدید میده
                            اگر شما این دستگاه را بستید ازش فیلم بگیرید و بگذارید تا ما هم با انگیزه ی مضاعف این کار را ادامه بدیم
                            اگر روی پروجکت برد هم بستید کفایت میکنه فقط اینکه کار خودتون باشه نه از این فیلم هایی که تو اینترنت پره مثل avr64

                            با امید موفقیت
                            با سلام

                            واقعا جای تاسف داره !!!!!!! :sad: :cry:
                            جشم در اولین فرصت براتون میزارمش

                            به همین سادگی :nice:
                            تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                            به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                            دیدگاه


                              #59
                              پاسخ : wave player & fat

                              آقا دمت گرم

                              دیدگاه


                                #60
                                پاسخ : wave player & fat

                                سلام خدمت اساتید محترم :wow:
                                من میخواستم هر دفعه یه فایل wav رو با یه اسم خاص پخش کنم.مثلا اول که میخواد پخش بشه بره فایل با اسم 1 رو پخش کنه و دفعه بعدی بره یه فایل با یه اسم دیگه مثلا فایل 5 رو پخش کنه.کدوم قسمت برنامه رو دقیقا باید تغییر بدم؟ :nerd:
                                با تشکر :applause:

                                دیدگاه

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