專利名稱::解決數(shù)據(jù)流中斷的方法及其裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明是有關(guān)于一種解決數(shù)據(jù)流中斷的方法及其裝置,且特別是有關(guān)于一種使用于電腦系統(tǒng)中,應(yīng)用于等時(shí)性(Isochronous)數(shù)據(jù)流的解決數(shù)據(jù)流中斷的方法及其裝置。隨著多媒體時(shí)代的來臨,電腦中所傳送的資料包含了很多種型態(tài),例如文字資料,聲音訊號(hào),影像訊號(hào)等等。以文字資料與聲音訊號(hào)為例,兩者對(duì)于傳送時(shí)所要求的條件并不相同。文字資料傳送時(shí),可以不必連續(xù)傳送只求資料正確性。但對(duì)于聲音資料而言,由于人耳對(duì)于聲音連續(xù)性的感受很敏銳,所以聲音訊號(hào)必須連續(xù)傳輸,才不致使聽者聽到不悅耳的聲音。此類訊號(hào)稱之為等時(shí)性數(shù)據(jù)流(Streamingdata),也就是指必須連續(xù)而不可中斷的資料型態(tài),例如是聲訊(Audio)或視訊(Video)等。請(qǐng)參考圖1,其所繪示為電腦中數(shù)據(jù)流傳送的方框圖。茲以聲訊的數(shù)據(jù)流為例做說明,且數(shù)據(jù)流在硬件中的傳送是由一驅(qū)動(dòng)程序(Driver)來控制的。數(shù)據(jù)流在電腦中傳送的路徑例如為首先應(yīng)用程序?qū)?chǔ)存在硬盤102中的聲音檔案(WaveFile),傳送至存儲(chǔ)器104中,其中,該存儲(chǔ)器104是用以暫存聲音資料(Data),以利于聲音資料的處理。接著,作業(yè)系統(tǒng)程序透過驅(qū)動(dòng)程序控制數(shù)字資料控制器(DigitalController,DC)106。然后,數(shù)字資料控制器106將存儲(chǔ)器104中的資料傳送至訊號(hào)處理器108。最后,訊號(hào)處理器108將模擬的聲音訊號(hào)傳送至播音器110,用以播放聲音。如此便完成聲音訊號(hào)的傳送,而使得使用者得以收聽到電腦所要播放的聲音。其中,存儲(chǔ)器104除了暫存硬盤102中的聲音檔案之外,亦可儲(chǔ)存從網(wǎng)路或外界而來的聲音檔案。請(qǐng)同時(shí)參考圖1及圖2,其中圖2所繪示為傳統(tǒng)數(shù)據(jù)流傳送的流程圖。首先,步驟202中,作業(yè)系統(tǒng)判斷是否有資料要傳送,若否,則結(jié)束本流程;若是,則進(jìn)入步驟204,作業(yè)系統(tǒng)將儲(chǔ)存在硬盤102中的資料傳送至存儲(chǔ)器104。接著,進(jìn)入步驟206,驅(qū)動(dòng)程序控制數(shù)字資料控制器106將資料從存儲(chǔ)器104傳送至訊號(hào)處理器108。然后,進(jìn)入步驟208,由數(shù)字資料控制器106判斷是否資料已經(jīng)傳送完畢,若否,則回到步驟206,繼續(xù)傳送;若是,則進(jìn)入步驟210,由數(shù)字資料控制器106傳送一個(gè)中斷訊號(hào)(Interrupt)給驅(qū)動(dòng)程序,在告知驅(qū)動(dòng)程序資料已傳送完畢之后,再回到步驟202。茲針對(duì)數(shù)字資料處理器106將資料從存儲(chǔ)器104傳送至訊號(hào)處理器108之間的傳送過程做進(jìn)一步的探討。在步驟210驅(qū)動(dòng)程序接收了數(shù)字資料控制器106所傳送的中斷訊號(hào)之后,方回到步驟202,并進(jìn)入步驟204,206。然后,驅(qū)動(dòng)程序才再次命令數(shù)字資料控制器106抓取資料。在這段期間中,數(shù)字資料控制器106若無法傳送任何資料至訊號(hào)處理器108,則會(huì)有資料中斷的情形產(chǎn)生。如此,播音器110所播放出來的聲音訊號(hào)也因此不連續(xù),播音效果會(huì)因此大打折扣。所以,數(shù)字資料處理器106將第一筆資料傳送完畢一直到數(shù)字資料處理器106開始傳送第二筆資料之間,會(huì)有一段資料中斷期。以聲訊為例,在實(shí)際的狀況中,每筆資料的傳輸大約需要10ms,而此資料中斷期大約是0.1ms,約為每筆資料的1%,因此,在播音時(shí),會(huì)有噪音出現(xiàn)。傳統(tǒng)解決訊號(hào)不連續(xù)的做法是,在數(shù)字資料控制器106中加入了一個(gè)先入先出(FirstInFirstOut,FIFO)寄存器(未示于圖中),用以在數(shù)字資料控制器106中暫存資料。數(shù)字資料控制器106將從存儲(chǔ)器104讀取的資料推入(Push)先入先出寄存器中,然后,再將資料由先入先出寄存器提出(Pop)給訊號(hào)處理器108。若此先入先出寄存器的儲(chǔ)存容量夠大的話,在資料中斷期的這段期間內(nèi),數(shù)字資料控制器106還是可以將暫存于先入先出寄存器中的資料提出,傳送給訊號(hào)處理器108,如此便可解決訊號(hào)不連續(xù)的問題。但是,若先入先出寄存器不夠大,或是資料中斷期的時(shí)間太長的話,仍然會(huì)產(chǎn)生數(shù)據(jù)流不連續(xù)的情形。再者,在硬件設(shè)計(jì)上,數(shù)字資料控制器106也必需另外利用相當(dāng)數(shù)目的邏輯門(logicgate)來完成先入先出寄存器的設(shè)計(jì)。有鑒于此,本發(fā)明的主要目的就是在提出一種解決數(shù)據(jù)流中斷的方法及其裝置,借由改變驅(qū)動(dòng)程序的演算法及數(shù)字資料處理器的設(shè)計(jì),便可達(dá)到極佳的效果。不僅節(jié)省硬件空間與制造成本,而且系統(tǒng)相當(dāng)穩(wěn)定。根據(jù)本發(fā)明的目的,提出一種解決數(shù)據(jù)流中斷的方法,是利用數(shù)字訊號(hào)控制器傳送儲(chǔ)存單元中的資料,該數(shù)字訊號(hào)控制器包括基底記錄單元與觸發(fā)記錄器,該方法包括首先,當(dāng)要傳送資料時(shí),將資料的起始地址值寫入基底記錄單元中。接著,觸發(fā)數(shù)字資料控制器,更改觸發(fā)記錄器的內(nèi)容值,并同時(shí)回到本方法的起始步驟與下一步驟。然后,數(shù)字資料控制器傳送基底記錄單元中的起始地址值所對(duì)應(yīng)的資料,且當(dāng)數(shù)字資料控制器將資料傳送完畢時(shí),進(jìn)入下一步驟。最后,當(dāng)觸發(fā)記錄器的內(nèi)容值有改變時(shí),重復(fù)上一步驟。根據(jù)本發(fā)明的另一目的,提出一種解決數(shù)據(jù)流中斷的方法,該方法是利用數(shù)字訊號(hào)控制器傳送儲(chǔ)存單元中的資料,數(shù)字訊號(hào)控制器包括基底記錄單元與觸發(fā)記錄器,該方法包括(a)當(dāng)有資料要傳送時(shí),進(jìn)入步驟(b)。(b)將資料寫入儲(chǔ)存單元,并將資料的起始地址值寫入基底記錄單元。(c)觸發(fā)數(shù)字資料控制器,若此時(shí)數(shù)字資料控制器正在傳送資料時(shí),則更改觸發(fā)記錄器的內(nèi)容值,接著同時(shí)進(jìn)入步驟(a)與步驟(d)。(d)當(dāng)數(shù)字資料控制器判斷出觸發(fā)記錄器的內(nèi)容值有改變時(shí),進(jìn)入步驟(e)。(e)數(shù)字資料控制器傳送基底記錄單元中的起始地址值所對(duì)應(yīng)的資料。以及(f)當(dāng)資料傳送完畢時(shí),進(jìn)入步驟(d)。為讓本發(fā)明的上述目的、特征、和優(yōu)點(diǎn)能更明顯易懂,下文特舉一較佳實(shí)施例,并配合附圖,作詳細(xì)說明如下附圖的簡要說明圖1繪示是電腦中數(shù)據(jù)流傳送的方框圖;圖2繪示是傳統(tǒng)數(shù)據(jù)流傳送的流程圖;圖3繪示是依照本發(fā)明一較佳實(shí)施例的一種解決數(shù)據(jù)流中斷的裝置方框圖。圖4繪示是本發(fā)明解決數(shù)據(jù)流中斷的方法的流程圖。圖5繪示是存儲(chǔ)器中的散集描述表格示意圖;圖6繪示是資料傳送時(shí)的散集描述表格示意圖。較佳實(shí)施例請(qǐng)參考圖3,其所繪示為依照本發(fā)明一較佳實(shí)施例的一種解決數(shù)據(jù)流中斷的裝置方框圖。首先,驅(qū)動(dòng)程序?qū)?chǔ)存在存儲(chǔ)器104中,將要傳送至訊號(hào)處理器108的第一筆資料的基底地址(亦即是第一筆資料的起始地址)寫入數(shù)字資料控制器(DigitalController,DC)302中的基底記錄單元304。并觸發(fā)數(shù)字資料控制器302,使數(shù)字資料控制器302開始進(jìn)行資料傳送。此時(shí),不論第一筆資料是否已經(jīng)傳送完畢,驅(qū)動(dòng)程序均可隨時(shí)將所要傳送的第二筆資料寫入存儲(chǔ)器104中,將位于存儲(chǔ)器104中的第二筆資料的基底地址寫入基底記錄單元304,并觸發(fā)數(shù)字資料控制器302。若數(shù)字資料控制器302此時(shí)已將第一筆資料傳送完畢,且驅(qū)動(dòng)程序又同時(shí)觸發(fā)數(shù)字資料控制器302,則數(shù)字資料控制器302自然會(huì)讀取基底記錄單元304的內(nèi)容值,并且開始傳輸?shù)诙P資料。但是,若數(shù)字資料控制器302尚未將第一筆資料傳送完畢,而驅(qū)動(dòng)程序又在此時(shí)觸發(fā)數(shù)字資料控制器302,則此動(dòng)作將使得數(shù)字資料控制器302中的觸發(fā)記錄器306的內(nèi)容值改變。當(dāng)?shù)谝还P資料傳送完畢之時(shí),因?yàn)閿?shù)字資料控制器302此時(shí)可判斷出觸發(fā)記錄器306的內(nèi)容值有改變,所以數(shù)字資料控制器302立即可進(jìn)行第二筆資料的傳輸動(dòng)作。其中,將驅(qū)動(dòng)程序觸發(fā)數(shù)字資料控制器306的動(dòng)作依次記錄于觸發(fā)記錄器306中稱之為將觸發(fā)動(dòng)作排隊(duì)(Queue)起來。其中,基底記錄單元304可以是記錄一個(gè)存儲(chǔ)器地址的寄存器,或者基底記錄單元304也可以是記錄M個(gè)存儲(chǔ)器地址的寄存器,而驅(qū)動(dòng)程序則將所要傳送的資料的起始地址值依序地寫入基底記錄單元304中。而觸發(fā)記錄器306亦可例如為一個(gè)觸發(fā)器(Flip-Flop),當(dāng)驅(qū)動(dòng)程序觸發(fā)數(shù)字資料控制器302時(shí),同時(shí)觸發(fā)此觸發(fā)器。而數(shù)字資料控制器302只要判斷此觸發(fā)器的輸出電平是否有改變,即可得知驅(qū)動(dòng)程序是否又再一次地觸發(fā)了數(shù)字資料控制器302。除此之外,觸發(fā)記錄器306更可以為一個(gè)可計(jì)數(shù)到M的計(jì)數(shù)器。如此,觸發(fā)記錄器306可以記錄M次驅(qū)動(dòng)程序觸發(fā)數(shù)字資料控制器306動(dòng)作。此時(shí)基底記錄單元304例如是可以記錄M個(gè)存儲(chǔ)器地址的寄存器。為了使說明更清楚起見,請(qǐng)參照?qǐng)D4,其所繪示為本發(fā)明解決數(shù)據(jù)流中斷方法的流程圖。首先,步驟402,由驅(qū)動(dòng)程序判斷是否中有一筆資料要傳送。若是,則進(jìn)入步驟404;若否,則結(jié)束本方法。步驟404,驅(qū)動(dòng)程序?qū)⒁獋魉偷脑摴P資料寫入存儲(chǔ)器104中。接著,進(jìn)入步驟406,驅(qū)動(dòng)程序?qū)⒃摴P資料的起始地址值寫入數(shù)字資料控制器302中的基底記錄單元304。然后,進(jìn)入步驟408,驅(qū)動(dòng)程序觸發(fā)數(shù)字資料控制器302。在步驟408之后,本方法同時(shí)進(jìn)入步驟402與步驟410。在步驟410中,數(shù)字資料控制器302開始傳送該筆資料,亦即是數(shù)字資料控制器302根據(jù)基底記錄單元304中所記錄的資料起始地址值,找到該筆資料的存儲(chǔ)器104中的起始地址,將該筆資料從存儲(chǔ)器104傳送至訊號(hào)處理器108。接著,進(jìn)入步驟412,數(shù)字資料控制器302判斷是否該筆資料已傳送完畢。若是,則進(jìn)入步驟414,若否,則回到步驟412。在步驟414中,判斷是否觸發(fā)記錄器306的內(nèi)容值有改變。若否,則結(jié)束本方法;若有,則進(jìn)入步驟416。當(dāng)觸發(fā)記錄器306的內(nèi)容值有改變時(shí),表示驅(qū)動(dòng)程序已經(jīng)重復(fù)執(zhí)行了步驟402~404。亦即是驅(qū)動(dòng)程序判斷出有另一筆資料要傳送,而將此另一筆資料寫入存儲(chǔ)器中。且驅(qū)動(dòng)程序亦將此另一筆資料的起始地址值記錄于基底記錄單元304中,并觸發(fā)數(shù)字資料控制器302。在驅(qū)動(dòng)程序觸發(fā)數(shù)字資料控制器302的同時(shí),因?yàn)閿?shù)字資料控制器302正在傳送資料,故此觸發(fā)動(dòng)作記錄于觸記錄器306中,亦即是驅(qū)動(dòng)程序?qū)⒂|發(fā)記錄器306的內(nèi)容值改變。在步驟416中,數(shù)字資料控制器302開始傳送另一筆資料,亦即是根據(jù)基底記錄單元304中所記錄的存儲(chǔ)器地址值,將此另一筆資料由存儲(chǔ)器104傳送至訊號(hào)處理器108中。接著,進(jìn)入步驟418,判斷是否另一筆資料已傳送完畢。若否,則回到步驟418;若是,則重復(fù)步驟414。其中,執(zhí)行步驟408之后,驅(qū)動(dòng)程序由A路經(jīng)重復(fù)執(zhí)行步驟402~408,而數(shù)字資料控制器302由B路徑進(jìn)入步驟410。而在步驟412之后,數(shù)字資料控制器302則重復(fù)執(zhí)行步驟414~418。驅(qū)動(dòng)程序與數(shù)字資料控制器302可以同時(shí)個(gè)別執(zhí)行其相關(guān)步驟,亦即是當(dāng)驅(qū)動(dòng)程序持續(xù)地執(zhí)行步驟402~408時(shí),數(shù)字資料控制器302則持續(xù)地執(zhí)行步驟414~418。驅(qū)動(dòng)程序在步驟408中觸發(fā)數(shù)字資料控制器302一次。若此時(shí)數(shù)字資料控制器302并沒有進(jìn)行傳送資料的動(dòng)作,則進(jìn)入步驟410。若此時(shí)數(shù)字資料控制器302正進(jìn)行傳送資料的動(dòng)作,則此觸發(fā)數(shù)字資料控制器302的動(dòng)作則記錄于觸發(fā)控制器306中。等到執(zhí)行到步驟414時(shí),數(shù)字資料控制器302判斷出觸發(fā)記錄器306中的內(nèi)容值有改變,則接著執(zhí)行步驟416與步驟418。當(dāng)數(shù)字資料控制器302傳送資料時(shí),驅(qū)動(dòng)程序不間斷地等待作業(yè)系統(tǒng)是否有下一筆資料要傳送。若有,則在傳統(tǒng)方法中,驅(qū)動(dòng)程序必須等到數(shù)字資料控制器302將資料傳送完畢,再傳送一個(gè)中斷訊號(hào)給驅(qū)動(dòng)程序之后,驅(qū)動(dòng)程序方才觸發(fā)數(shù)字資料控制器302來傳送下一筆資料。如此會(huì)產(chǎn)生數(shù)據(jù)流中斷的問題(除非數(shù)字資料控制器302有先入先出緩沖器(Budder)的設(shè)計(jì),但如此則增加邏輯門的數(shù)目)。在本發(fā)明中,驅(qū)動(dòng)程序并不需要等到接收到中斷訊號(hào)之后,才觸發(fā)數(shù)字資料控制器302來傳送下一筆資料。而是只要驅(qū)動(dòng)程序判斷出有資料要傳送,驅(qū)動(dòng)程序便可立刻將要傳送的資料寫入存儲(chǔ)器104中,并將資料在存儲(chǔ)器104中的起始地址值寫入基底記錄單元304,并更改觸發(fā)記錄器306的內(nèi)容值。而當(dāng)數(shù)字資料控制器302已將前一筆資料傳送完畢時(shí),只要檢測(cè)到觸發(fā)記錄器306被更改過,即可馬上接著傳送下一筆資料。如此,可連續(xù)地傳送資料,而解決了數(shù)據(jù)流中斷的問題。而記錄于存儲(chǔ)器中,所要傳送的資料的資料結(jié)構(gòu)可以有很多種。例如是以散集描述(Scatter-GatherDescription,SGD)表格(table)的資料結(jié)構(gòu)儲(chǔ)存。請(qǐng)參照?qǐng)D5,其所繪示為存儲(chǔ)器中的散集描述表格示意圖。一筆資料可以用一個(gè)散集描述表格來記錄之,例如是散集描述表格502。而散集描述基底值504為散集描述表格502在存儲(chǔ)304中的起始地址值。散集描述表格502中有兩個(gè)欄位基底(base)欄506與計(jì)數(shù)(count)欄508,且共有N項(xiàng)(entry)資料。基底欄506中的基底值各為一個(gè)存儲(chǔ)器地址值,記錄N項(xiàng)資料中各項(xiàng)資料存放于存儲(chǔ)器的起始地址值,其中,基底值例如為基底1、基底2、基底3、與基底N等等,且分別指向地址1的存儲(chǔ)器510、地址2的存儲(chǔ)器512、地址3的存儲(chǔ)器514、與地址N的存儲(chǔ)器516等。計(jì)數(shù)欄508中的計(jì)數(shù)值則記錄此項(xiàng)資料的大小,其中,計(jì)數(shù)值例如為計(jì)數(shù)1、計(jì)數(shù)2、計(jì)數(shù)3、與計(jì)數(shù)N等等。而散集描述表格502的末端則為一表單結(jié)束(EndOfList)訊號(hào)EOL。當(dāng)數(shù)字資料控制器302要傳送資料時(shí),首先讀取基底記錄單元304的值,來得到散集描述基底地址值。之后,讀取基底欄506中的基底1,而得到第1項(xiàng)資料存放的起始地址(亦即地址1)。接著開始傳送此項(xiàng)資料。此項(xiàng)資料傳送完畢之后,再讀取基底欄506的基底2,而傳送下一項(xiàng)資料,如此重復(fù)動(dòng)作至讀取到表單結(jié)束訊號(hào)EOL為止。茲以基底記錄單元304可記錄一個(gè)起始地址值,觸發(fā)記錄器306可記錄驅(qū)動(dòng)程序一次觸發(fā)數(shù)字資料控制器302的動(dòng)作,且資料的資料結(jié)構(gòu)為散集描述表格的形式為例說明本實(shí)施例的操作情形。在此條件下,通常便可滿足大部分的需求。請(qǐng)參照?qǐng)D6,其所繪示為資料傳送時(shí)的散集描述表格示意圖。當(dāng)有第一群資料要傳送時(shí),首先,驅(qū)動(dòng)程序?qū)⑦@一群資料以散集描述表格602的資料結(jié)構(gòu)寫入存儲(chǔ)器104中,并將散集描述基底值604寫入基底記錄單元304。接著,驅(qū)動(dòng)程序觸發(fā)數(shù)字資料控制器302,使數(shù)字資料控制器302讀取基底記錄單元304。此時(shí)數(shù)字資料控制器302所讀取到的是散集描述基底值604,接著開始將散集描述表格602所記錄的資料傳送至訊號(hào)處理器108,直到讀取到散集描述表格602的表單結(jié)束訊號(hào)EOL為止。在傳送散集描述表格602的資料的同時(shí),若驅(qū)動(dòng)程序判斷出有第二群資料待傳,則將第二群資料以散集描述表格612的資料結(jié)構(gòu)儲(chǔ)存于存儲(chǔ)器104,并將散集描述基底614寫入基底記錄單元306中。驅(qū)動(dòng)程序接著再次觸發(fā)數(shù)字資料控制器302,亦即是更改觸發(fā)記錄器306的內(nèi)容值。如此,一旦時(shí)數(shù)字資料控制器302讀取到散集描述表格602的表單結(jié)束訊號(hào)EOL,且又檢測(cè)到觸發(fā)記錄器306的內(nèi)容值有改變時(shí),數(shù)字資料處理器302則接著讀取基底記錄單元304的值,得到散集描述基底614的值,而開始傳送散集描述表格612所記錄的資料。如此可達(dá)到連續(xù)不中斷的數(shù)據(jù)流傳送。茲再說明基底記錄單元304為一個(gè)可儲(chǔ)存M個(gè)地址值的寄存器,而觸發(fā)記錄器例如是可計(jì)數(shù)至M的計(jì)數(shù)器的操作情形。當(dāng)驅(qū)動(dòng)程序判斷出有資料要傳送時(shí),不管數(shù)字資料控制器302是否正在傳送資料,驅(qū)動(dòng)程序可將待傳送的資料依序?qū)懭牖子涗泦卧?04中,并依次觸發(fā)數(shù)字資料控制器302而改變觸發(fā)記錄器306的值。而數(shù)字資料控制器302則檢測(cè)觸發(fā)記錄器306之后,將儲(chǔ)存于基底記錄單元304中的存儲(chǔ)器地址所對(duì)應(yīng)的資料依序傳送。如此可連續(xù)傳送M筆資料,而不會(huì)有資料中斷的情形產(chǎn)生。本方法亦可應(yīng)用于通用串行總線(UniversalSerialBus,USB)的資料傳輸中,以解決數(shù)據(jù)流中斷的問題。而且,本方法亦可同時(shí)在數(shù)字資料控制器中加入一小型先入先出緩沖器,增強(qiáng)效果。因此,本發(fā)明的特征是因?yàn)榭梢越栌沈?qū)動(dòng)程序的控制,直接觸發(fā)數(shù)字資料控制器302而改變觸發(fā)記錄器306的內(nèi)容值,并由數(shù)字資料控制器302判斷觸發(fā)記錄器306的內(nèi)容值是否有改變。若有,則傳送下一筆資料。而不須經(jīng)由數(shù)字資料控制器302傳送中斷訊號(hào)后,驅(qū)動(dòng)程序才觸發(fā)數(shù)字資料控制器302來繼續(xù)傳送資料。故可用此方式達(dá)到與使用先入先出緩沖器相同的功能,而且所使用的邏輯門數(shù)目大幅減少。本發(fā)明在數(shù)字資料控制器302傳送資料時(shí),驅(qū)動(dòng)程序繼續(xù)地將資料寫入存儲(chǔ)器104,以善用時(shí)間來換取硬件空間的節(jié)省。本發(fā)明的系統(tǒng)相當(dāng)穩(wěn)定而且易于維護(hù)(Maintain)。本發(fā)明并不僅適于等時(shí)性數(shù)據(jù)流,于非等時(shí)性數(shù)據(jù)流(例如一般的文字資料)的傳送亦可使用,而達(dá)到更好的資料傳送效果。綜上所述,雖然本發(fā)明已以一較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何熟習(xí)此技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視本發(fā)明的權(quán)利要求所界定者為準(zhǔn)。權(quán)利要求1.一種解決數(shù)據(jù)流(StreamingData)中斷的方法,是利用一數(shù)字訊號(hào)控制器傳送一儲(chǔ)存單元中的一資料,該數(shù)字訊號(hào)控制器包括一基底記錄單元與一觸發(fā)記錄器,其特征是該方法包括a.當(dāng)要傳送該資料時(shí),將該資料的一起始地址值寫入該基底記錄單元中;b.改變?cè)撚|發(fā)記錄器的內(nèi)容值,并同時(shí)進(jìn)入步驟a與步驟c;c.該數(shù)字資料控制器傳送該基底記錄單元中的起始地址值所對(duì)應(yīng)的該資料,且當(dāng)該數(shù)字資料控制器將該資料傳送完畢時(shí),進(jìn)入步驟d;以及d.當(dāng)該觸發(fā)記錄器的內(nèi)容值有改變時(shí),進(jìn)入步驟c。2.如權(quán)利要求1所述的方法,其特征是在該步驟a中,當(dāng)沒有資料待傳送時(shí),結(jié)束該方法。3.如權(quán)利要求2所述的方法,其特征是該步驟d中,當(dāng)該觸發(fā)記錄器的內(nèi)容值沒有改變時(shí),結(jié)束該方法。4.如權(quán)利要求1所述的方法,其特征是該儲(chǔ)存單元是一存儲(chǔ)器。5.如權(quán)利要求4所述的方法,其特征是該資料是以一散集描述(Scarter-GatherDescription,SGD)表格(Table)的資料結(jié)構(gòu)儲(chǔ)存于該存儲(chǔ)器中。6.如權(quán)利要求1所述的方法,其特征是,該資料是傳送至一訊號(hào)處理器中。7.如權(quán)利要求1所述的方法,其特征是該觸發(fā)記錄器是一觸發(fā)器(Flip-Flop)。8.如權(quán)利要求1所述的方法,其特征是該觸發(fā)記錄器是一可計(jì)數(shù)至M的計(jì)數(shù)器。9.如權(quán)利要求1所述的方法,其特征是該基底記錄單元是一寄存器。10.如權(quán)利要求1所述的方法,其特征是該數(shù)據(jù)流是等時(shí)性(Isochronous)數(shù)據(jù)流。11.一種數(shù)據(jù)流(StreamingData)傳送的方法,是利用一數(shù)字訊號(hào)控制器傳送一儲(chǔ)存單元中的一資料,該數(shù)字訊號(hào)控制器包括一基底記錄單元與一觸發(fā)記錄器,其特征是該方法包括a.當(dāng)有一資料要傳送時(shí),進(jìn)入步驟b;b.將該資料寫入該儲(chǔ)存單元,并將該資料的一起始地址值寫入該基底記錄單元;c.觸發(fā)該數(shù)字資料控制器,更改該觸發(fā)記錄器的內(nèi)容值,接著同時(shí)進(jìn)入步驟a與步驟d;d.當(dāng)該觸發(fā)記錄器的內(nèi)容值有改變時(shí),進(jìn)入步驟e;e.該數(shù)字資料控制器傳送該基底記錄單元中的起始地址值所對(duì)應(yīng)的該資料;以及f.當(dāng)該資料傳送完畢時(shí),進(jìn)入步驟d。12.如權(quán)利要求11所述的方法,其特征是在該步驟a中,當(dāng)沒有資料待傳送時(shí),結(jié)束該方法。13.如權(quán)利要求11所述的方法,其特征是該步驟f中,當(dāng)該觸發(fā)記錄器的內(nèi)容值沒有改變時(shí),結(jié)束該方法。14.如權(quán)利要求11所述的方法,其特征是該資料是以一散集描述(Scatter-GatherDescription,SGD)表格(Table)的資料結(jié)構(gòu)儲(chǔ)存于該儲(chǔ)存單元中。15.如權(quán)利要求11所述的方法,其特征是該觸發(fā)記錄器是一觸發(fā)器(Flip-Flop)。16.如權(quán)利要求11所述的方法,其特征是該數(shù)據(jù)流是等時(shí)性(Isochronous)數(shù)據(jù)流。17.一種數(shù)據(jù)流(StreamingData)傳送的方法,是利用一數(shù)字訊號(hào)控制器控制資料的傳送,該數(shù)字訊號(hào)控制器包括一基底記錄單元與一觸發(fā)記錄器,該基底記錄單元包括M個(gè)寄存器,其特征是該方法包括a.當(dāng)有一第I筆資料要傳送時(shí),進(jìn)入步驟b;b.將該第I筆資料寫入一儲(chǔ)存單元,并將該第I筆資料的起始地址值寫入該基底記錄單元中的第J個(gè)寄存器,其中J為大于等于1,小于等于M的正整數(shù)值;c.觸發(fā)該數(shù)字資料控制器,并更改該觸發(fā)記錄器的內(nèi)容值,將I值加1,J值加1,接著同時(shí)進(jìn)入步驟a與步驟d;d.當(dāng)該觸發(fā)記錄器的內(nèi)容值有改變時(shí),進(jìn)入步驟e;e.該數(shù)字資料控制器傳送該基底記錄單元中的一第P個(gè)寄存器記錄的起始地址值所對(duì)應(yīng)的一第Q筆資料;以及f.當(dāng)該第Q筆資料傳送完畢時(shí),P值加1,Q值加1進(jìn)入步驟d;其中I、J、P、Q的初始值為1。18.如權(quán)利要求17所述的方法,其特征是該觸發(fā)記錄器是一可計(jì)數(shù)至M的計(jì)數(shù)器。19.如權(quán)利要求17所述的方法,其特征是在該步驟a中,當(dāng)沒有資料待傳送時(shí),結(jié)束該方法。20.如權(quán)利要求17所述的方法,其特征是該步驟e中,當(dāng)該觸發(fā)記錄器的內(nèi)容值沒有改變時(shí),結(jié)束該方法。全文摘要一種解決數(shù)據(jù)流中斷的方法,是利用數(shù)字訊號(hào)控制器傳送儲(chǔ)存單元中的數(shù)據(jù),該數(shù)字訊號(hào)控制器包括基底記錄單元與觸發(fā)記錄器,該方法包括:首先,當(dāng)要傳送數(shù)據(jù)時(shí),將數(shù)據(jù)的起始地址值寫入基底記錄單元中。接著,觸發(fā)數(shù)字資料控制器,更改觸發(fā)記錄器的內(nèi)容值,并同時(shí)回到本方法的起始步驟與下一步驟。然后,數(shù)字資料控制器傳送基底記錄單元中的起始地址值所對(duì)應(yīng)的資料,且當(dāng)數(shù)字資料控制器將資料傳送完畢時(shí),進(jìn)入下一步驟。最后,當(dāng)觸發(fā)記錄器的內(nèi)容值有改變時(shí),重復(fù)上一步驟。文檔編號(hào)G06F9/46GK1313549SQ00104039公開日2001年9月19日申請(qǐng)日期2000年3月14日優(yōu)先權(quán)日2000年3月14日發(fā)明者朱家嵚,陳永暉申請(qǐng)人:威盛電子股份有限公司