亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

多核系統(tǒng)、多核系統(tǒng)的控制方法以及在非暫態(tài)可讀介質(zhì)中存儲的程序的制作方法

文檔序號:6351151閱讀:156來源:國知局
專利名稱:多核系統(tǒng)、多核系統(tǒng)的控制方法以及在非暫態(tài)可讀介質(zhì)中存儲的程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及多核系統(tǒng)、多核系統(tǒng)的控制方法以及存儲程序的非暫態(tài)可讀介質(zhì)。
背景技術(shù)
已經(jīng)研發(fā)了包括由多核構(gòu)成的用于嵌入用途的多個CPU(中央處理單元)核的處理器(MPU :微處理単元)。這些處理器被形成在包括外圍設(shè)備的一個芯片上。操作多核(PU上的幾個不同OS (操作系統(tǒng))的技術(shù)是已知的。進(jìn)而,向多個CPU核通知單個中斷請求(IRQ:中斷請求)的方式被已知是MPU的功能。而且,能夠配置MPU以根據(jù)寄存器設(shè)置向哪ー個CPU核分配哪ー個中斷請求。此外,例如如圖8中所示,經(jīng)由I2S (IC間的聲音)總線從MPU50內(nèi)的CPU向 ADAC (音頻DAC) 51傳輸音頻數(shù)據(jù)的技術(shù)是已知的。音頻數(shù)據(jù)例如是PCM (脈沖編碼調(diào)制)音頻。注意到,I2S是由PHILIPS(注冊商標(biāo))制造的、形成音頻數(shù)據(jù)的接ロ設(shè)備的串行通信格式。在I2S標(biāo)準(zhǔn)中,能夠經(jīng)由I2S總線向ADAC 51輸出PCM音頻和壓縮音頻(例如μ -law和ADPCM)。而且,在圖8中,I2C(集成電路間)總線是用于由PHILIPS (注冊商標(biāo))研發(fā)的設(shè)備控制的串行總線。ADAC 51將音頻數(shù)據(jù)轉(zhuǎn)換為立體聲音頻。DAC是D/A轉(zhuǎn)換器。經(jīng)由揚(yáng)聲器播放從ADAC 51輸出的模擬音頻(立體聲)。此外,包括FIFO(先進(jìn)先出)緩沖器的I2S設(shè)備是已知的。這樣的I2C設(shè)備使存儲到FIFO緩沖器的音頻數(shù)據(jù)出列,并且經(jīng)由I2S總線將其輸出到ADAC。然后,在從FIFO緩沖器出列并減小的數(shù)據(jù)尺寸達(dá)到諸如4、8、16和32字節(jié)的邊界時,存在能夠生成中斷(以下將其稱為“FIFO邊界中斷”)的IS2設(shè)備。通常,該中斷用于PIO(編程的輸入/輸出)傳輸。

發(fā)明內(nèi)容
摶術(shù)問是頁本發(fā)明的申請人公開了用于在先前遞交的日本專利申請No. 2009-190103中的單個多核CPU上操作多個OS的技術(shù)。當(dāng)在這些多個OS之間共享I2C設(shè)備吋,即使在控制I2S設(shè)備的OS由于內(nèi)核恐慌、凍結(jié)等等而被禁用吋,該技術(shù)也能夠使能其它OS控制I2C設(shè)備。這通過簡單配置防止了聲音跳躍。這里,參照圖9A和圖9B說明在日本專利申請No. 2009-190103中公開的技術(shù)。圖9A示出了音頻數(shù)據(jù)和處理的流。主系統(tǒng)側(cè)的OS利用DMA傳輸完成中斷作為觸發(fā)進(jìn)行操作,并且執(zhí)行音頻數(shù)據(jù)的音頻混合處理以及DMA傳輸請求處理。然后,音頻混合處理之后的音頻數(shù)據(jù)被用DMA方式傳輸?shù)紽IFO。然而,在主系統(tǒng)側(cè)的OS被禁用吋,DMA傳輸請求處理將不在某ー時間內(nèi)被執(zhí)行。因此,生成I2S運(yùn)行下錯誤。因此,在DMA傳輸間隔(表明從生成DMA傳輸完成中斷直到生成I2S運(yùn)行下錯誤的時間)超出所述某ー時間吋,F(xiàn)IFO變?yōu)榭詹⑶疑陕曇籼S。
因此,在該技術(shù)中,在執(zhí)行音頻數(shù)據(jù)到被包括在I2S設(shè)備中的FIFO的DMA傳輸之后,多個OS接收DMA(直接存儲器訪問)傳輸中斷。待機(jī)側(cè)的OS利用DMA傳輸完成中斷作為觸發(fā)進(jìn)行操作,并且設(shè)置HW(硬件)定時器。進(jìn)而,主系統(tǒng)側(cè)的OS執(zhí)行音頻數(shù)據(jù)的音頻混合處理以及DMA傳輸請求處理,并且取消HW定時器。因此,能夠檢測到主系統(tǒng)側(cè)的OS由HW定時器的超時而被禁用。然后,在HW定時器超時時,其表明主系統(tǒng)側(cè)的OS被禁用。因此,進(jìn)行從主系統(tǒng)側(cè)的OS到待機(jī)系統(tǒng)側(cè)的OS的切換,并且繼續(xù)音頻混合處理和DMA傳輸請求處理,這防止使FIFO緩沖器排空并且防止生成聲音跳躍。如目前為止所描述的,在該技術(shù)中,檢測到主系統(tǒng)側(cè)的OS被禁用的待機(jī)系統(tǒng)側(cè)的OS代替主系統(tǒng)側(cè)的OS繼續(xù)所述音頻混合處理等等。而且,該技術(shù)使能用于執(zhí)行音頻混合處理等等的DMA傳輸中斷線程的處理方法以便不生成待根據(jù)DMA傳輸完成中斷的接收選擇的12S運(yùn)行下錯誤。具體地說,將取決于音頻混合處理時間的長度以及DMA傳輸間隔(たI2S運(yùn)行下錯誤生成時間)選擇模式A和B的處理方法之一。注意到,能夠根據(jù)實(shí)現(xiàn)環(huán)境的規(guī)范計(jì)算 音頻混合處理時間和DMA傳輸間隔。實(shí)現(xiàn)環(huán)境的規(guī)范例如是FIFO緩沖器級的數(shù)量、音頻采樣頻率、DMA傳輸尺寸以及I2S設(shè)備的CPU時鐘。參照圖9B說明模式A和B的選擇條件。圖9B示出了在模式A和B的選擇條件下音頻混合處理時間和I2S運(yùn)行下錯誤生成時間之間的關(guān)系。在滿足選擇條件“DMA傳輸間隔> (音頻混合處理時間X2)”吋,選擇模式A。模式A在音頻混合處理之后執(zhí)行DMA傳輸開始請求處理。即,在滿足該條件時,其在主系統(tǒng)的OS的音頻混合處理之后在不取消HW定時器的情況下被切換到待機(jī)系統(tǒng)的OS,并且即使在待機(jī)系統(tǒng)的OS執(zhí)行音頻混合處理之后開始DMA傳輸吋,也能夠在I2S運(yùn)行下錯誤生成時間逝去之前執(zhí)行DMA傳輸。在滿足選擇條件“DMA傳輸間隔彡(音頻混合處理時間X2)”吋,選擇模式B。模式B在DMA傳輸開始請求處理之后執(zhí)行音頻混合處理。即,在滿足該條件時,其在主系統(tǒng)的OS的音頻混合處理之后在不取消HW定時器的情況下被切換到待機(jī)系統(tǒng)的OS,并且當(dāng)在待機(jī)系統(tǒng)的OS執(zhí)行音頻混合處理之后開始DMA傳輸時,在I2S運(yùn)行下錯誤生成時間逝去之后執(zhí)行DMA傳輸。在滿足模式B時,在音頻混合處理之前執(zhí)行DMA傳輸開始請求處理。因此,如圖10 中所示,音頻數(shù)據(jù)以ー個分組(DMA傳輸尺寸)被預(yù)讀取和制備。具體地說,音頻數(shù)據(jù)被雙重緩沖。然而,在模式B中,音頻數(shù)據(jù)以ー個分組被預(yù)讀取。因此,存在的問題在于,在通過執(zhí)行圖片聲音同步的視頻播放器播放視頻時,在實(shí)際被播放的音頻數(shù)據(jù)和被識別為待由音頻播放器播放的音頻數(shù)據(jù)之間存在ー個分組間隙,并且圖片聲音同步的精確度降低。這里,參照圖11更加詳細(xì)地說明該問題。圖11圖示了在主系統(tǒng)側(cè)的OS是OS 72并且待機(jī)系統(tǒng)側(cè)的OS是OS 71時的情況。OS 71包括混合計(jì)數(shù)器712。OS 72包括混合計(jì)數(shù)器722。首先,在主系統(tǒng)側(cè)的OS 72上操作的應(yīng)用程序721 (附圖中被縮寫為“APP”)使音頻數(shù)據(jù)入列到聲音隊(duì)列82。應(yīng)用程序721例如播放包括48,OOOHz采樣頻率的16比特立體聲音頻的視頻。進(jìn)而,應(yīng)用程序721例如以(1024/48000)秒的間隔以4096字節(jié)為單位傳輸音頻數(shù)據(jù)。在待機(jī)系統(tǒng)側(cè)的OS 72上操作的應(yīng)用程序711 (附圖中被縮寫為“APP”)使音頻數(shù)據(jù)入列到聲音隊(duì)列81。然后,在主系統(tǒng)側(cè)的0S72上操作的軟件混合器723混合從聲音隊(duì)列81和82出列的音頻數(shù)據(jù)。軟件混合器723將混合的音頻數(shù)據(jù)作為用于DMA傳輸?shù)囊纛l數(shù)據(jù)存儲到用于DMA傳輸?shù)木彌_器73。被存儲到用于DMA傳輸?shù)木彌_器73的音頻數(shù)據(jù)被傳輸?shù)絀2S設(shè)備的FIFO 74。然后,由ADAC 75播放從FIFO 74出列的音頻數(shù)據(jù)。如目前為止提及的,軟件混合器723將從多個應(yīng)用程序輸出的具有不同采樣頻率和量化比特率的音頻數(shù)據(jù)轉(zhuǎn)換為單段音頻數(shù)據(jù)。而且,毎次在混合音頻數(shù)據(jù)時,軟件混合器723將用于被混合和生成的音頻數(shù)據(jù)的樣本數(shù)量的混合樣本數(shù)量計(jì)數(shù)器722的計(jì)數(shù)器值加起來。在主系統(tǒng)側(cè)的OS 72上操作的應(yīng)用程序721通過參照混合樣本數(shù)量計(jì)數(shù)器722的計(jì)數(shù)器值執(zhí)行音頻數(shù)據(jù)的傳輸間隔的計(jì)算以及圖片聲音同歩。即,在執(zhí)行圖片聲音同步并且播放視頻時,應(yīng)用程序721播放與混合音頻數(shù)據(jù)的樣本數(shù)量相對應(yīng)的圖像。因此,在如在模式B中以ー個分組預(yù)讀取音頻數(shù)據(jù)并且執(zhí)行混合的處理方法中,在所播放的圖像和被實(shí) 際輸出的音頻之間存在大的間隙,并且圖片聲音同步的精確度降低。為了解決上面提及的問題,本發(fā)明的目的在于提供一種能夠在抑制圖片聲音同步的精確度的降低的同時防止生成聲音跳躍的多核系統(tǒng)、多核系統(tǒng)的控制方法以及程序。技術(shù)方案在本發(fā)明的第一示例性方面中,ー種多核系統(tǒng)包括在第一處理器核上操作、混合第一和第二音頻數(shù)據(jù)并且將所混合的合成音頻數(shù)據(jù)存儲到用于DMA傳輸?shù)木彌_器的主系統(tǒng)程序,在第二處理器核上操作并且作為所述主系統(tǒng)程序的待機(jī)系統(tǒng)操作的待機(jī)系統(tǒng)程序,以及順序存儲從所述用于DMA傳輸?shù)木彌_器傳輸?shù)乃龊铣梢纛l數(shù)據(jù)并且播放所存儲的合成音頻數(shù)據(jù)的音頻輸出裝置,其中在被存儲到所述用于DMA傳輸?shù)木彌_器的所述合成音頻數(shù)據(jù)的存儲量沒有達(dá)到根據(jù)被存儲到所述音頻輸出裝置的所述合成音頻數(shù)據(jù)的存儲量確定的預(yù)定數(shù)據(jù)量時,所述待機(jī)系統(tǒng)程序接管并且執(zhí)行由所述主系統(tǒng)程序執(zhí)行的所述合成音頻數(shù)據(jù)的所述混合和所述存儲。在本發(fā)明的第二示例性方面中,一種多核系統(tǒng)的控制方法包括以下步驟由在第一處理器核上操作的主系統(tǒng)程序混合第一和第二音頻數(shù)據(jù)并且將所混合的合成音頻數(shù)據(jù)存儲到用于DMA傳輸?shù)木彌_器,由音頻輸出裝置順序存儲從所述用于DMA傳輸?shù)木彌_器傳輸?shù)乃龊铣梢纛l數(shù)據(jù)并且播放所存儲的合成音頻數(shù)據(jù),由在第二處理器核上操作并且作為所述主系統(tǒng)程序的待機(jī)系統(tǒng)操作的待機(jī)系統(tǒng)程序評估被存儲到所述用于DMA傳輸?shù)木彌_器的所述合成音頻數(shù)據(jù)的存儲量是否達(dá)到根據(jù)被存儲到所述音頻輸出裝置的所述合成音頻數(shù)據(jù)的存儲量確定的預(yù)定數(shù)據(jù)量,并且在評估達(dá)到所述預(yù)定數(shù)據(jù)量吋,由所述待機(jī)系統(tǒng)程序接管并且執(zhí)行由所述主系統(tǒng)程序執(zhí)行的所述合成音頻數(shù)據(jù)的所述混合和所述存儲。在本發(fā)明的第三示例性實(shí)施例中,一種存儲作為在處理器核上的主系統(tǒng)程序的待機(jī)系統(tǒng)操作的與所述主系統(tǒng)程序不同并且使所述處理器核執(zhí)行以下步驟的程序的非暫態(tài)可讀介質(zhì),所述步驟包括評估被存儲到用于DMA傳輸?shù)木彌_器的合成音頻數(shù)據(jù)的存儲量是否達(dá)到根據(jù)被存儲到音頻輸出裝置的所述合成音頻數(shù)據(jù)的存儲量確定的預(yù)定數(shù)據(jù)量,其中所述合成音頻數(shù)據(jù)被傳輸?shù)揭纛l輸出裝置并且由混合第一和第二音頻數(shù)據(jù)的所述主系統(tǒng)程序獲得,所述音頻輸出裝置順序存儲被傳輸?shù)乃龊铣梢纛l數(shù)據(jù)并且播放所存儲的合成數(shù)據(jù),并且所述用于DMA傳輸?shù)木彌_器存儲所述合成音頻數(shù)據(jù),以及在評估達(dá)到所述預(yù)定數(shù)據(jù)量時接管和執(zhí)行由所述主系統(tǒng)程序執(zhí)行的所述合成音頻數(shù)據(jù)的所述混合和所述存儲。技術(shù)效果通過上面提及的本發(fā)明的示例性方面的每ー個示例性方面,能夠提供一種能夠在抑制圖片聲音同步的精確度降低的同時防止生成聲音跳躍的多核系統(tǒng)、多核系統(tǒng)的控制方法和程序。


