專(zhuān)利名稱(chēng):應(yīng)用于嵌入式系統(tǒng)的數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)處理方法,尤其涉及應(yīng)用于嵌入式系統(tǒng)中的數(shù)據(jù)處 理方法。
背景技術(shù):
嵌入式系統(tǒng)(Embedded System)根據(jù)工業(yè)電腦的需求而開(kāi)始萌芽,再隨著 電腦信息產(chǎn)品、通訊產(chǎn)品以及數(shù)字家電逐漸普及,嵌入式系統(tǒng)也已逐漸走入 一般人的日常生活中。從新世代的數(shù)字電視、行動(dòng)電話手機(jī),到數(shù)字相機(jī)、 數(shù)字個(gè)人助理等可攜式裝置中,都可以看得到它被應(yīng)用其中。嵌入式系統(tǒng)不 需要很多外接的零配件,并能在小面積元件上完成特定功能,具有穩(wěn)定、大 小小、應(yīng)用彈性大等特點(diǎn)。請(qǐng)參見(jiàn)圖l,圖1是常用數(shù)字電視功能方塊圖,其中頻道選擇器(tuner)102 接收電視信號(hào)源101所產(chǎn)生的電視信號(hào),經(jīng)由解調(diào)器(demodulator)103、解復(fù) 用器(demultiplexer)104的處理后,所得數(shù)據(jù)分別由數(shù)字信號(hào)處理器(Digital Signal Processor, DSP)lll、圖像解碼器112和數(shù)據(jù)解碼器113進(jìn)行解碼的 處理,其中的聲音部分便可在擴(kuò)音器131上進(jìn)行播放,而圖像的部分則再經(jīng) 由圖形(graphics)處理器121的處理后,于顯示器132上顯示。至于所接收的電視信號(hào)中的其它信息,則可先由數(shù)據(jù)解碼器113解碼處 理后,由中央處理單元122再接續(xù)進(jìn)行處理運(yùn)作;而用戶(hù)利用用戶(hù)接口 140, 包括操作控制遙控器141或是操作數(shù)字電視機(jī)上的面板按鍵142所產(chǎn)生的指 令信息,則亦是可由中央處理單元122進(jìn)行處理后,儲(chǔ)存于存儲(chǔ)器裝置150 中。而該存儲(chǔ)器裝置150通常包含有動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)151及閃 存(Flash Memory) 152 。但由于如上述數(shù)字電視所示的嵌入式系統(tǒng)的可用資源有限,尤其為成本 考慮,上述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器151的容量及閃存152的容量都有一定限制, 所以系統(tǒng)設(shè)計(jì)者通常將系統(tǒng)運(yùn)作時(shí)需的各式圖形文件、多國(guó)字型數(shù)據(jù)或程序
代碼數(shù)據(jù)進(jìn)行壓縮后再放入嵌入式裝置中以節(jié)省儲(chǔ)存空間的使用。但是,一 般嵌入式裝置中的中央處理單元122的運(yùn)算能力有限,因此在對(duì)壓縮過(guò)的數(shù) 據(jù)進(jìn)行解壓縮時(shí),將會(huì)花費(fèi)許多時(shí)間而造成系統(tǒng)運(yùn)作速度緩慢,容易讓用戶(hù) 感到不便。發(fā)明內(nèi)容如何在有限的硬體資源的支持下來(lái)解決上述常用手段的缺失,即為發(fā)展 本發(fā)明的主要目的。本發(fā)明為一種數(shù)據(jù)處理方法,應(yīng)用于嵌入式系統(tǒng)中,嵌入式系統(tǒng)至少包 含第一處理器、第二處理器、非易失性存儲(chǔ)器及易失性存儲(chǔ)器,該數(shù)據(jù)處理 方法包含下列步驟第一處理器發(fā)動(dòng)數(shù)據(jù)搬移動(dòng)作,將非易失性存儲(chǔ)器中儲(chǔ) 存的一筆壓縮數(shù)據(jù)轉(zhuǎn)存至易失性存儲(chǔ)器中;以及第二處理器對(duì)易失性存儲(chǔ)器 中儲(chǔ)存的該筆壓縮數(shù)據(jù)進(jìn)行解壓縮而產(chǎn)生一筆已解壓縮數(shù)據(jù)并寫(xiě)入易失性 存儲(chǔ)器中。至于數(shù)據(jù)搬移動(dòng)作可以用存儲(chǔ)器直接存取動(dòng)作來(lái)完成。而嵌入式 系統(tǒng)例如可以是電視芯片組或手機(jī)芯片組。根據(jù)本發(fā)明的數(shù)據(jù)處理方法,其所應(yīng)用于其上的所述嵌入式系統(tǒng)所包含 有的所述第一處理器、所述第二處理器、所述非易失性存儲(chǔ)器以及所述易失 性存儲(chǔ)器分別為中央處理器、數(shù)字信號(hào)處理器、閃存以及動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器o根據(jù)本發(fā)明的數(shù)據(jù)處理方法,其中所述第一處理器于系統(tǒng)開(kāi)機(jī)程序中發(fā) 動(dòng)所述數(shù)據(jù)搬移動(dòng)作,而所述第一處理器并于發(fā)動(dòng)所述數(shù)據(jù)搬移動(dòng)作后繼續(xù) 進(jìn)行所述系統(tǒng)開(kāi)機(jī)程序中的其他動(dòng)作。根據(jù)本發(fā)明的數(shù)據(jù)處理方法,其中所述第二處理器所進(jìn)行的解壓縮動(dòng)作為L(zhǎng)ZSS解壓縮運(yùn)算。更進(jìn)一步地,于嵌入式系統(tǒng)中設(shè)置第一寄存器與第二寄存器;該第二處 理器對(duì)第二寄存器寫(xiě)入壓縮數(shù)據(jù)請(qǐng)求;第一處理器定時(shí)讀取第二寄存器中的 內(nèi)容,根據(jù)壓縮數(shù)據(jù)請(qǐng)求而發(fā)動(dòng)數(shù)據(jù)搬移動(dòng)作,并于數(shù)據(jù)搬移動(dòng)作完成后對(duì) 第一寄存器寫(xiě)入讀取參數(shù),包含有該壓縮數(shù)據(jù)在該易失性存儲(chǔ)器中的地址與 大小的信息;以及第二處理器定時(shí)讀取第一寄存器中的內(nèi)容,用以根捃讀取 參數(shù)而讀取易失性存儲(chǔ)器中儲(chǔ)存的該筆壓縮數(shù)據(jù)來(lái)進(jìn)行解壓縮,進(jìn)而產(chǎn)生該
筆已解壓縮數(shù)據(jù)并寫(xiě)入該易失性存儲(chǔ)器中。第二處理器讀取該易失性存儲(chǔ)器 中儲(chǔ)存的該筆壓縮數(shù)據(jù)時(shí),回應(yīng)于該筆壓縮數(shù)據(jù)中結(jié)束字碼而結(jié)束解壓縮的 動(dòng)作。根據(jù)本發(fā)明的數(shù)據(jù)處理方法,其中所述讀取參數(shù)中包含有所述壓縮數(shù)據(jù) 在所述易失性存儲(chǔ)器中的地址與大小的信息。根據(jù)本發(fā)明的數(shù)據(jù)處理方法,還包含下列步驟所述第一處理器通知所 述第二處理器載入并執(zhí)行一段解壓縮程序代碼,使所述第二處理器具有解壓 縮的運(yùn)算能力;以及所述第二處理器對(duì)所述第二寄存器寫(xiě)入所述壓縮數(shù)據(jù)請(qǐng) 求。本發(fā)明可有效縮短開(kāi)機(jī)時(shí)間,而不需要選用功能強(qiáng)大但昂貴的微處理器。
圖1顯示數(shù)字電視常用功能方塊示意圖。圖2顯示本發(fā)明較佳實(shí)施例的嵌入式系統(tǒng)內(nèi)部功能方塊示意圖。 圖3(a)和圖3 (b)顯示本發(fā)明較佳實(shí)施例方法的流程示意圖。 其中,附圖標(biāo)記說(shuō)明如下101電視信號(hào)源 103解調(diào)器lll數(shù)字信號(hào)處理器113數(shù)據(jù)解碼器121圖形處理器122中央處理單元141遙控器150存儲(chǔ)器裝置152閃存201中央處理器203閃存205第一寄存器2041第一特定區(qū)域102頻道選擇器104信號(hào)分離器112圖像解碼器131擴(kuò)音器132顯示器140用戶(hù)接口142面板按鍵151動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器200嵌入式系統(tǒng)202數(shù)字信號(hào)處理器204動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器206第二寄存器2042第二特定區(qū)域具體實(shí)施方式
圖2顯示本發(fā)明概念可運(yùn)用的嵌入式系統(tǒng)內(nèi)部功能方塊示意圖,其中分 別設(shè)有中央處理器201、數(shù)字信號(hào)處理器202來(lái)處理不同的任務(wù),例如應(yīng)用 在設(shè)置有電視芯片組或手機(jī)芯片組的電視系統(tǒng)或手機(jī)裝置中。而利用中央處 理器201對(duì)閃存203中所存放的壓縮數(shù)據(jù)進(jìn)行解壓縮的常用手段,在中央處 理器201的效能有限的情況下,將會(huì)嚴(yán)重影響系統(tǒng)開(kāi)機(jī)的速度,因此如何利 用現(xiàn)有的硬體資源,達(dá)成有效改善系統(tǒng)開(kāi)機(jī)的速度,為發(fā)展本發(fā)明的主要目 的。而經(jīng)仔細(xì)觀察系統(tǒng)開(kāi)機(jī)程序后發(fā)現(xiàn),由中央處理器201主導(dǎo)進(jìn)行的系統(tǒng) 開(kāi)機(jī)過(guò)程中,主要扮演音頻解碼處理的數(shù)字信號(hào)處理器202大多處于閑置狀 態(tài),而為能有效達(dá)成改善系統(tǒng)開(kāi)機(jī)速度的目的,本發(fā)明揭示利用如圖3(a)和 圖3(b)所示的實(shí)施例方法流程圖來(lái)進(jìn)行壓縮數(shù)據(jù)的處理。首先,系統(tǒng)進(jìn)入開(kāi)機(jī)程序后中央處理器201通知數(shù)字信號(hào)處理器202載 入并執(zhí)行一段解壓縮程序代碼,使得數(shù)字信號(hào)處理器202具有解壓縮的運(yùn)算 能力。數(shù)字信號(hào)處理器202可對(duì)第二寄存器206寫(xiě)入壓縮數(shù)據(jù)請(qǐng)求,而中央 處理器201定時(shí)讀取該第二寄存器206中的內(nèi)容。當(dāng)讀取到該壓縮數(shù)據(jù)請(qǐng)求 時(shí),中央處理器201發(fā)動(dòng)數(shù)據(jù)搬移動(dòng)作,將閃存203中儲(chǔ)存的一筆壓縮數(shù)據(jù) 轉(zhuǎn)存至動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器204中的第一特定區(qū)域2041,并于該數(shù)據(jù)搬移動(dòng) 作完成后對(duì)第一寄存器205寫(xiě)入讀取參數(shù),讀取參數(shù)中包含有該壓縮數(shù)據(jù)在 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器204中的地址與大小的信息。數(shù)字信號(hào)處理器202定時(shí) 讀取第一寄存器中的內(nèi)容,當(dāng)讀取到該讀取參數(shù)時(shí),數(shù)字信號(hào)處理器202利 用其中包含的地址與大小信息來(lái)開(kāi)始讀取動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器204中儲(chǔ)存的 該筆壓縮數(shù)據(jù)來(lái)進(jìn)行解壓縮,進(jìn)而將已解壓縮的數(shù)據(jù)寫(xiě)入動(dòng)態(tài)隨機(jī)存取存儲(chǔ) 器204的第二特定區(qū)域2042中。而數(shù)字信號(hào)處理器202所進(jìn)行的解壓縮動(dòng) 作可為L(zhǎng)ZSS演算法中的解壓縮運(yùn)算。而在此讀取-解壓縮動(dòng)作中,若在該筆 壓縮數(shù)據(jù)中讀取到結(jié)束字碼時(shí),便代表該筆壓縮數(shù)據(jù)已完整被讀出,因此可 結(jié)束讀取與解壓縮動(dòng)作。接著數(shù)字信號(hào)處理器202可另載入并執(zhí)行一段音頻 處理程序代碼,使得數(shù)字信號(hào)處理器202可繼續(xù)達(dá)成系統(tǒng)原本所需的音頻處 理功能。 另外,當(dāng)數(shù)字信號(hào)處理器202尚未在該筆壓縮數(shù)據(jù)中讀取到該結(jié)束字碼 時(shí),便可持續(xù)對(duì)該嵌入式系統(tǒng)200中所設(shè)置的該第二寄存器206寫(xiě)入壓縮數(shù) 據(jù)請(qǐng)求,進(jìn)而使中央處理器201可持續(xù)發(fā)動(dòng)數(shù)據(jù)搬移動(dòng)作,用以將閃存203 中儲(chǔ)存的壓縮數(shù)據(jù)持續(xù)轉(zhuǎn)存至動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器204中的第一特定區(qū)域 2041來(lái)進(jìn)行解壓縮。再者,當(dāng)寫(xiě)入動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器204中的已解壓縮數(shù) 據(jù)將超出第二特定區(qū)域2042的容量時(shí),中央處理器201便可將第二特定區(qū) 域2042中數(shù)據(jù)轉(zhuǎn)移到動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器204的另一區(qū)域存放,進(jìn)而將第 二特定區(qū)域2042的容量清除來(lái)供新的已解壓縮數(shù)據(jù)存入。綜上所述可知,本發(fā)明可廣泛應(yīng)用于內(nèi)部配置至少兩個(gè)處理器的嵌入式 系統(tǒng)的開(kāi)機(jī)過(guò)程中,因此嵌入式系統(tǒng)可以是電視芯片組或手機(jī)芯片組等同時(shí) 具有多個(gè)處理器的系統(tǒng)芯片組,而將壓縮過(guò)的數(shù)據(jù)從非易失性存儲(chǔ)器載入易 失性存儲(chǔ)器中的第一處理器可以是嵌入式系統(tǒng)中的主處理器,而用來(lái)解壓縮 的第二處理器則可以是嵌入式系統(tǒng)中常見(jiàn)的數(shù)字信號(hào)處理器202。而由于第 一處理器在發(fā)動(dòng)數(shù)據(jù)搬移動(dòng)作,例如存儲(chǔ)器直接存取(Direct Memory Access, DMA),可繼續(xù)進(jìn)行該系統(tǒng)開(kāi)機(jī)程序中的其他動(dòng)作,進(jìn)而有效縮短開(kāi)機(jī)時(shí)間, 也不需要選用功能強(qiáng)大但昂貴的微處理器,以數(shù)字電視芯片為例,第一處理 器使用8051處理器便可勝任,而不需使用如ARM、 MIPS等高階處理器便 可滿足系統(tǒng)的需求。閃存203可為其它非易失性存儲(chǔ)器來(lái)完成,而動(dòng)態(tài)隨機(jī) 存取存儲(chǔ)器204可為其它易失性存儲(chǔ)器。第一寄存器205與第二寄存器206 也可用定義于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器204中的特定區(qū)塊來(lái)完成,其主要能達(dá)成 如同信箱般的通訊功能來(lái)供兩個(gè)或兩個(gè)以上的處理器來(lái)讀取與寫(xiě)入即可。故 本發(fā)明可以由本領(lǐng)域技術(shù)人員進(jìn)行修改和變化,但是不脫離權(quán)利要求所要求 保護(hù)的范圍。
權(quán)利要求
1. 一種數(shù)據(jù)處理方法,應(yīng)用于嵌入式系統(tǒng)中,該嵌入式系統(tǒng)至少包含有 第一處理器、第二處理器、非易失性存儲(chǔ)器以及易失性存儲(chǔ)器,所述數(shù)據(jù)處 理方法包含下列步驟所述第一處理器發(fā)動(dòng)數(shù)據(jù)搬移動(dòng)作,所述數(shù)據(jù)搬移動(dòng)作將所述非易失性 存儲(chǔ)器中儲(chǔ)存的一筆壓縮數(shù)據(jù)轉(zhuǎn)存至所述易失性存儲(chǔ)器中;以及所述第二處理器對(duì)所述易失性存儲(chǔ)器中儲(chǔ)存的所述壓縮數(shù)據(jù)進(jìn)行解壓 縮而產(chǎn)生一筆己解壓縮數(shù)據(jù)并寫(xiě)入所述易失性存儲(chǔ)器中。
2. 如權(quán)利要求1所述的數(shù)據(jù)處理方法,其所應(yīng)用于其上的所述嵌入式系 統(tǒng)系可為電視芯片組或手機(jī)芯片組。
3. 如權(quán)利要求1所述的數(shù)據(jù)處理方法,其所應(yīng)用于其上的所述嵌入式系 統(tǒng)所包含有的所述第一處理器、所述第二處理器、所述非易失性存儲(chǔ)器以及 所述易失性存儲(chǔ)器分別為中央處理器、數(shù)字信號(hào)處理器、閃存以及動(dòng)態(tài)隨機(jī) 存取存儲(chǔ)器。
4. 如權(quán)利要求1所述的數(shù)據(jù)處理方法,其中所述第一處理器于系統(tǒng)開(kāi)機(jī) 程序中發(fā)動(dòng)所述數(shù)據(jù)搬移動(dòng)作,而所述第一處理器于發(fā)動(dòng)所述數(shù)據(jù)搬移動(dòng)作 后繼續(xù)進(jìn)行所述系統(tǒng)開(kāi)機(jī)程序中的其他動(dòng)作。
5. 如權(quán)利要求1所述的數(shù)據(jù)處理方法,其中所述數(shù)據(jù)搬移動(dòng)作為存儲(chǔ)器 直接存取動(dòng)作。
6. 如權(quán)利要求1所述的數(shù)據(jù)處理方法,還包含下列步驟 在所述嵌入式系統(tǒng)中設(shè)置第一寄存器與第二寄存器; 所述第二處理器對(duì)所述第二寄存器寫(xiě)入壓縮數(shù)據(jù)請(qǐng)求;所述第一處理器定時(shí)讀取所述第二寄存器中的內(nèi)容,用以根據(jù)所述壓縮 數(shù)據(jù)請(qǐng)求而發(fā)動(dòng)所述數(shù)據(jù)搬移動(dòng)作,并在所述數(shù)據(jù)搬移動(dòng)作完成后對(duì)所述第 一寄存器寫(xiě)入讀取參數(shù);以及所述第二處理器定時(shí)讀取所述第一寄存器中的內(nèi)容,用以根據(jù)所述讀取 參數(shù)而讀取所述易失性存儲(chǔ)器中儲(chǔ)存的所述壓縮數(shù)據(jù)來(lái)進(jìn)行解壓縮,進(jìn)而產(chǎn) 生所述已解壓縮數(shù)據(jù)并寫(xiě)入所述易失性存儲(chǔ)器中。
7. 如權(quán)利要求6所述的數(shù)據(jù)處理方法,其中所述讀取參數(shù)中包含有所述 壓縮數(shù)據(jù)在所述易失性存儲(chǔ)器中的地址與大小的信息。
8. 如權(quán)利要求6所述的數(shù)據(jù)處理方法,其中所述第二處理器讀取所述易 失性存儲(chǔ)器中儲(chǔ)存的所述壓縮數(shù)據(jù)時(shí),回應(yīng)于所述壓縮數(shù)據(jù)中結(jié)束字碼而結(jié) 束解壓縮的動(dòng)作。
9. 如權(quán)利要求6所述的數(shù)據(jù)處理方法,還包含下列步驟 所述第一處理器通知所述第二處理器載入并執(zhí)行一段解壓縮程序代碼,使所述第二處理器具有解壓縮的運(yùn)算能力;以及所述第二處理器對(duì)所述第二寄存器寫(xiě)入所述壓縮數(shù)據(jù)請(qǐng)求。
10. 如權(quán)利要求1所述的數(shù)據(jù)處理方法,其中所述第二處理器所進(jìn)行的解壓縮動(dòng)作為L(zhǎng)ZSS解壓縮運(yùn)算。
全文摘要
一種應(yīng)用于嵌入式系統(tǒng)中的數(shù)據(jù)處理方法,嵌入式系統(tǒng)至少包含有第一處理器、第二處理器、非易失性存儲(chǔ)器及易失性存儲(chǔ)器,數(shù)據(jù)處理方法包含下列步驟第一處理器發(fā)動(dòng)數(shù)據(jù)搬移動(dòng)作,將非易失性存儲(chǔ)器中儲(chǔ)存的一筆壓縮數(shù)據(jù)轉(zhuǎn)存至易失性存儲(chǔ)器中;以及第二處理器對(duì)易失性存儲(chǔ)器中儲(chǔ)存的該筆壓縮數(shù)據(jù)進(jìn)行解壓縮而產(chǎn)生一筆已解壓縮數(shù)據(jù)并寫(xiě)入易失性存儲(chǔ)器中。本發(fā)明可有效縮短開(kāi)機(jī)時(shí)間,而不需要選用功能強(qiáng)大但昂貴的微處理器。
文檔編號(hào)H04N5/445GK101146191SQ20071016248
公開(kāi)日2008年3月19日 申請(qǐng)日期2007年10月15日 優(yōu)先權(quán)日2007年10月15日
發(fā)明者楊忠理, 林漢祺 申請(qǐng)人:晨星半導(dǎo)體股份有限公司