TWI400889B - 循環冗餘檢查之實施系統及方法 - Google Patents

循環冗餘檢查之實施系統及方法 Download PDF

Info

Publication number
TWI400889B
TWI400889B TW94141287A TW94141287A TWI400889B TW I400889 B TWI400889 B TW I400889B TW 94141287 A TW94141287 A TW 94141287A TW 94141287 A TW94141287 A TW 94141287A TW I400889 B TWI400889 B TW I400889B
Authority
TW
Taiwan
Prior art keywords
crc
error
value
client
host
Prior art date
Application number
TW94141287A
Other languages
English (en)
Other versions
TW200644445A (en
Inventor
Brian Steele
George A Wiley
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/285,391 external-priority patent/US8667363B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW200644445A publication Critical patent/TW200644445A/zh
Application granted granted Critical
Publication of TWI400889B publication Critical patent/TWI400889B/zh

Links

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Description

循環冗餘檢查之實施系統及方法
廣義言之,本發明與資料通信有關。更特定地說,本發明與使用循環冗餘檢查的數位傳輸鏈有關。
在過去數年來,與電腦、行動電話、行動電話照相機及影像捕捉裝置、個人資料助理、電玩等相關的產品及各種視訊技術(例如DVD及高畫質VCR)都有極大的進步,用以捕捉及呈現解析度愈來愈高的靜止畫面、視訊、隨選視訊、及繪圖影像。結合這些視覺影像與高品質的音頻資料,諸如CD類型的聲音再生、DVD、及其它結合有音頻信號輸出的裝置,能為終端使用者創造出更真實、內容豐富、或真正的多媒體經驗。此外,現已發展出只呈現音頻給使用者的高機動性、高品質音頻系統及音樂傳送機構,諸如MP3播放機。
高品質資料呈現的劇增,推動建立能以高資料率傳輸資料之特殊介面的需求,以使資料品質不致劣化或受損。這類介面之一是行動顯示數位介面(Mobile Display Digital Interface;MDDI),例如用於在具有照相機之細胞式電話的上蓋與機身間交換高速資料。MDDI是具成本效益、低功耗的傳輸機制,其能在主機與用戶(host and client)間的短距離通信鏈上進行極高速的資料傳輸。MDDI用於雙向資料傳輸只需要最少的四條線加電源,以目前的技術,其可傳送的最大頻寬達每秒3.2Gbits。
雖然MDDI及其它資料介面可用來有效率地提供跨介面的高資料率,但對效能最佳化及更有效率地使用數位傳輸鏈(諸如MDDI鏈)的需求,也與日俱增。
本發明提供用於實施循環冗餘檢查(CRC)的系統及方法,用以改善鏈結的初始化處理及交換系統錯誤資訊,以使數位傳輸鏈能被更有效率地使用。在本發明的一態樣中,提供一CRC檢查器,其包括獨有樣式偵測器、CRC產生器、CRC初始化器、及CRC確認器。CRC檢查器為一獨有樣式預填入(prepopulate)CRC產生器。由於CRC產生器被預填入,在接收到從數位傳輸鏈上所接收之資料流內的獨有樣式後,CRC檢查器可進行CRC檢查,而不需要佇列及儲存資料。
在本發明的另一態樣中,提供一CRC產生器系統,其故意地訛誤CRC值以傳送系統或相關的系統錯誤資訊。CRC產生器系統包括CRC產生器、CRC訛誤器、錯誤偵測器、及錯誤值產生器。CRC產生器根據被包括在要透過數位傳輸鏈傳送之資料封包內的資料產生CRC值。CRC訛誤器訊誤CRC產生器所產生的CRC值,以傳遞主機系統或相關的系統狀態資訊。錯誤偵測器偵測主機系統或相關系統內的錯誤狀況,並提供指令供CRC訛誤器故意地訛誤CRC值。
在本發明的另一態樣中,CRC產生器系統可提供指定的資訊,其中包括錯誤的類型。在此情況,除了上述單元外,CRC產生器系統還包括一錯誤值產生器,其指令CRC訊誤器以指定的CRC錯誤值取代CRC產生器所產生的CRC值,該指定的CRC錯誤值指示系統錯誤的類型或狀態情況。
在一例中,數位傳輸鏈是MDDI鏈。本發明並不限於MDDI鏈,可以用於使用CRC之任何類型的數位傳輸鏈。
本發明的其它實施例、特徵及優點,以及本發明各種實施例之結構及操作的細節,將在下文中參考附圖詳細描述。
本說明書揭示結合本發明之特徵的一或多個實施例。所揭示的實施例僅是例示本發明。本發明的範圍並不受所揭示之實施例的限制。本發明是由所附申請專利範圍所定義。
所描述的實施例,及在本說明書中參考的“一實施例”、“某實施例”、“例示性實施例”等,指示所描述的該實施例可能包括某特定特徵、結構、或特性,但並不必然所有實施例都包括該特定特徵、結構、或特性。此外,這些用語並不必然都參考相同的實施例。此外,當所描述的某特定特徵、結構、或特性與一實施例相關時,須瞭解,無論是否明確描述,熟悉此方面技術之人士的知識,也能使這些特徵、結構、或特性與相它實施例相關。
本發明的實施例可使用硬體、韌體、軟體、或其任意的組合實施。本發明的實施例也可使用儲存在機器可讀取媒體中,可被一或多個處理器讀取或執行的指令實施。機器可讀取媒體可包括任何以可被機器(例如計算裝置)讀取之型式儲存或傳送的資訊。機器可讀取媒體例如包括唯讀記憶體(ROM);隨機存取記憶體(RAM);磁碟儲存媒體;光學儲存媒體;快閃記憶體裝置;電、光、聲或其它型式的可傳播信號(例如載波、紅外線信號、數位信號等),及其它。此外,本文所描述的韌體、軟體、常式、指令是執行某些特定動作。不過,須瞭解,這些描述僅是為了方便,且這些動作事實上是來自於計算裝置、處理器、控制器、或其它韌體、軟體、常式、指令等的執行結果。
圖1是耦合至數位裝置150及周邊裝置180的數位資料裝置介面100。數位裝置150可包括但不限於細胞式電話、個人資料助理、智慧型電話或個人電腦。一般來說,數位裝置150可包括任何類型的數位裝置,其做為數位指令及處理以數位呈現之資料的處理單元。數位裝置150包括系統控制器160及鏈結控制器170。
周邊裝置180可包括但不限於照相機、條碼讀取機、影響掃瞄器、音頻裝置、及偵測器。一般來說,周邊裝置180可包括任何類型的音頻、視訊或影像捕捉及顯示裝置,其中,以數位呈現的資料是在周邊與處理單元間交換。周邊裝置180包括控制方塊190。當周邊裝置180是照相機時,控制方塊190例如可包括但不限於鏡頭控制、閃光燈或白色LED控制、以及快門控制。以數位呈現的資料可包括以數位資料表示的音頻、影像及多媒體資料。
數位資料裝置介面100在通信鏈105上以高速率傳輸以數位呈現的資料。在一例中,可以使用MDDI通信鏈,其支援最大頻寬3.2Gbit/秒的雙向資料傳輸。其它高於或低於此例的高資料傳輸速率也可支援,視通信鏈而定。數位資料裝置介面100包括訊息翻譯器模組110、內容模組120、控制模組130、及鏈控制器140。
位於數位資料裝置介面100內的鏈控制器140與位於數位裝置150內的鏈控制器170建立通信鏈105。鏈控制器140與鏈控制器170可以是MDDI鏈控制器。
視訊電子標準協會(“VESA”)的MDDI標準(該標準全文併入本文參考)描述高速數位封包介面的要求,其讓可攜式裝置能將數位影像從小的可攜式裝置傳送到較大的外部顯示器。MDDI應用小型化的連接器系統及可彎曲的細電纜,非常適合將可攜式計算、通信及娛樂裝置連接至即將問世的產品,諸如可配戴的微型顯示器。其也包括關於如何簡化主機處理器與顯示裝置間連接的資訊,以便降低成本及提高這些連接的可靠度。鏈控制器140及170根據VESA MDDI標準建立通信路徑105。
2004年7月6日授予Zou等人名稱為Generating and Implementing a Communication Protocol and Interface for High Data Rate Signal Transfer的美國專利6,760,772(‘772專利)中描述一種在主與客間透過通信路徑傳輸數位資料的資料介面,其使用封包結構鏈結在一起以形成一用於呈現資料的通信協定。‘772專利中所教的發明實施例是針對MDDI介面。鏈控制器(諸如鏈控制器140及170)所使用的信號協定被架構成產生、發射、及接收封包形成通信協定,並將數位資料形成一或多種類型的資料封包,至少一個駐於主機裝置內,並經由通信路徑(諸如通信路徑105)耦合至客裝置。
該介面提供在短距離“串列”型之資料鏈上成本效益高、耗電少的雙向高速資料傳輸機制,其適合以小型化的連接器及可彎曲的細電纜實施。鏈控制器140及170的實施例根據‘772專利之教導建立通信路徑105。‘772專利的全文併入本文參考。
在其它實施例中,鏈控制器140及170可以是USB鏈控制器,或兩者都可包括多種控制器的組合,例如MDDI控制器與其它類型的鏈控制器,諸如USB鏈控制器。或者,鏈控制器140及170可包括控制器的組合,諸如MDDI鏈控制器與用於在數位資料裝置介面100與數位裝置150間交換認可息訊的單鏈(single link)。此外,鏈控制器140及170也可支援其它類型的介面,諸如乙太網路或RS-232串列埠介面。熟悉相關技術之人士根據本文的教導也將瞭解可支援的其它介面。
在數位資料裝置介面100內,訊息翻譯器模組110經由通信鏈105接收系統控制器160的命令,並產生回應息訊給系統控制器160,翻譯該命令息訊,並將命令的資訊內容路由(route)給數位資料裝置介面100內適當的模組。
內容模組120接收來自周邊裝置180的資料,儲存該資料,並經由通信鏈105將該資料傳輸給系統控制器160。
控制模組130接收來自訊息翻譯器110的資訊,並將資訊路由給周邊裝置180的控制方塊190。控制模組130也接收來自控制方塊190的資訊,並將資訊路由給訊息翻譯器模組110。
圖2是具有上蓋及機身之細胞式電話200的方塊圖,其使用MDDI介面提供位於上蓋與機身內之組件間的高速資料通信。以下與細胞式電話200有關的討論提供一說明的實例,其進一步顯示數位資料裝置介面100的用途,並提供與實施及使用相關的其它細節。根據本文的討論,將可瞭解數位資料裝置介面100可用於其它裝置,例如個人數位助理及其它類型的行動電話,且都在本發明的精神與範圍內。
現請參閱圖2,細胞式電話200的機身202包括行動站台數據機(Mobile Station Modem;MSM)基頻晶片204。MSM 204是一數位基頻控制器。細胞式電話200的上蓋214包括一液晶顯示器(LCD)模組216以及一照相機模組218。機身202與上蓋214都包裝在塑膠殼內,如典型細胞式電話所使用。鉸鏈250與252機械地連接機身202與上蓋214。可彎曲的耦合件254提供機身202與上蓋214間的電氣耦合。
MDDI鏈210將照相機模組218連接至MSM 204。典型上,照相機模組218與MSM 204都配置有MDDI鏈控制器。例如,在細胞式電話200內,MDDI主機端222整合在介面系統230內,其耦合至照相機模組218,而MDDI客戶端206位於MDDI鏈210的MSM側上。典型上,MDDI主機端是MDDI鏈的主機控制器。
在細胞式電話200內,介面系統230使用MDDI主機端222接收來自照相機模組218的像素資料,在將其傳送到MDDI鏈210前,先將其格式化成MDDI封包。MDDI客戶端206接收MDDI封包,並將其再轉換成與照相機模組218所產生之格式相同的像素資料。接著,像素資料被送至MSM 204內適當的方塊供處理。
同樣地,MDDI鏈212將LCD模組216連接至MSM 204。MDDI鏈212將整合在MSM 204內的MDDI主機端208與整合在介面系統232內的MDDI客戶端220互連,介面系統232耦合至LCD模組216。MDDI主機208接收MSM 204之圖形控制器所產生的顯示資料,並在傳送給MDDI鏈212之前,先將其格式化成MDDI封包。MDDI客戶端220接收MDDI封包,並將其再轉換成顯示資料,並經由介面系統232處理該顯示資料供LCD模組216使用。
介面系統230及232代表數位資料裝置介面100不同的實施例。在介面系統230的情況中,實施數位資料裝置介面100單元是支援照相機影像的資料傳送及照相機的照相機控制功能。在介面系統232的情況中,實施數位資料裝置介面100單元是支援將資料顯示於LCD及LCD的控制功能。下文將進一步解釋介面系統230,以說明當使用具有照相機之細胞式電話時之數位資料裝置介面100的實施例,諸如具有照相機模組218的細胞式電話200。
圖1之裝置與細胞式電話200間的關係如下。介面系統230代表數位資料裝置介面100。MDDI主機端222代表鏈控制器104。照相機模組218代表周邊180。MSM 204代表系統控制器160,以及MDDI客戶端206代表鏈控制器107。
圖3是上蓋214的圖,且提供與介面系統230有關的進一步的細節,以強調用於含有照相機之細胞式電話之數位資料裝置介面100的例示性實施例。介面系統230包括MDDI主機端222、照相機訊息翻譯器302、照相機視頻介面304、I2C主匯流排303、馬達控制器308、及閃光燈/白光LED計時器310。I2C匯流排是一通用控制匯流排,其提供電路間的通信鏈結。I2C匯流排是由菲利浦電子N.V.於1980年代所發展。
回憶介面系統230對應於數位資料裝置介面100。介面系統230的組件按如下方式對應於數位資料裝置介面100的組件。照相機視頻介面304對應於內容模組120。集合I2C主匯流排303、馬達控制器308、及閃光燈/白光LED計時器310對應於控制模組130。
照相機訊息翻譯器302接收命令並產生反應訊息經由MDDI主機端222到達MSM 204。照相機訊息翻譯器302翻譯訊息,並將資訊內容路由到介面系統230內適當的方塊,其可稱為MDDI照相機介面裝置。照相機視頻介面304從照相機320接收影像資料,儲存影像資料,並將影像資料傳送給MDDI主機端222。集合I2C主匯流排306、馬達控制器308、及閃光燈/白光LED計時器310構成照相機控制方塊。在此情況,I2C主匯流排306提供控制管理照相機320所需的控制(例如鏡頭變焦功能),以及閃光燈/白光LED計時器310提供管理閃光燈/白光LED324(例如閃光亮度及持續時間)所需的控制。
圖4A是MDDI主機端222的圖。MDDI主機端222包括微處理器介面410、命令處理器420、暫存器430、直接記憶體存取(DMA)介面440、MDDI封包建構器450、資料聯繫交換模組460及資料墊470。微處理器介面410與到主機處理器的匯流排介接,主機處理器控制MDDI主機端222。主機處理器使用微處理器介面410設定暫存器、讀取暫存器並發出命令給MDDI主機端222。微處理器介面410注意位址值,並將資料傳給MDDI主機端222內的適當模組,包括將寫入傳送給命令處理器420,以及讀取及寫入暫存器430內的暫存器值。
命令處理器420處理接收自主機處理器的命令。該些命令包括將MDDI鏈210關機、將MDDI鏈210開機、重置MDDI主機端222、以及產生特定類型的資料封包。
暫存器430儲存跨MDDI鏈210之資料傳送所用的暫存器。暫存器430內的暫存器控制MDDI鏈210的行為,以及MDDI主機端222的組態。
DMA介面440提供叢發(burst)請求給外部記憶體,以從介面系統230接收資訊,為MDDI封包建構器450緩衝資料。DMA介面440解析鏈結表節點標頭的資料,並調整指標符以讀取實際的封包資料。DMA介面440提出關於次一個資料封包的資訊,以送給MDDI封包建構器450。
關於接下來要送出那一個封包由MDDI封包建構器450決定,並建構需要通過MDDI鏈222的實體封包。該些封包是建構自內部暫存器、計數器、及DMA介面440所擷取的資料。當資料要在MDDI鏈222上輸出時,所要輸出的資料可從數個來源產生。封包的第一個來源是由MDDI封包建構器450內部產生的控制型封包。這些封包的例子包括子框標頭封包、填充封包及鏈結關閉封包。封包的另一個來源是經由DMA介面440。這些封包包括經由被鏈結之表傳遞的封包。在其它實施例中,當周邊包括視訊照相機時,視訊資料可直接傳遞到MDDI封包建構器450。無論封包的來源為何,所有的封包都經由位在MDDI封包建構器450內的CRC產生器系統處理。
資料聯繫交換模組460管理實體的MDDI鏈210。此由負責聯繫交換處理、資料輸出、往返延遲(round trip delay)管理及反轉資料的狀態機完成。資料聯繫交換模組460接收MDDI封包建構器450的資料,並將該資訊傳遞給資料墊(data pad)470,其將資料移出到MDDI鏈222上。
圖4B說明將封包提供給MDDI鏈210的流程。如前所述,封包可由內部產生、接收自DMA介面440,或直接接收視訊封包。內部產生的封包是由控制封包產生器452所產生。所有類型的封包都經由CRC產生器系統454傳遞給資料聯繫交換模組460。資料聯繫交換模組460依次將封包提供給資料墊470,其將資料置於MDDI鏈210上。
圖4C說明MDDI封包建構器450接收MDDI鏈210上之封包的流程。在此情況,資料墊470接收來自MDDI鏈210的封包,接著將資料傳遞給資料聯繫交換模組460。資料聯繫交換模組460將資料傳遞給位在MDDI封包建構器450內的CRC檢查器456。一旦CRC檢查器456確認了進入之封包的CRC,提供給DMA介面440的封包被置於處理器匯流排上,供在數位資料介面裝置100內分配。
圖5至6描述封包類型的例子。這些例示性封包用於說明本發明,但無意限制本發明只能使用這些封包類型。本發明也可使用其它特有樣式的封包(如下所述)及CRC欄位。
圖5是根據VESA MDDI介面標準的子框標頭封包格式500圖。子框標頭封包格式500包括封包長度欄510、封包類型欄520、獨有字欄530、子框標頭參數欄540及CRC欄550。封包長度欄510包括一16位元(2位元組)值,其指定封包內不包括封包長度欄510的總位元組數。封包類型欄520包括一16位元的無符號整數,其指定封包內所含資訊的類型。獨有字欄530包括一16位元的獨有字。獨有字欄與封包類型欄520被識別以形成一32位元的獨有樣式以對齊資料。亦即,當接收封包時,MDDI封包建構器450可根據該獨有樣式決定MDDI封包建構器450正在處理資料封包的那一部分或欄位。子框標頭參數欄540包括管理MDDI鏈222的控制參數。CRC欄包括一16位元的CRC值。
圖6是視訊流封包格式600圖。視訊流封包載送視訊資料用以更新顯示器的矩形部分。視訊流封包格式600包括封包長度欄610、封包類型欄615、客戶端ID欄620、視訊格式欄625、像素資料屬性欄630、X左緣欄635、Y頂緣欄640、X右緣欄645、Y底緣欄650、X開始欄655、Y開始欄660、像素計數欄665、參數CRC欄670、像素資料欄675、以及像素資料CRC欄680。
封包長度欄610包括一16位元(2位元組)值,其指定封包內不包括封包長度欄610的總位元組數。封包類型欄620包括一2位元的無符號整數,其指定封包內所含資訊的類型。
欄位620至665每一個都是2位元組的欄位,其包含有關於視訊顯示器該如何格式化的參數資料。這些欄位的明確定義可見於VESA MDDI介面標準。參數CRC欄670是一2位元組的欄位,其包含處理欄位610至665內之參數資料所產生的CRC值。
像素資料欄675包括任何數量的像素資料,直至封包之大小及像素計數欄所允許的量。像素CRC欄680是一2位元組的欄位,其包含處理像素資料欄675內之像素資料所產生的CRC值。
每一個在MDDI鏈210上傳送的封包至少包括一個CRC欄位,諸如子框標頭封包格式500內的CRC欄550。在某些較長的封包內將包括2個CRC欄位,諸如視訊流封包格式600內的參數CRC欄670及像素CRC欄680。
CRC從資料的大區塊(諸如網路交通的封包或電腦檔案的區塊)產生一小數量的位元,以偵測傳送或儲存中的錯誤。CRC是以所要傳送之資料為函數所計算,並在傳送或儲存前附加(例如以CRC欄550附加),並於之後驗證,以確認沒發生改變。
CRC是經由將封包資料推過CRC產生器(諸如CRC產生器系統454)被計算,以產生與封包資料相關的獨有CRC值。CRC檢查器(諸如CRC檢查器456)根據所接收的資料產生所接收之資料的CRC值。接著,所接收之資料的CRC值與被傳送的CRC值比較。如果兩者相符,則該資料可視為有效資料,否則產生CRC錯誤。
CRC受歡迎的原因是它們在二進制硬體中實施很簡單,很容易以數學分析,且特別善於偵測傳輸通道內之雜訊所造成的一般錯誤。熟悉此方面相關技術之人士應瞭解CRC產生器的特定實施。
如圖5及6之說明,CRC欄出現在封包的尾端(例如CRC欄512及像素資料CRC欄680),以及有時在封包中某些更關鍵之參數的後方,其可能具有相當大的資料欄位(例如參數CRC欄670),且因此在傳輸期間發生錯誤的可能性提高。在具有兩個CRC欄位的封包內,當僅使用一個時,在第一個CRC之後,CRC產生器被再初始化,以便跟在長度資料欄位後的CRC計算,不會受封包開始處之參數的影響。
含有很多錯誤位元之封包能產生良好CRC的機率微乎其微。在含有很多錯誤之極長封包上偵測到良好CRC的機率大約是7.6×10 6 。經由設計,MDDI鏈將具有極低或零錯誤率。CRC意欲用來監視鏈結的健康狀態,並無意偵測特定封包之錯誤以決定是否要再傳送封包。
在一例示性實施例中,用於計算CRC的多項式如習知的CRC-16或X16+X15+X2+X0。用於實施本發明之CRC產生器454及CRC檢查器456的實施樣品如圖4D所示。在圖4D中,在傳送封包的第一個位元之前,CRC暫存器471的值被初始化到0x0001,該封包從Tx_MDDI_Data_Before_CRC線輸入,接著,封包的位元組先從LSB開始被位移到暫存器內。請注意,在本圖中暫存器的位元數對應於所使用之多項式的冪次,並非MDDI所使用的位元位置。其能更有效率地在單一方向位移CRC暫存器,此致使CRC位元15出現在MDDI CRC欄位的位元位置0,且CRC暫存器位元14出現在MDDI CRC欄位的位元位置1,等等,直至到達MDDI位元位置14。
例如,如果封包的內容為:0x000c、0x0046、0x000、0x0400、0x00、0x00、0x0000(或以位元組的序列表示:0x0c、0x00、0x46、0x00、0x00、0x00、0x00、0x04、0x00、0x00、0x00、0x00),且使用多工器472、473及AND閘474的輸入提交,則在Tx_MDDI_Data_With_CRC線上所得到的CRC輸出為0xd9aa(或以0xaa,0xd9的序列表示)。
當CRC產生器454及CRC檢查器456被組構成CRC檢查器時,在Rx_MDDI_Data線上接收的CRC被輸入到多工器472及互斥-OR(XOR)閘476,並使用NOR閘475、AND閘474、及AND閘477與CRC暫存器內發現的值逐位元比較。如有任何錯誤,由AND閘477輸出,經由將閘477的輸出連接到暫存器471的輸入,每一個含有CRC錯誤的封包會使CRC遞增一次。請注意,圖4D中所示的電路例能在一指定的CHECK_CRC_NOW窗口內,輸出一個以上的CRC錯誤信號(見圖4E)。因此,在CHECK_CRC_NOW動作的每一個區間內,CRC錯誤計數器通常只能計數第一個CRC錯誤情況。如果被組構成CRC產生器,則在與封包結束相合的時間,CRC被時控離開CRC暫存器。
輸入及輸出信號、以及致能信號的時序說明於圖4E及4F。圖4E以Gen_Reset、Check_CRC_Now、Generate_CRC_Now、及Sending_MDDI_Data信號的狀態(0或1),連同Tx_MDDI_Data_Before_CRC及Tx_MDDI_Data_With_CRC信號顯示CRC的產生及資料封包之傳送。圖4F以Gen_Reset、Check_CRC_Now、Generate_CRC_Now、及Sending_MDDI_Data信號的狀態,連同Rx_MDDI_Data_Before_CRC及Rx_MDDI_Data_With_CRC信號顯示資料封包的接收與CRC值的檢查。
封包內出現CRC存在著操作上的挑戰,也給予各種機會以能更有效率地利用MDDI鏈210。雖然本文的討論是集中在CRC用於MDDI鏈210的環境中,但本發明並不限於MDDI的環境。本發明可應用於任何類型使用CRC的數位資料傳輸鏈。
與使用CRC相關的挑戰之一是與鏈結的初始化有關。當鏈結被啟動,MDDI主機端222將子框標頭封包(例如子框標頭封包格式500)傳送給MDDI客戶端206。在鏈結初始化後,通常CRC檢查器456不會知道資料流內資料的排列。亦即,CRC檢查器例如不會知道其是處理獨有字欄530或CRC欄550內的資料。結果是,CRC檢查器456需要將資料連續地佇列到記憶體內,直到其識別出該資料在資料流中的位置。此導致效率不佳且需要更多的記憶體及晶片面積來佇列及儲存資料。CRC檢查器456不知道資料在資料流中正確的位置,即無法產生與所接收之CRC比較的CRC,用以驗證所接收的資料。
圖7是CRC檢查器456圖,其針對這些挑戰。CRC檢查器456包括獨有樣式偵測器710、CRC產生器720、CRC初始化器730及CRC驗證器740。獨有樣式偵測器710偵測進入之資料流內的獨有樣式以識別資料流中的某特定點。CRC產生器720是標準的CRC產生器,用以產生與所接收之資料相關的CRC值。CRC初始化器730以與獨有樣式及封包長度相關的資料值泵CRC產生器720。CRC驗證器740比較所接收的CRC值與CRC產生器720根據接收之資料所產生的CRC值,以驗證該資料。
圖8是初始化一鏈結之方法800的流程圖,其實證圖7所描述之CRC檢查器456的使用。在一方法中,假設子框標頭的封包長度保持固定,且預計算值被載入到CRC檢查器,其是根據封包長度、封包類型及獨有字元的部分CRC。另一方法支援封包長度可變的情況。在此情況中,封包長度連同獨有樣式可被泵送通過預計算器以產生一值,接著,當獨有樣式被接收時,可在該點將該值置入CRC檢查器。
方法800從步驟810開始。在步驟810中,接收到初始化或喚醒一傳輸鏈的請求,例如,MDDI客戶端206接收到來自MDDI主機端222初始化或喚醒MDDI鏈210的請求。在MDDI客戶端206內,CRC檢查器456被此鏈結喚醒請求初始化。特別是,CRC初始化器730被該請求初始化。
在步驟820,CRC產生器被與獨有樣式及封包長度欄510相關的資料值預填入(pre-populate),以便CRC產生器能產生與獨有樣式及封包長度欄510相關的CRC值。如前所述,在一實施例中,假設封包長度欄位固定。例如,CRC初始化器730可提供獨有樣式及封包長度欄給CRC產生器720。在MDDI的情況中,獨有樣式是與包含在封包類型欄520及獨有字欄530內之資料相關的資料值。在喚醒一鏈結之後,這些欄位的值都是已知。因此,CRC初始化器730可儲存這些值,當接收到喚醒鏈結的請求時,在一位置將這些值提供給CRC初始化器730。在另一方法中,與其提供資料值給CRC產生器,不如將CRC產生器所產生之具有提供給CRC產生器之獨有樣式及封包長度欄的預計算CRC值預載入CRC檢查器。
在步驟830,CRC產生器(諸如CRC產生器720)被去能。產生器被去能以便不處理會改變CRC值之進一步的資料,直到獨有樣式與封包長度欄被接收。
在步驟840,進入的資料被監視,以檢查獨有資料樣式的接收。例如,獨有樣式偵測器710監視接收自MDDI鏈210的資料。
在步驟850,決定是否已接收到獨有樣式。例如,獨有樣式偵測器710決定已接收到封包長度欄510、封包類型欄520、以及獨有字欄530。
在步驟860,CRC產生器被賦能。在被賦能後,CRC產生器720將建構使用預載入之獨有樣式所產生的現有CRC值。結果是,CRC產生器720立刻與資料對正,且不需要在記憶體內佇列或儲存資料。在接收到包含在CRC欄550內的CRC值後,CRC驗證器740可比較CRC欄550內的值與CRC產生器720所產生的值,以決定CRC錯誤是否存在。步驟870,方法800結束。
通常,在資料傳輸期間,CRC值被用來決定傳輸鏈是否有使資料訛誤的問題。在本發明的另一態樣中,CRC值被用來運送與系統錯誤及狀態相關的資訊。按此方式,訊息內的CRC欄可被用來更有效率地支援傳輸鏈之問題、系統狀態或錯誤資訊的識別。
在本發明的一實施例中,CRC欄資料被訛誤以簡單地指示系統傳輸資料有些問題,且因此所接收的資料可能有問題。例如,在某些情況中,從MDDI鏈210離開的資料可能因為MDDI封包建構器450接收進入之資料不夠快而被訛誤。即使可用於封包的資料不足,按MDDI的規格,一封包仍應被傳送。因此,即使一封包被傳送,該資料可能無效,或在某些方面不充分。
在此情況,該CRC值(諸如參數CRC 670或像素資料CRC 680)可被故意訛誤,以使MDDI客戶端206可辨識出發生傳輸之封包的完整性受損之問題。在MDDI規格中,此為指示MDDI客戶端206該資料有問題的方法。或者,跟在含有錯誤之封包後需傳送另一個訊息,專實上是說“我所傳送的上一個封包是壞的”。
當MDDI客戶端206接收到一封包內具有被故意訛誤的CRC值時,其要決定如何處理該封包。可發展偵測及決定如何處理具有被故意訛誤之CRC值之封包的演算法。對某些類型的封包而言,MDDI客戶端206可簡單地記錄CRC錯誤,並繼續使用該資料。然而在其它情況中,MDDI客戶端206可將所接收的封包丟棄,並請求新的封包。
例如,在視訊封包(如視訊流封包600)內,如果像素資料CRC值680被故意訛誤,MDDI客戶端220不會通知MDDI客戶端220外部的邏輯有封包被訛誤。在此情況,在提供任何錯誤通知的分類前,所接收的資料會被緩衝。在此,沒有足夠的記憶體可用來緩衝所有潛在的視訊資料(即,要被顯示的所有像素資料)。因此,像素資料一旦被接收,即被提供給顯示器。結果是如果該視訊資訊內的某處有CRC錯誤,要停止使用該視訊資訊為時已晚。在此情況,除了記錄該問題已發生之外,不做任何動作。綜言之,如果像素資料內發生故意訛誤的CRC值且不在參數資料內,則MDDI客戶端僅簡單地將CRC錯誤記錄在CRC計數器內,但仍使用後續的像素資料。另一方面,如果一參數CRC值被故意地訛誤,則MDDI客戶端將不使用該像素資料。
圖9是循環冗餘產生器系統454的圖,其提供故意訛誤CRC值的機制。循環冗餘產生器系統454包括CRC產生器910、CRC訛誤器920、錯誤偵測器930、錯誤值產生器940。
CRC產生器910根據要被包括在要在數位傳輸鏈(例如但不限於MDDI鏈210)上傳送之資料封包內的資料產生CRC值。
CRC訛誤器920訛誤CRC產生器910所產生的CRC值,以運送主機端或遠端系統狀態資訊。例如,如果介面系統230無法夠快地提供資料給MDDI主機端222以正確地填入MDDI封包,CRC訛誤器920故意地訛誤要被傳送之封包的CRC值。
錯誤偵測器930偵測主機系統(諸如MDDI主機端222)內的錯誤狀況,或根據接收自介面系統230的資訊接收錯誤狀況資訊,並提供指令給CRC訛誤器920以故意地訛誤CRC值。在一實施例中,錯誤偵測器930簡單地偵測有錯之處,但不決定特定的錯誤狀況。在稍後的實施例中,錯誤偵測器930將錯誤的種類運送至錯誤值產生器940。錯誤值產生器940指令CRC訛誤器920以指示系統錯誤類型或狀態狀況的特定值取代CRC產生器910所產生的CRC值。
當訛誤CRC值時,必須選擇演算法以確保故意的訛誤不會導向對應於有效資料的CRC值,且因此不會被位在傳輸鏈之接收端上的CRC檢查器接收做為獨有的CRC值。一可能的演算法可識別這些不是由有效資料所產生的CRC值,並使用這些值做為故意地訛誤一CRC值的獨有值。根據本文之教示,熟悉此方面技術之人士將可決定其它的演算法,這些都包括在本發明的精神與範圍內。
圖10是CRC檢查器456的圖,其可翻譯來自CRC產生器系統454之被故意訛誤的CRC值。CRC檢查器456包括CRC錯誤值偵測器1010、CRC產生器1020及CRC驗證器1030。CRC錯誤值偵測器1010偵測接收自數位傳輸鏈之資料封包之CRC欄內的值。CRC錯誤值偵測器1010偵測CRC值何時對應於識別系統錯誤狀況之被故意訛誤的CRC值。當對應於系統錯誤狀況的CRC值被識別時,CRC錯誤值偵測器1010通知接收之客戶端(如MDDI客戶端206)的主機處理器。主機處理器即根據被偵測之錯誤的類型採取動作。CRC產生器1020根據所接收的資料流產生CRC值。CRC驗證器1030偵測根據所接收之資料流而產生的CRC值與在所接收之資料流內傳送之CRC值間的差異。CRC產生器1020與CRC驗證器1030以熟悉此方面技術之人士所習知的傳統方式操作。
圖11是以故意訛誤的CRC值在數位傳輸鏈上傳送系統錯誤資訊之方法1100的流程圖。方法1100開始於步驟1110。在步驟1110中,主機系統或相關系統內錯誤被偵測。例如,錯誤偵測器930偵測MDDI主機端222或介面系統230內的錯誤。在步驟1120中,CRC值被產生。例如CRC產生器910產生與被傳送之封包相關之資料的CRC值。在步驟1130,CRC值被訛誤。例如,錯誤偵測器930指令CRC訛誤器920訛誤一CRC值。方法1110在步驟1140結束。請注意,雖然方法1100是參考關於MDDI的系統描述,但方法1100可應用於使用CRC的任何數位傳輸系統。
在本發明中,CRC欄也可用來傳送代表錯誤類型的錯誤碼資訊。無論何時,在主機端與客戶端間僅資料封包與CRC被傳送,其內沒有容納錯誤碼。唯一的錯誤是失去同步。否則,吾人必須等待鏈結脫離不佳的資料傳輸路徑或管線,接著重置鏈結並繼續。不幸的是,此會虛耗時間且多少有些效率不佳。
在一實施例中使用一已發展的新技術,其中,封包的CRC部分被用來傳送錯誤碼資訊。亦即,管理資料傳輸之處理器或裝置,產生用以指示通信處理或鏈結內可能發生預先定義之特定錯誤或瑕疵(flaw)的一或多個錯誤碼。當遇到錯誤時,適當的錯誤碼被產生,並使用封包之CRC的位元傳送。亦即,CRC值被所要的錯誤碼覆載(overloaded)或覆寫(overwritten),該錯誤碼可在接收端被監視CRC欄之值的錯誤監視器或檢查器偵測到。在這些狀況中,基於某些原因使錯誤碼與CRC值匹配,傳送錯誤的互補以防止混淆。
在一實施例中,為提供強固的錯誤譬告及偵測系統,在錯誤被偵測到後,可使用一連串被傳送或送出的封包(通常是所有的)傳送錯誤碼數次。此動作一直發生,直至產生錯誤狀況的點從系統中清除,在該點,正常的CRC位元被傳送,不被另一值覆載。
此項覆載CRC值的技術提供對系統錯誤極快速的反應,同時,所使用的額外位元或欄位量最少。
如圖12所示,圖中所顯示的CRC覆寫機制或裝置1200使用錯誤偵測器或偵測機構1202,諸如錯誤偵測器930,其可成為前所描述或習知之其它電路的一部分,偵測通信鏈結或處理中所呈現或存在的錯誤。錯誤碼產生器或機構1204,諸如CRC值產生器940,其可成為其它電路的一部分,或使用諸如查找表技術,以儲存預選擇的錯誤訊息,當發生曾被偵測過之預先定義的特定錯誤或瑕疵時,其產生一或多個錯誤碼用以指示。吾人很容易瞭解,如有需要,裝置1202及1204可形成為單一電路或裝置,或可成為其它習知處理器及單元所用之可程式步驟序列的一部分。
CRC值比較器或比較機構1206(諸如CRC驗證器1030)用以檢查所選擇的錯誤碼或碼,是否與被傳送的CRC值相同。如果相同,則一互補碼產生器或產生機構或裝置被用來提供錯誤碼的互補,以至於不會誤解原始的CRC樣式或值,並使偵測設計混淆或複雜。接著,錯誤碼選擇器或選擇機構單元或裝置1210選擇想要***或覆寫的錯誤碼或值,或其各自適當的互補。錯誤碼CRC覆寫器或覆寫機制或機構1212(諸如CRC訛誤器920)是一接收資料流、封包、及想要***及覆寫對應或適當CRC值之碼的裝置,以便將所要的錯誤碼傳送給接收裝置。
如前所述,可使用一連串的封包多次傳送錯誤碼,因此,在處理期間,覆寫器1212可利用記憶體儲存單元保存碼的拷貝,或視需要從先前的單元或用來儲存或保存這些碼之值的已知儲存位置喚回這些碼。
圖13及14顯示實施圖12之覆寫機制之一般處理的其它細節。在圖13中,在步驟1302偵測到通信資料或處理中的一或多個錯誤,且在步驟1304選擇一錯誤碼用以指示此狀況。在此同時,或在適當的點,在步驟1306檢查要被替換的CRC值,並在步驟1308與所要的錯誤碼比較。如先前的討論,此比較的結果,是關於所要的碼或其它的代表值,是否與目前CRC值相同的決定。如果相同,則處理前進到步驟1312,在此,視需要選擇互補(或在某些情況是其它代表值)做為要***的碼。在步驟1310及1314決定所要***的錯誤碼或值為何,即,選擇適當的碼供***。這些步驟分開說明的目的是為能清晰闡明,通常是根據步驟1308決定的輸出做一次選擇。最後,在步驟1316,適當的值被覆寫到CRC位置內,供與被該處理所標定的封包一起傳送。
在封包接收側,如圖14所示,在步驟1422監視封包的CRC值。通常,CRC值被系統內的一或多項處理監視,以決定傳送的資料內是否出現錯誤,以及是否請求再傳送該封包或多個封包,或禁止進一步的操作等,其中某些已在前文中討論過。此監視的一部分是該資訊也可用來比較各值,以得知或預選錯誤碼或代表值,並偵測錯誤的出現。或者,可實施一獨立的錯誤偵測處理及監視。在步驟1424,如果一碼呈現要存在,其被擷取,或否則被註記供進一步處理。在步驟1426決定此是否為實際的碼或為互補,在此情況,可使用附加步驟1428將該值轉換成所要的碼值。無論是何情況,在步驟1430,所擷取的碼、互補、或其它復原的值被用來偵測構成被傳送的碼發生何種錯誤。
結論
已提出本發明的例示性實施例。本發明並不限於這些例。本文提出這些例的目的是為說明而非限制。熟悉此方面技術之人士根據本文內的教導應明瞭各種的替代物(包括本文所描述之各例的相等物、延伸物、衍生物、或岐變物等)也包含在本文內。這些替代都在本發明的精神與範圍內。
本說明書中所提及併入本文參考的所有出版品、專利及專利申請案指示本發明所屬之技術的技術層次具有相同範圍,如同各個出版品、專利及專利申請案是特別及各別指出要併入本文參考。
100...數位資料裝置介面
1010...CRC錯誤值產生器
1020...CRC產生器
1030...CRC驗證器
105...通信鏈
110...訊息翻譯器模組
120...內容模組
1200...CRC覆寫機構或裝置
1202...錯誤偵測器或偵測機構
1204...錯誤碼產生器或機構
1206...CRC值比較器或比較機構
1210...錯誤碼選擇器或選擇機構單元或裝置
1212...覆寫器
130...訊息翻譯器
140...鏈控制器
150...數位裝置
160...系統控制器
170...鏈結控制器
180...周邊裝置
190...控制方塊
200...細胞式電話
202...機身
204...行動站台數據機基頻晶片
206...MDDI客戶端
208...MDDI主機端
210...MDDI鏈
212...MDDI鏈
214...上蓋
216...液晶顯示器模組
218...照相機模組
220...MDDI客戶端
222...MDDI主機端
230...介面系統
232...介面系統
250...鉸鏈
252...鉸鏈
254...可彎曲的耦合件
302...照相機訊息翻譯器
303...I2C主匯流排
304...照相機視頻介面
306...I2C主匯流排
308...馬達控制器
310...閃光燈/白光LED計時器
322...透鏡
324...閃光燈/白光LED
410...微處理器介面
420...命令處理器
430...暫存器
440...直接記憶體存取介面
450...MDDI封包建構器
452...控制封包產生器
454...CRC產生器
456...CRC檢查器
460...資料聯繫交換模組
470...資料墊
471...CRC暫存器
472...多工器
473...多工器
474...AND閘
475...NOR閘
476...互斥-OR(XOR)閘
477...AND閘
500...子框標頭封包格式
510...封包長度
520...封包類型
530...獨有字元
540...子框標頭參數
550...循環冗餘檢查
600...視訊流封包格式
610...封包長度欄
615...封包類型欄
620...客戶端ID欄
625...視訊格式欄
630...像素資料屬性欄
635...X左緣欄
640...Y頂緣欄
645...X右緣欄
650...Y底緣欄
655...X開始欄
660...Y開始欄
665...像素計數欄
670...參數CRC欄
675...像素資料欄
680...像素資料CRC欄
710...獨有樣式偵測器
720...CRC產生器
730...CRC初始化器
740...CRC驗證器
910...CRC產生器
920...CRC訛誤器
930...錯誤偵測器
940...錯誤碼產生器
在各圖中,相同的參考編號指示相同或功能類似的單元。參考編號中最左的數字指示該單元第一次出現的圖。
圖1是數位資料裝置介面的圖,耦合至數位裝置及周邊裝置。
圖2是具有上蓋與機身之細胞式電話的方塊圖,其使用MDDI介面提供高速資料通信。
圖3是具有照相機之細胞式電話的上蓋圖。
圖4A是MDDI主機的圖。
圖4B是封包從MDDI封包包裝器到MDDI鏈的流程圖。
圖4C是MDDI封包包裝器從MDDI鏈接收封包的流程圖。
圖4D是CRC檢查器的圖。
圖4E顯示CRC之產生的時序圖。
圖4F顯示CRC之接收的時序圖。
圖5是子框標頭封包格式圖。
圖6是視訊流封包格式圖。
圖7是CRC檢查器。
圖8是初始化一包括CRC產生器預填入之鏈結的方法流程圖。
圖9是CRC產生器系統的圖,其提供故意訛誤CRC值的機制。
圖10是CRC檢查器的圖,其可解釋被故意訛誤的CRC值。
圖11是在數位傳輸鏈上傳送經由故意訛誤CRC值之系統錯誤資訊的方法流程圖。
圖12是CRC覆寫機制圖。
圖13是CRC覆寫方法的流程圖。
圖14是接收已被覆寫之CRC值之方法的流程圖。
454...CRC產生器
910...CRC產生器
920...CRC訛誤器
930...錯誤偵測器
940...錯誤碼產生器

Claims (24)

  1. 一種循環冗餘檢查(CRC)檢查器系統,包含:一主機CRC產生器,其基於一經傳輸之資料流產生一CRC值以及一CRC訛誤器,其訛誤該經產生之CRC值至一特殊經訛誤之CRC錯誤值,其對應於由主機端所偵測到的一特殊系統錯誤或狀態情況;一在該主機端處之選擇器,其在該經傳輸之資料流中之一資料封包之一CRC欄位中發送該經產生之CRC值或該經訛誤之CRC錯誤值;一在客戶端處之客戶端產生器,其基於自該主機端所接收之資料流產生一客戶端CRC獨有樣式;一在該客戶端處之CRC驗證器,其藉由比較該客戶端CRC獨有樣式與來自該主機端之該經產生之CRC值來偵測一錯誤情況;一在該客戶端處之CRC錯誤值偵測器,其偵測由該主機端所產生之該經訛誤之CRC錯誤值,其對應於該特殊系統錯誤或狀態情況;及一在該客戶端之指示器,其用於基於由該CRC錯誤值偵測器所偵測到的該經訛誤之CRC錯誤值而指示該客戶端採取特殊校正行動。
  2. 如申請專利範圍第1項的CRC檢查器系統,其中該錯誤情況包括在該資料流中之一錯誤。
  3. 如申請專利範圍第1項的CRC檢查器系統,其中該特殊錯誤或狀態情況包括由下述群組所組成之至少一成員:傳輸鏈路資訊之識別、系統狀態資訊及系統錯誤資訊 。
  4. 如申請專利範圍第1項的CRC檢查器系統,進一步包括一在該客戶端處之記錄器,其用於記錄該經訛誤之CRC錯誤值。
  5. 如申請專利範圍第1項的CRC檢查器系統,進一步包括在該主機端處之一錯誤偵測器,其用於偵測該特殊系統錯誤或狀態情況。
  6. 如申請專利範圍第1項的CRC檢查器系統,進一步包括一行動顯示數位介面(MDDI)傳輸鏈路。
  7. 一種用於在一數位傳輸系統中檢查一循環冗餘檢查(CRC)之方法,該方法包含下列步驟:產生一主機循環冗餘檢查(CRC),其基於一經傳輸之資料流產生一CRC值並且訛誤該經產生之CRC值至一特殊經訛誤之CRC錯誤值,其對應於由主機端所偵測到的一特殊系統錯誤或狀態情況;經由該主機端選擇該經產生之CRC值或該經訛誤之CRC錯誤值以用於該經傳輸資料流中之一資料封包之一CRC欄位中之傳輸;基於自該主機端所接收之該資料流而在客戶端產生一客戶端CRC獨有樣式;藉由比較該客戶端CRC獨有樣式與來自該主機端之該經產生之CRC值而在該客戶端處偵測一錯誤情況;在該客戶端處偵測由該主機端所產生之該經訛誤之CRC錯誤值,其對應於該特殊系統錯誤或狀態情況;及 基於該經偵測之經訛誤之CRC錯誤值而指示該客戶端採取特殊校正行動。
  8. 如申請專利範圍第7項的方法,其中該錯誤情況包括在該資料流中之一錯誤。
  9. 如申請專利範圍第7項的方法,其中該特殊錯誤或狀態情況包括由下述群組所組成之至少一成員:傳輸鏈路資訊之識別、系統狀態資訊及系統錯誤資訊。
  10. 如申請專利範圍第7項的方法,進一步包括由該客戶端記錄該經訛誤之CRC錯誤值之步驟。
  11. 如申請專利範圍第7項的方法,進一步包括由該主機端偵測該特殊系統錯誤或狀態情況。
  12. 如申請專利範圍第7項的方法,進一步包括一MDDI傳輸鏈路。
  13. 一種用於儲存可執行程式指令以在一數位傳輸系統中執行用於一循環冗餘檢查(CRC)之一檢查器系統之機器可讀媒體,用於儲存之該機器可讀媒體包含:導致基於一經傳輸資料流而產生一CRC值之一主機循環冗餘檢查(CRC)之一產生以及導致該經產生CRC值至一特殊經訛誤CRC錯誤值之一訛誤之程式指令,該特殊經訛誤CRC錯誤值對應於由主機端所偵測之一特殊系統錯誤或狀態情況;經由該主機端導致該經產生之CRC值或該經訛誤CRC錯誤值之一選擇以用於在該經傳輸之資料流中之一資料封包之一CRC欄位中之傳輸之程式指令; 基於自該主機端所接收之該資料流而在該客戶端處導致一客戶端CRC獨有樣式之一產生之程式指令;藉由比較該客戶端CRC獨有樣式與來自該主機端之該經產生之CRC值來偵測一錯誤情況而在該客戶端處導致一錯誤情況之一偵測之程式指令;在該客戶端處導致由該主機端所產生之該經訛誤之CRC錯誤值之一偵測之程式指令,該經訛誤之CRC錯誤值對應於該特殊系統錯誤或狀態情況;及基於該經偵測之經訛誤之CRC錯誤值而指示該客戶端採取特殊校正行動。
  14. 如申請專利範圍第13項的機器可讀媒體,其中該錯誤情況包括在該資料流中之一錯誤。
  15. 如申請專利範圍第13項的機器可讀媒體,其中該特殊錯誤或狀態情況包括由下述群組所組成之至少一成員:傳輸鏈路資訊之識別、系統狀態資訊及系統錯誤資訊。
  16. 如申請專利範圍第13項的機器可讀媒體,進一步包括由該客戶端導致該經訛誤之CRC錯誤值之一記錄之程式指令。
  17. 如申請專利範圍第13項的機器可讀媒體,進一步包括由該主機端導致該特殊系統錯誤或狀態情況之一偵測之程式指令。
  18. 如申請專利範圍第13項的機器可讀媒體,進一步包括一MDDI傳輸鏈路。
  19. 一種循環冗餘檢查(CRC)檢查器系統,其包含 :用於產生一主機循環冗餘檢查(CRC)之構件,其基於一經傳輸之資料流產生一CRC值並且訛誤該經產生之CRC值至一特殊經訛誤之CRC錯誤值,其對應於由主機端所偵測到的一特殊系統錯誤或狀態情況;用於選擇該經產生之CRC值或該經訛誤之CRC錯誤值以用於該經傳輸資料流中之一資料封包之一CRC欄位中之傳輸之構件;用於基於通過一數位傳輸鏈路自該主機端所接收之該資料流而在客戶端產生一客戶端CRC獨有樣式之構件;用於藉由比較該客戶端CRC獨有樣式與來自該主機端之該經產生之CRC值而在該客戶端處偵測一錯誤情況之構件;用於在該客戶端處偵測由該主機端所產生之該經訛誤之CRC錯誤值之構件,該經訛誤之CRC錯誤值對應於該特殊系統錯誤或狀態情況;及用於基於該經偵測之經訛誤之CRC錯誤值而指示該客戶端採取特殊校正行動之構件。
  20. 如申請專利範圍第19項的系統,其中該錯誤情況包括在該資料流中之一錯誤。
  21. 如申請專利範圍第19項的系統,其中該特殊錯誤或狀態情況包括由下述群組所組成之至少一成員:傳輸鏈路資訊之識別、系統狀態資訊及系統錯誤資訊。
  22. 如申請專利範圍第19項的系統,進一步包括用於 記錄該經訛誤之CRC錯誤值之構件。
  23. 如申請專利範圍第19項的系統,進一步包括用於偵測該特殊系統錯誤或狀態情況之構件。
  24. 如申請專利範圍第19項的系統,其中該數位傳輸鏈路為一MDDI傳輸鏈路。
TW94141287A 2004-11-24 2005-11-24 循環冗餘檢查之實施系統及方法 TWI400889B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63085304P 2004-11-24 2004-11-24
US63282504P 2004-12-02 2004-12-02
US11/285,391 US8667363B2 (en) 2004-11-24 2005-11-23 Systems and methods for implementing cyclic redundancy checks

Publications (2)

Publication Number Publication Date
TW200644445A TW200644445A (en) 2006-12-16
TWI400889B true TWI400889B (zh) 2013-07-01

Family

ID=37600922

Family Applications (1)

Application Number Title Priority Date Filing Date
TW94141287A TWI400889B (zh) 2004-11-24 2005-11-24 循環冗餘檢查之實施系統及方法

Country Status (2)

Country Link
AR (1) AR051245A1 (zh)
TW (1) TWI400889B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI697771B (zh) * 2018-06-21 2020-07-01 友達光電股份有限公司 資料修補系統、方法及其資料修補裝置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356331B2 (en) * 2007-05-08 2013-01-15 Qualcomm Incorporated Packet structure for a mobile display digital interface

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5422894A (en) * 1993-06-25 1995-06-06 Oki Electric Industry Co., Ltd. Real-time convolutional decoder with block synchronizing function

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5422894A (en) * 1993-06-25 1995-06-06 Oki Electric Industry Co., Ltd. Real-time convolutional decoder with block synchronizing function

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI697771B (zh) * 2018-06-21 2020-07-01 友達光電股份有限公司 資料修補系統、方法及其資料修補裝置

Also Published As

Publication number Publication date
AR051245A1 (es) 2006-12-27
TW200644445A (en) 2006-12-16

Similar Documents

Publication Publication Date Title
US8667363B2 (en) Systems and methods for implementing cyclic redundancy checks
CA2698730C (en) Systems and methods for implementing cyclic redundancy checks
CN101444027B (zh) 用于实施循环冗余校验的***和方法
KR101166734B1 (ko) 고속 데이터 레이트를 위한 신호 프로토콜 및 인터페이스의 생성 및 구현
TWI435595B (zh) 視訊裝置之自動化相容性測試
ES2323129T3 (es) Interfaz de alta velocidad de datos.
WO2022078426A1 (zh) 数据传输方法、***和计算机可读存储介质
TWI400889B (zh) 循環冗餘檢查之實施系統及方法
KR100450320B1 (ko) 디지털 티브이용 영상변환과 오류자동보정 장치 및 방법
US20090187672A1 (en) Packet structure for a mobile display digital interface
EP3671720B1 (en) Real-time on-chip data transfer system
US20070294595A1 (en) Detecting Errors In Transmitted Data
JP2008017250A (ja) データ転送制御装置及び電子機器
CN116956321A (zh) 一种芯片数据加密的方法、装置及***
JP2010088004A (ja) 試験装置
WO2015151779A1 (ja) 電子機器およびケーブル適合性判断方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees