相關(guān)申請的交叉引用本申請要求于2015年10月2日向美國專利商標(biāo)局提交的美國臨時(shí)申請no.62/236,522、于2015年9月10日向美國專利商標(biāo)局提交的美國臨時(shí)申請no.62/216,692、于2014年11月26日向美國專利商標(biāo)局提交的美國臨時(shí)申請no.62/084,998以及于2015年11月23日向美國專利商標(biāo)局提交的美國非臨時(shí)申請no.14/949,290的優(yōu)先權(quán)和權(quán)益,它們的全部內(nèi)容通過援引納入于此。背景領(lǐng)域本公開涉及實(shí)現(xiàn)數(shù)據(jù)通信接口上的高效操作,且更具體地涉及促進(jìn)采用碼元轉(zhuǎn)變時(shí)鐘轉(zhuǎn)碼的數(shù)據(jù)通信接口上的糾錯(cuò)。
背景技術(shù):
:數(shù)據(jù)通信接口可以采用碼元轉(zhuǎn)變時(shí)鐘轉(zhuǎn)碼來將時(shí)鐘信息嵌入在編碼將通過具有多條信號導(dǎo)線的接口傳送的數(shù)據(jù)的碼元序列中,從而消除對專用時(shí)鐘信號線的需求。在多信號數(shù)據(jù)傳遞(多線差分信令,諸如n階乘(n!)低電壓差分信令(lvds))的某些示例中,可執(zhí)行轉(zhuǎn)碼(例如,一種編碼類型到另一編碼類型的數(shù)字-數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換)以便通過在每一碼元循環(huán)引起碼元轉(zhuǎn)變而不是在單獨(dú)的數(shù)據(jù)通道(差分傳輸路徑)中發(fā)送時(shí)鐘信息的方式來嵌入碼元時(shí)鐘信息。通過此類轉(zhuǎn)碼來嵌入時(shí)鐘信息還可最小化時(shí)鐘與數(shù)據(jù)信號之間的偏斜并消除用鎖相環(huán)(pll)來從數(shù)據(jù)信號中恢復(fù)時(shí)鐘信息的需求。在一個(gè)示例中,根據(jù)常規(guī)集成電路間(i2c)協(xié)議或相機(jī)控制接口(cci)協(xié)議來操作的兩線串行總線可被適配成提供cci擴(kuò)展(ccie)總線,它使用碼元轉(zhuǎn)變時(shí)鐘轉(zhuǎn)碼。ccie總線支持比i2c總線或cci總線更高的比特率。檢錯(cuò)和糾錯(cuò)在采用轉(zhuǎn)變編碼的數(shù)據(jù)傳遞接口中可能是有問題的,因?yàn)樾帕顮顟B(tài)差錯(cuò)與從數(shù)據(jù)傳遞接口解碼的數(shù)據(jù)中的差錯(cuò)之間通常沒有直接關(guān)聯(lián)。數(shù)據(jù)比特與信令狀態(tài)之間無關(guān)聯(lián)性可以致使常規(guī)檢錯(cuò)技術(shù)在被應(yīng)用于轉(zhuǎn)變編碼接口時(shí)無效。將期望在使用碼元轉(zhuǎn)變時(shí)鐘轉(zhuǎn)碼來進(jìn)行通信的各設(shè)備之間的傳輸中提供可靠的檢錯(cuò)和糾錯(cuò)。概述本公開的各方面涉及一種改進(jìn)能可靠地檢測影響在多線轉(zhuǎn)變編碼接口上傳送的兩個(gè)或更多個(gè)碼元的差錯(cuò)并能糾正編碼單個(gè)數(shù)據(jù)字的每一碼元序列的單碼元差錯(cuò)的設(shè)備的功能性和操作效率的方法、計(jì)算機(jī)程序、以及裝置。根據(jù)某些方面,一種在接收機(jī)處糾正多線接口中的傳輸差錯(cuò)的方法包括:接收表示多個(gè)連接器的信令狀態(tài)的碼元序列;以及解碼該碼元序列??赏ㄟ^將該碼元序列轉(zhuǎn)換成轉(zhuǎn)變數(shù)并將轉(zhuǎn)變數(shù)轉(zhuǎn)換成接收到的多個(gè)比特來解碼該碼元序列。轉(zhuǎn)變數(shù)的每一數(shù)位可表示在多個(gè)連接器上傳送的兩個(gè)連貫碼元之間的轉(zhuǎn)變。該糾正傳輸差錯(cuò)的方法可包括基于接收到的多個(gè)比特中的檢錯(cuò)碼(edc)的值來確定該碼元序列中是否存在碼元差錯(cuò)。在確定該碼元序列中存在碼元差錯(cuò)時(shí),可生成該碼元序列的一個(gè)或多個(gè)置換,其中每一置換包括與該碼元序列中的對應(yīng)碼元不同且與其他置換中的對應(yīng)碼元不同的一個(gè)碼元。該一個(gè)或多個(gè)置換可被解碼,并且在一個(gè)置換產(chǎn)生與預(yù)期edc值相匹配的經(jīng)解碼edc值時(shí),該置換可被標(biāo)識為經(jīng)糾正碼元序列。預(yù)期edc值可對應(yīng)于在多線接口上傳送以使得能夠在接收機(jī)處檢測多達(dá)兩個(gè)碼元差錯(cuò)的edc的預(yù)定義值。根據(jù)某些方面,一種設(shè)備包括:用于接收表示多個(gè)連接器的信令狀態(tài)的碼元序列的裝置;以及用于解碼該碼元序列的裝置。用于解碼該碼元序列的裝置可被配置成將碼元序列轉(zhuǎn)換成轉(zhuǎn)變數(shù)(其中轉(zhuǎn)變數(shù)的每一數(shù)位表示在多個(gè)連接器上傳送的兩個(gè)連貫碼元之間的轉(zhuǎn)變)以及將轉(zhuǎn)變數(shù)轉(zhuǎn)換成接收到的多個(gè)比特。該設(shè)備可包括:用于基于所接收到的多個(gè)比特中的edc的值來確定該碼元序列中是否存在碼元差錯(cuò)的裝置;以及用于在確定該碼元序列中存在碼元差錯(cuò)時(shí)糾正碼元差錯(cuò)的裝置。用于糾正碼元差錯(cuò)的裝置可被配置成:生成該碼元序列的一個(gè)或多個(gè)置換,其中每一置換包括與該碼元序列中的對應(yīng)碼元不同且與其它置換中的對應(yīng)碼元不同的一個(gè)碼元;解碼該一個(gè)或多個(gè)置換;以及在一置換產(chǎn)生與預(yù)期edc值相匹配的經(jīng)解碼edc值時(shí)將該置換標(biāo)識為經(jīng)糾正碼元序列。預(yù)期edc值可對應(yīng)于在多線接口上傳送以使得能夠在接收機(jī)處檢測多達(dá)兩個(gè)碼元差錯(cuò)的edc的預(yù)定義值。根據(jù)某些方面,一種裝置包括:通信收發(fā)機(jī),其被配置成提供表示多個(gè)連接器的信令狀態(tài)的碼元序列;解碼器電路,其被配置成將表示該碼元序列中的連貫碼元之間的轉(zhuǎn)變的轉(zhuǎn)變數(shù)轉(zhuǎn)換成多個(gè)比特;檢錯(cuò)電路,其被配置成基于接收到的多個(gè)比特中的edc的值來確定該碼元序列中是否存在碼元差錯(cuò);以及糾錯(cuò)電路。糾錯(cuò)電路可對該碼元序列中存在碼元差錯(cuò)的確定作出響應(yīng)且可被配置成:生成該碼元序列的一個(gè)或多個(gè)置換,其中每一置換包括與該碼元序列中的對應(yīng)碼元不同且與其它置換中的對應(yīng)碼元不同的一個(gè)碼元;解碼該一個(gè)或多個(gè)置換;以及在一置換產(chǎn)生與預(yù)期edc值相匹配的經(jīng)解碼edc值時(shí)將該置換標(biāo)識為經(jīng)糾正碼元序列。預(yù)期edc值可對應(yīng)于在多線接口上傳送以使得能夠在接收機(jī)處檢測多達(dá)兩個(gè)碼元差錯(cuò)的edc的預(yù)定義值。根據(jù)某些方面,一種處理器可讀存儲介質(zhì)上可存儲有指令。這些指令可由處理器執(zhí)行。這些指令可包括用于以下操作的指令:接收表示多個(gè)連接器的信令狀態(tài)的碼元序列;以及解碼該碼元序列。在一個(gè)示例中,這些指令可包括用于以下操作的指令:將該碼元序列轉(zhuǎn)換成轉(zhuǎn)變數(shù),該轉(zhuǎn)變數(shù)的每一數(shù)位表示在多個(gè)連接器上傳送的兩個(gè)連貫碼元之間的轉(zhuǎn)變;以及將該轉(zhuǎn)變數(shù)轉(zhuǎn)換成接收到的多個(gè)比特。這些指令可包括用于以下操作的指令:基于所接收到的多個(gè)比特中的edc的值來確定該碼元序列中是否存在碼元差錯(cuò);以及在確定該碼元序列中存在碼元差錯(cuò)時(shí),生成該碼元序列的一個(gè)或多個(gè)置換,其中每一置換包括與該碼元序列中的對應(yīng)碼元不同且與其它置換中的對應(yīng)碼元不同的一個(gè)碼元,解碼該一個(gè)或多個(gè)置換,以及在一置換產(chǎn)生與預(yù)期edc值相匹配的經(jīng)解碼edc值時(shí)將該置換標(biāo)識為經(jīng)糾正碼元序列。預(yù)期edc值可對應(yīng)于在多線接口上傳送以使得能夠在接收機(jī)處檢測多達(dá)兩個(gè)碼元差錯(cuò)的edc的預(yù)定義值。附圖在結(jié)合附圖理解下面闡述的詳細(xì)描述時(shí),各種特征、本質(zhì)、和優(yōu)點(diǎn)會變得明顯,在附圖中,相像的附圖標(biāo)記貫穿始終作相應(yīng)標(biāo)識。圖1描繪了在各ic設(shè)備之間采用數(shù)據(jù)鏈路的裝置,該數(shù)據(jù)鏈路根據(jù)多個(gè)可用標(biāo)準(zhǔn)之一來選擇性地操作。圖2解說了在ic設(shè)備之間采用數(shù)據(jù)鏈路的裝置的系統(tǒng)架構(gòu)。圖3解說了在兩個(gè)設(shè)備之間提供的n!接口的示例。圖4解說了可根據(jù)本文公開的某些方面來適配的發(fā)射機(jī)和接收機(jī)。圖5解說了可被用來控制轉(zhuǎn)變數(shù)與順序碼元之間的轉(zhuǎn)換的編碼方案。圖6解說了轉(zhuǎn)變編碼接口的一個(gè)示例中的碼元與轉(zhuǎn)變數(shù)之間的關(guān)系。圖7解說了在3!接口中碼元邊界處可能的轉(zhuǎn)變數(shù)到碼元編碼。圖8解說了3!接口中的轉(zhuǎn)變數(shù)與碼元之間的數(shù)學(xué)關(guān)系。圖9解說了其中通過多線通信接口傳送的碼元序列受單碼元差錯(cuò)的影響的示例。圖10是解說表征通過多線通信接口傳送的碼元序列中的單碼元差錯(cuò)的數(shù)學(xué)關(guān)系的示圖。圖11通過表格示出rn的值,其中n在范圍0-15中并且在r=3和r=5時(shí)。圖12通過表格示出與碼元序列中的單碼元差錯(cuò)相對應(yīng)的差錯(cuò)系數(shù)。圖13解說了差錯(cuò)系數(shù)中的最長非零lsb部分。圖14解說了其中單碼元差錯(cuò)導(dǎo)致單個(gè)轉(zhuǎn)變數(shù)中的差錯(cuò)的情況。圖15解說了影響通過多線通信接口傳送的碼元序列中的兩個(gè)碼元的信令差錯(cuò)的第一示例。圖16解說了影響通過多線通信接口傳送的兩個(gè)連貫碼元的信令差錯(cuò)的第二示例。圖17解說了根據(jù)本文公開的某些方面的在edc中提供的用于檢測兩個(gè)碼元差錯(cuò)的比特?cái)?shù)。圖18解說了根據(jù)本文公開的某些方面的可被用來糾正單碼元差錯(cuò)的電路的操作。圖19解說了根據(jù)本文公開的某些方面的可被用來糾正碼元差錯(cuò)的解碼器的第一配置。圖20解說了根據(jù)本文公開的某些方面的可被用來糾正碼元差錯(cuò)的解碼器的第二配置。圖21解說了根據(jù)本文公開的某些方面的可被使用來降低解碼開銷的用于糾正碼元差錯(cuò)的解碼器的某些方面。圖22是解說采用可根據(jù)本文所公開的某些方面來適配的處理系統(tǒng)的裝置的示例的框圖。圖23是根據(jù)本文所公開的某些方面的用于糾正碼元差錯(cuò)的方法的流程圖。圖24是解說根據(jù)本文公開的某些方面的用于解碼各碼元的方法的示例的流程圖。圖25是解說采用根據(jù)本文所公開的某些方面的用于在提供碼元檢錯(cuò)的接口中使用的裝置的硬件實(shí)現(xiàn)的第二示例的示圖。詳細(xì)描述在以下描述中,給出了具體細(xì)節(jié)以提供對諸實(shí)施例的透徹理解。然而,本領(lǐng)域普通技術(shù)人員將理解,沒有這些具體細(xì)節(jié)也可實(shí)踐這些實(shí)施例。例如,電路可能用框圖示出以免使這些實(shí)施例混淆在不必要的細(xì)節(jié)中。在其他實(shí)例中,公知的電路、結(jié)構(gòu)、和技術(shù)可能不被詳細(xì)示出以免使這些實(shí)施例不明朗。概覽某些數(shù)據(jù)傳遞接口采用轉(zhuǎn)變編碼(包括3相和n!多線lvds接口)和多線單端接口(包括ccie接口)。轉(zhuǎn)變編碼將時(shí)鐘信息嵌入通過該接口傳送的信令狀態(tài)中。在某些實(shí)例中,數(shù)據(jù)被轉(zhuǎn)碼成轉(zhuǎn)變數(shù),其中每一轉(zhuǎn)變數(shù)選擇要在當(dāng)前碼元之后傳送的下一碼元。每一碼元可以表示該接口的信令狀態(tài)。例如,轉(zhuǎn)變數(shù)可以表示用來在可在接口上傳送的有序碼元集合中的各碼元之間進(jìn)行選擇的偏移。通過確保連貫碼元彼此不同,該接口的信令狀態(tài)的變化在每一碼元邊界處發(fā)生,從而提供被用來生成接收機(jī)處的接收時(shí)鐘的信息。信令狀態(tài)中將所傳送的碼元s1改變成接收到的碼元se1的差錯(cuò)可以使接收機(jī)產(chǎn)生與緊接在前的碼元s2與已改變碼元se1之間的轉(zhuǎn)變相關(guān)聯(lián)的不正確轉(zhuǎn)變數(shù)t1+e1。t1表示s2與正確地傳送的碼元s1之間的差異,而e1是信令差錯(cuò)所引入的偏移的值。第二不正確轉(zhuǎn)變數(shù)t0+e0與已改變碼元se1相關(guān)聯(lián),其中t0表示正確地傳送的碼元s1與下一碼元s0之間的差異,而e0表示由信令差錯(cuò)引入的偏移的值。e1和e0的值沒有直接對應(yīng)于信令狀態(tài)中的差錯(cuò),并且數(shù)據(jù)比特差錯(cuò)與信令狀態(tài)差錯(cuò)之間的無關(guān)聯(lián)性可致使常規(guī)檢錯(cuò)技術(shù)在被應(yīng)用于轉(zhuǎn)變編碼接口時(shí)無效。根據(jù)本文公開的某些方面,通過提供檢錯(cuò)常數(shù)(edc)來在轉(zhuǎn)變編碼接口中啟用可靠檢錯(cuò),edc可以檢測被用來傳送數(shù)據(jù)字的碼元序列中的兩個(gè)碼元差錯(cuò)。edc可包括具有已知、固定值的預(yù)定義數(shù)目的比特。在一個(gè)示例中,edc的值可具有零值,并且可被提供作為追加到要在多線接口上傳送的每一字的預(yù)定義或預(yù)選擇數(shù)目的最低有效位(lsb)。根據(jù)某些方面,每傳送數(shù)據(jù)字的單碼元差錯(cuò)可被糾正。在一個(gè)示例中,追加到數(shù)據(jù)字的edc可以能夠檢測兩個(gè)碼元差錯(cuò),并且這一能力可被用來實(shí)現(xiàn)有效地用于糾正單碼元差錯(cuò)的糾錯(cuò)方案。在操作中,接收機(jī)可以監(jiān)視經(jīng)解碼字中的edc值并在例如edc具有非預(yù)期值時(shí)確定至少一個(gè)碼元差錯(cuò)已發(fā)生。在檢測到差錯(cuò)時(shí)可嘗試糾錯(cuò)。糾錯(cuò)方案可通過測試與不匹配發(fā)射機(jī)所插入的預(yù)定義值的edc相關(guān)聯(lián)的對應(yīng)于收到數(shù)據(jù)字的收到碼元序列中的每一碼元的值的不同變化來操作。例如,碼元序列的諸置換可以使用一個(gè)碼元的替換值來解碼,同時(shí)其他碼元未修改。在經(jīng)修改碼元使得追加到所得的經(jīng)解碼數(shù)據(jù)字的edc與在無錯(cuò)傳輸之后edc的預(yù)期預(yù)定義值相匹配時(shí),糾錯(cuò)可完成。因?yàn)閑dc檢測兩個(gè)碼元差錯(cuò),所以糾錯(cuò)邏輯對正確地接收到的碼元作出的任何修改都會將第二碼元差錯(cuò)引入碼元序列,這可通過比較edc值來檢測。采用轉(zhuǎn)變編碼的設(shè)備的示例圖1描繪了采用ic設(shè)備之間的通信鏈路的裝置100的一個(gè)示例。在一個(gè)示例中,裝置100可包括無線通信設(shè)備,該無線通信設(shè)備通過rf收發(fā)機(jī)與無線電接入網(wǎng)(ran)、核心接入網(wǎng)、因特網(wǎng)和/或另一網(wǎng)絡(luò)通信。裝置100可包括可操作地耦合至處理電路102的通信收發(fā)機(jī)106。處理電路102可包括一個(gè)或多個(gè)ic設(shè)備,諸如專用ic(asic)108。asic108可包括一個(gè)或多個(gè)處理設(shè)備、邏輯電路等等。處理電路102可包括和/或耦合至處理器可讀存儲(諸如存儲器設(shè)備112),該處理器可讀存儲可維護(hù)可由處理電路102執(zhí)行的指令和數(shù)據(jù)。處理電路102可由操作系統(tǒng)以及應(yīng)用編程接口(api)110層中的一者或多者來控制,該api110層支持并允許執(zhí)行駐留在存儲介質(zhì)(諸如無線設(shè)備的存儲器設(shè)備112)中的軟件模塊。存儲器設(shè)備112可包括只讀存儲器(rom)或隨機(jī)存取存儲器(ram)、電可擦除可編程rom(eeprom)、閃存卡、或可以在處理系統(tǒng)和計(jì)算平臺中使用的任何存儲器設(shè)備。處理電路102可包括或訪問本地?cái)?shù)據(jù)庫114,該本地?cái)?shù)據(jù)庫114可維護(hù)用于配置和操作該裝置100的操作參數(shù)和其他信息。本地?cái)?shù)據(jù)庫114可使用數(shù)據(jù)庫模塊、閃存、磁介質(zhì)、eeprom、光學(xué)介質(zhì)、磁帶、軟盤或硬盤等中的一者或多者來實(shí)現(xiàn)。處理電路也可以可操作地耦合至外部設(shè)備,諸如天線122、顯示器124、操作者控件(諸如按鈕128和按鍵板126以及其他組件)。圖2是解說連接到通信鏈路220的裝置200的某些方面的示意框圖,其中該裝置200可被實(shí)施在以下一者或多者中:無線移動設(shè)備、移動電話、移動計(jì)算系統(tǒng)、無線電話、筆記本計(jì)算機(jī)、平板計(jì)算設(shè)備、媒體播放器、游戲設(shè)備等。裝置200可包括通過通信鏈路220交換數(shù)據(jù)和控制信息的多個(gè)ic設(shè)備202和230。通信鏈路220可被用于連接彼此緊鄰地定位或者物理上位于裝置200的不同部分中的ic設(shè)備202和230。在一個(gè)示例中,通信鏈路220可被設(shè)在搭載ic設(shè)備202和230的芯片載體、基板或電路板上。在另一示例中,第一ic設(shè)備202可位于折疊式電話的按鍵板區(qū)段中,而第二ic設(shè)備230可位于該折疊式電話的顯示器區(qū)段中。在另一示例中,通信鏈路220的一部分可包括電纜或光學(xué)連接。通信鏈路220可包括多個(gè)信道222、224和226。一個(gè)或多個(gè)信道226可以是雙向的,并且可以工作在半雙工和/或全雙工模式下。一個(gè)或多個(gè)信道222和224可以是單向的。通信鏈路220可以是非對稱的,由此在一個(gè)方向上提供較高帶寬。在本文描述的一個(gè)示例中,第一通信信道222可提供或被稱為前向鏈路,而第二通信信道224可提供或被稱為反向鏈路。第一ic設(shè)備202可以被指定為主機(jī)系統(tǒng)或發(fā)射機(jī),而第二ic設(shè)備230可以被指定為客戶端系統(tǒng)或接收機(jī),即便ic設(shè)備202和230兩者都被配置成在通信信道222上傳送和接收。在一個(gè)示例中,前向鏈路可以在將數(shù)據(jù)從第一ic設(shè)備202傳達(dá)給第二ic設(shè)備230時(shí)以較高數(shù)據(jù)率操作,而反向鏈路可以在將數(shù)據(jù)從第二ic設(shè)備230傳達(dá)給第一ic設(shè)備202時(shí)以較低數(shù)據(jù)率操作。ic設(shè)備202和230可各自具有處理器206、236和/或處理和/或計(jì)算電路或其他這樣的設(shè)備或電路。在一個(gè)示例中,第一ic設(shè)備202可執(zhí)行裝置200的核心功能,包括通過無線收發(fā)機(jī)204和天線214來維持無線通信,而第二ic設(shè)備230可支持管理或操作顯示器控制器232的用戶接口。第一ic設(shè)備202或第二ic設(shè)備230可使用相機(jī)控制器234來控制相機(jī)或視頻輸入設(shè)備的操作。ic設(shè)備202和230中的一者或多者所支持的其他特征可包括鍵盤、語音識別組件、以及其他輸入或輸出設(shè)備。顯示器控制器232可包括支持顯示器(諸如液晶顯示器(lcd)面板、觸摸屏顯示器、指示器等)的電路和軟件驅(qū)動器。存儲介質(zhì)208和238可包括瞬態(tài)和/或非瞬態(tài)存儲設(shè)備,其被適配成維持由相應(yīng)處理器206和236、和/或ic設(shè)備202和230的其他組件所使用的指令和數(shù)據(jù)。每個(gè)處理器206、236與其相應(yīng)的存儲介質(zhì)208和238以及其他模塊和電路之間的通信可分別由一條或多條總線212和242來促成。反向鏈路(在此是第二通信信道224)可以按與前向鏈路(在此是第一通信信道222)相同的方式操作,并且第一通信信道222和第二通信信道224可以能夠以相當(dāng)?shù)乃俣然蛞圆煌乃俣冗M(jìn)行傳送,其中速度可被表達(dá)為數(shù)據(jù)傳輸速率和/或時(shí)鐘速率。取決于應(yīng)用,前向和反向數(shù)據(jù)率可以基本上相同或相差幾個(gè)數(shù)量級。在一些應(yīng)用中,單個(gè)雙向鏈路(在此是第三通信信道226)可支持第一ic設(shè)備202與第二ic設(shè)備230之間的通信。當(dāng)例如前向和反向鏈路共享相同的物理連接并以半雙工方式工作時(shí),第一通信信道222和/或第二通信信道224可以可配置以按雙向模式工作。在一個(gè)示例中,通信鏈路220可被操作以根據(jù)行業(yè)或其他標(biāo)準(zhǔn)在第一ic設(shè)備202與第二ic設(shè)備230之間傳達(dá)控制、命令以及其他信息。在一個(gè)示例中,前向和反向鏈路可被配置或適配成支持寬視頻圖形陣列(wvga)、每秒80幀的lcd驅(qū)動器ic而不需要幀緩沖器,以810mbps遞送像素?cái)?shù)據(jù)以供顯示器刷新。在另一示例中,前向和反向鏈路可被配置或適配成與動態(tài)隨機(jī)存取存儲器(dram)(諸如雙倍數(shù)據(jù)率同步動態(tài)隨機(jī)存取存儲器(sdram)實(shí)現(xiàn)通信。編碼設(shè)備210和/或230可以在每一時(shí)鐘轉(zhuǎn)變編碼多個(gè)比特,且多組導(dǎo)線可被用來傳送和接收來自sdram的數(shù)據(jù)、控制信號、地址信號等。前向和反向信道可以遵循或兼容因應(yīng)用而異的行業(yè)標(biāo)準(zhǔn)。在一個(gè)示例中,mipi標(biāo)準(zhǔn)定義包括應(yīng)用處理器的ic設(shè)備202與控制和/或支持移動設(shè)備中的相機(jī)或顯示器的ic設(shè)備230之間的物理層接口。mipi標(biāo)準(zhǔn)包括管控遵循移動設(shè)備的mipi規(guī)范的產(chǎn)品的可操作特性的規(guī)范。mipi標(biāo)準(zhǔn)可定義采用互補(bǔ)金屬氧化物半導(dǎo)體(cmos)并行總線的接口。在一個(gè)示例中,圖2的通信鏈路220可被實(shí)現(xiàn)為包括多條信號線(記為n條導(dǎo)線)的有線總線。這n條導(dǎo)線可被配置成攜帶編碼在碼元中的數(shù)據(jù),其中每一碼元定義n條導(dǎo)線的信令狀態(tài),并且其中時(shí)鐘信息被嵌入在多條導(dǎo)線上傳送的碼元序列中。圖3是解說在兩個(gè)設(shè)備之間提供的n線接口300的一個(gè)示例的示圖。在發(fā)射機(jī)302處,轉(zhuǎn)碼器306可被用于使用n階乘(n!)編碼來將數(shù)據(jù)比特304和時(shí)鐘信息編碼在要在一組n條導(dǎo)線314上傳送的碼元中。時(shí)鐘信號推導(dǎo)自傳送時(shí)鐘312并且可以通過以下方式被編碼到在這n條導(dǎo)線314上在nc2個(gè)差分信號中傳送的碼元序列中:確保在連貫碼元之間在這nc2個(gè)信號中的至少一個(gè)信號上發(fā)生信令狀態(tài)轉(zhuǎn)變。當(dāng)n!編碼被用來驅(qū)動這n條導(dǎo)線314時(shí),碼元的每一比特作為差分信號由一組差分線路驅(qū)動器310中的一者來傳送,其中該組差分線路驅(qū)動器310中的諸差分驅(qū)動器被耦合到這n條導(dǎo)線中的不同導(dǎo)線對。導(dǎo)線對的可用組合的數(shù)目(nc2個(gè))決定了能夠在這n條導(dǎo)線314上傳送的信號的數(shù)目??梢曰诳捎糜诿總€(gè)碼元傳輸區(qū)間的可用信令狀態(tài)的數(shù)目來計(jì)算能夠被編碼在碼元中的數(shù)據(jù)比特304的數(shù)目。端接阻抗(通常為電阻性的)將這n條導(dǎo)線314中的每一條耦合到端接網(wǎng)絡(luò)316中的共用中心點(diǎn)318。將會領(lǐng)會,這n條導(dǎo)線314的信令狀態(tài)反映了終接網(wǎng)絡(luò)316中的電流的組合,該電流組合歸因于耦合到每條導(dǎo)線的差分線路驅(qū)動器310。將會進(jìn)一步領(lǐng)會,中心點(diǎn)318是零點(diǎn),藉此終接網(wǎng)絡(luò)316中的電流在該中心點(diǎn)處彼此抵消。因?yàn)樵撴溌分械倪@nc2個(gè)信號中的至少一個(gè)信號在連貫碼元之間轉(zhuǎn)變,所以n!編碼方案不需要使用單獨(dú)的時(shí)鐘信道和/或非歸零解碼。有效地,轉(zhuǎn)碼器306通過產(chǎn)生其中每個(gè)碼元都不同于其緊接的前趨碼元的碼元序列來確保在這n條導(dǎo)線314上傳送的每對碼元之間發(fā)生轉(zhuǎn)變。在圖3中所描繪的示例中,提供了n=4條導(dǎo)線,并且這4條導(dǎo)線能夠攜帶4c2=6個(gè)差分信號。轉(zhuǎn)碼器306可采用映射方案來生成原始碼元以供在這n條導(dǎo)線314上進(jìn)行傳輸。轉(zhuǎn)碼器306可將數(shù)據(jù)比特304映射到轉(zhuǎn)變數(shù)集合。這些轉(zhuǎn)變數(shù)隨后可以被用于基于在前碼元的值來選擇供傳輸?shù)脑即a元,以使得所選擇的原始碼元與在前原始碼元不同。在一個(gè)示例中,轉(zhuǎn)變數(shù)可以被用于參照連貫原始碼元中的第一原始碼元來查找對應(yīng)于這些連貫原始碼元中的第二原始碼元的數(shù)據(jù)值。例如,在接收機(jī)320處,轉(zhuǎn)碼器328可以采用映射來確定在查詢表中表征一對連貫原始碼元之間的差別的轉(zhuǎn)變數(shù)。轉(zhuǎn)碼器306、328在每一對連貫原始碼元包括兩個(gè)不同碼元的基礎(chǔ)上操作。發(fā)射機(jī)302處的轉(zhuǎn)碼器306可以在每次碼元轉(zhuǎn)變處可用的n!-1個(gè)碼元之間進(jìn)行選擇。在一個(gè)示例中,4!系統(tǒng)在每個(gè)碼元轉(zhuǎn)變處為要被傳送的下一碼元提供4!-1=23個(gè)信令狀態(tài)。比特率可以被計(jì)算為每傳送時(shí)鐘循環(huán)log2(可用狀態(tài))。在使用雙倍數(shù)據(jù)率(ddr)時(shí)鐘(藉此碼元轉(zhuǎn)變在傳送時(shí)鐘312的上升沿和下降沿兩者處發(fā)生)的系統(tǒng)中,每傳送時(shí)鐘循環(huán)傳送兩個(gè)碼元。對于n=4,傳送時(shí)鐘循環(huán)中的總可用狀態(tài)是(n!-1)2=(23)2=529個(gè),并且每碼元可傳送的數(shù)據(jù)比特304的數(shù)目可被計(jì)算為log2(529)=9.047比特。接收機(jī)320使用一組線接收機(jī)322來接收該碼元序列,其中該組線接收機(jī)322中的每個(gè)接收機(jī)確定n條導(dǎo)線314中的一對導(dǎo)線上的信令狀態(tài)的差異。相應(yīng)地,使用nc2個(gè)接收機(jī),其中n表示導(dǎo)線的數(shù)目。nc2個(gè)接收機(jī)產(chǎn)生相應(yīng)數(shù)目的原始碼元作為輸出。在所描繪的n=4導(dǎo)線示例中,在這4條導(dǎo)線314上接收到的信號由6個(gè)接收機(jī)(4c2=6)處理以產(chǎn)生被提供到相應(yīng)的cdr324和解串器326的狀態(tài)轉(zhuǎn)變信號。cdr324可產(chǎn)生可由解串器326使用的接收時(shí)鐘信號334。接收時(shí)鐘信號334可以是能夠由外部電路系統(tǒng)用來接收由轉(zhuǎn)碼器328提供的數(shù)據(jù)的ddr時(shí)鐘信號。轉(zhuǎn)碼器328通過將每個(gè)下一碼元與緊挨在其前的碼元作比較來解碼來自解串器326的收到碼元塊。轉(zhuǎn)碼器328產(chǎn)生與提供給發(fā)射機(jī)302的數(shù)據(jù)比特304相對應(yīng)的輸出數(shù)據(jù)330。轉(zhuǎn)變編碼示例圖4是解說根據(jù)本文所公開的某些方面來配置的發(fā)射機(jī)400和接收機(jī)420的框圖。發(fā)射機(jī)400和接收機(jī)420可被適配成與各種編碼技術(shù)(包括n!和ccie接口中使用的轉(zhuǎn)變編碼)聯(lián)用。發(fā)射機(jī)400包括被配置成將數(shù)據(jù)402轉(zhuǎn)換成轉(zhuǎn)變數(shù)414的第一轉(zhuǎn)換器404。轉(zhuǎn)變數(shù)414可用于基于當(dāng)前碼元的值來選擇供傳輸?shù)南乱淮a元,其中該下一碼元不同于當(dāng)前碼元。第二轉(zhuǎn)換器(諸如編碼器406)接收轉(zhuǎn)變數(shù)并產(chǎn)生供使用適當(dāng)配置的線驅(qū)動器408來在接口上傳送的碼元序列。由于沒有連貫碼元對包括兩個(gè)等同碼元,因此在每一次碼元轉(zhuǎn)變時(shí)在接口的信號線418中的至少一者中發(fā)生信令狀態(tài)的轉(zhuǎn)變。在接收機(jī)420處,一組線接收機(jī)426向cdr428提供原始碼元(si)436,該cdr428提取接收時(shí)鐘438并將捕捉到的碼元(s)434提供給將捕捉到的碼元434轉(zhuǎn)換成轉(zhuǎn)變數(shù)432的電路。轉(zhuǎn)變數(shù)可由電路422解碼以提供輸出數(shù)據(jù)430。在3!系統(tǒng)的示例中,發(fā)射機(jī)400可被配置或適配成將數(shù)據(jù)402轉(zhuǎn)碼成由3個(gè)比特來表示的五進(jìn)制(基數(shù)為5)轉(zhuǎn)變數(shù)414。在ccie系統(tǒng)的示例中,發(fā)射機(jī)400可被配置或適配成將數(shù)據(jù)402轉(zhuǎn)碼成由2個(gè)比特來表示的三進(jìn)制(基數(shù)為3)轉(zhuǎn)變數(shù)414。轉(zhuǎn)變數(shù)414可被編碼在碼元序列416中以在信號線418上傳送。提供給發(fā)射機(jī)400的數(shù)據(jù)402可以是一個(gè)或多個(gè)字,每一字具有20比特。第一轉(zhuǎn)換器404(它可以是轉(zhuǎn)碼器)接收數(shù)據(jù)402并為每一數(shù)據(jù)元素產(chǎn)生轉(zhuǎn)變數(shù)序列414。轉(zhuǎn)變數(shù)序列414可包括足夠數(shù)目的三進(jìn)制數(shù)以編碼預(yù)定義數(shù)目的數(shù)據(jù)比特、檢錯(cuò)、以及其他信息。編碼器406產(chǎn)生通過線驅(qū)動器408傳送的碼元序列416。在一個(gè)示例中,線驅(qū)動器408可包括開漏輸出晶體管。在另一示例中,線驅(qū)動器408可包括推挽式驅(qū)動器。通過確保沒有連貫碼元對包括兩個(gè)相同碼元,由編碼器生成的輸出碼元序列416在碼元序列416中的每一對連貫碼元之間具有信號線418中的至少一者的狀態(tài)轉(zhuǎn)變。至少一條信號線中的狀態(tài)轉(zhuǎn)變可用性準(zhǔn)許接收機(jī)420從碼元序列416中提取接收時(shí)鐘438。圖5是解說編碼方案500的簡單示例的示圖。在這一示例中,編碼方案可由配置成產(chǎn)生碼元序列416以供在兩線ccie接口上傳輸?shù)木幋a器406使用。編碼方案500還由轉(zhuǎn)碼器424用來從接收自在接口的信號線418上傳送的信號的碼元中提取數(shù)據(jù)。在所解說的編碼方案500中,使用兩根信號線418準(zhǔn)許定義4個(gè)基本碼元s:{0,1,2,3}。碼元序列416、434中的任何兩個(gè)連貫碼元具有不同狀態(tài),并且碼元序列0,0、1,1、2,2和3,3是連貫碼元的無效組合。相應(yīng)地,在每個(gè)碼元邊界處僅3個(gè)有效碼元轉(zhuǎn)變可用,其中碼元邊界由傳送時(shí)鐘確定并且表示第一碼元(ps)終止且第二碼元(cs)開始的點(diǎn)。第一碼元可被稱為在前或先前碼元522,且第二碼元可被稱為當(dāng)前碼元524。根據(jù)本文所公開的某些方面,針對每個(gè)先前碼元522,這三個(gè)可用轉(zhuǎn)變被指派轉(zhuǎn)變數(shù)(t)526。t526的值可以由三進(jìn)制數(shù)表示。在一個(gè)示例中,轉(zhuǎn)變數(shù)526的值通過指派用于編碼方案的碼元排序圓502來確定。碼元排序圓502為4個(gè)可能碼元分配碼元排序圓502上的位置504a-504d以及位置504a-504d之間的旋轉(zhuǎn)方向506。在所描繪的示例中,旋轉(zhuǎn)方向506為順時(shí)針。轉(zhuǎn)變數(shù)526可以表示有效的當(dāng)前碼元524與前一緊鄰碼元522之間的間隔。間隔可被定義為從前一碼元522到達(dá)當(dāng)前碼元524所需要的在碼元排序圓502上沿旋轉(zhuǎn)方向506的步數(shù)。步數(shù)可被表達(dá)為一位基數(shù)為3的數(shù)。將領(lǐng)會,碼元之間的三步差異可被表示為0基數(shù)-3。圖5中的表520概述了采用這種辦法的編碼方案。在發(fā)射機(jī)400處,在給定先前碼元522和用作轉(zhuǎn)變數(shù)526的輸入三進(jìn)制數(shù)的知識的情況下,表520可被用于查找要被傳送的當(dāng)前碼元524。在接收機(jī)420處,表520可被用作查找表以確定表示先前碼元522與當(dāng)前碼元524之間的轉(zhuǎn)變的轉(zhuǎn)變數(shù)526。轉(zhuǎn)變數(shù)526可作為三進(jìn)制數(shù)來被輸出。使用將時(shí)鐘信息嵌入到碼元序列中的轉(zhuǎn)碼器可將發(fā)射機(jī)400接收到以供傳輸?shù)臄?shù)據(jù)402與在信號線418上傳送的碼元序列416解除關(guān)聯(lián)。因此,在不考慮至少一個(gè)先前傳送的碼元的情況下,所接收到的原始碼元436無法被直接解碼以獲得提供給發(fā)射機(jī)400的數(shù)據(jù)402。該解除關(guān)聯(lián)可使得常規(guī)糾錯(cuò)技術(shù)無效。例如,常規(guī)系統(tǒng)可將糾錯(cuò)碼(ecc)追加到數(shù)據(jù)402,其中該ecc可以是從數(shù)據(jù)402的預(yù)定義塊大小或者分組長度計(jì)算出的循環(huán)冗余碼(crc)。該ecc可被用于標(biāo)識和/或糾正在常規(guī)接口中的傳輸期間發(fā)生的差錯(cuò),其中這些差錯(cuò)可包括一個(gè)或多個(gè)比特差錯(cuò)。在使用轉(zhuǎn)變編碼的接口中,碼元差錯(cuò)以比特差錯(cuò)突發(fā)來顯現(xiàn)在接收機(jī)處。即,單個(gè)碼元傳輸差錯(cuò)可引起多個(gè)比特差錯(cuò)。在這些情形中,crc通常超過漢明距離且不是用于檢錯(cuò)的切實(shí)解決方案。圖6是解說碼元602與轉(zhuǎn)變數(shù)604(其在本文中也可被稱為“轉(zhuǎn)變碼元”)之間的關(guān)系的時(shí)序圖600。在這一示例中,每一數(shù)據(jù)字被編碼到在多線接口上傳送的m個(gè)碼元中。在m個(gè)碼元中傳送的字可以使用以下公式來解碼:其中tk是第k迭代處的轉(zhuǎn)變數(shù),且r是碼元之間的每一轉(zhuǎn)變處的可用碼元的數(shù)目。例如,在其中自轉(zhuǎn)變被禁止(以確保接收時(shí)鐘能被可靠地生成)的3!接口中,6個(gè)定義狀態(tài)中的r=5個(gè)狀態(tài)在每一碼元轉(zhuǎn)變處可用。在各種示例中,3!接口可以將數(shù)據(jù)編碼在m=4個(gè)碼元或m=7個(gè)碼元的序列中。在4!接口中,24個(gè)定義狀態(tài)中的r=23個(gè)狀態(tài)在每一碼元轉(zhuǎn)變處可用,并且4!接口可以將數(shù)據(jù)編碼在m=2個(gè)碼元的序列中。在ccie接口中,4個(gè)定義狀態(tài)中的r=3個(gè)狀態(tài)在每一碼元處可用,并且數(shù)據(jù)字可被編碼在m=12個(gè)碼元的序列中。對于3線單端接口,m=12和r=7的值可被使用。對于4線單端接口,m=10和r=15的值可被使用。圖7是解說用于3!接口的轉(zhuǎn)變數(shù)到碼元編碼的示圖700。在這一示例中,存在6個(gè)可能碼元,s:{0,1,2,3,4,5},其圍繞碼元排序圓702布置。通過確保同一碼元不出現(xiàn)在任何兩個(gè)連貫碼元區(qū)間中,時(shí)鐘信息被嵌入在碼元序列中。在這一示例中,r=5,并且對于每一類型的轉(zhuǎn)變704、706、708、710、712,轉(zhuǎn)變數(shù)(t)可被指派不同值。轉(zhuǎn)變數(shù)的值可以相對于碼元排序圓702上的當(dāng)前碼元的位置來指示碼元排序圓702上的下一碼元的位置。轉(zhuǎn)變數(shù)可以取在范圍1-5中的值。因?yàn)楫?dāng)前碼元不能與前一碼元相同,所以當(dāng)前碼元與下一碼元之間的步數(shù)不能是零。轉(zhuǎn)變數(shù)可根據(jù)以下公式來被指派:t=ps+1≤cs?cs–(ps+1):cs–(ps+1)+6相反,當(dāng)前順序碼元編號(cs)可根據(jù)以下規(guī)則來指派:cs=ps+1+t<6?ps+1+t:ps+1+t–6其中cs是當(dāng)前碼元,且ps是前一收到碼元。圖8是解說碼元轉(zhuǎn)變時(shí)鐘轉(zhuǎn)碼的一般化示例800的示圖。在這一示例800中,接口對于在多線通信接口上傳送的每一碼元提供六個(gè)可能的信令狀態(tài),其中通過確保每一對連貫地傳送的碼元包括兩個(gè)不同碼元,時(shí)鐘信息被嵌入在連貫碼元之間的每一轉(zhuǎn)變處。相應(yīng)地,在碼元之間的每一轉(zhuǎn)變處有5個(gè)狀態(tài)可用。通過將數(shù)據(jù)字的各比特轉(zhuǎn)換成轉(zhuǎn)變數(shù)來編碼該數(shù)據(jù)字,這基于當(dāng)前所傳送的碼元來選擇要傳送的下一碼元。在示例800中,三個(gè)順序碼元812、814、816在多線通信接口上傳送,其中每一碼元812、814、816定義多線通信接口的六個(gè)信令狀態(tài)之一。數(shù)據(jù)和時(shí)鐘信息被編碼在碼元812、814、816的連貫對之間的轉(zhuǎn)變中。轉(zhuǎn)變可被表示為轉(zhuǎn)變數(shù)808、810的各個(gè)數(shù)位。轉(zhuǎn)變數(shù)的每一數(shù)位標(biāo)識碼元序列中的一對連貫碼元之間的轉(zhuǎn)變,并且在這一上下文中,各數(shù)位也可被稱為轉(zhuǎn)變數(shù)。如本文所述,對于m個(gè)碼元的序列,數(shù)據(jù)被編碼為:其中k具有在0和m-1之間的值。第一轉(zhuǎn)變數(shù)(tk)808對應(yīng)于第一碼元812(a)與第二碼元814(x)之間的轉(zhuǎn)變,并且第二轉(zhuǎn)變數(shù)(tk-1)810對應(yīng)于第二碼元814(x)與第三碼元816(b)之間的轉(zhuǎn)變。在此,第一碼元812可以編碼數(shù)據(jù)字的最高有效位。在一個(gè)示例中,多比特?cái)?shù)據(jù)字可被轉(zhuǎn)換成m個(gè)轉(zhuǎn)變數(shù)的序列。每一轉(zhuǎn)變數(shù)可以使用三進(jìn)制數(shù)、四進(jìn)制數(shù)、五進(jìn)制數(shù)、六進(jìn)制數(shù)或使用可表示r個(gè)轉(zhuǎn)變的某一其他數(shù)字系統(tǒng)來表達(dá)。即,數(shù)字系統(tǒng)可以是提供能跨范圍0到r-1的數(shù)字的r基系統(tǒng)。每一轉(zhuǎn)變數(shù)可以基于正傳送的當(dāng)前碼元來選擇供傳輸?shù)南乱淮a元。從與當(dāng)前碼元不同的諸碼元中選擇下一碼元以確保發(fā)生信令狀態(tài)轉(zhuǎn)變,以便將時(shí)鐘信息嵌入碼元序列802中。即,連貫碼元對中的兩個(gè)不同碼元的傳輸造成多線接口的至少一條導(dǎo)線的信令狀態(tài)的變化,并且接收機(jī)可以基于在連貫碼元之間的信令狀態(tài)中檢測到的變化來生成接收時(shí)鐘。在示例800中,碼元排序圓806解說了一種選擇下一碼元的方法。在此,轉(zhuǎn)變數(shù)可被表達(dá)為五進(jìn)制數(shù)(基數(shù)為5),具有可能值{0,1,2,3,4}。對于六個(gè)可能碼元804a-804f中的每一者,六個(gè)信令狀態(tài)之一在多線通信接口上傳送。六個(gè)碼元804a-804f被布置在繞碼元排序圓806的不同位置中。給定在碼元排序圓806上的當(dāng)前碼元位置,可通過選擇在碼元排序圓806上位于t個(gè)順時(shí)針步數(shù)處的碼元作為下一碼元來對轉(zhuǎn)變數(shù)t進(jìn)行編碼。在一個(gè)示例中,在當(dāng)前碼元是碼元0804a時(shí),轉(zhuǎn)變數(shù)值t=1選擇碼元1804b作為下一碼元,轉(zhuǎn)變數(shù)值t=2選擇碼元2804c作為下一碼元,轉(zhuǎn)變數(shù)值t=3選擇碼元3804c作為下一碼元,且轉(zhuǎn)變數(shù)值t=4選擇碼元4804d作為下一碼元。轉(zhuǎn)變數(shù)值t=0可造成翻轉(zhuǎn),因?yàn)樵撧D(zhuǎn)變數(shù)選擇距當(dāng)前碼元(碼元0804a)為5個(gè)順時(shí)針步數(shù)(或1個(gè)逆時(shí)針步數(shù))的碼元,從而選擇碼元5804f作為下一碼元。在所傳送的碼元序列802的示例中,碼元序列802中的第一碼元812可對應(yīng)于碼元1804b。輸入數(shù)據(jù)可被處理以產(chǎn)生具有值tk=2的第一轉(zhuǎn)變數(shù)808、以及具有值tk-1=1的第二轉(zhuǎn)變數(shù)810。第二碼元814可基于tk的值被確定為碼元3804d,且第三碼元816可基于tk-1的值被確定為碼元4804e。在接收機(jī)處,碼元排序圓806可被用來確定連貫碼元812、814和/或816之間的每一轉(zhuǎn)變的轉(zhuǎn)變數(shù)。在一個(gè)示例中,接收機(jī)基于連貫碼元812、814和/或816之間發(fā)生的信令狀態(tài)變化來提取接收時(shí)鐘。接收機(jī)隨后可從多線接口捕捉碼元812、814、816并確定表示每一對連貫碼元812、814和/或816之間的轉(zhuǎn)變的轉(zhuǎn)變數(shù)。在一個(gè)示例中,可通過計(jì)算該對連貫碼元812、814之間在碼元排序圓806上的步數(shù)來確定轉(zhuǎn)變數(shù)。轉(zhuǎn)變編碼接口中的檢錯(cuò)根據(jù)本文公開的某些方面,可使用添加到要在轉(zhuǎn)變編碼接口上傳送的數(shù)據(jù)的edc來在轉(zhuǎn)變編碼接口中實(shí)現(xiàn)可靠檢錯(cuò)。edc可包括具有預(yù)定義位數(shù)的預(yù)定義數(shù)目的比特,其中edc具有已知、固定值。在一個(gè)示例中,edc在被傳送時(shí)具有零值。在一些情形中,edc被提供作為要在該接口上傳送的每一字的最低有效位(lsb)。edc字的形式和結(jié)構(gòu)可被選擇成使得影響字的單個(gè)信令狀態(tài)差錯(cuò)造成在接收機(jī)處解碼的edc具有不同于該固定值的值(例如,非零值)。圖9解說了影響轉(zhuǎn)變編碼接口的單個(gè)差錯(cuò)的效應(yīng)的示例900。在該示例中,數(shù)據(jù)字912被提供以供在該接口上傳輸。edc914被追加到數(shù)據(jù)字912以產(chǎn)生輸入到編碼器的傳輸字902。傳輸字902在碼元序列910中傳送,其中碼元序列910包括12個(gè)碼元。碼元序列910在被配置用于ccie操作的兩線接口上傳送并且在接收機(jī)處以碼元流904被接收。在傳輸中,發(fā)生信令差錯(cuò),使得初始傳送的碼元916被修改并被接收為錯(cuò)誤碼元918。與接收到的碼元流904相對應(yīng)的轉(zhuǎn)變數(shù)流906包括包含差錯(cuò)偏移的轉(zhuǎn)變數(shù)920、922。第一轉(zhuǎn)變數(shù)920表示前一碼元與錯(cuò)誤碼元918之間的差異,且第二轉(zhuǎn)變數(shù)922表示錯(cuò)誤碼元918與在受影響碼元之后傳送的下一碼元之間的差異。edc914的大小、位置以及結(jié)構(gòu)可被選擇成使得單碼元差錯(cuò)的發(fā)生在接收機(jī)處產(chǎn)生與所傳送的edc914不同的edc926。在一個(gè)示例中,edc914包括多個(gè)比特且可被設(shè)置成零值。在ccie接口的示例中,edc914可具有三個(gè)比特。圖10是解說其中在多線通信接口上傳送的碼元序列1002受單碼元差錯(cuò)1018影響而導(dǎo)致在接收到的碼元序列1004中捕捉到錯(cuò)誤碼元1014的示例的示圖。所傳送的碼元序列1002包括第一碼元1008(a碼元)、第二碼元(x碼元)1010以及第三碼元1012(b碼元)。在接收到的碼元序列1004中,第一碼元1008和第三碼元1012被正確地接收,而第二碼元1014被碼元差錯(cuò)1018修改(位移e)且被接收為錯(cuò)誤碼元(x′碼元1014)。單碼元差錯(cuò)1018的發(fā)生導(dǎo)致兩個(gè)轉(zhuǎn)變數(shù)差錯(cuò)。第一不正確轉(zhuǎn)變數(shù)1020表示正確接收到的第一碼元1018與x′碼元1014之間的轉(zhuǎn)變。第二不正確轉(zhuǎn)變數(shù)1022表示x′碼元1014與正確接收到的第三碼元1012之間的轉(zhuǎn)變。第一不正確轉(zhuǎn)變數(shù)1020可被表達(dá)為tk+ek,其中tk是與第一碼元1008和x碼元1010之間的轉(zhuǎn)變相對應(yīng)的第一正確轉(zhuǎn)變數(shù)1016,而ek是在第一不正確轉(zhuǎn)變數(shù)1020中造成的相對于第一正確轉(zhuǎn)變數(shù)1016的差錯(cuò)值。第二不正確轉(zhuǎn)變數(shù)1022可被表達(dá)為tk-1+ek-1,其中tk-1是與x碼元1010和第三碼元1012之間的轉(zhuǎn)變相對應(yīng)的第二正確轉(zhuǎn)變數(shù)1024,而ek-1是在第二不正確轉(zhuǎn)變數(shù)1022中造成的相對于第一正確轉(zhuǎn)變數(shù)1024的差錯(cuò)值。單碼元差錯(cuò)1018的效應(yīng)在解碼轉(zhuǎn)變圓1006中解說。初始從多線接口接收與碼元1相對應(yīng)的第一碼元1008。下一碼元由于差錯(cuò)而被不正確地捕捉為x′碼元1014。x′碼元1014可對應(yīng)于碼元0。隨后從多線接口接收與碼元4相對應(yīng)的第三碼元1012。在這一示例中,最高有效碼元被首先傳送,并且:e=3,tk=2,tk-1=1tk+e=2+3=5=0基數(shù)5,以及ek=-2tk-1-e=1-3=-2=4基數(shù)5,以及ek-1=-3每一數(shù)據(jù)字可由轉(zhuǎn)變數(shù)序列{t0,t1,…,tm-1}來表示。位移差錯(cuò)e表示所傳送的x碼元1010與接收到的x′碼元1014之間的差異,它可對應(yīng)于解碼轉(zhuǎn)變圓1006中的步數(shù)。由于用來表達(dá)轉(zhuǎn)變數(shù)的數(shù)字系統(tǒng)中的翻轉(zhuǎn),e的值在取值上不一定等于ek。例如,具有值3的轉(zhuǎn)變數(shù)可表示解碼轉(zhuǎn)變圓1006上的第一正確轉(zhuǎn)變數(shù)1016由位移差錯(cuò)e造成的在所傳送的x碼元1014與接收到的x′碼元1014之間的差異,而ek的值具有值2。對于兩個(gè)連貫碼元轉(zhuǎn)變:比特=tkrk+tk-1rk-1影響兩個(gè)連貫碼元的單個(gè)差錯(cuò)的結(jié)果可被表達(dá)為:比特′=(tk+ek)rk+(tk-1-ek-1)rk-1=(tkrk+tk-1rk-1)+(ekr-ek-1)rk-1其中:(ekr-ek-1)rk-1可被稱為差錯(cuò)效應(yīng),(ekr-ek-1)可被稱為差錯(cuò)系數(shù),以及rk-1可被稱為基冪。根據(jù)某些方面,轉(zhuǎn)變編碼接口可被配置成使得r是奇數(shù)。在r是奇數(shù)時(shí),得出rk-1也是奇數(shù)(lsb非零)。相應(yīng)地,(ekr-ek-1)的值確定edc所需的lsb的數(shù)目。圖11提供了在r=3和5時(shí)rn的列表(其中n在范圍0-15中)。第一表1100可與ccie接口相關(guān),其中在每一碼元區(qū)間處有r=3個(gè)轉(zhuǎn)變可用。在每一實(shí)例中,基冪的lsb1104被設(shè)置成‘1’。第二示例1102可以與3線3!接口相關(guān),其中在每一碼元區(qū)間處有r=5個(gè)轉(zhuǎn)變可用(6個(gè)可能碼元)。在每一實(shí)例中,基冪的lsb1206被設(shè)置成‘1’。圖12是通過表格示出差錯(cuò)系數(shù)并且解說在碼元差錯(cuò)不涉及連貫碼元區(qū)間中的碼元重復(fù)(這可造成時(shí)鐘缺失)的差錯(cuò)系數(shù)的表1200。|ek|總是小于r。即:1≤|ek|≤r-1,1≤|ek-1|≤r-1。因?yàn)閨ek|的最小值是1,所以|ekr|的最小值是r。|ek-1|的最大值是r-1。在存在單碼元差錯(cuò)時(shí),差錯(cuò)系數(shù)(ekr-ek-1)永不為零。圖13解說了差錯(cuò)系數(shù)中的最長非零lsb部分的計(jì)算和表格化的示例1300。在此,在|ek|和|ek-1|兩者是2(2n)的最長冪且ek=ek-1時(shí),(ekr–ek-1)的2個(gè)lsb的冪是最長的。差錯(cuò)系數(shù)的2個(gè)lsb的最長冪確定“檢錯(cuò)常數(shù)lsb”的大小。圖14解說了其中單碼元差錯(cuò)導(dǎo)致單個(gè)轉(zhuǎn)變數(shù)1408、1426中的差錯(cuò)的情況的兩個(gè)示例1400、1420。在第一示例1400中,信令差錯(cuò)影響在前碼元序列中最后傳送的碼元1402。該信令差錯(cuò)導(dǎo)致接收機(jī)檢測到經(jīng)修改碼元1404作為在前碼元序列中最后接收的碼元。該差錯(cuò)可在表示在前碼元序列中最后傳送的碼元1402與當(dāng)前碼元序列的第一碼元之間的差異的轉(zhuǎn)變數(shù)1406中引入偏移。在第一示例1400中,該差錯(cuò)的效應(yīng)可被表達(dá)為:em-1rm-1,其中差錯(cuò)系數(shù)是em-1且基冪是rm-1。在第二示例1420中,信令差錯(cuò)影響當(dāng)前碼元序列中最后傳送的碼元1422。該信令差錯(cuò)導(dǎo)致接收機(jī)檢測到經(jīng)修改碼元1424作為當(dāng)前碼元序列中最后接收的碼元。該差錯(cuò)可在表示當(dāng)前碼元序列中最后傳送的碼元1422與下一碼元序列的第一碼元之間的差異的轉(zhuǎn)變數(shù)1426中引入偏移。在第一示例1400中,該差錯(cuò)的效應(yīng)可被表達(dá)為e0。表1列出可檢測使用轉(zhuǎn)變編碼的多線接口中的單碼元差錯(cuò)的edc中的lsb的數(shù)目。redc長度(比特)示例332線單端(例如,ccie)553線多級差分(3!)763線單端971151361584線單端1791982172364線多級差分(4!)表1圖14中解說的情形不影響edc中準(zhǔn)許檢測單碼元差錯(cuò)所需的lsb的最大數(shù)目。檢測每字多個(gè)碼元差錯(cuò)圖15是解說影響對單個(gè)數(shù)據(jù)字進(jìn)行編碼的碼元序列1502中的兩個(gè)碼元1504、1506的信令差錯(cuò)的第一示例的時(shí)序圖1500。圖15涉及其中信令差錯(cuò)影響兩個(gè)非連貫碼元的示例。碼元1504、1506中的差錯(cuò)導(dǎo)致相應(yīng)的各對轉(zhuǎn)變差錯(cuò)1508、1510。這些轉(zhuǎn)變差錯(cuò)導(dǎo)致錯(cuò)誤的轉(zhuǎn)變數(shù)1512、1514、1516、1518。可歸因于第一受影響碼元1504的差錯(cuò)效應(yīng)可被表述為(ekr-ek-1)rk-1,而可歸因于第一受影響碼元1504的差錯(cuò)效應(yīng)可被表述為(ejr-ej-1)rj-1假定如果差錯(cuò)的總效應(yīng)(ekr-ek-1)rk-1+(ekr-ek-1)rk-1總是修改具有預(yù)定長度和值的edc,則多個(gè)碼元差錯(cuò)可被檢測。圖16是解說影響對單個(gè)字進(jìn)行編碼的碼元序列1602中的兩個(gè)連貫碼元1604、1606的信令差錯(cuò)的第二示例的時(shí)序圖1600。連貫碼元1604、1606中的差錯(cuò)導(dǎo)致轉(zhuǎn)變差錯(cuò)1608,轉(zhuǎn)變差錯(cuò)1608導(dǎo)致生成三個(gè)錯(cuò)誤的轉(zhuǎn)變數(shù)1610、1612、1614??蓺w因于受影響碼元1504、1506的差錯(cuò)效應(yīng)可被表述為(ekr2+ek-1r+ek-2)rk-2。在根據(jù)本文公開的某些方面適配的接收機(jī)中,與非連貫碼元1504、1506中的差錯(cuò)相比,可以用更短edc來檢測可歸因于影響連貫碼元1604、1606的差錯(cuò)的差錯(cuò)效應(yīng)。圖17是解說用于r(每碼元邊界可用轉(zhuǎn)變)和m(用來對數(shù)據(jù)元素進(jìn)行編碼的碼元數(shù)目)的各種值的edc比特?cái)?shù)的表1700。用于檢測兩個(gè)碼元差錯(cuò)的edc大小隨m的值而變化。表1700的第一行(帶陰影)對應(yīng)于用來檢測單碼元差錯(cuò)的edc。根據(jù)本文公開的某些方面,在足夠長度的edc與數(shù)據(jù)字一起傳送時(shí),接收機(jī)可被配置成檢測表示數(shù)據(jù)字的碼元序列中的兩個(gè)碼元差錯(cuò)。edc的長度可基于用來對數(shù)據(jù)字進(jìn)行編碼的碼元數(shù)目以及一對連貫地傳送的碼元之間的邊界處可用的轉(zhuǎn)變的數(shù)目來確定。由時(shí)鐘缺失或額外時(shí)鐘造成的碼元滑動差錯(cuò)可能不被檢錯(cuò)常數(shù)檢測到。然而,這些類型的差錯(cuò)中的大多數(shù)可由較高協(xié)議層、在下一字處、和/或使用接收機(jī)設(shè)備處的狀態(tài)機(jī)被檢測到。每字單碼元差錯(cuò)的糾正圖18是解說根據(jù)本文公開的某些方面的可被用來糾正每字單碼元差錯(cuò)的某些電路的操作的示圖1800。在碼元序列1802中傳送的edc允許檢測碼元序列1802中的兩個(gè)碼元差錯(cuò)時(shí),糾錯(cuò)電路可以糾正對字進(jìn)行編碼的碼元序列1802中的單碼元差錯(cuò)。糾錯(cuò)電路可被配置成當(dāng)已在碼元序列1802中檢測到差錯(cuò)之后生成并解碼從通信鏈路接收到的碼元序列1802中的碼元的不同置換。每一置換可包括對碼元序列1802中的一個(gè)碼元的修改。當(dāng)在傳輸期間引入單碼元差錯(cuò)時(shí),改變碼元序列1802中正確地接收到的碼元使得解碼器解碼出指示碼元序列1802中存在一個(gè)或多個(gè)差錯(cuò)的edc。將碼元序列1802中具有差錯(cuò)的碼元改變成另一不正確碼元會得到指示單個(gè)差錯(cuò)仍然保留在碼元序列1802中的edc。當(dāng)碼元置換中的經(jīng)修改碼元逆轉(zhuǎn)在傳輸期間引入的差錯(cuò)時(shí),解碼器解碼出與預(yù)期的、初始傳送的edc值相匹配的edc,并且該碼元置換和/或從該碼元置換解碼出的數(shù)據(jù)可由接收機(jī)用來代替接收到的碼元序列1802和/或從中解碼出的數(shù)據(jù)。在圖18的上下文中,發(fā)射機(jī)可將組合數(shù)據(jù)字和edc編碼在m個(gè)碼元中。在圖9解說的示例中,傳輸字902可包括數(shù)據(jù)字912和edc914。如果在解碼了碼元序列1802中的m個(gè)碼元之后,經(jīng)解碼edc具有非預(yù)期值,則接收機(jī)可以確定至少一個(gè)碼元已被傳輸差錯(cuò)影響。在接收到的edc不匹配用于通信鏈路上的傳輸且被發(fā)射機(jī)追加到數(shù)據(jù)字912的edc914的預(yù)定義值時(shí),接收到的edc可具有非預(yù)期值。在一個(gè)示例中,發(fā)射機(jī)可以追加數(shù)個(gè)零值比特作為傳輸字902的最低有效位,并且經(jīng)解碼的非零edc可指示在碼元序列1802的傳輸中已發(fā)生至少一個(gè)碼元差錯(cuò)。在edc可被用來檢測一個(gè)碼元序列1802中的兩個(gè)碼元差錯(cuò)的發(fā)生時(shí),糾錯(cuò)電路可以糾正單碼元差錯(cuò)。在一個(gè)示例中,作為足夠數(shù)目的最低有效位追加到數(shù)據(jù)字的edc可以準(zhǔn)許檢測兩個(gè)碼元差錯(cuò)以及由糾錯(cuò)電路糾正單碼元差錯(cuò)。在從碼元序列1802解碼出非預(yù)期edc值時(shí),糾錯(cuò)電路可被啟用。糾錯(cuò)電路可以通過解碼通過修改碼元序列1802中的單個(gè)碼元所獲得的每一碼元置換來糾正單碼元差錯(cuò)。產(chǎn)生具有預(yù)期edc值的經(jīng)解碼edc的碼元置換可被認(rèn)為已經(jīng)糾正了傳輸差錯(cuò)。即,該碼元置換包括已經(jīng)按逆轉(zhuǎn)由傳輸差錯(cuò)引起的先前修改的方式來被修改的碼元。在圖18的示圖1800中解說的示例中,碼元序列1802中的每一碼元可以取r+1個(gè)可能信令狀態(tài)之一,其中r表示每碼元的可能轉(zhuǎn)變的數(shù)目。即,在嵌入時(shí)鐘信息的編碼方案中,每一對連貫地傳送的碼元包括兩個(gè)不同碼元以確保每一碼元邊界處發(fā)生轉(zhuǎn)變,并且r+1個(gè)所定義的碼元之一在每一碼元邊界處不可用。在第一示例中,兩線接口可被操作,使得r+1=4個(gè)信令狀態(tài)可用。在第二示例中,三線3!接口可被操作,使得r+1=6個(gè)信令狀態(tài)可用。傳輸差錯(cuò)可以產(chǎn)生由接收機(jī)指派與本來要被指派給初始傳送的碼元的值v正確不同的值v錯(cuò)誤的碼元si。解碼器在解碼包括受差錯(cuò)影響的碼元(即,si=v錯(cuò)誤)的碼元序列1802之后可以產(chǎn)生不具有預(yù)期值的收到edc。預(yù)期edc值1818可具有預(yù)定義edc值。根據(jù)某些方面,si的值可被迭代地改變并在碼元序列1802的置換中提供,它隨后被解碼以確定該碼元置換是否產(chǎn)生與預(yù)期edc值1818相匹配的edc。當(dāng)在碼元置換中用初始傳送的碼元值(si=v正確)替換了受差錯(cuò)影響的碼元時(shí),經(jīng)解碼edc具有預(yù)期edc值1818,并且該碼元置換可替代接收到的碼元序列1802,和/或從該碼元置換解碼出的數(shù)據(jù)字可替代從接收到的碼元序列1802解碼出的數(shù)據(jù)字。在一些實(shí)現(xiàn)中,碼元序列1802中所有碼元1812的值可被提供給包括r(即,(r+1)-1)個(gè)碼元-到-數(shù)據(jù)解碼器的解碼器集合1808。該解碼器集合1808中的每一解碼器接收碼元序列1802中的每一碼元的值,除了si的值。代替si的值,解碼器集合1808中的每一解碼器接收si的經(jīng)修改版本,并且相應(yīng)地,解碼器集合1808中的每一解碼器解碼從碼元序列1802導(dǎo)出的碼元置換。加法器集合1806可被配置成將si的不同版本提供給解碼器集合1808。加法器集合1806可包括模(r)加法器,其每一者都提供不同碼元值以在碼元置換中替代si。在圖18中描繪的示例中,涉及對單個(gè)碼元的改變的所有置換可被并行地處理和解碼??墒褂枚啾忍乇容^器1810來比較從多個(gè)碼元置換解碼出的edc值1816,其中每個(gè)比較器可以在預(yù)期edc值1818與從對應(yīng)碼元置換解碼出的edc值1816之間存在匹配的情況下產(chǎn)生邏輯1。如果多比特比較器1810之一指示匹配,則影響碼元序列1802的傳輸差錯(cuò)可被確定為已被糾正。在一些實(shí)現(xiàn)中,可為碼元序列1802中的每一碼元提供糾錯(cuò)塊,并且可針對每一碼元并發(fā)地生成和解碼諸置換集合,其中每一置換集合包括碼元序列1802中單個(gè)碼元的修改。每一糾錯(cuò)塊可包括加法器集合1806、解碼器集合1808、以及多比特比較器1810。在這些實(shí)現(xiàn)中,在糾錯(cuò)塊提供來自該糾錯(cuò)塊中的比較器1810之一的匹配信號時(shí),糾錯(cuò)完成,并且該碼元置換和/或?qū)?yīng)的數(shù)據(jù)字可被提供作為糾錯(cuò)電路的輸出。在其他實(shí)現(xiàn)中,糾錯(cuò)電路可以使用狀態(tài)機(jī)、定序邏輯、和/或一個(gè)或多個(gè)處理電路來在多次迭代中執(zhí)行糾錯(cuò)。在這些實(shí)現(xiàn)中的一些中,多達(dá)m個(gè)糾錯(cuò)循環(huán)可被執(zhí)行以輪流測試對每一碼元(s0,s1,…si,…sm)的置換的效應(yīng)。在第一糾錯(cuò)循環(huán)中,與碼元序列1802中的第一碼元(s0)相關(guān)的r個(gè)置換被解碼以確定是否可解碼出預(yù)期edc值。在第二糾錯(cuò)循環(huán)中,與碼元序列1802中的第一碼元(s1)相關(guān)的r個(gè)置換被解碼以確定是否可解碼出預(yù)期edc值。這一過程可以繼續(xù),直至發(fā)現(xiàn)在解碼時(shí)與預(yù)期edc值1818相匹配的置換。在獲得了edc匹配時(shí),糾錯(cuò)過程可以終止。根據(jù)某些方面的糾錯(cuò)技術(shù)的示例可通過共享用于生成和解碼各碼元置換的組件來減少用于實(shí)現(xiàn)糾錯(cuò)電路的硬件。例如,可以用預(yù)加載有接收到的碼元序列1802中的si的值的模(r)計(jì)數(shù)器來替換加法器集合1806。對于r次迭代中的每一迭代,計(jì)數(shù)器可被遞增且其輸出可被提供給解碼器作為接收到的碼元序列1802中的si的值的替代。解碼器所產(chǎn)生的edc可以與預(yù)期edc值1818相比較。在一些示例中,可為碼元序列1802中的每一碼元提供計(jì)數(shù)器和解碼器,使得在檢錯(cuò)過程的每一循環(huán)中生成并解碼m個(gè)置換,這可延及r個(gè)循環(huán)。在其他示例中,可使用單個(gè)計(jì)數(shù)器并且最大數(shù)目的檢錯(cuò)循環(huán)可被計(jì)算為m(r-1)個(gè)循環(huán)。各種硬件組合可被采用以根據(jù)本文公開的某些方面來糾錯(cuò)。在一個(gè)硬件密集示例中,計(jì)數(shù)器、加法器以及解碼器可被提供以使得每一可能的碼元置換可被并發(fā)地測試。在后一示例中,糾錯(cuò)電路能以低等待時(shí)間來操作。在另一示例中,可使用單個(gè)解碼器來順序地測試每一置換,使得糾錯(cuò)可能需要大量時(shí)間來完成糾錯(cuò)過程。根據(jù)某些方面,可基于應(yīng)用要求作出硬件與糾錯(cuò)過程時(shí)間之間的折衷。在一些實(shí)例中,置換生成、解碼和/或糾錯(cuò)決策可被實(shí)現(xiàn)在由軟件指令控制的定序器和/或處理設(shè)備中。圖19是解說根據(jù)本文公開的某些方面的可被用來糾正碼元差錯(cuò)的解碼器的配置的第一示例的示圖1900。在這一示例中,可使用定序邏輯、狀態(tài)機(jī)或控制器來在多次迭代中執(zhí)行糾錯(cuò),其中在每一迭代中,通過修改單個(gè)碼元所創(chuàng)建的諸置換可被測試。在該示例中,數(shù)據(jù)字可被編碼在包括10個(gè)碼元{s0,s1,…s9}的碼元序列中,并且每一碼元可具有4個(gè)值之一。在已確定接收到的碼元序列1902中存在碼元差錯(cuò)時(shí),可針對多次測試迭代中的每一迭代來并發(fā)地生成碼元序列1902的三個(gè)置換1904、1906、1908。在測試迭代中生成的每一置換1904、1906、1908中,只改變碼元序列1902中的一個(gè)碼元位置(目標(biāo)碼元1910)。在該示例,第一迭代正在進(jìn)行中,并且在三個(gè)置換1904、1906、1908中只改變了碼元序列1902中的s0。在一個(gè)示例中,s0的值可通過簡單的模3加法來修改。隨后可使用包括3個(gè)解碼器和比較器的解碼器電路和/或邏輯1912來測試這三個(gè)置換1904、1906、1908,使得針對所有三個(gè)置換1904、1906、1908生成的edc可與預(yù)期edc值1914相比較。如果糾正未完成,則針對下一碼元(在此是s1)執(zhí)行另一迭代,直至所有10個(gè)碼元已被測試。這一辦法使用最多10次測試迭代和3條解碼器路徑。圖20是解說根據(jù)本文公開的某些方面的可被用來糾正碼元差錯(cuò)的解碼器的配置的第二示例的示圖2000。在這一示例中,可使用定序邏輯、狀態(tài)機(jī)或其他控制器來在多次迭代中執(zhí)行糾錯(cuò),其中在每一迭代中,在每迭代生成的置換集合2004之一中修改碼元序列2002中的每一碼元。在該示例中,數(shù)據(jù)字可被編碼在包括10個(gè)碼元{s0,s1,…s9}的碼元序列中,并且每一碼元可具有4個(gè)值之一。在已確定接收到的碼元序列2002中存在碼元差錯(cuò)時(shí),可針對多次測試迭代中的每一迭代來并發(fā)地生成碼元序列2002的10個(gè)置換2004。在每測試迭代生成的10個(gè)置換2004中的每一者中,碼元序列2002中的諸碼元位置(s0,s1,…s9}中不同的一個(gè)碼元位置被改變。在該示例中,第一迭代正在進(jìn)行中且10個(gè)置換2004中的每一者中的單個(gè)碼元與碼元序列2002中的對應(yīng)碼元相差值1。通過使用模3加法來改變碼元以執(zhí)行sj+1,其中sj表示碼元序列2002中對應(yīng)碼元的值。隨后可使用包括10個(gè)解碼器和比較器的解碼器電路和/或邏輯2006來測試10個(gè)置換2004,使得為所有10個(gè)置換2004生成的edc可與預(yù)期edc值2008相比較。如果糾正未完成,則使用下一碼元值增量(sj+2,隨后sj+3)來執(zhí)行另一迭代,直至碼元序列2002中的所有碼元的所有3個(gè)可能值已被測試。這一辦法使用最多3次測試迭代和10條解碼器路徑。圖21是解說根據(jù)本文公開的某些方面的可被用來降低解碼開銷的用于糾正碼元差錯(cuò)的解碼器的某些方面的示圖2100。所解說的示例基于圖19中解說的解碼器的配置,其中數(shù)據(jù)字可被編碼在包括10個(gè)碼元{s0,s1,…s9}的碼元序列中,并且每一碼元可具有4個(gè)值之一,并且其中解碼器電路和/或邏輯1912包括3個(gè)解碼器和比較器,使得針對所有三個(gè)置換1904、1906、1908生成的edc可以與預(yù)期edc值1914相比較??赏ㄟ^考慮改變接收到的碼元序列2102中的碼元的效應(yīng)來降低處理開銷以及解碼器數(shù)目。在這一示例中,糾錯(cuò)是在第五迭代中,且在每一置換中修改了s4。碼元的4個(gè)可能狀態(tài)可被表示為{a,b,c,d},其中b=a+1、c=b+1、d=c+1以及a=d+1。在接收到的碼元序列2102中,s3=a且s4=b??梢钥吹剑谌脫Q2108改變了s4的值,使得s4=s3=a。在轉(zhuǎn)變編碼方案中,連貫地傳送的各對碼元不能具有相同值。在一些實(shí)施例中,糾錯(cuò)電路和模塊可被適配成識別引入錯(cuò)誤狀況(在一對連貫碼元2112相同時(shí))的置換2108,并且這樣的置換2108不必被測試。在一些實(shí)例中,置換2104、2106、2108可被動態(tài)地指派到解碼器電路和/或邏輯1912中提供減少數(shù)目的解碼器和比較器從而反映由于創(chuàng)建無效連貫碼元對2112而消除至少一個(gè)置換2108的能力的解碼路徑。圖18-21中解說的示例可被伸縮。例如,在圖19中,解碼器電路和/或邏輯1912可被適配成包括更大數(shù)目的解碼器和比較器,使得與碼元序列1902中的兩個(gè)或更多個(gè)碼元相對應(yīng)的諸置換集合可被并發(fā)地測試(即,每一迭代可測試6個(gè)、9個(gè)、12個(gè)等置換)。在另一示例中,圖20的解碼器電路和/或邏輯2006可被適配成包括更少解碼器和比較器,使得使用增加數(shù)目的迭代來測試碼元序列1902的所有置換。處理電路的示例圖22是解說采用可被配置成執(zhí)行本文所公開的一個(gè)或多個(gè)功能的處理電路2202的裝置的硬件實(shí)現(xiàn)的簡化示例的概念圖2200。根據(jù)本公開的各種方面,本文所公開的元素、或元素的任何部分、或者元素的任何組合可使用處理電路2202來實(shí)現(xiàn)。處理電路2202可包括一個(gè)或多個(gè)處理器2204,其由硬件和軟件模塊的某種組合來控制。處理器2204的示例包括:微處理器、微控制器、數(shù)字信號處理器(dsp)、現(xiàn)場可編程門陣列(fpga)、可編程邏輯設(shè)備(pld)、狀態(tài)機(jī)、定序器、門控邏輯、分立的硬件電路、以及其他配置成執(zhí)行本公開中通篇描述的各種功能性的合適硬件。該一個(gè)或多個(gè)處理器2204可包括執(zhí)行特定功能并且可由軟件模塊2216之一來配置、增強(qiáng)或控制的專用處理器。該一個(gè)或多個(gè)處理器2204可通過在初始化期間加載的軟件模塊2216的組合來配置,并且通過在操作期間加載或卸載一個(gè)或多個(gè)軟件模塊2216來進(jìn)一步配置。在所解說的示例中,處理電路2202可使用由總線2210一般化地表示的總線架構(gòu)來實(shí)現(xiàn)。取決于處理電路2202的具體應(yīng)用和整體設(shè)計(jì)約束,總線2210可包括任何數(shù)目的互連總線和橋接器??偩€2210將各種電路鏈接在一起,包括一個(gè)或多個(gè)處理器2204、和存儲2206。存儲2206可包括存儲器設(shè)備和大容量存儲設(shè)備,并且在本文可被稱為計(jì)算機(jī)可讀介質(zhì)和/或處理器可讀介質(zhì)??偩€2210還可鏈接各種其他電路,諸如定時(shí)源、定時(shí)器、外圍設(shè)備、穩(wěn)壓器、和功率管理電路。總線接口2208可提供總線2210與一個(gè)或多個(gè)收發(fā)機(jī)2212之間的接口??舍槍μ幚黼娐匪С值拿糠N聯(lián)網(wǎng)技術(shù)來提供收發(fā)機(jī)2212。在一些實(shí)例中,多種聯(lián)網(wǎng)技術(shù)可共享收發(fā)機(jī)2212中找到的電路系統(tǒng)或處理模塊中的一些或全部。每個(gè)收發(fā)機(jī)2212提供用于通過傳輸介質(zhì)與各種其他裝置通信的手段。取決于該裝置的本質(zhì),用戶接口2218(例如,按鍵板、顯示器、觸摸接口、揚(yáng)聲器、話筒、操縱桿)也可被提供,并且可直接或通過總線接口2208通信地耦合至總線2210。處理器2204可負(fù)責(zé)管理總線2210和一般處理,包括對存儲在計(jì)算機(jī)可讀介質(zhì)(其可包括存儲2206)中的軟件的執(zhí)行。在這一方面,處理電路2202(包括處理器2204)可被用來實(shí)現(xiàn)本文所公開的方法、功能和技術(shù)中的任一種。存儲2206可被用于存儲處理器2204在執(zhí)行軟件時(shí)操縱的數(shù)據(jù),并且該軟件可被配置成實(shí)現(xiàn)本文所公開的方法中的任一種。處理電路2202中的一個(gè)或多個(gè)處理器2204可執(zhí)行軟件。軟件應(yīng)當(dāng)被寬泛地解釋成意為指令、指令集、代碼、代碼段、程序代碼、程序、子程序、軟件模塊、應(yīng)用、軟件應(yīng)用、軟件包、例程、子例程、對象、可執(zhí)行件、執(zhí)行的線程、規(guī)程、函數(shù)、算法等,無論其是用軟件、固件、中間件、微代碼、硬件描述語言、還是其他術(shù)語來述及皆是如此。軟件可按計(jì)算機(jī)可讀形式駐留在存儲2206中或駐留在外部計(jì)算機(jī)可讀介質(zhì)中。外部計(jì)算機(jī)可讀介質(zhì)和/或存儲2206可包括非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)。作為示例,非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)包括:磁存儲設(shè)備(例如,硬盤、軟盤、磁條)、光盤(例如,壓縮碟(cd)或數(shù)字多功能碟(dvd))、智能卡、閃存設(shè)備(例如,“閃存驅(qū)動器”、卡、棒、或鑰匙驅(qū)動器)、隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、可編程rom(prom)、可擦式prom(eprom)、電可擦式prom(eeprom)、寄存器、可移動盤、以及任何其他用于存儲可由計(jì)算機(jī)訪問和讀取的軟件和/或指令的合適介質(zhì)。作為示例,計(jì)算機(jī)可讀介質(zhì)和/或存儲2206還可包括載波、傳輸線、和任何其他用于傳送可由計(jì)算機(jī)訪問和讀取的軟件和/或指令的合適介質(zhì)。計(jì)算機(jī)可讀介質(zhì)和/或存儲2206可駐留在處理電路2202中、處理器2204中、在處理電路2202外部、或跨包括該處理電路2202在內(nèi)的多個(gè)實(shí)體分布。計(jì)算機(jī)可讀介質(zhì)和/或存儲2206可實(shí)施在計(jì)算機(jī)程序產(chǎn)品中。作為示例,計(jì)算機(jī)程序產(chǎn)品可包括封裝材料中的計(jì)算機(jī)可讀介質(zhì)。本領(lǐng)域技術(shù)人員將認(rèn)識到如何取決于具體應(yīng)用和加諸于整體系統(tǒng)上的總體設(shè)計(jì)約束來最佳地實(shí)現(xiàn)本公開中通篇給出的所描述的功能性。存儲2206可維持以可加載代碼段、模塊、應(yīng)用、程序等來維持和/或組織的軟件,其在本文中可被稱為軟件模塊2216。軟件模塊2216中的每一者可包括在安裝或加載到處理電路2202上并由一個(gè)或多個(gè)處理器2204執(zhí)行時(shí)有助于運(yùn)行時(shí)映像2214的指令和數(shù)據(jù),運(yùn)行時(shí)映像2214控制一個(gè)或多個(gè)處理器2204的操作。在被執(zhí)行時(shí),某些指令可使得處理電路2202執(zhí)行根據(jù)本文所描述的某些方法、算法和過程的功能。軟件模塊2216中的一些可在處理電路2202初始化期間被加載,并且這些軟件模塊2216可配置處理電路2202以實(shí)現(xiàn)本文所公開的各種功能的執(zhí)行。例如,一些軟件模塊2216可配置處理器2204的內(nèi)部設(shè)備和/或邏輯電路2222,并且可管理對外部設(shè)備(諸如,收發(fā)機(jī)2212、總線接口2208、用戶接口2218、定時(shí)器、數(shù)學(xué)協(xié)處理器等)的訪問。軟件模塊2216可包括控制程序和/或操作系統(tǒng),其與中斷處理程序和設(shè)備驅(qū)動器交互并且控制對由處理電路2202提供的各種資源的訪問。這些資源可包括存儲器、處理時(shí)間、對收發(fā)機(jī)2212的訪問、用戶接口2218等。處理電路2202的一個(gè)或多個(gè)處理器2204可以是多功能的,由此軟件模塊2216中的一些被加載和配置成執(zhí)行不同功能或相同功能的不同實(shí)例。這一個(gè)或多個(gè)處理器2204可附加地被適配成管理響應(yīng)于來自例如用戶接口2218、收發(fā)機(jī)2212和設(shè)備驅(qū)動器的輸入而發(fā)起的后臺任務(wù)。為了支持多個(gè)功能的執(zhí)行,這一個(gè)或多個(gè)處理器2204可被配置成提供多任務(wù)環(huán)境,由此多個(gè)功能中的每個(gè)功能按需或按期望實(shí)現(xiàn)為由一個(gè)或多個(gè)處理器2204服務(wù)的任務(wù)集。在一個(gè)示例中,多任務(wù)環(huán)境可使用分時(shí)程序2220來實(shí)現(xiàn),分時(shí)程序2220在不同任務(wù)之間傳遞對處理器2204的控制權(quán),由此每個(gè)任務(wù)在完成任何未決操作之際和/或響應(yīng)于輸入(諸如中斷)而將對一個(gè)或多個(gè)處理器2204的控制權(quán)返回給分時(shí)程序2220。當(dāng)任務(wù)具有對一個(gè)或多個(gè)處理器2204的控制權(quán)時(shí),處理電路有效地專用于由與控制方任務(wù)相關(guān)聯(lián)的功能所針對的目的。分時(shí)程序2220可包括操作系統(tǒng)、在循環(huán)基礎(chǔ)上轉(zhuǎn)移控制權(quán)的主循環(huán)、根據(jù)各功能的優(yōu)先級化來分配對一個(gè)或多個(gè)處理器2204的控制權(quán)的功能、和/或通過將對一個(gè)或多個(gè)處理器2204的控制權(quán)提供給處置功能來對外部事件作出響應(yīng)的中斷驅(qū)動式主循環(huán)。圖23和24是解說可被合作地使用以在接收機(jī)處接收并糾正多線接口中的傳輸差錯(cuò)的方法的流程圖2300和2400。在第一流程圖2300(參見圖23)中,在框2302,接收機(jī)可以接收表示多個(gè)連接器的信令狀態(tài)的碼元序列。在框2304,接收機(jī)可以解碼該碼元序列。碼元解碼的示例由第二流程圖2400(參見圖24)來解說。在框2304,接收機(jī)可以基于接收到的多個(gè)比特中的edc的值來確定碼元序列中是否存在碼元差錯(cuò)。如果沒有檢測到差錯(cuò),則在框2308,接收機(jī)可前進(jìn)至框2310并跳過檢錯(cuò)。如果檢測到差錯(cuò),則在框2308,接收機(jī)可通過在框2312繼續(xù)來發(fā)起檢錯(cuò)。在框2312,接收機(jī)可生成該碼元序列的一個(gè)或多個(gè)置換。每一置換可包括與該碼元序列中的對應(yīng)碼元不同且與其他置換中的對應(yīng)碼元不同的一個(gè)碼元。接收機(jī)可針對該碼元序列中的一個(gè)碼元的每一可能值來生成置換。在一個(gè)示例中,接收機(jī)可針對該碼元序列中的一個(gè)碼元的值的每一可能變化來生成置換。在另一示例中,接收機(jī)可以生成與該碼元序列中的每一碼元相對應(yīng)的置換,其中在每一置換中將碼元修改相同的值。在框2314,接收機(jī)可解碼該一個(gè)或多個(gè)置換。碼元解碼的示例由第二流程圖2400(參見圖24)來解說。接收機(jī)可抑制解碼包括具有相同值的兩個(gè)連貫碼元的置換。在框2316,接收機(jī)可標(biāo)識產(chǎn)生與預(yù)期edc值相匹配的經(jīng)解碼edc值的置換。預(yù)期edc值可對應(yīng)于在多線接口上傳送以使得能夠在接收機(jī)處檢測多達(dá)兩個(gè)碼元差錯(cuò)的edc的預(yù)定義值。信令差錯(cuò)可以使得edc的經(jīng)解碼版本具有與預(yù)定義值不同的值。在第一示例中,在確定碼元序列中存在碼元差錯(cuò)之后,接收機(jī)可并發(fā)地生成該碼元序列的置換集合,其中該置換集合的所有成員包括該碼元序列中的一個(gè)碼元的經(jīng)修改版本。即,可使用置換集合來測試該碼元序列中的一個(gè)目標(biāo)碼元,其中逐個(gè)置換只修改了該目標(biāo)碼元。接收機(jī)可以并發(fā)地解碼該置換集合的所有成員。如果沒有解碼出正確的edc,則選擇下一目標(biāo)碼元并且生成置換集合以包括該下一碼元的不同值。這一過程被重復(fù),直至該碼元序列中的所有碼元已被測試。在第二示例中,在確定碼元序列中存在碼元差錯(cuò)之后,接收機(jī)可并發(fā)地生成和解碼該碼元序列的所有可能置換,其中每一置換只包括相對于初始碼元序列被修改的一個(gè)碼元并且每一置換不同于所有其他置換。接收機(jī)可并發(fā)地將從該碼元序列的每一可能置換解碼出的edc值與預(yù)期edc值相比較。在這一示例中,可需要最大數(shù)目的解碼器。在這一示例中,糾錯(cuò)可以在最小化延遲的情況下執(zhí)行。在第三示例中,在確定碼元序列中存在碼元差錯(cuò)之后,接收機(jī)可生成該碼元序列的置換集合,其中該置換集合的成員包括該碼元序列中的不同碼元的經(jīng)修改版本。即,第一置換集合中的每一置換例如包括被修改了固定值x(使用模(r)加法)的一個(gè)碼元,第二置換集合中的每一置換包括被修改了固定值x+1的一個(gè)碼元,以此類推。每一置換集合可在生成下一置換集合之前被測試。接收機(jī)可以并發(fā)地解碼該置換集合的所有成員。在一些實(shí)例中,在多線接口上傳送的edc的預(yù)定義值具有基于為對多個(gè)連接器上的數(shù)據(jù)傳輸進(jìn)行編碼所定義的每碼元狀態(tài)總數(shù)來確定的固定長度。edc可被提供作為多個(gè)比特中的預(yù)定義數(shù)目的最低有效位。在多線接口上傳送的edc的預(yù)定義值可基于用來編碼該多個(gè)比特的碼元總數(shù)來確定。時(shí)鐘可被嵌入在碼元序列中的諸碼元之間的轉(zhuǎn)變中。多個(gè)連接器可具有數(shù)個(gè)(n個(gè))單端連接器。在一個(gè)示例中,可供用于對數(shù)據(jù)傳輸進(jìn)行編碼的每碼元狀態(tài)總數(shù)是2n-x,其中x是大于零的整數(shù)。在另一示例中,可供用于對數(shù)據(jù)傳輸進(jìn)行編碼的每碼元狀態(tài)總數(shù)是n!-x,其中x是大于零的整數(shù)。第二流程圖2400(參見圖24)解說了用于解碼諸碼元的方法的示例。在框2404,接收機(jī)可將碼元序列轉(zhuǎn)換成轉(zhuǎn)變數(shù)。轉(zhuǎn)變數(shù)的每一數(shù)位可表示在多個(gè)連接器上傳送的兩個(gè)連貫碼元之間的轉(zhuǎn)變。在框2406,接收機(jī)可將轉(zhuǎn)變數(shù)轉(zhuǎn)換成接收到的多個(gè)比特。圖25是解說采用處理電路2502的裝置2500的硬件實(shí)現(xiàn)的示例的概念圖。在該示例中,處理電路2502可被實(shí)現(xiàn)成具有由總線2516一般化地表示的總線架構(gòu)。取決于處理電路2502的具體應(yīng)用和整體設(shè)計(jì)約束,總線2516可包括任何數(shù)目的互連總線和橋接器??偩€2516將包括一個(gè)或多個(gè)處理器(由處理器2512一般化地表示)和計(jì)算機(jī)可讀介質(zhì)(由處理器可讀存儲介質(zhì)2514一般化地表示)的各種電路鏈接在一起??偩€2516還可鏈接各種其他電路,諸如定時(shí)源、定時(shí)器、外圍設(shè)備、穩(wěn)壓器、和功率管理電路。收發(fā)機(jī)或通信接口2518提供用于通過多線接口2520與各種其他裝置通信的手段。取決于該裝置的本質(zhì),也可提供用戶接口(例如,按鍵板、顯示器、揚(yáng)聲器、話筒、操縱桿)。一個(gè)或多個(gè)時(shí)鐘生成電路可以設(shè)在處理電路2502內(nèi)或者由處理電路2502和/或一個(gè)或多個(gè)處理器2512控制。在一個(gè)示例中,時(shí)鐘生成電路可包括一個(gè)或多個(gè)晶體振蕩器、一個(gè)或多個(gè)鎖相環(huán)設(shè)備和/或一個(gè)或多個(gè)可配置的時(shí)鐘樹。處理器2512負(fù)責(zé)管理總線2516和一般處理,包括對存儲在處理器可讀存儲介質(zhì)2514上的軟件的執(zhí)行。該軟件可包括代碼和/或指令,該代碼和/或指令在由處理器2512執(zhí)行時(shí)使處理電路2502執(zhí)行上文針對任何特定裝置描述的各種功能。處理器可讀存儲介質(zhì)2514可被用于存儲由處理器2512在執(zhí)行軟件時(shí)操縱的數(shù)據(jù)。在一種配置中,處理電路可包括被配置成用于接收表示多線接口2520的多個(gè)連接器的信令狀態(tài)的碼元序列的一個(gè)或多個(gè)模塊和/或電路2504以及被配置成用于解碼該碼元序列的一個(gè)或多個(gè)解碼模塊和/或電路2506。例如,解碼模塊和/或電路2506可被配置成:將該碼元序列轉(zhuǎn)換成轉(zhuǎn)變數(shù),其中該轉(zhuǎn)變數(shù)的每一數(shù)位表示在該多個(gè)連接器上傳送的兩個(gè)連貫碼元之間的轉(zhuǎn)變;以及將轉(zhuǎn)變數(shù)轉(zhuǎn)換成接收到的多個(gè)比特。處理電路可包括被配置用于的一個(gè)或多個(gè)模塊和/或電路2504。處理電路可包括被配置成用于基于接收到的多個(gè)比特中的edc的值來確定該碼元序列中是否存在碼元差錯(cuò)的一個(gè)或多個(gè)檢錯(cuò)模塊和/或電路2508。處理電路可包括被配置用于糾正碼元差錯(cuò)的一個(gè)或多個(gè)糾錯(cuò)模塊和/或電路2510。在一個(gè)示例中,在確定該碼元序列中存在碼元差錯(cuò)時(shí),糾錯(cuò)模塊和/或電路2510可被啟用。糾錯(cuò)模塊和/或電路2510可被配置成:生成該碼元序列的一個(gè)或多個(gè)置換,其中每一置換包括與該碼元序列中的對應(yīng)碼元不同且與其他置換中的對應(yīng)碼元不同的一個(gè)碼元;解碼該一個(gè)或多個(gè)置換;以及標(biāo)識產(chǎn)生與預(yù)期edc值相匹配的經(jīng)解碼edc值的置換。預(yù)期edc值可對應(yīng)于在多線接口上傳送以使得能夠在接收機(jī)處檢測多達(dá)兩個(gè)碼元差錯(cuò)的edc的預(yù)定義值。本領(lǐng)域技術(shù)人員將領(lǐng)會,結(jié)合本文中公開的實(shí)施例描述的各種解說性邏輯塊、模塊、電路、和算法步驟可被實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為清楚地解說硬件與軟件的這一可互換性,各種解說性組件、塊、模塊、電路、以及步驟在上面是以其功能性的形式作一般化描述的。此類功能性是被實(shí)現(xiàn)為硬件還是軟件取決于具體應(yīng)用和施加于整體系統(tǒng)的設(shè)計(jì)約束。本文所述的本發(fā)明的各種特征可實(shí)現(xiàn)在不同系統(tǒng)中而不脫離本發(fā)明。應(yīng)注意,以上實(shí)施例僅是示例,且不應(yīng)被解釋成限定本發(fā)明。這些實(shí)施例的描述旨在是說明性的,而并非旨在限定權(quán)利要求的范圍。由此,本發(fā)明的教導(dǎo)可以現(xiàn)成地應(yīng)用于其他類型的裝置,并且許多替換、修改和變形對于本領(lǐng)域技術(shù)人員將是顯而易見的。當(dāng)前第1頁12