專利名稱::Mcu+dsp結(jié)構(gòu)系統(tǒng)中的數(shù)字多媒體編解碼方法和相應的系統(tǒng)的制作方法MCU+DSP結(jié)構(gòu)系統(tǒng)中的數(shù)字多媒體編解碼方法和相應的系統(tǒng)
技術(shù)領(lǐng)域:
本專利涉及數(shù)字多媒體編解碼應用領(lǐng)域,尤其是,涉及一種MCU+DSP結(jié)構(gòu)系統(tǒng)中的數(shù)字多媒體編解碼方法和相應的系統(tǒng)。
背景技術(shù):
:在開發(fā)mp3播放器產(chǎn)品或具有媒體播放功能的產(chǎn)品時都會遇到OS(操作系統(tǒng))如何獲取音樂文件的比特率、采樣率、總播放時間等信息和控制音樂的播放、暫停、快進等功能實現(xiàn),并實現(xiàn)不同格式文件的播放操作,并且都要實時的完成,在實現(xiàn)這些功能的產(chǎn)品時通常都用MCU+DSP架構(gòu)的IC來實現(xiàn),而且通常OS放在MCU(微控制單元)中,而解碼和復雜的功能這些比較復雜的計算過程就需要DSP(數(shù)字信號處理器)來完成,由此,同時產(chǎn)生了MCU與DSP之間的協(xié)作問題和算法實現(xiàn)和升級的問題,如何讓OS完成這些實時功能,達到流暢播放,如何充分發(fā)揮MCU和DSP的協(xié)同運算能力,使成本降低等問題。目前市場上數(shù)字媒體播放器如mp3播放器功能非常多,需要支持的播放格式也^f艮多,而且還在不斷的增加其功能,具有媒體編解碼功能的類似產(chǎn)品也非常多,但并沒一套實時、可簡單快速擴展功能、與格式無關(guān)的接口和協(xié)議框架實施方法,而在網(wǎng)絡上有TCP/IP協(xié)議,操作系統(tǒng)中有DLL技術(shù)等,而在此領(lǐng)域并沒有一種方法和系統(tǒng),可以快速而正確完整的實現(xiàn)媒體編解碼協(xié)作部分的開發(fā)。另外,以往的技術(shù)認為其不能用同一協(xié)議進行播放所有媒體,但可以采用分別下栽每一種媒體協(xié)議的方式,來完成播放所有支持的媒體的系統(tǒng)實現(xiàn)需求,即每一種媒體對應一種協(xié)議,播放一種媒體,就對應要下載一種協(xié)議。例如播放mp3,需要預先在播放器內(nèi)有mp3協(xié)議,播放mp4,需要預先在播放器內(nèi)有mp4協(xié)議。尚沒有解決用同一的協(xié)議達到了播放多種媒體格式的系統(tǒng)或方法,若能解決非統(tǒng)一的問題,將大大減少維護人員和各方面成本。
發(fā)明內(nèi)容本專利便在這樣的背景下產(chǎn)生,本發(fā)明的目的在于提供一種MCU+DSP結(jié)構(gòu)系統(tǒng)中的數(shù)字多媒體編解碼方法,其可以用統(tǒng)一的接口和協(xié)議框架完成不同格式和多種功能的實時實現(xiàn),同時具有可擴展和簡潔性。同時,本發(fā)明還提供相應的MCU+DSP結(jié)構(gòu)的多媒體播放系統(tǒng)。根據(jù)本發(fā)明的一個方面,提供一種在MCU+DSP結(jié)構(gòu)系統(tǒng)中的數(shù)字多媒體編解碼方法,該MCU+DSP結(jié)構(gòu)系統(tǒng)包括包含操作系統(tǒng)(OS)的微控制單元(MCU);數(shù)字信號處理器(DSP);和MCU和DSP之間的接口,該方法包括同步啟動流程MCU讓OS通過讀取帶有特定索引和組織機構(gòu)的算法程序文件的索引頭結(jié)構(gòu),檢查同步支持的算法類型,同步成功則啟動DSP并按算法程序文件組織結(jié)構(gòu)將對應算法程序和數(shù)據(jù)讀出并搬入DSP,開始算法運行,同步不成功,則報告上層并退出;以及協(xié)議解析協(xié)作流程算法運行后,根據(jù)MCU與DSP的通訊協(xié)議,DSP利用硬件定義接口和軟件定義接口發(fā)送信號和信息,MCU利用中斷通過接口接受信號和信息,處理完相應信號定義的工作后,返回給DSP相應信號和信息,DSP再接受信號和信息,處理完后,算法繼續(xù)往下運行,然后到特定定義階段開始新的協(xié)作流程,從而實現(xiàn)各種Codec(多媒體數(shù)字信號編解碼器)功能。根據(jù)本發(fā)明的上述方法,其中MCU和DSP之間的硬件接口包括MCU和DSP之間具有的若干個寄存器通訊接口,包括多個數(shù)據(jù)接口(idr)和多個狀態(tài)接口(isr),其中數(shù)據(jù)接口用來在MCU和DSP間傳遞信號,狀態(tài)接口標示各數(shù)據(jù)接口是已被讀還是寫的狀態(tài),MCU和DSP間的寄存器通訊接口在被寫后,MCU會產(chǎn)生中斷,寄存器通訊接口被讀寫后都會自動標示在狀態(tài)接口內(nèi)對應的比特位上;以及DSP內(nèi)部內(nèi)存的控制寄存器接口(mcr),使得DSP內(nèi)部程序空間和數(shù)據(jù)空間可以被切換給MCU進行讀寫訪問。根據(jù)本發(fā)明的上述方法,其中MCU和DSP之間具有的若干個寄存器通訊接口定為8個8bit(比特)的接口,包括6個數(shù)據(jù)接口(idr0,idrl,idr2,idr3,idr4,idr5)和2個狀態(tài)接口(isrO,isrl)。根據(jù)本發(fā)明的上述方法,其中所述MCU與DSP的通訊協(xié)議,具有一系列成對出現(xiàn)的信號定義(送出信號,返回信號),每一信號對有標示的相應的動作,信號按分組規(guī)劃,通過idr口進行接受和傳遞,以此定義相應運轉(zhuǎn)流程。根據(jù)本發(fā)明的上述方法,其中MCU與DSP的通訊協(xié)議包括軟件接口和功能定義,使得讓MCU獲取到DSP運算的關(guān)鍵信息數(shù)據(jù),然后返回給OS使用。根據(jù)本發(fā)明的上述方法,其中MCU與DSP的通訊協(xié)議包括軟件接口和功能定義,使得MCU把信息寫入接口,讓DSP獲取到OS需要傳遞的信息數(shù)據(jù)。根據(jù)本發(fā)明的上述方法,其中算法程序文件是所有算法程序和數(shù)據(jù)組成的二進制數(shù)據(jù)文件(DSPBIN文件),其按一定結(jié)構(gòu)組合在一起,含有一個或多個算法,具有索引結(jié)構(gòu)和特定組織規(guī)范,結(jié)構(gòu)上具有同步索引、地址索引和數(shù)據(jù)三大塊式結(jié)構(gòu),可根據(jù)需要擴展。根據(jù)本發(fā)明的上述方法,其中所述索引結(jié)構(gòu)和特定組織規(guī)范定義如下*.dsp={CodecIndexStmct,Codec—AddressStruct[N],Codec_Data[N},N:支持的的解碼類型數(shù)目,即具有同步索引、地址索引和數(shù)據(jù)三大塊式結(jié)構(gòu)CodecIndexStruct={version,N,IndexStruct[NI},IndexStruct={CodecTypeID,CodecName,CodecStartAddress,otherinfo},CodecStartAddress=Codec—AddressStruct[kl的起始地址,k-第k個算法類型Codec—AddressStruct={infomation,banknum,bankStruct[banknum]},bankStruct={index,setparameter,data_source_address,data—source—length,data_destination—address},data—source—address=Codec—Data[kl內(nèi)對應index(索引號)的地址,k-第k個算法程序或數(shù)據(jù)塊Codec_Data[k=第k個算法程序或數(shù)據(jù)組成的二進制數(shù)據(jù)塊。根據(jù)本發(fā)明的上述方法,其中所述索引結(jié)構(gòu)的特征是,DSP文件頭有各算法的同步索引,接下來的地址塊有算法各部分程序和數(shù)據(jù)地址索引,接下來是各塊程序或數(shù)據(jù)的文件索引結(jié)構(gòu)。根據(jù)本發(fā)明的另一方面,提供一種MCU+DSP結(jié)構(gòu)的多媒體播放系統(tǒng),包括微控制單元(MCU),內(nèi)有操作系統(tǒng)(OS),含有MCU程序和MCU協(xié)議解析通信模塊,MCU協(xié)議解析通信模塊內(nèi)有通訊協(xié)議規(guī)則的處理;存儲器,儲存有算法程序文件,該算法程序文件帶有特定索引和組織機構(gòu);數(shù)字信號處理器(DSP),當同步成功時由MCU啟動DSP并按算法程序文件組織結(jié)構(gòu)將對應算法程序和數(shù)據(jù)讀出并搬入DSP,開始算法運行;算法程序含有軟件功能接口、DSP協(xié)議通信模塊,DSP協(xié)議通信模塊內(nèi)有通訊協(xié)議規(guī)則的處理;和MCU和DSP之間的硬件接口;其中,根據(jù)MCU與DSP的通訊協(xié)議,DSP利用硬件定義接口和軟件定義接口發(fā)送信號和信息,MCU利用中斷通過接口接受信號和信息,處理完相應信號定義的工作后,返回給DSP相應信號和信息,DSP再接受信號和信息,處理完后,算法繼續(xù)往下運行,然后到特定定義階段開始新的協(xié)作流程,從而實現(xiàn)各種Codec(多媒體數(shù)字信號編解碼器)功能。根據(jù)本發(fā)明的上述系統(tǒng),其中MCU和DSP之間的硬件接口包括MCU和DSP之間具有的若干個寄存器通訊接口,包括多個數(shù)據(jù)接口(idr)和多個狀態(tài)接口(isr),其中數(shù)據(jù)接口用來在MCU和DSP間傳遞信號,狀態(tài)接口標示各數(shù)據(jù)接口是已被讀還是寫的狀態(tài),MCU和DSP間的寄存器通訊接口在被寫后,MCU會產(chǎn)生中斷,寄存器通訊接口被讀寫后都會自動標示在狀態(tài)接口內(nèi)對應的bit位上;以及DSP內(nèi)部內(nèi)存的控制寄存器接口(mcr),使得DSP內(nèi)部程序空間和數(shù)據(jù)空間可以被切換給MCU進行讀寫訪問。根據(jù)本發(fā)明的上述系統(tǒng),其中MCU和DSP之間具有的若干個寄存器通訊接口定為8個8bit的接口,包括6個數(shù)據(jù)接口(idr0,idrl,idr2,idr3,idr4,idr5)和2個狀態(tài)接口(isr0,isrl)。根據(jù)本發(fā)明的上述系統(tǒng),其中所述MCU與DSP的通訊協(xié)議,具有一系列成對出現(xiàn)的信號定義(送出信號,返回信號),每一信號對有標示的相應的動作,信號按分組規(guī)劃,通過idr口進行接受和傳遞,以此定義相應運轉(zhuǎn)流程。根據(jù)本發(fā)明的上述系統(tǒng),其中MCU與DSP的通訊協(xié)議包括軟件接口和功能定義,使得讓MCU獲取到DSP運算的關(guān)鍵信息數(shù)據(jù),然后返回給OS使用。根據(jù)本發(fā)明的上述系統(tǒng),其中MCU與DSP的通訊協(xié)議包括軟件接口和功能定義,使得MCU把信息寫入接口,讓DSP獲取到OS需要傳遞的信息數(shù)據(jù)。根據(jù)本發(fā)明的上述系統(tǒng),其中算法程序文件是所有算法程序和數(shù)據(jù)組成的二進制數(shù)據(jù)文件(DSPBIN文件),其按一定結(jié)構(gòu)組合在一起,含有一個或多個算法,具有索引結(jié)構(gòu)和特定組織規(guī)范,結(jié)構(gòu)上具有同步索引、地址索引和數(shù)據(jù)三大塊式結(jié)構(gòu),可根據(jù)需要擴展。根據(jù)本發(fā)明的上述系統(tǒng),其中所述索引結(jié)構(gòu)和特定組織規(guī)范定義如下*.dsp={CodecIndexStruct,Codec—AddressStruct[NI,Codec—DataN]},N-支持的的解碼類型數(shù)目,即具有同步索引、地址索引和數(shù)據(jù)三大塊式結(jié)構(gòu)CodecIndexStruct={version,N,IndexStructlN},IndexStruct={CodecTypeID,CodecName,CodecStartAddress,otherinfo},CodecStartAddress=Codet^AddressStructk的起始地址,k-第k個算法類型Codec—AddressStruct={infomation,banknum,bankStructbanknumJ},bankStruct={index,setparameter,data—source_address,data_source—length,data—destination—address},data—source—address=Codec_Data[k內(nèi)對應index(索引號)的地址,k-第k個算法程序或數(shù)據(jù)塊Codec—Data[k=第k個算法程序或數(shù)據(jù)組成的二進制數(shù)據(jù)塊。根據(jù)本發(fā)明的上述系統(tǒng),其中所述索引結(jié)構(gòu)的特征是,DSP文件頭有各算法的同步索引,接下來的地址塊有算法各部分程序和數(shù)據(jù)地址索引,接下來是各塊程序或數(shù)據(jù)的文件索引結(jié)構(gòu)。在本發(fā)明的技術(shù)方案中,在MCU+DSP結(jié)構(gòu)多媒體應用IC中大大的發(fā)揮MCU和DSP間的協(xié)作能力,使MCU和DSP間的軟硬件接口固定下來,以后有新的數(shù)字媒體編解碼算法只需用戶重新生成新算法程序的DSPBIN文件即可,無須再更改MCUCODEC部分,和其它接口部分,除非有新的接口協(xié)議。它相當于搭建了一個MCU和DSP間的硬件和軟件的規(guī)范,使媒體算法的增加變的簡單快捷、模塊化和標準,使各運算單元(CPU)的協(xié)作得到速度提升和流暢清晰。本發(fā)明的技術(shù)方案至少解決了三方面的問題1.MCU與DSP之間的協(xié)作問題;2.用統(tǒng)一的接口和協(xié)議框架完成各種算法的啟動、運行和變換問題3.用統(tǒng)一的接口和協(xié)議框架完成算法的更新或新算法拓展問題問題l的解決可以使MCU與DSP快速運行,提高效率,問題2和3的解決可以減少維護人員和成本,同時方便客戶快速更新或拓展新算法。本發(fā)明用統(tǒng)一的接口和協(xié)議框架完成不同格式和多種功能的實時實現(xiàn),并完整的實現(xiàn)了整套機制的協(xié)作。本發(fā)明的優(yōu)越技術(shù)效果可概括為A:簡潔實時性,即結(jié)構(gòu)簡單,實現(xiàn)簡易,并實時響應運行。B:完整可擴展性,即可滿足目前多功能多格式的需求,并可不斷簡單快捷擴展。C:格式無關(guān)統(tǒng)一性,即對目前的媒體壓縮格式都可支持,只要增加相關(guān)定義,都統(tǒng)一用此種協(xié)議規(guī)范,軟硬件并不需變化。D:協(xié)作性MCU和DSP各CPU單元快速流暢協(xié)作,充分發(fā)揮其運算能力??傊?,本專利可極大地發(fā)揮MCU和DSP間的協(xié)作能力,使MCU和DSP的軟硬件接口將固定,且實現(xiàn)簡易,與媒體算法格式無關(guān),算法功能快捷擴展。本申請文件使用的術(shù)語如下mp3:—種音樂壓縮文件,符合mpeg1layer3標準MCU:microcontrolunit,微控制單元DSP:digitalsignalprocessor,數(shù)字信號處理器bin:binary,二進制的IC:integratecircuitchip,集成電路芯片TCP/IP:用于網(wǎng)絡的一組通訊協(xié)議,包括IP(InternetProtocol)和TCP(TransmissionControlProtocol,傳輸控制協(xié)i義)DLL:danamiclinklibrary,動態(tài)鏈接庫OS:operationsystem,操作系統(tǒng)ext:文件后綴的部分DAC:digitaltoanalogchange,數(shù)模轉(zhuǎn)換器Fs:frequencyofsample,采樣率Codec:softwarethatisusedtocompressordecompressadigitalmediafile多媒體數(shù)字信號編解碼器DSPBIN文件DSP二進制數(shù)據(jù)文件CPU:運算單元Memory:內(nèi)存Bit:(二進制)位,比特Index:索引號ROM:只讀存儲器Ms:毫秒Yes:是;No:否Idr:數(shù)據(jù)寄存器接口,后帶的數(shù)字是其序號Isr:狀態(tài)寄存器接口,后帶的數(shù)字是其序號mcr:內(nèi)部內(nèi)存的控制寄存器接口圖1:根據(jù)本發(fā)明一個實施例的接口和協(xié)議框架圖整體上揭示了整個協(xié)議各部分的布局和關(guān)系;圖2:描述了本發(fā)明一個實施例的同步啟動流程圖OS通過協(xié)議將需要的算法同步啟動;圖3:描述了本發(fā)明一個實施例的MCU簡要協(xié)議解析流程圖關(guān)鍵的幾個協(xié)議運轉(zhuǎn)的流程,通過idr5口接受和傳遞信號。具體實施例方式為使本領(lǐng)域技術(shù)人員能夠理解本發(fā)明,以下以一個具體實施例描述本發(fā)明的一個實現(xiàn)方案。應當理解,具體的實施例并不能限制本發(fā)明的所有技術(shù)方案。本發(fā)明專利涉及數(shù)字多媒體編解碼應用領(lǐng)域,尤其是,涉及一種MCU+DSP結(jié)構(gòu)系統(tǒng)中的數(shù)字多媒體編解碼方法和相應的系統(tǒng)。本發(fā)明的MCU+DSP結(jié)構(gòu)系統(tǒng)的整體的接口和協(xié)議框架及各部分間的關(guān)系的一個具體實施例見圖1。圖l為根據(jù)本發(fā)明一個實施例的接口和協(xié)議框架圖整體上揭示了整個協(xié)議各部分的布局和關(guān)系。從圖中可以看出,結(jié)構(gòu)關(guān)系為MCU和DSP可以通過它們之間的硬件接口進行通訊和數(shù)據(jù)傳輸,MCU可以和Memory進行數(shù)據(jù)傳輸,Memory內(nèi)儲存有算法程序文件,MCU內(nèi)有OS在運行,OS含有MCU程序和MCU協(xié)議解析通訊模塊,MCU協(xié)"^義解析通訊模塊內(nèi)有定義的通訊協(xié)議規(guī)則的處理,而DSP有MCU搬入的算法程序和數(shù)據(jù)在運行,算法程序含有軟件功能接口、DSP協(xié)議通訊模塊和其他算法程序和數(shù)據(jù),DSP協(xié)議通訊模塊內(nèi)有定義的通訊協(xié)議規(guī)則的處理,DSP協(xié)議通訊模塊和MCU協(xié)議解析通訊模塊通過硬件接口進行定義的協(xié)議流程處理。為實現(xiàn)本發(fā)明的目的,本發(fā)明提供了一種在MCU+DSP結(jié)構(gòu)多媒體應用IC中數(shù)字媒體接口協(xié)作協(xié)議,簡稱數(shù)字媒體協(xié)作協(xié)議,即DigitalMediaCollaborationProtocol(DMCP),此協(xié)議將使MCU和DSP間的軟硬件接口固定下來,以后有新的數(shù)字媒體編解碼算法只需用戶重新生成新算法程序的文件(DSPBIN文件)即可,無須再更改MCUCODEC部分,和其它接口部分,除非有新的接口協(xié)議。它相當于搭建了一個MCU和DSP間的硬件和軟件的規(guī)范,使媒體算法的增加變的簡單快捷、模塊化和標準,使各運算單元(CPU)的協(xié)作得到速度提升和流暢清晰。概括地講,這一技術(shù)方案包括5個部分(a).協(xié)作流程(b).硬件接口(c).MCU與DSP的通訊協(xié)i義(d).算法程序文件結(jié)構(gòu)(e).軟件接口和功能定義以下針對具體實施例分別加以描述。1.協(xié)作流程(1)同步啟動流程,如圖2所示MCU讓OS通過讀取算法程序文件(*.dsp)的索引頭結(jié)構(gòu),檢查同步支持的算法類型,同步成功則啟動DSP并按算法程序文件的組織結(jié)構(gòu)將對應算法程序和數(shù)據(jù)讀出并搬入DSP,開始算法運行,不成功則報告上層并退出。(2)協(xié)議解析協(xié)作流程開始算法運行后,根據(jù)定義的MCU與DSP的通訊協(xié)議,DSP利用硬件和軟件定義接口發(fā)送信號和信息,MCU利用中斷通過接口接受信號和信息,處理完相應信號定義的工作后,返回給DSP相應信號和信息,DSP再接受信號和信息,處理完后,算法繼續(xù)往下運行,然后到特定定義階段開始新的協(xié)作流程,這樣不斷反復一起實現(xiàn)各種Codec功能,并達到流暢運轉(zhuǎn),都利用idr口進行信號傳遞,利用mcr和內(nèi)存讀寫方法進行移動數(shù)據(jù),MCU部分見圖3。圖3:描述了本發(fā)明一個實施例的MCU簡要協(xié)議解析流程圖從圖中看出,開始算法運行后,DSP向idr5口寫0x11信號,MCU中斷產(chǎn)生并進入?yún)f(xié)議解析中斷程序,查詢idr5口,逐個信號值進行比對,檢索到是Oxll信號,則處理對應動作(即l.讀取位流起始地址2.備份斷點恢復地址3.設置解碼參數(shù)),完成后,判斷是否需要斷點恢復,是則恢復斷點信息到DSP,不是則跳過此步,最后則向idr5口寫0x22信號返回給DSP并退出,一個協(xié)議處理完成,算法繼續(xù)往下運行,然后到特定定義階段開始新的協(xié)作流程(如0xl2,0x72,0x91,0x94等其它協(xié)議的處理),這樣不斷反復一起實現(xiàn)各種Codec功能,并達到流暢運轉(zhuǎn)。DSP部分類似MCU,圖中都利用idr5口進行信號傳遞,利用mcr和內(nèi)存讀寫方法進行移動數(shù)據(jù)。(3)流程設計通過定義MCU與DSP的通訊協(xié)議的不同,以及軟件接口和功能定義的不同,可靈活設計或完善具體的個體功能協(xié)作流程。2.硬件接口根據(jù)本發(fā)明的一個具體實施例,在硬件系統(tǒng)內(nèi)增加如下接口MCU和DSP間具有若干個的寄存器通訊接口,按協(xié)議內(nèi)容而定,包括多個數(shù)據(jù)接口和狀態(tài)接口。通常可定4個或8個8bit的接口,即,3個數(shù)據(jù)接口1個狀態(tài)接口,或6個數(shù)據(jù)接口2個狀態(tài)接口,下面按8個進行定義舉例說明,數(shù)據(jù)接口idr用來在MCU和DSP間傳遞信號(i5為idr0,idrl,idr2,idr3,idr4,idr5),狀態(tài)接口isr標示各數(shù)據(jù)接口是已被讀還是寫的狀態(tài)(記為isr0,isrl)。MCU和DSP間的寄存器通訊接口(idr0-5)在被寫后,MCU會產(chǎn)生中斷,idr0-5^皮讀寫后都會自動標示在isr0或isrl內(nèi)對應的bit位上DSP內(nèi)部程序空間和數(shù)據(jù)空間可以被切換給MCU進行讀寫訪問,同時有一DSP內(nèi)部內(nèi)存的控制寄存器接口mcr。3.MCU與DSP的通訊協(xié)議以下以數(shù)字媒體解碼為例子描述此通訊協(xié)議。表1為此通訊協(xié)議定義的一個例子。表l<table>tableseeoriginaldocumentpage16</column></row><table>舉例說明如DSP初始設置過程DS發(fā)送信號-Oxll,MCU返回信號-0x21,表示DSP同步啟動后,已初始化完DSP參數(shù),DSP將寫0x11到idr5,請求MCU設置解碼參數(shù),MCU中斷產(chǎn)生,查詢idr5并接收到Oxll,則執(zhí)行表示的動作,完成后返回寫0x21到idr5,此過程結(jié)束。其余類推。本領(lǐng)域技術(shù)人員通過此表完全可以理解表l以數(shù)字媒體解碼為例子給出了MCU與DSP間的通訊協(xié)議定義。更詳細地i兌,通訊都可以通過MCU和DSP間的通訊接口(idr0-5)進行操作,通過isr0,isrl來查詢其狀態(tài),需要讀寫DSP數(shù)據(jù)通過mcr控制其切換狀態(tài),然后進行操作Idr5-0xXX說明數(shù)值OxXX為信號定義值4.算法程序文件在本發(fā)明的實施例中,算法程序文件稱為DSPBIN文件(*.dsp),它是所有算法程序和數(shù)據(jù)組成的二進制數(shù)據(jù)文件,并按一定結(jié)構(gòu)組合在一起,其特點就是具有索引結(jié)構(gòu)和特定組織規(guī)范,結(jié)構(gòu)上具有同步索引、地址索引和數(shù)據(jù)三大塊式結(jié)構(gòu),其他需要的信息可根據(jù)需要自己擴展,此文件的目的是讓OS同步支持的算法類型以及將相應的程序和數(shù)據(jù)在算法啟動時或者運行中搬入DSP。其中所述索引結(jié)構(gòu)和特定組織規(guī)范定義如下*.dsp-{CodecIndexStruct,Codec—AddressStruct[NI,Codec_DataNl},N-支持的的解碼類型數(shù)目,即具有同步索引、地址索引和數(shù)據(jù)三大塊式結(jié)構(gòu)CodecIndexStruct={version,N,IndexStructN},IndexStruct={CodecTypeID,CodecName,CodecStartAddress,otherinfo},CodecStartAddress=Codec—AddressStructk的起始地址,k-第k個算法類型Codec一AddressStruct={infomation,banknum,bankStruct[banknutn]},bankStruct={index,setparameter,data—source—address,data—source—length,data—destination—address},data_source—address=Codec—Datakj內(nèi)對應index(索引號)的地址,k-第k個算法程序或數(shù)據(jù)塊Codec_Datakl=第k個算法程序或數(shù)據(jù)組成的二進制數(shù)據(jù)塊。其中所述索引結(jié)構(gòu)的特征是,DSP文件頭有各算法的同步索引,接下來的地址塊有算法各部分程序和數(shù)據(jù)地址索引,接下來是各塊程序或數(shù)據(jù)的文件索引結(jié)構(gòu)。5.軟件接口和功能定義軟件接口和功能定義可以讓MCU獲取到DSP運算的一些關(guān)鍵信息數(shù)據(jù)(如下表定義的信息),然后返回給OS使用,或者MCU把信息寫入接口,讓DSP獲取到OS需要傳遞的信息數(shù)據(jù)。例如,如下是一種DSP內(nèi)部數(shù)據(jù)內(nèi)存的軟件接口和功能定義的例子(此以數(shù)字媒體解碼為例子)地址存放內(nèi)容說明0x0DSP算法程序版本號格式為nxy,表示n.xy0xl播放類型(0:正常1:上次A斷點播放2:上次斷點播放3:計算時間等信息0xff:重新復位其他無效)DSPCODEC啟動參數(shù)0x2播放起始時間解碼輸入?yún)?shù)0x3結(jié)束播放時間在0x11通訊時進行初始化,該通訊只0x4斷句能量值(0—0x7fffff)有一次,當DSP參數(shù)初始化自身的0x5斷句時間值(單位毫秒)解碼參數(shù)后完之后進行此通訊0x6歌曲文件總長度L(用于計算播放總時間)0x7歌曲文件總長度H(用于計算播放總時間)0x8快進退靜音時間(單位毫秒)0x9快進退放音時間(單位毫秒)0xa斷點位置(頁數(shù))0xb保留0xcAB播放設置(0x44:設置A點0x77:設置B點)需實時輸入?yún)?shù)0xd快進退標志(0x55:快進OXAA:快退)0xe快進退步長(單位秒)0xf能量輸出標志(0:無;n:輸出級數(shù))0x10EQ設置值OxllEQVALUE[lOl(EQ參數(shù)數(shù)組)Oxlc變速播放設置值Oxld音量設置值Oxle聲道設置值O正常l只播左聲道2只播右聲道Oxlf保留從以上針對數(shù)字媒體解碼為例子的實施例的描述中可以看出,本發(fā)明的技術(shù)方案解決了MCU與DSP之間的協(xié)作問題,而且用統(tǒng)一的接口和協(xié)議框架完成不同格式和多種功能的實時實現(xiàn),同時具有可擴展和簡潔性,并完整的實現(xiàn)了整套機制的協(xié)作。本發(fā)明容許各種修正和可選形式,附圖所圖解的具體實施例在這里只是作為實例被詳細說明。應該理解的是,在這里說明具體實施例并不是要將本發(fā)明限制為所公開的具體形式,本發(fā)明應當包括權(quán)利要求書所限定的本發(fā)明的精神和范圍內(nèi)的所有修改,等同物和可選方案。權(quán)利要求1.一種在MCU+DSP結(jié)構(gòu)系統(tǒng)中的數(shù)字多媒體編解碼方法,該MCU+DSP結(jié)構(gòu)系統(tǒng)包括包含操作系統(tǒng)(OS)的微控制單元(MCU);包含算法程序文件的存儲器;數(shù)字信號處理器(DSP);MCU和DSP之間的接口;MCU與DSP的通訊協(xié)議,該方法包括同步啟動流程MCU讓OS通過讀取帶有特定索引和組織機構(gòu)的算法程序文件的索引頭結(jié)構(gòu),檢查同步支持的算法類型,同步成功則啟動DSP并按算法程序文件組織結(jié)構(gòu)將對應算法程序和數(shù)據(jù)讀出并搬入DSP,開始算法運行,同步不成功,則報告上層并退出;以及協(xié)議解析協(xié)作流程算法運行后,根據(jù)MCU與DSP的通訊協(xié)議,DSP利用硬件定義接口和軟件定義接口發(fā)送信號和信息,MCU利用中斷通過接口接受信號和信息,處理完相應信號定義的工作后,返回給DSP相應信號和信息,DSP再接受信號和信息,處理完后,算法繼續(xù)往下運行,然后到特定定義階段開始新的協(xié)作流程,從而實現(xiàn)各種Codec功能。2.根據(jù)權(quán)利要求l的方法,其中MCU和DSP之間的硬件接口包括MCU和DSP之間具有的若干個寄存器通訊接口,包括多個數(shù)據(jù)接口(idr)和多個狀態(tài)接口(isr),其中數(shù)據(jù)接口用來在MCU和DSP間傳遞信號,狀態(tài)接口標示各數(shù)據(jù)接口是已被讀還是寫的狀態(tài),MCU和DSP間的寄存器通訊接口在被寫后,MCU會產(chǎn)生中斷,寄存器通訊接口被讀寫后都會自動標示在狀態(tài)接口內(nèi)對應的bit位上;以及DSP內(nèi)部內(nèi)存的控制寄存器接口(mcr),使得DSP內(nèi)部程序空間和數(shù)據(jù)空間可以被切換給MCU進行讀寫訪問。3.根據(jù)權(quán)利要求2的方法,其中MCU和DSP之間具有的寄存器通訊接口為8個8bit的接口,包括6個數(shù)據(jù)接口(idr0,idrl,idr2,idr3,idr4,idr5)和2個狀態(tài)接口(isr0,isrl)。4.根據(jù)權(quán)利要求1的方法,其中所述MCU與DSP的通訊協(xié)議,具有一系列成對出現(xiàn)的信號定義(送出信號,返回信號),每一信號對有標示的相應的動作,信號按分組規(guī)劃,通過idr口進行接受和傳遞,以此定義相應運轉(zhuǎn)流程。5.根據(jù)權(quán)利要求4的方法,其中MCU與DSP的通訊協(xié)議包括軟件接口和功能定義,使得讓MCU獲取到DSP運算的關(guān)鍵信息數(shù)據(jù),然后返回給OS使用。6.根據(jù)權(quán)利要求4的方法,其中MCU與DSP的通訊協(xié)議包括軟件接口和功能定義,使得MCU把信息寫入接口,讓DSP獲取到OS需要傳遞的信息數(shù)據(jù)。7.根據(jù)權(quán)利要求1的方法,其中算法程序文件是所有算法程序和數(shù)據(jù)組成的二進制數(shù)據(jù)文件(DSPBIN文件),其按一定結(jié)構(gòu)組合在一起,含有一個或多個算法,具有索引結(jié)構(gòu)和特定組織規(guī)范,結(jié)構(gòu)上具有同步索引、地址索引和數(shù)據(jù)三大塊式結(jié)構(gòu),可根據(jù)需要擴展。8.根據(jù)權(quán)利要求7的方法,其中所述索引結(jié)構(gòu)和特定組織規(guī)范定義如下*,dsp={CodecIndexStruct,Codec—AddressStruct[N],Codec_Data[Nl},N-支持的解碼類型數(shù)目,即具有同步索引、地址索引和數(shù)據(jù)三大塊式結(jié)構(gòu)CodecIndexStruct={version,N,IndexStruct[Nl},IndexStruct={CodecTypeID,CodecName,CodecStartAddress,otherinfo},CodecStartAddress=Code(^AddressStructkl的起始地址,k-第k個算法類型Codec一AddressStruct={infomation,banknum,bankStruct[banknum]},bankStruct={index,setparameter,data—source—address,data—source一length,data—destination—address},data—source—address=Codec—Data[k]內(nèi)對應index(索引號)的地址,k-第k個算法程序或數(shù)據(jù)塊Codec_Data[k]=第k個算法程序或數(shù)據(jù)組成的二進制數(shù)據(jù)塊。9.根據(jù)權(quán)利要求8的方法,其中所述索引結(jié)構(gòu)的特征是,DSP文件頭有各算法的同步索引,接下來的地址塊有算法各部分程序和數(shù)據(jù)地址索引,接下來是各塊程序或數(shù)據(jù)的文件索引結(jié)構(gòu)。10.—種MCU+DSP結(jié)構(gòu)的多媒體播放系統(tǒng),包括微控制單元(MCU),內(nèi)有操作系統(tǒng)(OS),含有MCU程序和MCU協(xié)議解析通信模塊,MCU協(xié)議解析通信模塊內(nèi)有通訊協(xié)議規(guī)則的處理;存儲器,儲存有算法程序文件,該算法程序文件帶有特定索引和組織機構(gòu);數(shù)字信號處理器(DSP),當同步成功時由MCU啟動DSP并按算法程序文件組織結(jié)構(gòu)將對應算法程序和數(shù)據(jù)讀出并搬入DSP,開始算法運行;算法程序含有軟件功能接口、DSP協(xié)議通信模塊,DSP協(xié)議通信模塊內(nèi)有通訊協(xié)議規(guī)則的處理;和MCU和DSP之間的硬件接口;MCU與DSP的通訊協(xié)議,DSP利用硬件定義接口和軟件定義接口發(fā)送信號和信息,MCU利用中斷通過接口接受信號和信息,處理完相應信號定義的工作后,返回給DSP相應信號和信息,DSP再接受信號和信息,處理完后,算法繼續(xù)往下運行,然后到特定定義階段開始新的協(xié)作流程,從而實現(xiàn)各種Codec功能。11.根據(jù)權(quán)利要求10的系統(tǒng),其中MCU和DSP之間的硬件接口包括MCU和DSP之間具有的若干個寄存器通訊接口,包括多個數(shù)據(jù)接口(idr)和多個狀態(tài)接口(isr),其中數(shù)據(jù)接口用來在MCU和DSP間傳遞信號,狀態(tài)接口標示各數(shù)據(jù)接口是已被讀還是寫的狀態(tài),MCU和DSP間的寄存器通訊接口在被寫后,MCU會產(chǎn)生中斷,寄存器通訊接口被讀寫后都會自動標示在狀態(tài)接口內(nèi)對應的bit位上;以及DSP內(nèi)部內(nèi)存的控制寄存器接口(mcr),使得DSP內(nèi)部程序空間和數(shù)據(jù)空間可以被切換給MCU進行讀寫訪問。12.才艮據(jù)權(quán)利要求11的系統(tǒng),其中MCU和DSP之間具有的若干個寄存器通訊接口定為8個8bit的接口,包括6個數(shù)據(jù)接口(idr0,idrl,idr2,idr3,idr4,idr5)和2個狀態(tài)接口(isr0,isrl)。13.根據(jù)權(quán)利要求10的系統(tǒng),其中所述MCU與DSP的通訊協(xié)議,具有一系列成對出現(xiàn)的信號定義(送出信號,返回信號),每一信號對有標示的相應的動作,信號按分組規(guī)劃,通過idr口進行接受和傳遞,以此定義相應運轉(zhuǎn)流程。14.根據(jù)權(quán)利要求13的系統(tǒng),其中MCU與DSP的通訊協(xié)議包括軟件接口和功能定義,使得讓MCU獲取到DSP運算的關(guān)鍵信息數(shù)據(jù),然后返回給OS使用。15.根據(jù)權(quán)利要求13的系統(tǒng),其中MCU與DSP的通訊協(xié)議包括軟件接口和功能定義,使得MCU把信息寫入接口,讓DSP荻取到OS需要傳遞的信息數(shù)據(jù)。16.根據(jù)權(quán)利要求10的系統(tǒng),其中算法程序文件是所有算法程序和數(shù)據(jù)組成的二進制數(shù)據(jù)文件(DSPBIN文件),其按一定結(jié)構(gòu)組合在一起,含有一個或多個算法,具有索引結(jié)構(gòu)和特定組織規(guī)范,結(jié)構(gòu)上具有同步索引、地址索引和數(shù)據(jù)三大塊式結(jié)構(gòu),可根據(jù)需要擴展。17.根據(jù)權(quán)利要求16的系統(tǒng),其中所述索引結(jié)構(gòu)和特定組織規(guī)范定義如下*.dsp-{CodecIndexStnict,Codec_AddressStructNl,Codec一Data[Nl},N-支持的解碼類型數(shù)目,即具有同步索引、地址索引和數(shù)據(jù)三大塊式結(jié)構(gòu)CodecIndexStruct={version,N,IndexStruct[Nl),IndexStruct={CodecTypeID,CodecName,CodecStartAddress,otherinfo},CodecStartAddress=Codec—AddressStructkl的起始地址,k-第k個算法類型Codec—AddressStruct={infomation,banknum,bankStructbanknumI},bankStruct={index,setparameter,data_source—address,data—source—length,data—destination_address},data—source_address=Codec—Datak內(nèi)對應index(索引號)的地址,k-第k個算法程序或數(shù)據(jù)塊Codec—Datakl-第k個算法程序或數(shù)據(jù)組成的二進制數(shù)據(jù)塊。18.根據(jù)權(quán)利要求17的系統(tǒng),其中所述索引結(jié)構(gòu)的特征是,DSP文件頭有各算法的同步索引,接下來的地址塊有算法各部分程序和數(shù)據(jù)地址索引,接下來是各塊程序或數(shù)據(jù)的文件索引結(jié)構(gòu)。全文摘要一種在MCU+DSP結(jié)構(gòu)系統(tǒng)中的數(shù)字多媒體編解碼方法,該MCU+DSP結(jié)構(gòu)系統(tǒng)包括微控制單元(MCU),其中包括操作系統(tǒng)(OS)、MCU協(xié)議解析通信模塊;存儲器,儲存有算法程序文件;數(shù)字信號處理器(DSP),其中包括DSP協(xié)議通信模塊;MCU和DSP之間的接口;MCU與DSP的通訊協(xié)議;該方法包括同步啟動流程以及協(xié)議解析協(xié)作流程。本發(fā)明的技術(shù)方案解決了三個重點問題1.MCU與DSP之間的協(xié)作問題;2.用統(tǒng)一的接口和協(xié)議框架完成各種算法的啟動、運行和變換問題3.用統(tǒng)一的接口和協(xié)議框架完成算法的更新或新算法拓展問題。文檔編號H03M7/30GK101286342SQ200710096068公開日2008年10月15日申請日期2007年4月10日優(yōu)先權(quán)日2007年4月10日發(fā)明者浪吳,謝湘勇申請人:炬力集成電路設計有限公司