اطلاعیه

Collapse
No announcement yet.

پخش صدا باDAC و lpc2368

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

    پخش صدا باDAC و lpc2368

    سلام
    من میخوام با استفاده از DAC توی lpc2368 صدا با فرمت wav رو پخش کنم، برای همینم با فرکانس 24 کیلو هرتز فایل مورد نظر رو با jetAudio تبدیل کردم و روی mmc ریختم، کیفیت صدا نسبتا خوبه (با اهنگ فیلم پوارو) ولی هنگام پخش صدا، یه صدای "تق تق" روی اعصاب آدم تاب بازی میکنه، که هر کار میکنم از بین نمیره، کسی تا حالا با DAC کارکرده و به این مورد برخورده؟
    در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

    #2
    پاسخ : پخش صدا باDAC و lpc2368

    نوشته اصلی توسط محمداسدی
    سلام
    من میخوام با استفاده از DAC توی lpc2368 صدا با فرمت wav رو پخش کنم، برای همینم با فرکانس 24 کیلو هرتز فایل مورد نظر رو با jetAudio تبدیل کردم و روی mmc ریختم، کیفیت صدا نسبتا خوبه (با اهنگ فیلم پوارو) ولی هنگام پخش صدا، یه صدای "تق تق" روی اعصاب آدم تاب بازی میکنه، که هر کار میکنم از بین نمیره، کسی تا حالا با DAC کارکرده و به این مورد برخورده؟
    سلام . آقا منم همین مشکل رو دارم البته نه تا اینجا که آهنگ از روی mmc بخوام پخش کنم . هیچ صدایی از dac نمی یاد دیگه چه برسه به تق تق کردن . میشه شماتیک این قسمت از مدارتون رو اینجا پ کنید ؟ و بگید که خروجی رو مستقیم به اسپیکر وصل کردید (منظورم خود بلندگوهاست) ؟

    دیدگاه


      #3
      پاسخ : پخش صدا باDAC و lpc2368

      نوشته اصلی توسط ma-bah
      سلام . آقا منم همین مشکل رو دارم البته نه تا اینجا که آهنگ از روی mmc بخوام پخش کنم . هیچ صدایی از dac نمی یاد دیگه چه برسه به تق تق کردن . میشه شماتیک این قسمت از مدارتون رو اینجا پ کنید ؟ و بگید که خروجی رو مستقیم به اسپیکر وصل کردید (منظورم خود بلندگوهاست) ؟
      سلام
      من اینجا شماتیک رو ندارم که بذارم، ولی پایه 6 که خروجی DAC هست رو مستقیم به ورودی lm386 دادم، برای راه اندازی DAC هم یه مثال توی کتاب آقای فارغی هست که اگه اونو مستقیم به اسپیکر وصل کنی یه صدای سوت ممتد میشنوی، تا جایی که یادم هست فرکانس خروجی 3khz یا 1.3khz بود، با فرکانس کاری 48mhz برای میکرو
      در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

      دیدگاه


        #4
        پاسخ : پخش صدا باDAC و lpc2368

        نوشته اصلی توسط محمداسدی
        سلام
        من میخوام با استفاده از DAC توی lpc2368 صدا با فرمت wav رو پخش کنم، برای همینم با فرکانس 24 کیلو هرتز فایل مورد نظر رو با jetAudio تبدیل کردم و روی mmc ریختم، کیفیت صدا نسبتا خوبه (با اهنگ فیلم پوارو) ولی هنگام پخش صدا، یه صدای "تق تق" روی اعصاب آدم تاب بازی میکنه، که هر کار میکنم از بین نمیره، کسی تا حالا با DAC کارکرده و به این مورد برخورده؟
        اگر از میکرو همزمان کار دیگه ای کشیده بشه مثل وقفه ها و غیره ممکن است باعث شده تا نمونه ها با فاصله مساوی پخش نشده وباعث این مشکل بشه

        دیدگاه


          #5
          پاسخ : پخش صدا باDAC و lpc2368

          نوشته اصلی توسط gtnfs
          اگر از میکرو همزمان کار دیگه ای کشیده بشه مثل وقفه ها و غیره ممکن است باعث شده تا نمونه ها با فاصله مساوی پخش نشده وباعث این مشکل بشه
          سلام
          توی برنامه ای که من نوشتم تنها کاری که میکنه توی یه While دیتا رو از mmc میخونه و با یه وقفه توی DAC میریزه
          از وقفه و چیزای دیگه استفاده نکردم
          در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

          دیدگاه


            #6
            پاسخ : پخش صدا باDAC و lpc2368

            در حالت پخش اطلاعات هرگونه تاخیر برای پخش داده بایستی برای همه یکسان باشه تا داده ها از نظر زمانی مساوی پخش شوند عکس این مسئله هم ممکنه باشه یعنی داده ها با فاصله های نا مساوی نمونه برداری شده باشند که این یکی با نرم افزارهای کامپیوتری چون انجام شده احتمالش کمه . اگر تق تق پریودیک باشه احتمال ورود نویز از طریق منبع تغذیه بواسطه مصرف کننده هایی مانند ال سی دی یا ال ای دی و غیره وجود داره اگر اینها وجود داره از طریق نرم افزاری یا سخت افزاری غیرفعال شده تا منشا نویز مشخص بشه

            دیدگاه


              #7
              پاسخ : پخش صدا باDAC و lpc2368

              سلام
              من بعد از 4 روز گذشتن از آخرین پست دارم پست میزنم شاید تا الان مشکل حل شده باشه اما در هر صورت
              برای اینکه مشکل شما حل بشه برای پخش صوت حتما باید از رم میکروتون استفاده کنید
              اگر دقت کرده باشین نرم افزارای پخش صوت در کامپیوتر هم به صورت آنلاین صوت رو از روی هارد پخش نمیکنن بلکه اول یه مقدار کمیش رو میریزن روی رم و از روی رم پخش میکنن!شاید توجه کرده باشین که وقتی نرم افزار وینمپ مثلا داره از روی مموری کارت صوت رو پخش میکنه همون لحظه بدون قطع کردن موزیک کارت رو بکشین بیرون آخرین لحظه ای که داشت پخش میکرد رو دائم تکرار میکنه!مثلا یک ثانیه آخری که داشت پخش میکرد رو دائم پخش میکنه و میفته داخل یه لوپ!این نشونش اینه که مقدار کمی از فایل صوتی همیشه روی رم هست و با مقادیر جدید مقادیر قدیم رو پاک میکنه
              مشکل شما هم اینه که برای هر نمونه،همون لحظه از روی SDCard دیتا رو میخونین
              شما باید حداقل 512 بایت یا 1 کیلوبایت(بسته به فرکانس نمونه برداری و رزولوشن DAC)رو در داخل رم قرار بدین و هر موقع واحد تایمر به وقفش رسید بره سراغ دیتای رم و اون مقادیر رو روی واحد DAC قرار بده
              حالا شما اگه بخواین هرموقع که قرار بود نمونه مورد نظر بره داخل خروجی DAC تازه از روی SD بخونین باعث میشه یه وقفه کوچیک بیفته در نتیجه یه صدای تق تق شنیده بشه
              من هم همچین مشکلی داشتم که بعد از اینکه شکل سیگنال صوتیم رو روی اسکوپ دیدم،متوجه شدم به صورت متناوب یه نقطه هایی از سیگنال صوتم شکلش عوض میشه که اول نفهمیدم از این موضوعه
              اما وقتی برنامه ای نوشتم که براش 1 کیلوبایت از رم رو برای اینکار در نظر گرفتم مشکلم حل شد(مگا 128 و PWM به جای DAC)
              به اینصورت که دو تا بافر 512 بایتی در نظر گرفتم که لحظه اول هردو رو پر میکنه
              وقتی 512 بایت اول استفاده شد میره سراغ 512 بایت دوم برای خوندش و در همین لحظه میکرو میاد 512 بایت اول رو که استفاده شده بود رو با مقادیر جدید جایگزین میکنه و به همین ترتیب تا آخر میره جلو
              در این بین هم با توجه به فرکانس سمپلینگ،تایمری با همین فرکانس تعریف کردم که بالاترین اولویت رو داشته باشه و وقتی سرریز میشه وقفه ای میده که در این لحظه تمام کارایی که میکرو انجام میداده و سایر وقفه ها Mask میشه میره داخل وقفه تایمر مذکور و مقدار DAC رو عوض میکنه
              دوباره برمیگرده به جای قبلی و شروع میکنه به خوندن دیتا برای پر کردن بافرها
              در مجموع فایل ویو 8 بیتی چون رزولوشن پایینی داره کیفیت خوبی ارائه نمیکنه مخصوصا وقتی که داخل موزیک سکوت باشه یه صدای هوایی میفته که خیلی تو ذوق میزنه
              فرکانس سمپل رو هم تا جایی که میتونین بالا ببرین برای از دست ندادن فرکانسای بالای موزیک
              44 کیلوهرتز ایده آله
              برای کیفیت بهتر از DAC 16 بیتی استفاده کنین
              جهت اطلاعتون بگم که سی دی Audio که اورجینال خریداری میشه WAV هست با فرکانس سمپل 96 کیلوهرتز و 24 بیتی(این آخرین حد کیفیت یه فایل صوتی هست)
              ام پی تری هم فشرده شده Wav هست معمولا 16 بیتی و 44 کیلوسمپل
              موفق باشین

              دیدگاه


                #8
                پاسخ : پخش صدا باDAC و lpc2368

                نوشته اصلی توسط Nimra
                سلام
                من بعد از 4 روز گذشتن از آخرین پست دارم پست میزنم شاید تا الان مشکل حل شده باشه اما در هر صورت
                برای اینکه مشکل شما حل بشه برای پخش صوت حتما باید از رم میکروتون استفاده کنید ....
                سلام
                ممنون از مطلب مفیدتون.
                موردی که گفتید رو در اولین فرصت چک میکنم، فقط یه سوال و اونم اینکه توی ویو 16 بیتی دو بایت پشت سرهم یه سمپل رو تشکیل میدن؟
                در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

                دیدگاه


                  #9
                  پاسخ : پخش صدا باDAC و lpc2368

                  متاسفانه چون با 16 بیت کار نکردم نمیتونم با قطعیت جواب شما رو بدم
                  ولی قاعدتا باید همینجوری باشه
                  اما چیزی که هست اینه که تا جایی که میدونم و مطمئنم در مد 16 بیتی اعداد به صورت علامت دار(Unsigned Int)ذخیره میشن یعنی شما هم ولتاژ منفی خواهی داشت و هم مثبت
                  و فکر میکنم که DAC هایی که در دسترسه تو ناحیه منفی کار نمیکنن پس لازمه یه تبدیل از علامت دار به بدون علامت انجام بدین
                  برای مطمئن شدن از سوال بالا هم یه سرچ کوچولو داخل گوگل با کلمه کلیدی Wave File Structure بزنین تا مطمئن شین
                  چیز دیگه ای که ممکنه به کارتون بیاد حالت استریو هست که سمپل ها به صورت یک در میون پشت سر هم هستن
                  یعنی اگر سمپل اول واسه لفت هست عدد بعدی واسه رایت هست و الی آخر
                  به نظر من یکی از مباحث خیلی جالبیه که ارزش وقت گذاشتن داره مخصوصا اگه بشه روی فرمت Mp3 کار کرد چون ویو با کیفیت بالا 10 برابر MP3 حجم داره
                  موفق باشین

                  دیدگاه


                    #10
                    پاسخ : پخش صدا باDAC و lpc2368

                    نوشته اصلی توسط Nimra
                    اما چیزی که هست اینه که تا جایی که میدونم و مطمئنم در مد 16 بیتی اعداد به صورت علامت دار(Unsigned Int)ذخیره میشن
                    این یعنی بی علامت دیگه؟!!!!

                    در کیل و LPC2368 چطور یه دیتا رو میشه ریخت توی رم؟

                    دیدگاه


                      #11
                      پاسخ : پخش صدا باDAC و lpc2368

                      بله درسته منظورم همون علامت دار هست یعنی Signed int یا همون int

                      دیدگاه


                        #12
                        پاسخ : پخش صدا باDAC و lpc2368

                        نوشته اصلی توسط علی آقایی فر
                        این یعنی بی علامت دیگه؟!!!!

                        در کیل و LPC2368 چطور یه دیتا رو میشه ریخت توی رم؟
                        سلام
                        اگه از RL ARM استفاده کنی می تونی با چهار خط دیتا با حافظه SD ارتباط برقرار کنی
                        یه سرچ کوچیک توی انجمن بزن
                        در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

                        دیدگاه

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