圖I是示出根據(jù)本發(fā)明示例性實(shí)施例的多核系統(tǒng)的硬件配置的概述的框圖;圖2是示出根據(jù)本發(fā)明示例性實(shí)施例的多核系統(tǒng)的硬件配置的概述的框圖;圖3是示出根據(jù)本發(fā)明示例性實(shí)施例的多核系統(tǒng)的功能配置的框圖;圖4是示出根據(jù)本發(fā)明示例性實(shí)施例的FIFO邊界中斷的次數(shù)與閾值之間關(guān)系的視圖;圖5是用于說明根據(jù)本發(fā)明示例性實(shí)施例在其中主系統(tǒng)側(cè)的OS正常操作的狀態(tài)下的音頻混合處理和DMA傳輸處理的順序圖;圖6是用于說明根據(jù)本發(fā)明示例性實(shí)施例在其中主系統(tǒng)側(cè)的OS被禁用的狀態(tài)下的音頻混合處理和DMA傳輸處理的順序圖;圖7是用于說明根據(jù)本發(fā)明示例性實(shí)施例的關(guān)于聲音隊(duì)列的參數(shù)的視圖;圖8是用于說明與本發(fā)明相關(guān)的技術(shù)的視圖;圖9A是示出與本發(fā)明相關(guān)的技術(shù)的音頻數(shù)據(jù)和處理的流的視圖;圖9B是示出與本發(fā)明相關(guān)的技術(shù)的音頻數(shù)據(jù)和處理的流的視圖;圖10是用于說明與本發(fā)明相關(guān)的技術(shù)的音頻混合處理和DMA傳輸開始請求處理的處理方法的視圖;以及圖11是用于說明與本發(fā)明相關(guān)的技術(shù)的圖片聲音同步精確度問題的視圖。
具體實(shí)施例方式首先參照圖I說明根據(jù)本發(fā)明示例性實(shí)施例的多核系統(tǒng)的概述。圖I是示出根據(jù)該示例性實(shí)施例的多核系統(tǒng)的硬件配置的概述的框圖。多核系統(tǒng)2包括處理器核61和62、用于DMA傳輸?shù)木彌_器63以及音頻輸出單兀64。處理器核61操作作為主系統(tǒng)操作的程序610。處理器核62操作作為待機(jī)系統(tǒng)操作的程序620。用于DMA傳輸?shù)木彌_器63存儲由程序61和62混合的合成音頻數(shù)據(jù)。音頻輸出單元64順序存儲從用于DMA傳輸?shù)木彌_器63傳輸?shù)暮铣梢纛l數(shù)據(jù)并且播放所存儲的合成音頻數(shù)據(jù)。程序610混合第一和第二音頻數(shù)據(jù)并且將混合的合成音頻數(shù)據(jù)存儲到用于DMA傳輸?shù)木彌_器63。程序61是作為主系統(tǒng)操作的程序。
、
程序620作為主系統(tǒng)程序的待機(jī)系統(tǒng)操作。接下來說明根據(jù)本發(fā)明示例性實(shí)施例的多核系統(tǒng)的處理的概述。
主系統(tǒng)的程序610混合第一和第二音頻數(shù)據(jù)并且將混合的合成音頻數(shù)據(jù)存儲到用于DMA傳輸?shù)木彌_器63。然后,在被存儲到用于DMA傳輸?shù)木彌_器63的合成音頻數(shù)據(jù)達(dá)到某一數(shù)據(jù)量時,被存儲到用于DMA傳輸?shù)木彌_器63的合成音頻數(shù)據(jù)被傳輸?shù)揭纛l輸出單元64。音頻輸出単元64順序存儲從用于DMA傳輸?shù)木彌_器63傳輸?shù)暮铣梢纛l數(shù)據(jù)并且播放所存儲的合成音頻數(shù)據(jù)。待機(jī)系統(tǒng)的程序620評估被存儲到用于DMA傳輸?shù)木彌_器63的合成音頻數(shù)據(jù)的存儲量是否達(dá)到根據(jù)被存儲到音頻輸出単元64的合成音頻數(shù)據(jù)的存儲量確定的預(yù)定數(shù)據(jù)量。然后,在還沒有達(dá)到預(yù)定數(shù)據(jù)量時,其接管并且執(zhí)行由主程序610執(zhí)行的合成音頻數(shù)據(jù)的混合和存儲。接下來參照圖2和圖3說明根據(jù)本發(fā)明示例性實(shí)施例的多核系統(tǒng)。圖2是示出根據(jù)該示例性實(shí)施例的多核系統(tǒng)的硬件配置的框圖。 如圖2中所示,多核系統(tǒng)I包括用于嵌入的MPU 10、音頻輸出設(shè)備20以及SDRAM(同步動態(tài)隨機(jī)訪問存儲器)30。SDRAM用作外部共享存儲器。MPU 10是將多核CPU和外圍設(shè)備(I2S設(shè)備13、I2C設(shè)備14以及DMAC 15)集成在一個芯片上的IC(集成電路)。CPU 11和12分別包括ー個或者多個CPU核。例如,在包括四個CPU核的多核CPU中,CPU 11包括ー個CPU核并且CPU 12包括三個CPU核。進(jìn)而,CPU 11和12可以由多個多核CPU構(gòu)成。CPU核等效于處理器核61和62。MPU 10在多核CPU上操作多個OS。OS 110在CPU 11上操作。OS 120在CPU 12上操作。注意到,OS 110和OS 120是不同種類的OS。例如,可以存在其中OS 110是諸如μ ITRON的實(shí)時OS并且OS 120是高度功能嵌入式OS的組合。高度功能嵌入式OS例如是嵌入式Linux (注冊■商標(biāo))和Windows CE (注冊■商標(biāo))等等。應(yīng)用程序111(附圖中被縮寫為“APP”)和作為設(shè)備驅(qū)動器的聲音驅(qū)動器112在OS 110上操作。從應(yīng)用程序111輸出的音頻數(shù)據(jù)被輸入到聲音驅(qū)動器112。進(jìn)而,應(yīng)用程序121、122和123(在附圖中分別被縮寫為“APP”),聲音服務(wù)器124以及作為設(shè)備驅(qū)動器的聲音驅(qū)動器125在OS 120上操作。從應(yīng)用程序121和應(yīng)用程序122輸出的音頻數(shù)據(jù)被輸入到聲音服務(wù)器124。從聲音服務(wù)器124輸出的音頻數(shù)據(jù)以及從應(yīng)用程序123輸出的音頻數(shù)據(jù)被輸入到聲音驅(qū)動器125。I2S設(shè)備13經(jīng)由I2S總線(I2S總線)向ADAC&AMP 21傳輸音頻數(shù)據(jù)。I2S設(shè)備13是ー個設(shè)備。I2S設(shè)備13包括FIFO 131。I2S設(shè)備13將音頻數(shù)據(jù)存儲到FIFO 131。這里,I2S設(shè)備13將立體聲PCM處理為音頻數(shù)據(jù)。I2C設(shè)備14是用于設(shè)備控制的串行總線。使用I2C設(shè)備14以便執(zhí)行從被包括在ADAC中的寄存器的讀取和到該寄存器的寫入。DMAC (DMA控制器)15控制在MPU 10外側(cè)連接的SDRAM 30與其它設(shè)備之間的DMA傳輸。這里,使用DMAC 15的一個信道執(zhí)行從SDRAM 30上的OS 40之間的共享存儲器到I2S設(shè)備13的FIF0131的音頻數(shù)據(jù)的傳輸。注意到,在該示例性實(shí)施例中說明了通常OS 120側(cè)的聲音驅(qū)動器125執(zhí)行音頻混合處理和外圍設(shè)備(I2S設(shè)備13、I2C設(shè)備14以及DMAC 15)的控制。音頻輸出設(shè)備20包括ADAC&AMP 21和揚(yáng)聲器22。ADAC&AMP 21構(gòu)成音頻輸出設(shè)備20的外部接ロ。ADAC&AMP 21將經(jīng)由I2S總線傳輸?shù)囊纛l數(shù)據(jù)轉(zhuǎn)換為模擬信號并且將其放大。ADAC&AMP 21使用揚(yáng)聲器22播放模擬信號。I2S設(shè)備13和音頻輸出單元20等效于首頻輸出單兀64。SDRAM 30是經(jīng)由總線在MPU 10外側(cè)連接的易失性存儲器(RAM)。在SDRAM 30中確保了作為在OS 40之間的共享存儲器的在MPU 10的OS之間共享的存儲器空間。在OS 40之間的共享存儲器中,設(shè)置聲音隊(duì)列(聲音隊(duì)列41、聲音隊(duì)列42以及聲音隊(duì)列43)以及用于DMA傳輸?shù)木彌_器44。聲音隊(duì)列是存儲由應(yīng)用程序輸出的音頻數(shù)據(jù)的環(huán)形緩沖器。與用于輸出音頻數(shù)據(jù)的應(yīng)用程序的數(shù)量相對應(yīng)的隊(duì)列被創(chuàng)建為聲音隊(duì)列。這里,創(chuàng)建與OS 110的應(yīng)用程序111、0S 120的聲音服務(wù)器124以及OS 120的應(yīng)用程序123相對應(yīng)的三個聲音隊(duì)列(聲音隊(duì)列41、聲音隊(duì)列42以及聲音隊(duì)列43)。利用音頻混合處理執(zhí)行聲音隊(duì)列(聲音隊(duì)列41、聲音隊(duì)列42以及聲音隊(duì)列43)的音頻數(shù)據(jù),并且然后將其存儲到用于DMA傳輸?shù)木彌_器44。注意到,可以使用除了環(huán)形緩沖器的入列裝置組成聲音隊(duì)列。 圖3是示出根據(jù)該示例性實(shí)施例的多核系統(tǒng)的功能配置的框圖。圖3示出了圖2中示出的聲音驅(qū)動器112被劃分為高級應(yīng)用Ι/F単元113和驅(qū)動器核単元114。進(jìn)而,其示出了聲音驅(qū)動器125被劃分為高級應(yīng)用Ι/F単元126和驅(qū)動器核単元127。高級應(yīng)用I/F單元113包括采樣速率轉(zhuǎn)換功能116。高級應(yīng)用Ι/F單元126包括采樣速率轉(zhuǎn)換功能130。高級應(yīng)用Ι/F単元113將從應(yīng)用程序111輸出的音頻數(shù)據(jù)存儲到OS 40之間的共享存儲器內(nèi)側(cè)的聲音隊(duì)列41。此時,高級應(yīng)用Ι/F単元113的采樣速率轉(zhuǎn)換功能116在必要時對從應(yīng)用程序111接收的音頻數(shù)據(jù)執(zhí)行采樣速率的轉(zhuǎn)換以及量化比特率的轉(zhuǎn)換。高級應(yīng)用Ι/F単元113將所轉(zhuǎn)換的音頻數(shù)據(jù)存儲到OS 40之間的共享存儲器內(nèi)側(cè)的聲音隊(duì)列41。高級應(yīng)用Ι/F単元126將從聲音服務(wù)器124和應(yīng)用程序123輸出的音頻數(shù)據(jù)存儲到OS 40之間的共享存儲器內(nèi)側(cè)的聲音隊(duì)列42和43。此時,高級應(yīng)用Ι/F單元126的采樣速率轉(zhuǎn)換功能130對從聲音服務(wù)器124和應(yīng)用程序123接收的音頻數(shù)據(jù)執(zhí)行采樣速率的轉(zhuǎn)換以及量化比特率的轉(zhuǎn)換。高級應(yīng)用Ι/F単元126將所轉(zhuǎn)換的音頻數(shù)據(jù)存儲到OS 40之間的共享存儲器中的聲音隊(duì)列42和43。采樣速率轉(zhuǎn)換功能116和130例如將48kHz 23比特音頻轉(zhuǎn)換為44. IkHz 16比特音頻。驅(qū)動器核単元114和127混合被存儲到OS 40之間的共享存儲器的每ー個聲音隊(duì)列的音頻數(shù)據(jù)。驅(qū)動器核単元114和127使用DMA傳輸將音頻混合處理之后的音頻數(shù)據(jù)傳輸?shù)絀2S設(shè)備13的FIFO 131。注意到,在該示例性實(shí)施例中,作為聲音驅(qū)動器112和125的一部分并且執(zhí)行音頻混合處理以及I2S設(shè)備13和I2C設(shè)備14的控制的功能単元被定義為驅(qū)動器核単元114和125。進(jìn)而,音頻混合處理表明混合從在每ー個OS上操作的多個應(yīng)用程序輸出的音頻數(shù)據(jù)并且作為單段音頻數(shù)據(jù)復(fù)制到用于DMA傳輸?shù)膮^(qū)域(用于DMA傳輸?shù)木彌_器44)的處理。在該示例性實(shí)施例中,在系統(tǒng)操作時僅多個OS中的ー個OS (主系統(tǒng))的驅(qū)動器核単元操作。其它OS(待機(jī)系統(tǒng))的驅(qū)動器核単元通常處于空閑狀態(tài)。僅在主系統(tǒng)側(cè)的OS具有內(nèi)核恐慌或者凍結(jié)時待機(jī)系統(tǒng)才操作。注意到,主系統(tǒng)表明包括在正常時間操作的驅(qū)動器核単元的系統(tǒng)。待機(jī)系統(tǒng)表明包括在主系統(tǒng)側(cè)被禁用時操作的驅(qū)動器核単元的系統(tǒng)。這里,主系統(tǒng)和待機(jī)系統(tǒng)是用于聲音播放功能(聲音驅(qū)動器的部分功能)的主系統(tǒng)和待機(jī)系統(tǒng)并且不必表明該主系統(tǒng)OS和待機(jī)系統(tǒng)OS。S卩,待機(jī)系統(tǒng)側(cè)的OS表明包括作為關(guān)于聲首播放功能的待機(jī)系統(tǒng)的功能的OS。軟件混合器128是由驅(qū)動器核単元127調(diào)用的功能。軟件混合器128混合被存儲到每ー個聲音隊(duì)列的音頻數(shù)據(jù)。軟件混合器128將所混合的音頻數(shù)據(jù)存儲到用于DMA傳輸?shù)木彌_器44。公共中斷控制單元16向每ー個CPU核分配中斷請求(IRQ)?;旧?,公共中斷控制單元16被包括以作為MPU 10內(nèi)側(cè)的硬件功能。注意到,在公共中斷控制單元16沒有被作為MPU 10內(nèi)側(cè)的硬件功能安裝時,其能夠被實(shí)施為軟件功能。被輸入到公共中斷控制單元16的中斷請求是在完成音頻數(shù)據(jù)的DMA傳輸時由DMAC 15發(fā)出的DMA傳輸完成中斷以及由I2S設(shè)備13發(fā)出的FIFO邊界中斷。當(dāng)自從生成DMA傳輸完成中斷以來在某ー時間內(nèi)不存在DMA傳輸請求吋,I2S設(shè)備13的FIFO 131的緩沖器變?yōu)榭詹⑶疑蒊2S運(yùn)行下錯誤。驅(qū)動器管理単元115是由待機(jī)系統(tǒng)側(cè)的OS的中斷處理程序調(diào)用的功能組。驅(qū)動器管理単元115執(zhí)行HW定時器17的設(shè)置、FIFO邊界中斷的開/關(guān)的設(shè)置以及將使用主系統(tǒng)的驅(qū)動器核単元的操作切換到使用待機(jī)系統(tǒng)的驅(qū)動器核単元的操作的切換處理。注意到,HW定時器17表明被包括在MPU 10中的硬件定時器。接下來說明根據(jù)本發(fā)明示例性實(shí)施例的多核系統(tǒng)的操作。在執(zhí)行從SDRAM 30到FIFO 131的DMA傳輸之后,多個OS 110和120接收DMA傳輸完成中斷。在主系統(tǒng)側(cè)的OS 120正常操作時,所接收的DMA傳輸完成中斷到達(dá)DMA傳輸完成中斷線程129。然后,DMA傳輸完成中斷線程129利用音頻數(shù)據(jù)的DMA傳輸完成中斷作 為觸發(fā)進(jìn)行操作并且執(zhí)行音頻數(shù)據(jù)的音頻混合處理以及DMA傳輸請求處理。然后,在音頻混合處理之后被存儲到用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)被從SDRAM 30用DMA方式傳輸?shù)?FIF0131。注意到,關(guān)于音頻混合處理和DMA傳輸開始請求處理的處理順序,根據(jù)在主系統(tǒng)側(cè)的OS 120中音頻混合處理時間與I2S運(yùn)行下錯誤之間的關(guān)系選擇模式A和模式B中的ー個。在滿足選擇條件“DMA傳輸間隔> (音頻混合處理時間X2)”吋,選擇模式A。然后,在模式A中,按照在音頻混合處理之后執(zhí)行DMA傳輸開始請求處理的順序執(zhí)行所述處理。即,在這種情況下,在DMA傳輸開始請求處理之前執(zhí)行音頻混合處理。在滿足選擇條件“DMA傳輸間隔彡(音頻混合處理時間X2)”吋,選擇模式B。然后,在模式B中,按照在DMA傳輸開始請求處理之后執(zhí)行音頻混合處理的順序執(zhí)行所述處理。即,在這種情況下,在音頻混合處理之前執(zhí)行DMA傳輸開始請求處理。進(jìn)而,為了預(yù)讀取音頻數(shù)據(jù)的一個分組(作為DMA傳輸尺寸)以執(zhí)行DMA傳輸,要求音頻的雙重緩沖處理。而且,在該示例性實(shí)施例中,在滿足選擇條件“音頻混處理時間く DMA傳輸間隔((音頻混合處理時間X2)”時,即使在滿足選擇條件“DMA傳輸間隔< (音頻混合處理時間X 2)”時,也選擇模式A。具體地說,模式B的選擇條件精確地為“音頻混合處理時間彡DMA傳輸間隔”并且“DMA傳輸間隔彡(音頻混合處理時間X2)”。接下來說明根據(jù)本發(fā)明示例性實(shí)施例的多核系統(tǒng)的主系統(tǒng)側(cè)的OS 120的監(jiān)視功能。首先說明在滿足選擇條件“DMA傳輸間隔> (音頻混合處理時間X2)”時選擇模式A的情況和選擇模式B的情況。在這種情況下,在待機(jī)系統(tǒng)側(cè)的OS 110接收DMA傳輸完成中斷時,由被包括在待機(jī)系統(tǒng)側(cè)的OS 110中的中斷處理程序操作的驅(qū)動器管理単元115設(shè)置HW定時器17。然后,在DMA傳輸完成中斷達(dá)到主系統(tǒng)側(cè)的OS 120的DMA傳輸完成中斷線程129吋,DMA傳輸完成中斷線程129取消設(shè)置HW定時器17。因此,在DMA傳輸完成中斷沒有達(dá)到主系統(tǒng)側(cè)的OS 120的DMA傳輸完成中斷線程129時,設(shè)置HW定時器17將不被取消并且將超吋。因此,能夠根據(jù)是否存在HW定時器17的超時監(jiān)視主系統(tǒng)側(cè)的OS 120的禁用操作。接下來說明在選擇條件“音頻混合處理時間< DMA傳輸間隔< (音頻混合處理時間X 2)”時選擇模式A的情況。在這種情況下,在待機(jī)系統(tǒng)側(cè)的OS 110接收DMA傳輸完成中斷時,由被包括在待機(jī)系統(tǒng)側(cè)的OS 110中的中斷處理程序操作的驅(qū)動器管理單元115允許由I2S設(shè)備13接收FIFO邊界中斷。進(jìn)而,在待機(jī)系統(tǒng)側(cè)的OS 110接收FIFO邊界中斷時,驅(qū)動器管理單元115評估被存儲到用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)的樣本數(shù)量是否到達(dá)預(yù)定閾值。作為該評估的結(jié)果,在音頻數(shù)據(jù)的樣本數(shù)量沒有達(dá)到根據(jù)被存儲到FIFO 131的音頻數(shù)據(jù)的樣本數(shù)量計(jì)算的預(yù)定閾值時,驅(qū)動器管理単元115執(zhí)行將使用主系統(tǒng)的驅(qū)動器核単元127的操作切換到使用待機(jī)系統(tǒng)的驅(qū)動器核単元114的操作的切換處理。這里,預(yù)定閾值是如下基準(zhǔn)值,該基準(zhǔn)值用于評估能夠完成剰余音頻混合處理和DMA傳輸請求處理的執(zhí)行的樣本數(shù)量的音頻數(shù)據(jù)是否被存儲到用于DMA傳輸?shù)木彌_器44直到使被存儲到FIF0131的全部剰余音頻數(shù)據(jù)出列。即,在被存儲到用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)的樣本數(shù)量達(dá)到預(yù)定閾值吋,即使在從那時起執(zhí)行剩余的音頻混合處理和DMA傳輸請求處理吋,也不將生成I2C運(yùn)行下錯誤。能夠例如通過參照FIFO 131的寄存器識別被存儲到FIFO 131的音頻數(shù)據(jù)的樣本數(shù)量。進(jìn)而,能夠根據(jù)生成FIFO邊界中斷的次數(shù)獲得從FIFO 131出列的音頻數(shù)據(jù)的尺寸。而且,能夠根據(jù)該尺寸獲得從FIFO 131出列的音頻數(shù)據(jù)的樣本數(shù)量。因此,能夠根據(jù)生成FIFO邊界中斷的次數(shù)計(jì)算被存儲到FIFO 131的音頻數(shù)據(jù)的樣本數(shù)量。這里,在操作被切換到待機(jī)系統(tǒng)的驅(qū)動器核単元114時,待機(jī)系統(tǒng)側(cè)的驅(qū)動器核単元114接管并且執(zhí)行一部分由主系統(tǒng)側(cè)的驅(qū)動器核単元127執(zhí)行的音頻混合處理。待機(jī)系統(tǒng)的驅(qū)動器核単元114能夠參照被存儲到用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)的樣本數(shù)量識別由主系統(tǒng)側(cè)的驅(qū)動器核単元127混合的音頻數(shù)據(jù)的樣本數(shù)量。然后,能夠根據(jù)被存儲到聲音隊(duì)列41、42和43的音頻數(shù)據(jù)識別被接管以開始混合的音頻數(shù)據(jù)。注意到,被存儲到用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)的樣本數(shù)量能夠由將值存儲到OS 40之間的共享存儲器的軟件混合器128識別或者能夠通過對被存儲到用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)的樣本數(shù)量進(jìn)行計(jì)數(shù)來識別。接下來參照圖4說明閾值的示例。圖4是示出FIFO邊界中中斷的次數(shù)與閾值之間關(guān)系的視圖。圖4是示出作為多核系統(tǒng)I的操作規(guī)范在音頻采樣頻率為大約48000Hz、12S運(yùn)行下錯誤生成時間為1200 μ s、音頻混合處理時間為700 μ s并且DMA傳輸單元為1024個樣本時確定的閾值的示例。大約48000Hz的值是由以MPEG(移動圖像專家組)視頻等等輸出的音頻使用的頻率。FIFO 131圖示了在級的數(shù)量為64級并且要求150ys(l/48000Hz ^ 18. 75ys以傳輸一個級)以傳輸八級的數(shù)據(jù)時的情況。這里,ー個樣本的音頻數(shù)據(jù)被存儲在ー個級中。而且,混合的音頻數(shù)據(jù)的尺寸應(yīng)該為四個字節(jié)。即,其圖示了只要在被存儲到FIFO 131的音頻數(shù)據(jù)以32(四個字節(jié)X八級)字節(jié)降低時就生成FIFO邊界中斷的情況。在圖4中,“FIFO邊界中斷的次數(shù)”表明自從接收DMA傳輸完成中斷以來的中斷次數(shù)。而且,“生成FIFO邊界中斷的時間”表明自從接收DMA傳輸完成中斷以來的時間。注意至IJ,能夠根據(jù)被存儲到FIFO 131的音頻數(shù)據(jù)的樣本數(shù)量以及音頻采樣頻率計(jì)算閾值。例如,在生成第七FIFO邊界中斷時,F(xiàn)IFO 131的剩余樣本數(shù)量為八個樣本。因此,能夠計(jì)算出,在用于傳輸八個樣本的150 μ S逝去之后將存在I2S運(yùn)行下錯誤。這里,在生成第七邊界中斷時,在期望值是利用150 μ s的限額完成DMA傳輸單元的樣本數(shù)量的音頻數(shù)據(jù)的混合吋,1024個樣本的音頻數(shù)據(jù)需要被存儲到用于DMA傳輸?shù)木彌_器44。在這種情況下,如圖4中所示,將閾值設(shè)置為“1024”。
如圖4中所示,驅(qū)動器管理単元115通過使能參照根據(jù)FIFO 131的剩余樣本的數(shù)量以及音頻采樣頻率計(jì)算閾值的公式以及根據(jù)FIF0131的剩余樣本的數(shù)量識別閾值的表格能夠識別該閾值。該公式或者表格能夠通過被包括在驅(qū)動器管理単元115以及OS 40之間的共享存儲器中而由驅(qū)動器管理単元15參照。接下來參照圖5和圖6說明在檢測主系統(tǒng)側(cè)的OS 120的禁用操作時驅(qū)動器核單元的切換操作。首先,參照圖5說明在主系統(tǒng)側(cè)的OS 120正常操作時在接收DMA傳輸完成中斷之后的處理。圖5是用于說明在其中主系統(tǒng)側(cè)的OS 120正常操作的狀態(tài)下音頻混合處理和DMA傳輸處理的順序圖。注意到,盡管如圖3中所示經(jīng)由公共中斷控制單元16向驅(qū)動器管理単元115輸出FIFO邊界中斷,但是圖5和圖6省去了該點(diǎn)。首先,在MPU 10接收DMA傳輸完成中斷時,公共中斷控制單元16向多個CPU核傳輸中斷請求(IRQ) (S101)。接下來,在從公共中斷控制單元16接收中斷請求(IRQ)時,在待機(jī)系統(tǒng)側(cè)的OS110上操作的驅(qū)動器管理單元115向I2S設(shè)備13輸出FIFO邊界中斷開始請求(S102)。響應(yīng)于FIFO邊界中斷開始請求的輸出,I2S設(shè)備13開始輸出FIFO邊界中斷。接下來,響應(yīng)于FIFO邊界中斷的輸出,驅(qū)動器管理単元115獲得被存儲到用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)的樣本數(shù)量。驅(qū)動器管理単元115評估所獲得的樣本數(shù)量是否達(dá)到閾值(S103)。在樣本數(shù)量達(dá)到閾值時,由于主系統(tǒng)側(cè)的驅(qū)動器核127正常操作并且執(zhí)行音頻混合處理,因此驅(qū)動器管理単元115將不向待機(jī)系統(tǒng)的驅(qū)動器核単元114切換操作。接下來,在音頻混合處理正常結(jié)束時,主系統(tǒng)側(cè)的驅(qū)動器核単元127向I2S設(shè)備輸出FIFO邊界中斷停止請求(S104)。響應(yīng)于FIFO邊界中斷停止請求的輸出,I2S設(shè)備13停止FIFO邊界中斷的輸出。接下來,參照圖6說明在主系統(tǒng)側(cè)的OS 120被禁用時使用待機(jī)系統(tǒng)側(cè)的OS繼續(xù)執(zhí)行音頻混合處理和DMA傳輸處理的處理。圖6是用于說明在其中主系統(tǒng)側(cè)的OS 120被禁用的狀態(tài)下音頻混合處理和DMA傳輸處理的順序圖。注意到,由于圖6中示出的S201和S202的處理與圖5中示出的SlOl和SlOl的處理相同,因此這里省去對其的說明。驅(qū)動器管理単元115響應(yīng)于FIFO邊界中斷的輸出獲得被存儲到DMA傳輸緩沖器的音頻數(shù)據(jù)的樣本數(shù)量。驅(qū)動器管理単元115評估所獲得的樣本數(shù)量是否達(dá)到閾值(S203)。這里,在圖6中,在主系統(tǒng)側(cè)的OS 120被禁用時,不執(zhí)行音頻混合處理并且樣本的數(shù)量將不達(dá)到閾值。由于在樣本數(shù)量沒有達(dá)到閾值時主系統(tǒng)側(cè)的驅(qū)動器核単元127并不正常操作,因此驅(qū)動器管理単元115向待機(jī)系統(tǒng)的驅(qū)動器核単元114切換操作。具體地說,驅(qū)動器管理単元115請求待機(jī)系統(tǒng)側(cè)的驅(qū)動器核単元114開始音頻混合處理。然后,待機(jī)系統(tǒng)側(cè)的驅(qū)動器核単元114開始音頻混合處理。在操作被切換之后,待機(jī)系統(tǒng)的驅(qū)動器核單元114向I2S設(shè)備輸出FIFO邊界中斷停止請求(S204)。響應(yīng)于FIFO邊界中斷停止請求的輸出,I2S設(shè)備13停止FIFO邊界中斷的輸出。然后,自從主系統(tǒng)側(cè)的OS 120被禁用以來,待機(jī)系統(tǒng)的驅(qū)動器核單元114接管音頻數(shù)據(jù)的音頻混合處理。這里,參照圖7說明自從主系統(tǒng)側(cè) 的OS 120被禁用以來接管音頻數(shù)據(jù)的音頻混合處理的處理。如圖7中所示,在該示例性實(shí)施例中,除了通用環(huán)形緩沖器的參數(shù)(前面和后面)之外,向每個聲音隊(duì)列(環(huán)形緩沖器)添加參數(shù)前面2。這里,前面是用于由主系統(tǒng)側(cè)的驅(qū)動器核単元127使用的出列的參數(shù)。進(jìn)而,后面是用于由每個OS的高級應(yīng)用Ι/F単元126和113使用的入列的參數(shù)。而且,前面2是用于由待機(jī)系統(tǒng)側(cè)的驅(qū)動器核単元114使用的出列的參數(shù)。參數(shù)前面2用于在音頻混合處理期間主系統(tǒng)側(cè)的OS 120被禁用時維持音頻數(shù)據(jù)的一致性。例如,在待機(jī)系統(tǒng)側(cè)的OS 110空閑的同時,在DMA傳輸開始請求之后,主系統(tǒng)側(cè)的驅(qū)動器核單元127使用I2S設(shè)備13的FIFO 131中的第一完全中斷的生成作為觸發(fā)對于DMA傳輸?shù)拇螖?shù)計(jì)數(shù)前面2。注意到,前面2的計(jì)數(shù)方法并不局限于此,而是可以使用更加簡單的方法。例如,其可以是其中在線程存在處主系統(tǒng)側(cè)的DMA傳輸完成中斷線程計(jì)數(shù)前面2的配置。即,可以禁止和執(zhí)行I2S設(shè)備13的FIFO 131中的完全中斷。在主系統(tǒng)側(cè)的OS 120正常操作時,DMA傳輸完成中斷線程129從由前面表明的位置使音頻數(shù)據(jù)出列(由圖7中的陰影表明的部分)。使用前面對該出列處理進(jìn)行計(jì)數(shù)。即,毎次在使音頻數(shù)據(jù)出列時對于所出列的音頻數(shù)據(jù)的樣本數(shù)量計(jì)數(shù)前面。接下來,主系統(tǒng)側(cè)的驅(qū)動器核単元127使用調(diào)用的軟件混合器功能執(zhí)行從聲音隊(duì)列輸出的多段音頻數(shù)據(jù)的音頻混合處理。隨后,在音頻混合處理之后被存儲到用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)被從SDRAM 30用DMA方式傳輸?shù)絀2S設(shè)備13的FIFO 131。這里,使用前面2對DMA傳輸?shù)拇螖?shù)進(jìn)行計(jì)數(shù)。即,在執(zhí)行DMA傳輸?shù)娜魏螘r候,對于用DMA方式傳輸?shù)囊纛l數(shù)據(jù)的樣本數(shù)量計(jì)數(shù)前面2。因此,在主系統(tǒng)側(cè)的OS 120正常操作時,前面2在前面之后并且在前面從與前面2相同的位置開始之后發(fā)生改變。另ー方面,在主系統(tǒng)側(cè)的OS 120被禁用時,途中的音頻數(shù)據(jù)的出列停止并且前面的計(jì)數(shù)停止。此外,由于通過主系統(tǒng)側(cè)的OS 120變?yōu)楸唤脤⒉粓?zhí)行DMA傳輸,因此前面2的計(jì)數(shù)停止并且前面2的位置將不被更新。這里,如圖7中所示,假設(shè)其中在主系統(tǒng)側(cè)的OS 120被禁用并且前面和前面2停止時,切換的待機(jī)系統(tǒng)側(cè)的驅(qū)動器核単元114開始使用被調(diào)用的軟件混合器功能從由前面表明的位置使音頻數(shù)據(jù)出列的情形。在這種情形下,在從使用前面表明的位置開始音頻數(shù)據(jù)的出列時,可能丟失的音頻數(shù)據(jù)將被出列,并且不能夠確保音頻數(shù)據(jù)的一致性。因此,在主系統(tǒng)側(cè)的OS 120被禁用并且前面和前面2停止吋,切換的待機(jī)系統(tǒng)側(cè)的驅(qū)動器核単元114開始使用所調(diào)用的軟件混合器功能從由前面2表明的位置使音頻數(shù)據(jù)出列。然后,由于能夠在主系統(tǒng)側(cè)的OS 120被禁用之前從音頻數(shù)據(jù)開始出列,因此能夠確保在切換之前和之后音頻數(shù)據(jù)的一致性。這里,在滿足選擇條件“音頻混合處理時間< DMA傳輸間隔< (音頻混合處理時間X 2) ”并且選擇模式A時,參照用于DMA傳輸?shù)木彌_器44對于被存儲到該用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)的樣本數(shù)量減ー計(jì)數(shù)前面2。然后,從由前面2表明的位置開始音頻數(shù)據(jù)的出列。這里,在被存儲到用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)中可能丟失的音頻數(shù)據(jù)將是在結(jié)束處由主系統(tǒng)側(cè)的驅(qū)動器核単元127音頻混合并且存儲的音頻數(shù)據(jù)。因此,如上所 述,在待機(jī)系統(tǒng)側(cè)的驅(qū)動器核単元114中,通過從在結(jié)束處由主系統(tǒng)側(cè)的驅(qū)動器核単元127音頻混合和存儲的音頻數(shù)據(jù)接管和執(zhí)行音頻混合處理,能夠確保在切換之前和之后音頻數(shù)據(jù)的一致性。即,待機(jī)系統(tǒng)側(cè)的驅(qū)動器核単元114從聲音隊(duì)列41、42和43的位置中在由被存儲到用于DMA傳輸?shù)木彌_器44的音頻數(shù)據(jù)的存儲量表明的位置之前至少ー個樣本的位置接管和執(zhí)行音頻混合處理。進(jìn)而,如上所述,通過接管和執(zhí)行音頻混合處理的待機(jī)系統(tǒng)側(cè)的驅(qū)動器核単元114,在從主系統(tǒng)側(cè)切換到待機(jī)系統(tǒng)側(cè)之前和之后經(jīng)過的音頻混合處理時間能夠是幾乎一個音頻混合處理時間。因此,即使在滿足條件“音頻混合處理時間< DMA傳輸間隔< (音頻混合處理時間X 2) ”的情況下選擇模式A吋,也能夠在不生成I2S運(yùn)行下錯誤的情況下從王系統(tǒng)側(cè)切換到待機(jī)系統(tǒng)。此外,在其被切換到待機(jī)系統(tǒng)側(cè)的OS 110時,在通過禁止從先前是主系統(tǒng)側(cè)的驅(qū)動器核単元127的DMA寄存器訪問,當(dāng)前作為主系統(tǒng)側(cè)的待機(jī)系統(tǒng)側(cè)的驅(qū)動器核単元114執(zhí)行音頻混合處理的同時,確保了音頻數(shù)據(jù)的一致性。例如,待機(jī)系統(tǒng)側(cè)的驅(qū)動器管理単元110臨時將由主系統(tǒng)側(cè)的OS 120識別的共享存儲器(SDRAM 30)上的外圍設(shè)備(I2S設(shè)備13和DMAC 15)的基礎(chǔ)地址改變到諸如SDRAM30上的未使用空間的無效地址。然后,能夠禁止在被切換之前已經(jīng)是主系統(tǒng)的OS 120到寄存器的訪問。根據(jù)目前為止說明的該示例性實(shí)施例,在對于多個OS之間的音頻輸出共享I2S總線的配置中,即使在ー個OS的操作停止吋,也能夠防止來自其它OS側(cè)的音頻輸出被中斷。此時,即使在滿足“音頻混合處理時間< DMA傳輸間隔< (音頻混合處理時間X2)”時,也能夠通過不降低圖片聲音同步精確度的模式A從主系統(tǒng)切換到待機(jī)系統(tǒng)。因此,在抑制圖片聲音同步精確度降低的同時能夠防止生成聲音跳躍。進(jìn)而,根據(jù)該示例性實(shí)施例,通過僅參照被存儲到OS之間的共享存儲器的音頻數(shù)據(jù)的樣本數(shù)量,能夠在待機(jī)系統(tǒng)接收FIFO邊界中斷時要求是否從主系統(tǒng)切換到待機(jī)系統(tǒng)的評估。因此,將不降低處理速度。而且,在該示例性實(shí)施例中,允許FIFO邊界中斷的時段是對于每個幾十毫秒的DMA傳輸周期中幾百μ s數(shù)量級的時段。因此,對待機(jī)系統(tǒng)側(cè)的性能存在非常小的影響。而且,在該示例性實(shí)施例中,聲音驅(qū)動器被劃分為高級應(yīng)用Ι/F単元和驅(qū)動器核単元,并且采樣速率轉(zhuǎn)換功能被包括在高級應(yīng)用Ι/F単元中。因此,即使在僅禁用主系統(tǒng)側(cè)的驅(qū)動器核單元時,也能夠繼續(xù)主系統(tǒng)的高級應(yīng)用Ι/F単元中的采樣速率轉(zhuǎn)換處理。因此,通過將音頻混合處理的執(zhí)行切換到待機(jī)系統(tǒng)的驅(qū)動器核単元能夠繼續(xù)和播放由主系統(tǒng)側(cè)的OS生成的音頻數(shù)據(jù)。注意到,本發(fā)明并不局限于上面的示例性實(shí)施例而是能夠在本發(fā)明的范圍內(nèi)進(jìn)行適當(dāng)修改。例如,盡管作為示例說明了其中MPUlO包括兩個OS 110和120的情況,但是本發(fā)明并不局限于此。具體地說,MPU 10可以包括三個或者更多OS。在這種情況下,存在待機(jī)系統(tǒng)側(cè)的多個OS。執(zhí)行在上面提及的主系統(tǒng)和待機(jī)系統(tǒng)中的操作的程序能夠被存儲和提供到使用任何類型的非暫態(tài)計(jì)算機(jī)可讀媒介的計(jì)算機(jī)。非暫態(tài)計(jì)算機(jī)可讀媒介包括任何類型的有形存儲媒介。非暫態(tài)計(jì)算機(jī)可讀媒介的示例包括磁存儲媒介(例如軟盤、磁帶、硬盤驅(qū)動等等)、光學(xué)磁存儲媒介(例如磁光盤)、CD-R0M(壓縮盤只讀存儲器)、CD-R(壓縮盤可記錄)、CD-R-W(壓縮盤可重寫)以及半導(dǎo)體存儲器(諸如掩模R0M、PR0M(可編程ROM)、EPR0M(可擦除PR0M)、閃存ROM、RAM(隨機(jī)訪問存儲器)等等)??梢允褂萌魏晤愋头菚簯B(tài)計(jì)算機(jī)可 讀媒介向計(jì)算機(jī)提供程序。暫態(tài)計(jì)算機(jī)可讀媒介的示例包括電信號、光學(xué)信號以及電磁波。暫態(tài)計(jì)算機(jī)可讀媒介可以經(jīng)由有線通信線路(例如電線和光纖)或者無線通信線路向計(jì)算機(jī)提供程序。本發(fā)明要求享有2009年11月18日在日本專利局遞交的日本專利申請No. 2009-262545的優(yōu)先權(quán)并且基于該專利申請,這里以引用的方式結(jié)合該申請的全部內(nèi)容。附圖標(biāo)記列表I多核系統(tǒng)10 和 50MPU11 和 12CPU13 I2S 設(shè)備14 I2C 設(shè)備15DMA 控制器
16公共中斷控制單元17HW 定時器20音頻輸出設(shè)備21 和 51ADAC&AMP22揚(yáng)聲器30SRAM400S之間的共享存儲器41、42、43、81 和 82 聲音隊(duì)列44,63和73用于DMA傳輸?shù)木彌_器61和62處理器核64音頻輸出單元71、72、110 和 1200S74 和 131FIF0 75ADAC
111、121、122、123、711 和 721 應(yīng)用112、125聲首驅(qū)動器113、126高級應(yīng)用Ι/F單元114、127驅(qū)動器核單元115驅(qū)動器管理単元116和130采樣速率轉(zhuǎn)換功能
124聲音服務(wù)器128軟件混合器129DMA傳輸中斷線程610 和 620 程序712和722混合的樣本數(shù)量計(jì)數(shù)器
權(quán)利要求
1.一種多核系統(tǒng),包括 在第一處理器核上操作、混合第一和第二音頻數(shù)據(jù)并且將所混合的合成音頻數(shù)據(jù)存儲到用于DMA傳輸?shù)木彌_器的主系統(tǒng)程序; 在第二處理器核上操作并且作為所述主系統(tǒng)程序的待機(jī)系統(tǒng)操作的待機(jī)系統(tǒng)程序;以及 順序存儲從所述用于DMA傳輸?shù)木彌_器傳輸?shù)乃龊铣梢纛l數(shù)據(jù)并且播放所存儲的合成音頻數(shù)據(jù)的音頻輸出裝置, 其中在被存儲到所述用于DMA傳輸?shù)木彌_器的所述合成音頻數(shù)據(jù)的存儲量沒有達(dá)到根據(jù)被存儲到所述音頻輸出裝置的所述合成音頻數(shù)據(jù)的存儲量確定的預(yù)定數(shù)據(jù)量時,所述待機(jī)系統(tǒng)程序接管并且執(zhí)行由所述主系統(tǒng)程序執(zhí)行的所述合成音頻數(shù)據(jù)的所述混合和所述存儲。
2.根據(jù)權(quán)利要求I的多核系統(tǒng),其中每次在被存儲到所述音頻輸出裝置的所述合成音頻數(shù)據(jù)的存儲量降低預(yù)定單位時,所述待機(jī)系統(tǒng)程序評估被存儲到所述用于DMA傳輸?shù)木彌_器的所述合成音頻數(shù)據(jù)的存儲量是否達(dá)到根據(jù)被存儲到所述音頻輸出裝置的所述合成音頻數(shù)據(jù)的降低量確定的預(yù)定閾值,并且在沒有達(dá)到所述預(yù)定閾值時,所述待機(jī)系統(tǒng)程序接管并且執(zhí)行由所述主系統(tǒng)程序執(zhí)行的所述合成音頻數(shù)據(jù)的所述混合和所述存儲。
3.根據(jù)權(quán)利要求I的多核系統(tǒng),其中所述音頻輸出裝置包括使從所述用于DMA傳輸?shù)木彌_器傳輸?shù)乃龊铣梢纛l數(shù)據(jù)入列并且要被播放的所述合成音頻數(shù)據(jù)被從其出列的FIFO緩沖器。
4.根據(jù)權(quán)利要求3的多核系統(tǒng),其中 每次在被存儲到所述FIFO緩沖器的所述合成音頻數(shù)據(jù)被出列預(yù)定單位時,所述音頻輸出裝置向所述待機(jī)系統(tǒng)程序輸出FIFO邊界中斷,并且 所述待機(jī)系統(tǒng)程序評估被存儲到所述用于DMA傳輸?shù)木彌_器的所述合成音頻數(shù)據(jù)的存儲量是否達(dá)到根據(jù)被存儲到所述FIFO緩沖器的所述合成音頻數(shù)據(jù)的存儲量確定的預(yù)定閾值,并且在沒有達(dá)到所述預(yù)定閾值時,所述待機(jī)系統(tǒng)程序接管并且執(zhí)行由所述主系統(tǒng)程序執(zhí)行的所述合成音頻數(shù)據(jù)的所述混合和所述存儲。
5.根據(jù)權(quán)利要求4的多核系統(tǒng),進(jìn)一步包括向所述FIFO緩沖器傳輸被存儲到所述用于DMA傳輸?shù)木彌_器的所述合成音頻數(shù)據(jù)的DMA控制器,并且在所述傳輸完成時,所述DMA控制器向所述待機(jī)系統(tǒng)程序輸出DMA傳輸完成中斷,其中 所述待機(jī)系統(tǒng)程序根據(jù)來自所述DMA控制器的所述DMA傳輸完成中斷向所述音頻輸出裝置輸出使能所述FIFO邊界中斷的輸出的FIFO邊界中斷開始請求,并且 在完成所述合成音頻數(shù)據(jù)的所述混合和所述存儲時,所述主系統(tǒng)程序輸出禁用所述FIFO邊界中斷到所述音頻輸出裝置的所述輸出的FIFO邊界中斷停止請求。
6.根據(jù)前述權(quán)利要求I到5中的任意一項(xiàng)的多核系統(tǒng),其中 所述主系統(tǒng)程序包括第一操作系統(tǒng)和在所述第一操作系統(tǒng)上操作的第一聲音驅(qū)動器, 所述待機(jī)系統(tǒng)程序包括第二操作系統(tǒng)和在所述第二操作系統(tǒng)上操作的第二聲音驅(qū)動器,并且 所述第二聲音驅(qū)動器接管和執(zhí)行由所述第一聲音驅(qū)動器執(zhí)行的所述合成音頻數(shù)據(jù)的所述混合和所述存儲。
7.根據(jù)權(quán)利要求6的多核系統(tǒng),進(jìn)一步包括存儲所述第一音頻數(shù)據(jù)的第一環(huán)形緩沖器以及存儲所述第二音頻數(shù)據(jù)的第二環(huán)形緩沖器,其中 所述主系統(tǒng)程序的所述聲音驅(qū)動器從所述第一和所述第二環(huán)形緩沖器順序獲得所述第一和所述第二音頻數(shù)據(jù),并且 在接管和執(zhí)行所述合成音頻數(shù)據(jù)的所述混合和所述存儲時,所述第二聲音驅(qū)動器從位于所述第一和所述第二環(huán)形緩沖器的位置中由被存儲到所述DMA緩沖器的所述合成音頻數(shù)據(jù)的存儲量表明的位置之前至少一個樣本的位置接管和執(zhí)行所述第一和所述第二音頻數(shù)據(jù)的所述混合和所述存儲。
8.根據(jù)權(quán)利要求7的多核系統(tǒng),其中 所述主系統(tǒng)程序進(jìn)一步包括生成所述第一音頻數(shù)據(jù)的第一應(yīng)用程序, 所述待機(jī)系統(tǒng)程序進(jìn)一步包括生成所述第二音頻數(shù)據(jù)的第二應(yīng)用程序, 所述第一聲音驅(qū)動器包括轉(zhuǎn)換由所述第一應(yīng)用程序生成的所述第一音頻數(shù)據(jù)的采樣速率并且將其存儲到所述第一環(huán)形緩沖器的接口裝置以及執(zhí)行所述合成音頻數(shù)據(jù)的所述混合和所述存儲的驅(qū)動器核裝置, 所述第二聲音驅(qū)動器包括轉(zhuǎn)換由所述第二應(yīng)用程序生成的所述第二音頻數(shù)據(jù)的采樣速率并且將其存儲到所述第二環(huán)形緩沖器的接口裝置以及執(zhí)行所述合成音頻數(shù)據(jù)的所述混合和所述存儲的驅(qū)動器核裝置。
9.根據(jù)權(quán)利要求I的多核系統(tǒng),其中 所述音頻輸出裝置包括I2S設(shè)備以及包括DA轉(zhuǎn)換器的音頻輸出設(shè)備, 所述I2S設(shè)備包括使從所述用于DMA傳輸?shù)木彌_器傳輸?shù)乃龊铣梢纛l數(shù)據(jù)入列并且使要被播放的所述合成音頻數(shù)據(jù)從其出列的FIFO緩沖器,并且 所述音頻輸出設(shè)備將被從所述FIFO緩沖器出列的所述合成音頻數(shù)據(jù)轉(zhuǎn)換為模擬信號并且對其進(jìn)行播放。
10.一種多核系統(tǒng)的控制方法,包括 由在第一處理器核上操作的主系統(tǒng)程序混合第一和第二音頻數(shù)據(jù)并且將所混合的合成音頻數(shù)據(jù)存儲到用于DMA傳輸?shù)木彌_器; 由音頻輸出裝置順序存儲從所述用于DMA傳輸?shù)木彌_器傳輸?shù)乃龊铣梢纛l數(shù)據(jù)并且播放所存儲的合成音頻數(shù)據(jù); 由在第二處理器核上操作并且作為所述主系統(tǒng)程序的待機(jī)系統(tǒng)操作的待機(jī)系統(tǒng)程序評估被存儲到所述用于DMA傳輸?shù)木彌_器的所述合成音頻數(shù)據(jù)的存儲量是否達(dá)到根據(jù)被存儲到所述音頻輸出裝置的所述合成音頻數(shù)據(jù)的存儲量確定的預(yù)定數(shù)據(jù)量;并且 在評估達(dá)到所述預(yù)定數(shù)據(jù)量時,由所述待機(jī)系統(tǒng)程序接管并且執(zhí)行由所述主系統(tǒng)程序執(zhí)行的所述合成音頻數(shù)據(jù)的所述混合和所述存儲。
11.一種存儲作為在處理器核上的主系統(tǒng)程序的待機(jī)系統(tǒng)操作的與所述主系統(tǒng)程序不同并且使所述處理器核執(zhí)行下面操作的程序的非暫態(tài)可讀介質(zhì) 用于評估被存儲到用于DMA傳輸?shù)木彌_器的合成音頻數(shù)據(jù)的存儲量是否達(dá)到根據(jù)被存儲到音頻輸出裝置的所述合成音頻數(shù)據(jù)的存儲量確定的預(yù)定數(shù)據(jù)量的處理,所述合成音頻數(shù)據(jù)被傳輸?shù)揭纛l輸出裝置并且通過混合第一和第二音頻數(shù)據(jù)的所述主系統(tǒng)程序獲得,所述音頻輸出裝置順序存儲被傳輸?shù)乃龊铣梢纛l數(shù)據(jù)并且播放所存儲的合成數(shù)據(jù),并且所述用于DMA傳輸?shù)木彌_器存儲所述合成音頻數(shù)據(jù);以及 用于在 評估達(dá)到所述預(yù)定數(shù)據(jù)量時接管和執(zhí)行由所述主系統(tǒng)程序執(zhí)行的所述合成音頻數(shù)據(jù)的所述混合和所述存儲的處理。
全文摘要
提供一種能夠在抑制圖片聲音同步精確度降低的同時防止生成聲音跳躍的多核系統(tǒng)、多核系統(tǒng)的控制方法以及程序。多核系統(tǒng)2包括在第一處理器核61上操作并且向用于DMA傳輸?shù)木彌_器63存儲作為混合音頻數(shù)據(jù)的合成音頻數(shù)據(jù)的主系統(tǒng)程序610、在第二處理器62上操作的待機(jī)程序620以及順序存儲從所述用于DMA傳輸?shù)木彌_器63傳輸?shù)乃龊铣梢纛l數(shù)據(jù)并且播放所存儲的合成音頻數(shù)據(jù)的音頻輸出單元64。在被存儲到所述用于DMA傳輸?shù)木彌_器63的所述合成音頻數(shù)據(jù)的存儲量沒有達(dá)到根據(jù)被存儲到所述音頻輸出單元64的所述合成音頻數(shù)據(jù)的存儲量確定的預(yù)定數(shù)據(jù)量時,所述待機(jī)系統(tǒng)程序620接管和執(zhí)行由所述主系統(tǒng)程序610執(zhí)行的所述合成音頻數(shù)據(jù)的所述混合和所述存儲。
文檔編號G06F11/20GK102667745SQ20108005224
公開日2012年9月12日 申請日期2010年8月4日 優(yōu)先權(quán)日2009年11月18日
發(fā)明者笹川賢太郎 申請人:日本電氣株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1