亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種cd播放器的制作方法

文檔序號:6769651閱讀:286來源:國知局
專利名稱:一種cd播放器的制作方法
技術(shù)領(lǐng)域
本實用新型涉及音頻播放領(lǐng)域,尤其涉及一種正向播放CD信號時緩存CD數(shù)據(jù)的方法、正向播放CD信號時讀緩存的方法以及CD播放器。
背景技術(shù)
CD音樂由于其優(yōu)質(zhì)的音樂效果廣受音樂發(fā)燒友的歡迎。目前播放CD光碟的方式主要有采用臺式電腦的CD-ROM播放的方式,以及通過專門的CD播放器播放的兩種方式。一般地在臺式電腦、以及較大的CD播放器中,由于臺式電腦、以及較大的CD播放器本身的內(nèi)存都會有上百兆,故在臺式電腦中播放CD光碟時,只要先使光頭連續(xù)讀取CD光碟上的信號,在讀取是采用直接內(nèi)存存儲(Direct Memory Access,簡稱DMA)的方式把整首歌的數(shù)據(jù)連續(xù)緩存到內(nèi)存中,然后從內(nèi)存中順序讀取內(nèi)存中的音頻數(shù)據(jù),將讀取的數(shù)據(jù)輸出至聲卡即可實現(xiàn)音頻播放。然而隨著技術(shù)的發(fā)展,便攜式音樂播放器由于容易攜帶的優(yōu)點越來越受人們的歡迎,成為新一代的音樂播放器。圖1為現(xiàn)有技術(shù)中的便攜式播放器的電氣組成連接示意圖。參見圖1所示,現(xiàn)有的便攜式播放器主要由光頭101、伺服芯片102、主控制芯片103、緩存104、聲卡105組成。光頭101在伺服芯片102的控制下讀取光碟的數(shù)據(jù),將數(shù)據(jù)通過伺服芯片102與系統(tǒng)控制芯片之間的數(shù)字音頻通道傳遞至系統(tǒng)控制芯片,系統(tǒng)控制芯片通過控制通道與伺服芯片102進行信息交互,控制伺服芯片102,系統(tǒng)控制芯片與緩存104連接,控制緩存104 的寫和讀。然而在音樂播放其中,由于其存儲器都比較小,一般都只有幾兆字節(jié),而一首幾分鐘的CD歌曲通常都會有幾十兆字節(jié)。故在便攜式音樂播放器中無法采用直接將整首歌曲讀取寫到內(nèi)存,然后讀取內(nèi)存中的歌曲實現(xiàn)歌曲播放的方式。比如正向播放時,按照先進先出的順序正向讀取緩存中的數(shù)據(jù),輸出讀取數(shù)據(jù)播放音頻即可;當(dāng)反向播放時,按照先進后出的順序反向讀取緩存中的數(shù)據(jù),輸出數(shù)據(jù)實現(xiàn)反向播放即可。另外,由于便攜式音樂播放器一般提供播放速度可調(diào)功能,用戶可以通過調(diào)節(jié)音頻播放的播放速度,一般調(diào)整的范圍為正常播放速度的到4倍。由于播放速度受使用者控制,因此讀取緩存104中的音頻數(shù)據(jù)的速度會與將光頭101讀取的音頻數(shù)據(jù)緩存104進內(nèi)存的速度不同。因此,在現(xiàn)有技術(shù)中,便攜式音樂播放器緩存104音頻數(shù)據(jù)一般采用間歇性方式進行寫數(shù)據(jù)進緩存104直到緩存104快寫滿時暫停寫緩存104,等到緩存104的數(shù)據(jù)被播放一部分到快被播放完畢后,接著在緩存104中接著上次寫緩存104的位置繼續(xù)將音頻數(shù)據(jù)寫入緩存104。而在現(xiàn)有的便攜式音樂播放器中為了使得CD光碟能夠及時響應(yīng)系統(tǒng)的控制,CD 光碟在便攜式音樂播放器工作的過程中一直處于旋轉(zhuǎn)狀態(tài),此時光頭101上的信號一直處于變化狀態(tài),由此引起的光碟伺服芯片102出來的數(shù)字音頻數(shù)據(jù)一直在變化。而由于服芯片是通過位時鐘、位數(shù)據(jù)、通道時鐘三個信號以DMA、方式與播放控制系統(tǒng)交換數(shù)字音頻數(shù)據(jù)的。而播放系統(tǒng)控制伺服芯片102進行尋跡動作主要如下由主控制系統(tǒng)從伺服控制通道獲得當(dāng)前軌道的位置信息,與我們需要到達的目標(biāo)位置做比較,將光頭101向前或向后跳,逐步逼近目標(biāo)位置,通過伺服芯片102的控制通道用扇區(qū)尋跡方法實現(xiàn)的。由于數(shù)字音頻數(shù)據(jù)中是沒有定位信息的,所以系統(tǒng)控制部分用扇區(qū)尋跡方法很難對數(shù)字音頻數(shù)據(jù)精確定位。因此基于以上原因,當(dāng)在寫緩沖暫停后,需要繼續(xù)接著在緩存104中繼續(xù)寫入緩存104時,應(yīng)用現(xiàn)有技術(shù)的扇區(qū)尋跡技術(shù),很難使光頭101CD光碟精確回到最后讀數(shù)的位置繼續(xù)讀數(shù),存在繼續(xù)寫的緩存104與暫停時最后寫的緩存104不能準(zhǔn)確連續(xù)的問題即在寫緩沖暫停后,光頭101在繼續(xù)讀取光碟數(shù)據(jù)時在光碟上的位置與暫停前一刻在光碟上的位置不能準(zhǔn)確連續(xù),導(dǎo)致寫入緩存104的音頻數(shù)據(jù)會在連接點處與光碟上的實際數(shù)據(jù)不相符,導(dǎo)致歌曲播放出現(xiàn)聲音跳變,連接點滯后,播放過程出現(xiàn)聲音重復(fù),或左右通道顛倒的問題,嚴(yán)重影響使用者的使用感受。另外,對于具有搓碟功能的播放器,當(dāng)播放系統(tǒng)頻繁進行正向播放和反向播放的操作時,正向和反向?qū)懢彺?04的頻繁度也加大,數(shù)據(jù)的連接點變多,出現(xiàn)跳音和重復(fù)或左右通道顛倒的機會也更多,上述數(shù)據(jù)連接部準(zhǔn)確的問題對音樂的破壞將更突出。特別在需要反向播放(比如快退或者反向搓碟的情況),由于在播放時需要反反向讀取(高地址往低地址讀)的方法讀取緩存中的數(shù)據(jù),故需要緩存更多的數(shù)據(jù),使得現(xiàn)有技術(shù)中的緩存大小受限、數(shù)據(jù)準(zhǔn)確連續(xù)輸出的矛盾更加明顯。
發(fā)明內(nèi)容本實用新型第一目的在于提供了一種CD播放器,應(yīng)用該技術(shù)在反向播放時,可以保證反向播放的音頻的準(zhǔn)確連接,有利于保證播放音質(zhì)。本實用新型實施例提供的一種⑶播放器,包括一種⑶播放器,其特征是,包括 光頭、伺服芯片、處理器、緩存寫模塊、緩存讀模塊、緩存;其中,所述光頭與所述伺服芯片電連接;所述處理器分別與所述伺服芯片、緩存寫模塊、緩存讀模塊、緩存電連接,所述處理器包括控制模塊、比較模塊,所述控制模塊與所述伺服芯片、緩存寫模塊、緩存連接,所述比較模塊與所述控制模塊、以及所述緩存寫模塊連接,所述緩存寫模塊、緩存讀模塊分別與所述緩存連接。由上可見,應(yīng)用本實用新型的技術(shù),由于在反向播放過程中,播放到每個子緩存區(qū)時均判斷當(dāng)前播放的子緩存區(qū)的數(shù)據(jù)與上一子緩存區(qū)存放的數(shù)據(jù)是否在光碟上連續(xù),只要不連續(xù),均將光頭重新尋跡定位到當(dāng)前播放的子緩存區(qū)的首扇區(qū)前的一段位置(前W個扇區(qū)),在該上一子緩存區(qū)重新寫入音頻數(shù)據(jù),并且在重新寫到一定程度后,將光頭讀取的數(shù)據(jù)與播放所在的子緩存區(qū)中的頭幾位數(shù)據(jù)對比,只有比較結(jié)果為數(shù)據(jù)完全相同時,認為當(dāng)前的認為讀到了連接點,停止寫緩存操作。保證了緩存中的數(shù)據(jù)的準(zhǔn)確連續(xù)性,避免了反向播放跳音的情況,有利于提高音質(zhì),提高用戶的使用感受。

