TechnicalArticle
violet 2018-11-08 14:01 22979
由于目前大部分操作系統(tǒng)都是分時多任務系統(tǒng),由上層的進程調(diào)度,到底層的中斷調(diào)度,之后才能送達硬件。多數(shù)操作系統(tǒng)的中斷以100Hz左右作為一個時鐘滴答。也就說至少每10ms應用程序才能得到調(diào)度,而且由于系統(tǒng)有大量的應用,音頻應用的優(yōu)先權并不是首位的。而底層方面,則有各種中斷需要處理,其中網(wǎng)絡中斷,顯示 / 視頻中斷都需要大量的數(shù)據(jù)處理,音頻處理優(yōu)先級一般都會較前兩者低。因而產(chǎn)生大量的Jitter,這也是PCHiFi無法和CDP相比的關鍵原因,用操作系統(tǒng)的播放器就等同于獨立的Mini PCHiFi。
在操作系統(tǒng)中,音頻應用(播放器)是應用層的程序,它每隔一段時間會將一段音頻數(shù)據(jù)發(fā)送到操作系統(tǒng)中。而應用層還有許多其它的應用,也會間歇占用CPU等系統(tǒng)資源。播放器必須等待CPU等資源空閑才能將音頻數(shù)據(jù)發(fā)送到操作系統(tǒng)中 。所以,如果系統(tǒng)中各種應用越多,音頻應用就會不能得到及時調(diào)度,無法及時發(fā)送數(shù)據(jù)到操作系統(tǒng)中。
再往下,就是內(nèi)核發(fā)送數(shù)據(jù)到硬件,內(nèi)核是通過調(diào)用音頻設備的驅(qū)動程序和硬件進行交互的。而這一切的動力來源,便是系統(tǒng)的中斷。每次硬件發(fā)出中斷,CPU會進行響應,查看是哪個設備的中斷,然后調(diào)用中斷程序進行處理,或者從硬件讀入數(shù)據(jù),或者又是寫入數(shù)據(jù)到中斷。這里可以看到,系統(tǒng)中有各種各樣的中斷,低優(yōu)先級中斷處理到一半,如果有高優(yōu)先級中斷發(fā)生,就會暫停下來,處理高優(yōu)先級中斷 。很多中斷都比音頻中斷優(yōu)先級高。因此音頻響應在操作系統(tǒng)中可能會得不到及時處理,這樣會導致jitter的產(chǎn)生。
有個USB解碼器,它是異步的,為了處理這個異步的問題,集成了8M的緩存,必要的時候可以緩存近3秒的音頻數(shù)據(jù).呵呵,這東西聲音怎么樣先不說,但是這個緩存近3秒的做派,說明設計師對操作系統(tǒng)音頻輸出的實時性抱以極大的不信任。
單片機單線程純音播放程序有什么好處?
我們在用電腦作為播放音樂的朋友可能會深有體會,當電腦運行程序較多時或者用不同播放軟件播放音樂時輸出的聲音差異是非常大的。比如cPlay這個軟件就是因為采用了盡量少的線程運行,簡易的界面功能而能獲得比Foobar2000好很多的音質(zhì),另外cPlay+cmp這個組合則做到盡量完全關閉Windows的其它所有線程,從而音質(zhì)上更會脫胎換骨的提升。但是PCHiFi即使是cPlay+cmp這個組合播放,仍存在無法克服的震動和各種電磁干擾對聲音造成的致命影響。
我們再來看看現(xiàn)售的其它數(shù)碼 / 音樂播放器大多都是采用操作系統(tǒng)多線程來運放播放軟件,優(yōu)點是可以實現(xiàn)的功能多、可以支持的格式多,并且有較多的方案公司可提供項目支持,無需自己研發(fā)軟件,產(chǎn)品上市時間快 、研發(fā)投入小、風險小,缺點就是聲音受到系統(tǒng)的影響較大,這種多線程的操作系統(tǒng)就等同于在運行多線程軟件的一臺電腦,它頂多是沒有了硬盤與開關電源的影響,但多線程的影響會對播放器的源頭(數(shù)字輸出)帶來較大的Jitter(時基抖動 ),從而影響到每一個音頻口的聲音素質(zhì)。一些公司則通過了調(diào)音增加音染來試圖掩蓋Jitter帶來的聲音缺陷,這與HiFi有些背馳而行了。針對這些問題QLS-HiFi投入了較大的精力利用自己在單片機編程方面的優(yōu)勢 ,在首代產(chǎn)品的基礎上再歷時3年,實現(xiàn)了新一代基于單片機的單線程純音播放器,沒有操作系統(tǒng),沒有多線程影響,實時性高,音頻源頭數(shù)字輸出Jitter超低,整體音質(zhì)上 、支持文件格式上、功能上、界面上相對于前一代產(chǎn)品都取得了較大突破。
為什么我們要花數(shù)年時間一行一行敲出數(shù)萬行的單片機單線程程序?為什么我們要投入數(shù)十萬研發(fā)費用在軟件這個產(chǎn)品上不容易看出價值的部分?這是對HiFi的執(zhí)著,對追求高音質(zhì)的執(zhí)著。因為我們深信音樂不被扭曲,徹底還原,乃數(shù)字播放器的首要任務。
一個簡單的比方:多線程等同于一個人同時需要做很多件事情,而且很多事情具有相同優(yōu)先級別,并且重要的事情處在較低的優(yōu)先級別,那么這個重要的事情就會被其它事情給耽誤掉,致使這個人沒有足夠的精力來很好的去完成它。單線程就是我要做幾件事情時我會一件一件做完 ,同時我會把音頻處理設為首位優(yōu)先級別,只要音頻處理需要,我們隨時會放下手上的其它活先去處理音頻部分,使得音頻輸出不受任何操控的影響。我們的單片機會專心讀文件、解碼,每到一定量的數(shù)據(jù)然后送到I2S乒乓緩沖區(qū),這個過程不受任何外界指令影響,單片機內(nèi)部會有硬件I2S自動提取乒乓緩沖區(qū)的數(shù)據(jù)轉(zhuǎn)換輸出,我們會精確計算好時間,確保有200%以上的余量時間等待為緩沖區(qū)送數(shù),為了確保這個時間足夠充裕我們將遙控解碼等耗單片機時間的功能又由另外的獨立芯片來完成,以確保極低Jitter輸出。
以下內(nèi)容轉(zhuǎn)載自網(wǎng)絡,作者:黑行者 (如果有版權問題,請聯(lián)系我們刪除)原文章鏈接:https://www.sohu.com/a/255067461_100241398 &...
2024-07-30 1543
1.由于我們所有產(chǎn)品均進行精選器件及老化數(shù)個小時,且負責測試及生產(chǎn)的均為音響愛好者,因此我們售出的機器故障率極低。2.乾龍盛并不像其它廠商那樣在市場推廣上投入巨額費用,而是幾乎把所有的利潤都重新投入產(chǎn)品研發(fā)與客服服務上面,我們認為產(chǎn)品主...
2024-06-11 60820
為了使您的加載NAS過程更加的順利,建議先用QA662配套的讀卡器加SD卡替代U盤,并根據(jù)“QA662使用攻略:網(wǎng)播系統(tǒng)如何播放U盤中的音樂?”的說明嘗試用QA662的網(wǎng)播系統(tǒng)播放U盤中的音樂。如果您要跳過嘗試U盤播放,而直接加載NAS,也...
2024-03-27 2598
為了實現(xiàn)U盤播放功能,請確保您的QA662是帶網(wǎng)播的版本。我們用QA662隨機配送的SD卡配合讀卡器作為U盤替代方案為例。操作步驟如下:1.請將U盤插入QA662設備背面的USB3.0接口【USB2】。2.同時,請將網(wǎng)線連接至QA66...
2024-03-20 3333
為了使您在使用移動硬盤時能夠更加的順利,建議先用QA662配套的讀卡器加SD卡替代U盤,并根據(jù)“QA662使用攻略:網(wǎng)播系統(tǒng)如何播放U盤中的音樂?”的說明嘗試用QA662的網(wǎng)播系統(tǒng)播放U盤中的音樂。如果您要跳過嘗試U盤播放,而直接播放移動硬...
2024-03-19 3046
這是熱心用戶喜樂柴米在其微信公眾號上分享的一篇文章,這篇文章分享內(nèi)容包括一部分網(wǎng)播的基礎操作,但主要還是NAS的掛載方法。為了尊重作者的創(chuàng)作,我們這里就直接給鏈接了: 乾龍盛QA662純音播放器網(wǎng)播部分的攻略文中寫到的網(wǎng)播操控A...
2024-03-15 2595
乾龍盛音響-微信公眾號
乾龍盛音響-官方微博