專利名稱:一種實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)處理領(lǐng)域,尤其涉及一種實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法、裝置及系統(tǒng)。
背景技術(shù):
請參閱圖1,為現(xiàn)有技術(shù)提供的典型的實時性數(shù)據(jù)傳輸系統(tǒng)。實時性數(shù)據(jù)傳輸系統(tǒng)一般由存儲器、數(shù)據(jù)傳輸通道、實時性設(shè)備接口以及實時性設(shè)備四個部分組成。其中數(shù)據(jù)傳輸通道是指任何可以將數(shù)據(jù)包從一個存儲區(qū)傳輸?shù)搅硪粋€存儲區(qū)的數(shù)據(jù)傳輸通道,如將數(shù)據(jù)包從存儲器傳輸至實時性設(shè)備,或者將數(shù)據(jù)包從實時性設(shè)備傳輸至存儲器,或者將數(shù)據(jù)包從存儲器的某個存儲區(qū)傳輸至另一個存儲區(qū)的數(shù)據(jù)傳輸通道。數(shù)據(jù)傳輸通道包括但不限于直接存儲器存取通道(Direct Memory Access,DMA)、通過中央處理器(Central Processing Unit, CPU)進(jìn)行數(shù)據(jù)傳輸?shù)耐ǖ赖?。存儲器用于存儲傳輸?shù)臄?shù)據(jù)。數(shù)據(jù)傳輸通道用于發(fā)起對存儲器和實時性設(shè)備的訪問,將數(shù)據(jù)從存儲器傳輸?shù)綄崟r性設(shè)備,或者將數(shù)據(jù)從實時性設(shè)備傳輸至存儲器。實時性設(shè)備接口用于將存儲器的數(shù)據(jù)處理成實時性設(shè)備可以使用的格式,或者將實時性設(shè)備輸入的數(shù)據(jù)解碼得到有效數(shù)據(jù)供數(shù)據(jù)傳輸通道傳輸至存儲器。請參閱圖2,為現(xiàn)有技術(shù)提供的DMA傳輸數(shù)據(jù)的實現(xiàn)流程圖,簡述如下配置DMA 傳輸時的數(shù)據(jù)源以及目的端,再配置DMA傳輸?shù)臄?shù)據(jù)總量,啟動DMA,DMA從配置的數(shù)據(jù)源中將配置的數(shù)據(jù)總量傳輸至目的端,至此一次DMA傳輸完畢,當(dāng)DMA傳輸完畢后,重新啟動 DMA,接著進(jìn)行數(shù)據(jù)傳輸。在DMA中有一個寄存器用來配置傳輸?shù)臄?shù)據(jù)總量,對于實時性設(shè)備,不可能預(yù)知數(shù)據(jù)總量,而且即時可以預(yù)知,數(shù)據(jù)總量也是天文數(shù)字,DMA不可能做這樣的寄存器,所以一般的做法是將DMA傳輸?shù)臄?shù)據(jù)總量設(shè)置為一個有限數(shù),DMA在傳輸完該數(shù)據(jù)總量后,再多次重啟,繼續(xù)傳輸該數(shù)目的數(shù)據(jù)量,以滿足實時性設(shè)備的請求。現(xiàn)有技術(shù)中數(shù)據(jù)傳輸?shù)膶崿F(xiàn)流程一般如下首先配置數(shù)據(jù)傳輸通道的數(shù)據(jù)源以及目的端,然后配置數(shù)據(jù)傳輸通道傳送的數(shù)據(jù)總量,然后啟動數(shù)據(jù)傳輸通道,從配置的數(shù)據(jù)源中將配置的數(shù)據(jù)總量傳輸至目的端,至此一次數(shù)據(jù)傳輸完畢。下一次需要傳輸數(shù)據(jù)時,再重新啟動數(shù)據(jù)傳輸通道進(jìn)行數(shù)據(jù)傳輸。在現(xiàn)有的系統(tǒng)中,一般有多個設(shè)備共享總線資源和存儲器,當(dāng)總線資源緊張時,或者存儲器為其他外部設(shè)備服務(wù)時,就會導(dǎo)致系統(tǒng)無法及時響應(yīng)實時性設(shè)備的請求,從而導(dǎo)致實時性設(shè)備數(shù)據(jù)的丟失。但是由于實時性數(shù)據(jù)傳輸要求外部設(shè)備在工作時傳輸不能中斷,否則就會丟失部分?jǐn)?shù)據(jù),導(dǎo)致時序錯位和錯位累加,如對于音頻,表現(xiàn)為音畫不同步,對于視頻,表現(xiàn)為圖像錯位。現(xiàn)有技術(shù)一般是通過提高系統(tǒng)總線和存儲器的效率來避免實時性設(shè)備數(shù)據(jù)的丟失,或者講實時性設(shè)備的響應(yīng)優(yōu)先級設(shè)置為最高,以保證及時響應(yīng)實時性設(shè)備的需求。這種方法雖然一定程度上可以避免實時性設(shè)備數(shù)據(jù)的丟失,但是其實現(xiàn)代價較高,且也會存在很多意外的因素,很難保證萬無一失?,F(xiàn)有技術(shù)還提供了另一種通過軟件設(shè)置錯誤檢測機(jī)制的方法來避免實時性設(shè)備數(shù)據(jù)的丟失,一旦發(fā)現(xiàn)傳輸錯誤,就通過軟件重啟DMA和實時性設(shè)備。這種方法雖然也可以在一定程度上避免實時性設(shè)備數(shù)據(jù)的丟失,但是這種方法將加重軟件的負(fù)擔(dān),而且在系統(tǒng)繁忙的時候恢復(fù)速度也會減慢,如果頻繁重啟,用戶還是會感知到,影響用戶使用體驗。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法,旨在解決現(xiàn)有的實時性數(shù)據(jù)傳輸系統(tǒng)中對系統(tǒng)總線和存儲器的效率要求高、數(shù)據(jù)傳輸錯誤恢復(fù)速度慢的問題。本發(fā)明實施例是這樣實現(xiàn)的,一種實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法,所述方法包括下述步驟配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量;實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。優(yōu)選地,所述實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢的步驟具體為實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志 f η ο優(yōu)選地,所述方法還包括下述步驟在數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置取消被拉高的用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。本發(fā)明實施例的另一目的在于提供一種實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置,所述裝置包括傳輸量配置單元,用于配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量;數(shù)據(jù)請求單元,用于在實時性設(shè)備每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。優(yōu)選地,所述數(shù)據(jù)請求單元請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢是指數(shù)據(jù)請求單元強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。優(yōu)選地,所述裝置還包括信號取消單元,用于在數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后, 取消被所述數(shù)據(jù)請求單元拉高的用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。本發(fā)明實施例的另一目的在于提供一種實時性數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括存儲器、與存儲器通過系統(tǒng)總線或者專用通道連接的數(shù)據(jù)傳輸通道、與數(shù)據(jù)傳輸通道通過系統(tǒng)總線連接的實時性設(shè)備接口、與實時性設(shè)備接口通過端口連接的實時性設(shè)備,所述系統(tǒng)還包括實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置,分別與所述數(shù)據(jù)傳輸通道、實時性設(shè)備接口進(jìn)行通信,用于配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量,并在實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。優(yōu)選地,所述實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢是指數(shù)據(jù)請求單元強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。優(yōu)選地,所述實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置還用于在數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后,取消被所述數(shù)據(jù)請求單元拉高的用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。在本發(fā)明實施例中,在實時性設(shè)備每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢,從而在實時性設(shè)備的下一幀開始時,可以恢復(fù)實時性設(shè)備與數(shù)據(jù)傳輸通道之間的時序錯誤,降低了對系統(tǒng)總線和存儲器的效率的要求,而且在當(dāng)前幀出錯時,下一幀就可以恢復(fù),數(shù)據(jù)傳輸錯誤恢復(fù)速度快。
圖1是現(xiàn)有技術(shù)提供的典型的實時性數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)框圖;圖2是現(xiàn)有技術(shù)提供的DMA傳輸數(shù)據(jù)的實現(xiàn)流程圖;圖3是本發(fā)明實施例提供的實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法的實現(xiàn)流程圖;圖4是本發(fā)明實施例提供的實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法的實現(xiàn)流程圖;圖5是本發(fā)明實施例提供的實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置的結(jié)構(gòu)框圖;圖6是本發(fā)明實施例提供的實時性數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)框圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。在本發(fā)明實施例中,配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量,實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號,以請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢,這樣,當(dāng)數(shù)據(jù)傳輸通道偶爾不能及時響應(yīng)實時性設(shè)備而造成數(shù)據(jù)傳輸通道與實時性設(shè)備的時序錯位時,不需要重啟實時性設(shè)備以及數(shù)據(jù)傳輸通道,就可以在實時性設(shè)備的下一次數(shù)據(jù)傳輸請求時恢復(fù)數(shù)據(jù)傳輸通道與實時性設(shè)備之間的時序錯位。本發(fā)明提供了一種實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法和裝置所述方法包括下述步驟配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量;實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。所述裝置包括傳輸量配置單元,用于配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量;數(shù)據(jù)請求單元,用于在實時性設(shè)備每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。本發(fā)明還提供了一種實時性數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括存儲器、與存儲器通過系統(tǒng)總線連接的數(shù)據(jù)傳輸通道、與數(shù)據(jù)傳輸通道通過系統(tǒng)總線或者專用通道連接的實時性設(shè)備接口、與實時性設(shè)備接口通過端口連接的實時性設(shè)備,所述系統(tǒng)還包括實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置,分別與所述數(shù)據(jù)傳輸通道、實時性設(shè)備接口進(jìn)行通信,用于配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量,并在實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進(jìn)行說明。實施例一圖3示出了本發(fā)明實施例提供的實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法的實現(xiàn)流程,詳述如下在步驟SlOl中,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量。其中數(shù)據(jù)傳輸通道為任何可以將數(shù)據(jù)包從一個存儲區(qū)傳輸?shù)搅硪粋€存儲區(qū)的數(shù)據(jù)傳輸通道,如將數(shù)據(jù)包從存儲器傳輸至實時性設(shè)備,或者將數(shù)據(jù)包從實時性設(shè)備傳輸至存儲器,或者將數(shù)據(jù)包從存儲器的某個存儲區(qū)傳輸至另一個存儲區(qū)的數(shù)據(jù)傳輸通道。數(shù)據(jù)傳輸通道包括但不限于DMA、CPU等。在本發(fā)明實施例中,數(shù)據(jù)傳輸通道中至少包括一個用于存儲配置的數(shù)據(jù)總量的寄存器。其中配置的數(shù)據(jù)總量的大小與具體的實時性設(shè)備的應(yīng)用有關(guān),如可以將數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量配置為一個任意大小的數(shù)據(jù)包,如配置為1幀或者1場數(shù)據(jù)數(shù)量。在步驟S102中,實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢的方式可以但不限于是強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。在本發(fā)明實施例中,實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號,當(dāng)用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)識信號被拉高時,數(shù)據(jù)傳輸通道將繼續(xù)進(jìn)行數(shù)據(jù)傳輸,直到將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。如當(dāng)配置的數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量為一幀或者一場時,實時性設(shè)備在輸出每幀的幀尾或者輸出每場的場尾,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號,以請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。在本發(fā)明實施例中,當(dāng)實時性設(shè)備準(zhǔn)備就緒后,如果有實時性數(shù)據(jù)傳輸需求,則可以向數(shù)據(jù)傳輸通道發(fā)送數(shù)據(jù)傳輸請求,數(shù)據(jù)傳輸通道在接收到實時性設(shè)備發(fā)送的數(shù)據(jù)傳輸請求后,將配置的數(shù)據(jù)總量從存儲器傳輸至實時性設(shè)備,實時性設(shè)備再將數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量的數(shù)據(jù)輸出。在上述過程中,如果由于總線資源緊張或者存儲器當(dāng)時無法為該實時性設(shè)備提供服務(wù),可能導(dǎo)致數(shù)據(jù)傳輸通道無法將配置的數(shù)據(jù)總量從存儲器傳輸至實時性設(shè)備,而只能將實時性設(shè)備請求的部分?jǐn)?shù)據(jù)傳輸至實時性設(shè)備,實時性設(shè)備在其輸出時序來臨時,無論數(shù)據(jù)傳輸通道是否傳輸完畢,都將輸出配置的數(shù)據(jù)總量的數(shù)據(jù),這將導(dǎo)致當(dāng)前輸出的部分?jǐn)?shù)據(jù)的丟失,從而導(dǎo)致時序錯位,如果不加以恢復(fù),將導(dǎo)致錯位累加,此時, 在本發(fā)明實施例中,實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號,這樣可以請求數(shù)據(jù)傳輸通道繼續(xù)將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。以數(shù)據(jù)傳輸通道為DMA為例,進(jìn)行說明如下假設(shè)配置的DMA傳輸?shù)臄?shù)據(jù)總量為一幀,當(dāng)實時性設(shè)備準(zhǔn)備就緒后,如果需要傳輸數(shù)據(jù),則實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置可以向DMA發(fā)送數(shù)據(jù)傳輸請求,DMA在接收到實時性設(shè)備發(fā)送的數(shù)據(jù)傳輸請求后,將一幀數(shù)據(jù)從存儲器傳輸至實時性設(shè)備,實時性設(shè)備再將DMA傳輸?shù)脑搸瑪?shù)據(jù)輸出。在此過程中,如果由于總線資源緊張或者存儲器當(dāng)時無法為該實時性設(shè)備提供服務(wù),可能導(dǎo)致DMA無法將一幀的數(shù)據(jù)總量從存儲器傳輸至實時性設(shè)備,如當(dāng)一幀包括100個數(shù)據(jù)時,此時DMA可能只能將90個數(shù)據(jù)從存儲器傳輸至實時性設(shè)備,而實時性設(shè)備在其輸出時序來臨時,直接將該幀數(shù)據(jù)輸出,無論該幀數(shù)據(jù)是否包含100 個數(shù)據(jù),此時,由于實時性設(shè)備在此次輸出時序本應(yīng)該輸出包括100個數(shù)據(jù)的一幀數(shù)據(jù),但由于DMA只傳輸了包括90個數(shù)據(jù)的一幀數(shù)據(jù),從而導(dǎo)致當(dāng)前輸出的數(shù)據(jù)丟失了一部分,也就是說DMA沒有將實時性設(shè)備請求的數(shù)據(jù)量傳輸完畢,從而導(dǎo)致時序錯位。此時,實時性設(shè)備在輸出DMA傳輸?shù)陌?0個數(shù)據(jù)的一幀數(shù)據(jù)后,強(qiáng)制拉高用于請求DMA傳輸數(shù)據(jù)的標(biāo)志信號,這樣可以請求DMA繼續(xù)將未傳輸完畢的數(shù)據(jù)(如該幀包括的剩余10個數(shù)據(jù))傳輸完畢。這樣雖然實時性設(shè)備輸出的當(dāng)前幀發(fā)生了時序錯位,但在實時性設(shè)備下一幀開始時, DMA也重新啟動傳輸,從而實時性設(shè)備與DMA之間的時序也就恢復(fù)了。在本發(fā)明實施例中,實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置都強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號,以請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢,從而在實時性設(shè)備的下一幀開始時, 可以恢復(fù)實時性設(shè)備與數(shù)據(jù)傳輸通道之間的時序錯誤,占用的資源少、無需軟件干預(yù)、實現(xiàn)簡單、提高了產(chǎn)品的穩(wěn)定性,而且恢復(fù)迅速,在當(dāng)前幀出錯時,下一幀就可以恢復(fù),不需要重啟實時性設(shè)備和數(shù)據(jù)傳輸通道,從而連續(xù)性好,只要數(shù)據(jù)傳輸通道不是長時間無法響應(yīng)或大部分幀都不能及時響應(yīng),用戶很難察覺到時序錯誤,提升了用戶體驗,而且降低了對總線和存儲器的工作效率的要求,偶爾的帶寬不足不致影響后續(xù)數(shù)據(jù)的傳輸。在本發(fā)明另一實施例中,該方法還包括下述步驟在數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置取消被拉高的用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。在本發(fā)明實施例中,當(dāng)數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后, 實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置取消被拉高的用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號,從而停止數(shù)據(jù)傳輸通道的數(shù)據(jù)傳輸。當(dāng)然用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號被拉高后,也可以一直保持這種狀態(tài),因為用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號被拉高后,數(shù)據(jù)傳輸通道會將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢,在實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后,無論該用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號是否被拉高,數(shù)據(jù)傳輸通道都不會再進(jìn)行數(shù)據(jù)傳輸,除非實時性設(shè)備需要輸出下一幀而向數(shù)據(jù)傳輸通道再次發(fā)送數(shù)據(jù)傳輸請求,此時重新啟動數(shù)據(jù)傳輸通道,進(jìn)行新的一次數(shù)據(jù)傳輸操作。以下以一個具體的示例對本發(fā)明提供的方法進(jìn)行更為詳細(xì)的描述,但不以該示例為限,在該示例中,數(shù)據(jù)傳輸通道以DMA為例預(yù)先配置DMA傳輸?shù)臄?shù)據(jù)總量為一幀,也就是說,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置每次向DMA發(fā)送數(shù)據(jù)傳輸請求時,DMA都將一幀數(shù)據(jù)從存儲器中傳輸至實時性設(shè)備,一幀傳輸完畢后,如果到達(dá)實時性設(shè)備的輸出時序,實時性設(shè)備輸出該幀數(shù)據(jù),實時性設(shè)備需要輸出下一幀數(shù)據(jù)時,再次向DMA發(fā)送數(shù)據(jù)傳輸請求,DMA重新啟動,將下一幀數(shù)據(jù)從存儲器中傳輸至實時性設(shè)備,以便實時性設(shè)備可以輸出下一幀數(shù)據(jù)。請參閱圖4,為本發(fā)明實施例提供的實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法的實現(xiàn)流程在步驟S301中,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置判斷是否為幀尾,即判斷是否為實時性設(shè)備輸出的當(dāng)前幀的幀尾,如果是,執(zhí)行步驟S302,否則,繼續(xù)執(zhí)行步驟S301。在步驟S302中,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求DMA傳輸數(shù)據(jù),即強(qiáng)制拉高用于請求DMA傳輸數(shù)據(jù)的標(biāo)志信號,以請求DMA將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。在步驟S303中,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置判斷DMA傳輸是否完成,如果是, 執(zhí)行步驟S304,否則執(zhí)行步驟S302。在步驟S304中,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置取消DMA請求,即取消強(qiáng)制拉高的用于請求DMA傳輸數(shù)據(jù)的標(biāo)志信號。實施例二 圖5示出了本發(fā)明實施例提供的實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置的結(jié)構(gòu),為了便于說明僅示出了與本發(fā)明實施例相關(guān)的部分。該裝置可以用于實時性數(shù)據(jù)傳輸系統(tǒng),也可以用于各種具有實時性數(shù)據(jù)傳輸需求的電子設(shè)備,例如計算機(jī)、便攜式播放器、移動終端等,可以是運行于這些設(shè)備內(nèi)的軟件單元、硬件單元或者軟硬件相結(jié)合的單元,也可以作為獨立的掛件集成到這些設(shè)備中或者運行于這些設(shè)備的應(yīng)用系統(tǒng)中,其中傳輸量配置單元1配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量。其中配置的數(shù)據(jù)總量的大小與具體的實時性設(shè)備的應(yīng)用有關(guān),如可以將數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量配置為1幀或者1場數(shù)據(jù)數(shù)量。數(shù)據(jù)請求單元2在實時性設(shè)備每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。其中數(shù)據(jù)請求單元2請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢的方式可以但不限于是強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。在本發(fā)明另一實施例中,該裝置還包括信號取消單元3。該信號取消單元3在數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后,取消被數(shù)據(jù)請求單元2拉高的用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。實施例三圖6示出了本發(fā)明實施例提供的實時性數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。該實時性數(shù)據(jù)傳輸系統(tǒng)包括存儲器、與存儲器通過系統(tǒng)總線或者專用通道連接的數(shù)據(jù)傳輸通道、與數(shù)據(jù)傳輸通道通過系統(tǒng)總線連接的實時性設(shè)備接口、與實時性設(shè)備接口通過端口連接的實時性設(shè)備、以及分別與數(shù)據(jù)傳輸通道、實時性設(shè)備接口進(jìn)行通信的實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置。其中存儲器用于存儲傳輸?shù)臄?shù)據(jù)。
數(shù)據(jù)傳輸通道用于發(fā)起對存儲器和實時性設(shè)備的訪問,將數(shù)據(jù)從一端傳輸至另一端。該數(shù)據(jù)傳輸通道是指任何可以將數(shù)據(jù)包從一個存儲區(qū)傳輸?shù)搅硪粋€存儲區(qū)的數(shù)據(jù)傳輸通道,如將數(shù)據(jù)包從存儲器傳輸至實時性設(shè)備,或者將數(shù)據(jù)包從實時性設(shè)備傳輸至存儲器, 或者將數(shù)據(jù)包從存儲器的某個存儲區(qū)傳輸至另一個存儲區(qū)的數(shù)據(jù)傳輸通道。數(shù)據(jù)傳輸通道包括但不限于DMA、CPU等。實時性設(shè)備接口用于實現(xiàn)數(shù)據(jù)傳輸通道與實時性設(shè)備之間的通訊。實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量,并在實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。其中實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢的方式可以但不限于是強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志 f η ο在本發(fā)明另一實施例中,該實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置還用于在數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后,取消被所述數(shù)據(jù)請求單元拉高的用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。該實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置的結(jié)構(gòu)如圖5所示,在此不再贅述。本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以在存儲于一計算機(jī)可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如ROM/RAM、磁盤、光盤等,該程序用來執(zhí)行如下步驟配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量;實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號,以請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。在本發(fā)明實施例中,在實時性設(shè)備每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢,從而在實時性設(shè)備的下一幀開始時,可以恢復(fù)實時性設(shè)備與數(shù)據(jù)傳輸通道之間的時序錯誤,占用的資源少,降低了對系統(tǒng)總線和存儲器的效率的要求,無需軟件干預(yù)、實現(xiàn)簡單、提高了產(chǎn)品的穩(wěn)定性,而且在當(dāng)前幀出錯時,下一幀就可以恢復(fù),數(shù)據(jù)傳輸錯誤恢復(fù)速度快,偶爾的帶寬不足不致影響后續(xù)數(shù)據(jù)的傳輸。不需要重啟實時性設(shè)備和數(shù)據(jù)傳輸通道,從而連續(xù)性好,只要數(shù)據(jù)傳輸通道不是長時間無法響應(yīng)或大部分幀都不能及時響應(yīng),用戶很難察覺到時序錯誤,提升了用戶體驗。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法,其特征在于,所述方法包括下述步驟配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量;實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。
2.如權(quán)利要求1所述的方法,其特征在于,所述實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢的步驟具體為實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。
3.如權(quán)利要求2所述的方法,其特征在于,所述方法還包括下述步驟在數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置取消被拉高的用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。
4.如權(quán)利要求1所述的方法,其特征在于,所述配置的數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量為一個任意大小的數(shù)據(jù)包。
5.如權(quán)利要求4所述的方法,其特征在于,所述配置的數(shù)據(jù)總量為一幀或一場;所述實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢的步驟具體為實時性設(shè)備在輸出每幀的幀尾或者輸出每場的場尾,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號,以請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。
6.一種實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置,其特征在于,所述裝置包括傳輸量配置單元,用于配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量;數(shù)據(jù)請求單元,用于在實時性設(shè)備每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。
7.如權(quán)利要求6所述的裝置,其特征在于,所述數(shù)據(jù)請求單元請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢是指數(shù)據(jù)請求單元強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。
8.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括信號取消單元,用于在數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后,取消被所述數(shù)據(jù)請求單元拉高的用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。
9.一種實時性數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括存儲器、與存儲器通過系統(tǒng)總線或者專用通道連接的數(shù)據(jù)傳輸通道、與數(shù)據(jù)傳輸通道通過系統(tǒng)總線連接的實時性設(shè)備接口、與實時性設(shè)備接口通過端口連接的實時性設(shè)備,其特征在于,所述系統(tǒng)還包括實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置,分別與所述數(shù)據(jù)傳輸通道、實時性設(shè)備接口進(jìn)行通信,用于配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量,并在實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢是指數(shù)據(jù)請求單元強(qiáng)制拉高用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。
11.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置還用于在數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢后,取消被所述數(shù)據(jù)請求單元拉高的用于請求數(shù)據(jù)傳輸通道傳輸數(shù)據(jù)的標(biāo)志信號。
全文摘要
本發(fā)明適用于數(shù)據(jù)處理領(lǐng)域,提供了一種實時性數(shù)據(jù)傳輸錯誤的恢復(fù)方法、裝置及系統(tǒng),所述方法包括下述步驟配置數(shù)據(jù)傳輸通道傳輸?shù)臄?shù)據(jù)總量;實時性設(shè)備在每次輸出配置的數(shù)據(jù)總量的數(shù)據(jù)后,實時性數(shù)據(jù)傳輸錯誤的恢復(fù)裝置請求數(shù)據(jù)傳輸通道將實時性設(shè)備所請求的數(shù)據(jù)量傳輸完畢。本發(fā)明實施例提供的方法在實時性設(shè)備的下一幀開始時,可以恢復(fù)實時性設(shè)備與數(shù)據(jù)傳輸通道之間的時序錯誤,降低了對系統(tǒng)總線和存儲器的效率的要求,而且在當(dāng)前幀出錯時,下一幀就可以恢復(fù),數(shù)據(jù)傳輸錯誤恢復(fù)速度快。
文檔編號G06F11/10GK102467418SQ20101053492
公開日2012年5月23日 申請日期2010年11月8日 優(yōu)先權(quán)日2010年11月8日
發(fā)明者王峰, 王燦 申請人:炬力集成電路設(shè)計有限公司