此處所說明的附圖用來提供對本實用新型的進一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本實用新型的不當(dāng)限定,在附圖中圖1為現(xiàn)有技術(shù)中的一種CD播放系統(tǒng)的結(jié)構(gòu)系統(tǒng)框圖的示意圖;圖2為本實用新型實施例1中提供的一種反向播放時CD數(shù)據(jù)寫緩存方法流程示意圖;圖3為本實用新型實施例2中提供的一種反向播放時CD數(shù)據(jù)寫緩存方法流程示意圖;圖4為本實用新型實施例3中提供的一種CD播放器的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合附圖以及具體實施例來詳細說明本實用新型,在此本實用新型的示意性實施例以及說明用來解釋本實用新型,但并不作為對本實用新型的限定。實施例1 當(dāng)播放系統(tǒng)接收到反向播放指令時,確定反向播放的時長,播放系統(tǒng)在緩存中按反反向的順序讀取緩存中的數(shù)據(jù),直到反向播放達到約定的播放時長,結(jié)束反向播放,返回正向播放的播放流程。本實用新型人在進行本實用新型的研究中發(fā)現(xiàn),為了便于緩存的管理,可以將整個大緩存分解成多個子緩存區(qū),在進行數(shù)據(jù)存儲時,將各個子緩存區(qū)作為寫緩存單元進行緩存管理。比如但不限于如下一般地,⑶光碟正常速度下每秒鐘可讀取75個扇區(qū),數(shù)據(jù)的傳輸率為(75扇區(qū)/ 秒X2352字節(jié)/扇區(qū))=176400字節(jié)/秒。假設(shè)我們的系統(tǒng)總的內(nèi)存為8兆字節(jié),由于系統(tǒng)程序部分需要占用部分內(nèi)存,我們只預(yù)留可以存放30秒左右的CD音頻大小的緩存給數(shù)字音頻做為緩存用。在本實施例中,我們可以但不限于把30秒容量的緩存,分解成30個子緩存區(qū)來管理。設(shè)定每個子緩存區(qū)的大小為16+((75+ X235》個字節(jié)。對于每個子緩存區(qū)定義成如下結(jié)構(gòu)成員1 第一地址指針P1,指向本緩存的下一緩存區(qū)首地址;成員2 第二地址指針P2,指向本緩存的上一緩存區(qū)首地址;成員3 有效數(shù)據(jù)大小,用于標(biāo)識當(dāng)前子緩存區(qū)內(nèi)當(dāng)前存儲的有效音頻數(shù)據(jù)大小;成員4 首扇區(qū)地址,用于記載本子緩存區(qū)內(nèi)存儲的數(shù)字音頻數(shù)據(jù)在⑶碟上的首扇區(qū)地址。成員5 音頻數(shù)據(jù)存放區(qū),用于存放音頻數(shù)據(jù),比如在本實施例中可以但不限于將該音頻數(shù)據(jù)存儲區(qū)的大小設(shè)定為(75+2)X2352個字節(jié)]。在啟動播放系統(tǒng)而使用前,先做以下的初始化把30個緩存的成員3 (當(dāng)前緩存有效數(shù)據(jù)大小)清0 ;把30個緩存的成員4(當(dāng)前緩存首扇區(qū)地址信息)清0 ;同時,把成員 1 (指向下一個子緩存區(qū)首地址)按隊列方式賦值緩存0的(下一個子緩存區(qū)首地址)成員=緩存1的首地址;緩存1的(下一個子緩存區(qū)首地址)成員=緩存2的首地址;緩存四的(下一個子緩存區(qū)首地址)成員=緩存0的首地址。另外,把成員2 (指向上一個子緩存區(qū)首地址)也按隊列方式賦值[0044]緩存0的(上一個子緩存區(qū)首地址)成員=緩存四的首地址;緩存1的(上一個子緩存區(qū)首地址)成員=緩存0的首地址;緩存四的(上一個子緩存區(qū)首地址)成員=緩存觀的首地址。另外,把緩存讀指針、以及緩存寫指針都指向緩存0。經(jīng)過以上處理,30個子緩存區(qū)將形成一個圓形大緩存,它們通過地址指針首尾相連。在正向播放過程中寫各子緩存區(qū)時,設(shè)定在各子緩存區(qū)中寫入的W(在本實施例中定為75)個扇區(qū)的數(shù)據(jù)。由于在各子緩存區(qū)中存儲相對于本子緩存區(qū)的上一子緩存區(qū)的首地址信息,故在反向播放時,緩存讀指針可以很快地在當(dāng)前子緩存區(qū)的音頻數(shù)據(jù)播放完畢后,緩存讀指針根據(jù)本子緩存區(qū)中的成員2的信息跳轉(zhuǎn)到上一子緩存區(qū)反向播放該子緩存區(qū)中的數(shù)據(jù),使得該反向播放更加便捷。在各子緩存區(qū)中存儲相對于本子緩存區(qū)的下一子緩存區(qū)的首地址信息,故在正向播放時,指針可以很快地在當(dāng)前子緩存區(qū)的音頻數(shù)據(jù)播放完畢后,緩存讀指針根據(jù)本子緩存區(qū)中的成員1的信息跳轉(zhuǎn)到下一子緩存區(qū)正向播放該子緩存區(qū)中的數(shù)據(jù),使得該正反向播放更加便捷。在各子緩存區(qū)中存儲數(shù)據(jù)在光碟上的首扇區(qū)地址(成員4),故在反向播放需要寫緩存時,根據(jù)前后兩子緩存區(qū)中的首扇區(qū)地址信息,簡單準(zhǔn)確地確定當(dāng)前前后兩子緩存區(qū)中的音頻數(shù)據(jù)是否準(zhǔn)確連續(xù)。在各子緩存區(qū)中存儲相對本子緩存區(qū)的有效音頻數(shù)據(jù)大小信息,在正向播放或者反向播放時,緩存讀指針可以根據(jù)該有效音頻數(shù)據(jù)大小信息確定當(dāng)前是否讀取完畢本子緩存區(qū)內(nèi)的音頻數(shù)據(jù),在讀取完畢后確定在上一子緩存區(qū)(反向播放)或者下一子緩存區(qū) (正向播放)繼續(xù)讀取音頻數(shù)據(jù),播放音頻。圖2為本實施例提供的一種反向播放時CD數(shù)據(jù)寫緩存方法流程示意圖。參見圖 2所示,在反向播放的過程中按照以下的流程寫緩存步驟201 反向播放到第i子緩存區(qū)時,確定第i子緩存區(qū)內(nèi)存儲的首扇區(qū)地址, 記為第X扇區(qū),確定第(i-Ι)子緩存區(qū)中存儲的首扇區(qū)地址,記為第Y扇區(qū)。設(shè)當(dāng)前緩存讀指針當(dāng)前讀到第i子緩存區(qū),讀取第i子緩存區(qū)的數(shù)據(jù)輸出音頻,此時,確定本第i子緩存區(qū)內(nèi)存儲的首扇區(qū)地址,記為第X扇區(qū)。并且確定當(dāng)前本第i子緩存區(qū)的上一子緩存區(qū)(第(i-Ι)子緩存區(qū))中的首扇區(qū)地址。其中該首扇區(qū)地址為在所述各子緩存區(qū)內(nèi)當(dāng)前存儲的音頻數(shù)據(jù)對應(yīng)在所述光碟上的扇區(qū)起始位置,比如在第i子緩存區(qū)中,設(shè)存儲的有效音頻數(shù)據(jù)為光碟上第X扇區(qū)到第Xl扇區(qū)的音頻數(shù)據(jù),則該第i子緩存區(qū)中存儲的首扇區(qū)地址為第X扇區(qū)地址。在第(i-Ι)子緩存區(qū)中,設(shè)存儲的有效音頻數(shù)據(jù)為光碟上第Y扇區(qū)到第Yl扇區(qū)的音頻數(shù)據(jù),則該第(i_l)子緩存區(qū)中存儲的首扇區(qū)地址為第Y扇區(qū)地址。步驟202 如果(X-Y) = W,則返回步驟201,否則執(zhí)行步驟203。W第(i-Ι)子緩存區(qū)中存儲的音頻數(shù)據(jù)量占光碟的扇區(qū)數(shù)量,比如可以規(guī)定在正向播放寫緩存時,在每子緩存區(qū)寫入光碟的75個扇區(qū)的數(shù)據(jù)。[0062]如果第i子緩存區(qū)與第(i_l)子緩存區(qū)存儲的首扇區(qū)地址之差不等于W(W為), 則可以判定該第(i-Ι)子緩存區(qū)所存儲的音頻數(shù)據(jù)在光碟上與當(dāng)前第i子緩存區(qū)中的音頻數(shù)據(jù)實際并不連續(xù),故執(zhí)行步驟203,在第(i-Ι)子緩存區(qū)重新寫入音頻數(shù)據(jù);否則,判定該第(i_l)子緩存區(qū)所存儲的音頻數(shù)據(jù)在光碟上與當(dāng)前第i子緩存區(qū)中的音頻數(shù)據(jù)實際連續(xù),而返回步驟201,等到反向播放到另一個子緩存時,繼續(xù)從步驟201開始對音頻數(shù)據(jù)的連續(xù)性進行判定。步驟203 將光頭尋跡定位到光碟的第(X-W)扇區(qū)。當(dāng)判定該第(i-Ι)子緩存區(qū)所存儲的音頻數(shù)據(jù)在光碟上與當(dāng)前第i子緩存區(qū)中的音頻數(shù)據(jù)實際不連續(xù)時,執(zhí)行本步驟。將光頭尋跡定位到光碟的第(X-W)扇區(qū),其中W為第(i-Ι)子緩存區(qū)中存儲的音頻數(shù)據(jù)量占光碟的扇區(qū)數(shù)量,比如可以規(guī)定在正向播放寫緩存時,在每子緩存區(qū)寫入光碟的75個扇區(qū)的數(shù)據(jù)。當(dāng)W = 75時,將光頭尋跡定位到光碟的第(X-75)扇區(qū)。步驟204 按照光頭的讀取順序,在第(i_l)子緩存區(qū)存儲當(dāng)前的首扇區(qū)信息。在步驟203重新尋跡定位后,將寫緩存指針移至第(i-Ι)子緩存區(qū),在該子緩存區(qū)內(nèi)寫入首扇區(qū)信息,即存儲數(shù)據(jù)在光碟上的扇區(qū)地址第(X-75)扇區(qū)。在本實施例中可以在本第(i_l)子緩存區(qū)中的成員4中寫入首扇區(qū)地址信息。步驟205 將光頭讀取的數(shù)據(jù)寫入第(i_l)子緩存區(qū)。按照光頭讀取的順序,在光頭讀取的數(shù)據(jù)按照DMA方式寫入緩存中的成員 5一一數(shù)據(jù)存放區(qū),執(zhí)行步驟206。步驟206 當(dāng)光頭讀到光碟的第(Χ-a)扇區(qū)時,執(zhí)行步驟207 ;否則返回步驟205。其中,a為預(yù)定的小于W的自然數(shù),本實用新型人在進行本實用新型的研究過程中發(fā)現(xiàn)光頭的尋跡定位的誤差約為1個扇區(qū)左右,故在本實施例中,可以但不限于將a設(shè)定為 1、2。設(shè)X = 275,(X-W) = 200, a = 1,在光頭重新定位后,讀取74個扇區(qū),到達第274 扇區(qū)時,執(zhí)行步驟207,否則返回步驟205 在當(dāng)前的第(i-Ι)子緩存區(qū)內(nèi)繼續(xù)以DMA方式寫入光頭讀取的音頻數(shù)據(jù)。步驟207 將光頭讀取的數(shù)據(jù)逐個與第i子緩存區(qū)中的前η個字節(jié)的數(shù)據(jù)比較,如果相同,則返回步驟201 ;否則執(zhí)行步驟208。當(dāng)光頭讀到光碟的第(Χ-a)扇區(qū)時,執(zhí)行本步驟光頭讀取CD光碟上的數(shù)據(jù),并且在讀取后,逐個將讀取的數(shù)據(jù)與緩存中最后寫的預(yù)定個字節(jié)(比如但不限于4個字節(jié))的數(shù)據(jù)比較。一旦比較結(jié)果為光頭讀取到的數(shù)據(jù)與最后寫入緩存中的預(yù)定個字節(jié)的數(shù)據(jù)相同,則判定為當(dāng)前光頭已經(jīng)讀到了連接點(在光碟上,光頭所在的位置的數(shù)據(jù)與第i子緩存區(qū)中的數(shù)據(jù)連續(xù)),停止在本子緩存區(qū)的寫緩存操作,返回步驟201,以在播放到另一子緩存區(qū)時,從步驟201開始進行數(shù)據(jù)連接是否準(zhǔn)確的判定,循環(huán)執(zhí)行本實施例圖示的流程,直到反向播放結(jié)束;否則,執(zhí)行步驟208。步驟208 按照光頭的讀取順序,將讀取的數(shù)據(jù)繼續(xù)寫入第(i_l)子緩存區(qū),返回步驟207。[0079]當(dāng)光頭讀取到的數(shù)據(jù)與最后寫入緩存中的預(yù)定個字節(jié)的數(shù)據(jù)不相同時,將按照光頭讀取順序?qū)⒆x取的數(shù)據(jù)繼續(xù)寫入第(i_l)子緩存區(qū),然后返回步驟207,繼續(xù)對光頭讀取的數(shù)據(jù)進行比較,直到光頭讀取到的數(shù)據(jù)與最后寫入緩存中的預(yù)定個字節(jié)的數(shù)據(jù)相同為止。在本實施例中,可以但不限于將每子緩存區(qū)的大小設(shè)定為可存儲光碟上77個扇區(qū)的數(shù)據(jù)量,而規(guī)定在正向播放寫緩存(常規(guī)寫緩存)時,在每子緩存區(qū)寫入光碟上75個扇區(qū)的數(shù)據(jù),這樣,在反向播放寫緩存時,在讀了約72、73、或者74個扇區(qū)后進行步驟207中所述的數(shù)據(jù)比較,直到判定為比較結(jié)果為“數(shù)據(jù)相同”時,才認為讀到了連接點,停止寫緩存操作。這樣既可以保證緩存中相鄰兩子緩存區(qū)中存儲的數(shù)據(jù)準(zhǔn)確連續(xù),又不會浪費各子緩存區(qū)中的存儲有效空間,有利于有效資源的充分利用。由上可見,應(yīng)用本實用新型的技術(shù),由于在反向播放過程中,播放到每個子緩存區(qū)時均判斷當(dāng)前播放的子緩存區(qū)的數(shù)據(jù)與上一子緩存區(qū)存放的數(shù)據(jù)是否在光碟上連續(xù),只要不連續(xù),均將光頭重新尋跡定位到當(dāng)前播放的子換存取的首扇區(qū)前的一段位置(前W個扇區(qū)),在該上一子緩存區(qū)重新寫入音頻數(shù)據(jù),并且在重新寫到一定程度后,將光頭讀取的數(shù)據(jù)與播放所在的子緩存區(qū)中的頭幾位數(shù)據(jù)對比,只有比較結(jié)果為數(shù)據(jù)完全相同時,認為當(dāng)前的認為讀到了連接點,停止寫緩存操作。保證了緩存中的數(shù)據(jù)的準(zhǔn)確連續(xù)性,避免了反向播放跳音的情況,有利于提高音質(zhì),提高用戶的使用感受。實施例2 圖3為本實施例提供的一種反向播放時CD數(shù)據(jù)寫緩存方法流程圖,參見圖示,本方法流程與實施例1所不同之處在于以下在步驟207之后,如果光頭讀取的數(shù)據(jù)與第i子緩存區(qū)中的前η個字節(jié)的數(shù)據(jù)相同,而返回步驟201之前,還執(zhí)行以下步驟步驟301 在第(i-Ι)子緩存區(qū)中更新信息本子緩存區(qū)當(dāng)前實際存儲的有效音頻數(shù)據(jù)的大小,在執(zhí)行步驟301后返回步驟201。具體可以在本第(i-Ι)子緩存區(qū)更新成員3的信息,使得該信息記載當(dāng)前存儲在本第(i_l)子緩存區(qū)的有效音頻數(shù)據(jù)大小。在更新當(dāng)前存儲在本第(i_l)子緩存區(qū)的有效音頻數(shù)據(jù)大小后,返回步驟201以在播放到另一子緩存區(qū)時,從步驟201開始進行數(shù)據(jù)連接是否準(zhǔn)確的判定,循環(huán)執(zhí)行本實施例圖示的流程,直到反向播放結(jié)束。由上可見,增加步驟301,能夠進一步使得使得個子緩存區(qū)中的信息更加充分準(zhǔn)確,進一步有利于緩存讀指針根據(jù)該信息準(zhǔn)確、有效率的進行音頻數(shù)據(jù)的讀取,以輸出音頻。實施例3 圖4為本實施例提供的一種CD播放器結(jié)構(gòu)示意圖,參見圖示,其主要包括光頭 401、伺服芯片402、搓碟檢測模塊403、處理器404、緩存寫模塊405、緩存406、緩存讀模塊 407、聲卡408。其中各部分的連接關(guān)系以及工作原理主要如下光頭401,與伺服芯片402連接,在伺服芯片402的控制下讀?、枪獾囊纛l數(shù)據(jù),伺服芯片402與處理器404連接,受處理器404的控制,比如在處理器404的控制下使光頭401重新尋跡定位。[0092]搓碟檢測模塊403與處理器404連接,搓碟檢測模塊403用于檢測反向搓碟信號 (用戶可以通過播放器上的按鍵或者其他的搓碟裝置進行操作),并將檢測結(jié)果輸入處理器404,以供處理器404根據(jù)檢測結(jié)果控制播放器的運行,當(dāng)接收到反向搓碟信號時,處理器404控制播放器進行反向播放。處理器404包括反向?qū)懢彺娲_定模塊4041、控制模塊4042、比較模塊4043。其中,反向?qū)懢彺娲_定模塊4041與控制模塊4042連接,在當(dāng)播放器反向播放到第i子緩存區(qū)4061時,確定第i子緩存區(qū)4061內(nèi)存儲的首扇區(qū)地址,記為第X扇區(qū),并且確定第(i_l)子緩存區(qū)4061中存儲的首扇區(qū)地址,記為第Y扇區(qū)。其中該首扇區(qū)地址為在各子緩存區(qū)4061內(nèi)當(dāng)前存儲的音頻數(shù)據(jù)對應(yīng)在光碟上的扇區(qū)起始位置,只要(X-Y)不等于 W(比如可以但不限于設(shè)定為光碟上75個扇區(qū)),則判定當(dāng)前需要在第(i-Ι)子緩存406重寫緩存406??刂颇K4042與反向?qū)懢彺娲_定模塊4041、搓碟檢測模塊403、伺服芯片402、緩存寫模塊405、緩存406分別連接,控制模塊4042用于當(dāng)反向?qū)懢彺娲_定模塊4041判定當(dāng)前需要在第(i_l)子緩存406重寫緩存406時,控制伺服芯片402使光頭401尋跡定位到光碟的第(X-W)扇區(qū),以使光頭401從該重新尋跡定位的位置讀取光碟上的數(shù)據(jù)。比較模塊4043,與緩存寫模塊405、控制模塊4042連接,比較模塊4043用于在光頭401讀到光碟的第(X-a)扇區(qū)(a的數(shù)值優(yōu)選但不限于設(shè)置為1、2或3或者其他小于W 的數(shù)值)后,將光頭401讀取的數(shù)據(jù)逐個與第i子緩存區(qū)4061中的前η (可以但不限于為 4)個字節(jié)的數(shù)據(jù)比較,將比較結(jié)果傳遞至控制模塊4042 ;控制模塊4042在比較模塊4043判定光頭401當(dāng)前讀取的數(shù)據(jù)與所述第i子緩存區(qū)4061中的前η個字節(jié)的數(shù)據(jù)不相同時,控制緩存寫模塊405,使緩存寫模塊405按照光頭 401的讀取順序,繼續(xù)將讀取的數(shù)據(jù)寫入第(i_l)子緩存區(qū)4061,直到比較模塊4043判定光頭401當(dāng)前讀取的數(shù)據(jù)與第i子緩存區(qū)4061中的前η個字節(jié)的數(shù)據(jù)相同為止。緩存寫模塊405,與處理器404中的控制模塊4042連接,用于在控制模塊4042的控制下,在光頭401尋跡定位到所述光碟的第(X-W)扇區(qū)之后,按照光頭401的讀取順序, 將讀取的數(shù)據(jù)寫入第(i_l)子緩存區(qū)4061。緩存406,由至少兩個子緩存區(qū)4061組成,各子緩存區(qū)4061用于存儲緩存寫模塊 405寫入的音頻數(shù)據(jù)。緩存讀模塊407,用于讀取緩存406內(nèi)的數(shù)據(jù),以將音頻數(shù)據(jù)輸入聲卡408,聲卡 408數(shù)據(jù)轉(zhuǎn)換成音頻信號,對外輸出音頻。本CD播放器中各部分的詳細工作原理可以但不限于參見實施例1、2中的描述。各子緩存區(qū)4061的設(shè)置可以但不限于如下一般地,⑶光碟正常速度下每秒鐘可讀取75個扇區(qū),數(shù)據(jù)的傳輸率為(75扇區(qū)/ 秒X2352字節(jié)/扇區(qū))=176400字節(jié)/秒。假設(shè)我們的系統(tǒng)總的內(nèi)存為8兆字節(jié),由于系統(tǒng)程序部分需要占用部分內(nèi)存,我們只預(yù)留可以存放30秒左右的CD音頻大小的緩存406給數(shù)字音頻做為緩存406用。在本實施例中,我們可以但不限于把30秒容量的緩存406,分解成30個子緩存區(qū) 4061來管理。設(shè)定每個子緩存區(qū)4061的大小為16+((75+ X235》個字節(jié)。對于每個子緩存區(qū)4061定義成如下結(jié)構(gòu)[0107]成員1 第一地址指針P1,指向本緩存406的下一緩存區(qū)首地址;成員2 第二地址指針P2,指向本緩存406的上一緩存區(qū)首地址;成員3 有效數(shù)據(jù)大小,用于標(biāo)識當(dāng)前子緩存區(qū)4061內(nèi)當(dāng)前存儲的有效音頻數(shù)據(jù)大??;成員4:首扇區(qū)地址,用于記載本子緩存區(qū)4061內(nèi)存儲的數(shù)字音頻數(shù)據(jù)在⑶碟上的首扇區(qū)地址。成員5 音頻數(shù)據(jù)存放區(qū),用于存放音頻數(shù)據(jù),比如在本實施例中可以但不限于將該音頻數(shù)據(jù)存儲區(qū)的大小設(shè)定為(75+2)X2352個字節(jié)]。在啟動播放系統(tǒng)而使用前,先做以下的初始化把30個緩存406的成員3 (當(dāng)前緩存406有效數(shù)據(jù)大小)清0 ;把30個緩存406的成員4 (當(dāng)前緩存406首扇區(qū)地址信息)清 0;同時,把成員1(指向下一個子緩存區(qū)4061首地址)按隊列方式賦值緩存4060的(下一個子緩存區(qū)4061首地址)成員=緩存4061的首地址;緩存4061的(下一個子緩存區(qū)4061首地址)成員=緩存4062的首地址;緩存40629的(下一個子緩存區(qū)4061首地址)成員=緩存4060的首地址。另外,把成員2(指向上一個子緩存區(qū)4061首地址)也按隊列方式賦值緩存4060的(上一個子緩存區(qū)4061首地址)成員=緩存40629的首地址;緩存4061的(上一個子緩存區(qū)4061首地址)成員=緩存4060的首地址;緩存40629的(上一個子緩存區(qū)4061首地址)成員=緩存40628的首地址。另外,把緩存讀指針、以及緩存寫指針都指向緩存4060。經(jīng)過以上處理,30個子緩存區(qū)4061將形成一個圓形大緩存406,它們通過地址指
針首尾相連。在正向播放過程中寫各子緩存區(qū)4061時,設(shè)定在各子緩存區(qū)4061中寫入的W(在本實施例中定為75)個扇區(qū)的數(shù)據(jù)。由于在各子緩存區(qū)4061中存儲相對于本子緩存區(qū)4061的上一子緩存區(qū)4061的首地址信息,故在反向播放時,緩存讀指針可以很快地在當(dāng)前子緩存區(qū)4061的音頻數(shù)據(jù)播放完畢后,緩存讀指針根據(jù)本子緩存區(qū)4061中的成員2的信息跳轉(zhuǎn)到上一子緩存區(qū)4061 反向播放該子緩存區(qū)4061中的數(shù)據(jù),使得該反向播放更加便捷。在各子緩存區(qū)4061中存儲相對于本子緩存區(qū)4061的下一子緩存區(qū)4061的首地址信息,故在正向播放時,指針可以很快地在當(dāng)前子緩存區(qū)4061的音頻數(shù)據(jù)播放完畢后, 緩存讀指針根據(jù)本子緩存區(qū)4061中的成員1的信息跳轉(zhuǎn)到下一子緩存區(qū)4061正向播放該子緩存區(qū)4061中的數(shù)據(jù),使得該正反向播放更加便捷。在各子緩存區(qū)4061中存儲數(shù)據(jù)在光碟上的首扇區(qū)地址(成員4),故在反向播放需要寫緩存406時,根據(jù)前后兩子緩存區(qū)4061中的首扇區(qū)地址信息,簡單準(zhǔn)確地確定當(dāng)前前后兩子緩存區(qū)4061中的音頻數(shù)據(jù)是否準(zhǔn)確連續(xù)。在各子緩存區(qū)4061中存儲相對本子緩存區(qū)4061的有效音頻數(shù)據(jù)大小信息,在正向播放或者反向播放時,緩存讀指針可以根據(jù)該有效音頻數(shù)據(jù)大小信息確定當(dāng)前是否讀取完畢本子緩存區(qū)4061內(nèi)的音頻數(shù)據(jù),在讀取完畢后確定在上一子緩存區(qū)4061(反向播放) 或者下一子緩存區(qū)4061 (正向播放)繼續(xù)讀取音頻數(shù)據(jù),播放音頻。以上對本實用新型實施例所提供的技術(shù)方案進行了詳細介紹,本文中應(yīng)用了具體個例對本實用新型實施例的原理以及實施方式進行了闡述,以上實施例的說明只適用于幫助理解本實用新型實施例的原理;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本實用新型實施例,在具體實施方式
以及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本實用新型的限制。
權(quán)利要求1. 一種CD播放器,其特征是,包括光頭、伺服芯片、處理器、緩存寫模塊、緩存讀模塊、 緩存;其中,所述光頭與所述伺服芯片電連接;所述處理器分別與所述伺服芯片、緩存寫模塊、緩存讀模塊、緩存電連接, 所述處理器包括控制模塊、比較模塊,所述控制模塊與所述伺服芯片、緩存寫模塊、緩存連接,所述比較模塊與所述控制模塊、以及所述緩存寫模塊連接, 所述緩存寫模塊、緩存讀模塊分別與所述緩存連接。
專利摘要本實用新型涉及音頻播放領(lǐng)域,公開了一種CD播放器。包括光頭、伺服芯片、處理器、緩存寫模塊、緩存讀模塊、緩存;其中,所述光頭與所述伺服芯片電連接;所述處理器分別與所述伺服芯片、比較模塊、緩存寫模塊、緩存讀模塊、緩存電連接,所述處理器包括控制模塊、比較模塊,所述控制模塊與所述伺服芯片、緩存寫模塊、緩存連接,所述比較模塊與所述控制模、以及所述緩存寫模塊連接,所述緩存寫模塊、緩存讀模塊分別與所述緩存連接。采用該播放器能夠在間歇寫緩存時,保證寫入緩存的數(shù)據(jù)的準(zhǔn)確連接。
文檔編號G11B7/00GK202102712SQ201020177929
公開日2012年1月4日 申請日期2010年4月26日 優(yōu)先權(quán)日2010年4月26日
發(fā)明者甘國鋒 申請人:佛山市智邦電子科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1