驟320,時(shí)鐘樣本生成器40輸出提供從時(shí)鐘樣本的同步響應(yīng)傳送,其通過(guò)接口被發(fā)送以用于由主設(shè)備內(nèi)的從時(shí)鐘副本生成器15接收。
[0088]在步驟325,從時(shí)鐘副本生成器15確定同步響應(yīng)傳送內(nèi)包含的從時(shí)鐘樣本,然后在步驟330基于讀取的從時(shí)鐘樣本至少更新從時(shí)鐘副本的頻率。此后,處理返回至步驟300。
[0089]圖6是示出了圖4的裝置如何使用修改命令和同步序列的組合來(lái)修改從時(shí)鐘的頻率的流程圖。在步驟200,確定觸發(fā)條件是否已經(jīng)被檢測(cè)到,此觸發(fā)條件是前文在描述圖2時(shí)針對(duì)步驟200討論的觸發(fā)條件中任何一個(gè)。如果觸發(fā)條件未被檢測(cè)到,那么在步驟350,處理前進(jìn)至圖2的步驟205,此后如果適當(dāng)?shù)脑?huà)執(zhí)行圖2的步驟225至240。更多的細(xì)節(jié),讀者可參考前文對(duì)于圖2的描述。
[0090]如果在步驟200檢測(cè)到觸發(fā)條件,則在步驟355確定觸發(fā)是否是高度重要的觸發(fā)條件,即影響了接口用于主設(shè)備和從設(shè)備之間的正確通信的能力的觸發(fā)條件。重要觸發(fā)條件的示例可以是:當(dāng)系統(tǒng)首次啟動(dòng)時(shí),或者當(dāng)誤碼率由于用于接口上通信的頻率而超出指示接口上的通信的潛在故障的某一預(yù)定高程度時(shí)。在這樣的高度重要的觸發(fā)條件的情形中,處理前進(jìn)至步驟360,其中圖2的步驟210到220被執(zhí)行。然而,當(dāng)這些步驟是與圖4的裝置相關(guān)聯(lián)地被執(zhí)行時(shí),那么如前所述,在由同步檢測(cè)器37檢測(cè)到同步序列時(shí),控制寄存器的值被更新以便使得:在從時(shí)鐘樣本由時(shí)鐘樣本生成器40輸出回至主設(shè)備前,由時(shí)鐘分頻器輸出的時(shí)鐘頻率被降低。這因而使得裝置能夠從先前設(shè)置的用于從時(shí)鐘信號(hào)的、并因而用于接口上的通信的頻率導(dǎo)致接口上的通信故障的情形中恢復(fù)。
[0091]假設(shè)步驟200處存在觸發(fā)條件,但在步驟355處此觸發(fā)條件不被視為高度重要的觸發(fā)條件,那么確定所需要的一切是同步響應(yīng)傳送以便更新頻率估計(jì),但不需要改變時(shí)鐘頻率。由于如先前所述,由同步生成器發(fā)出同步序列將使得時(shí)鐘頻率被降低,那么該機(jī)制不能夠被用于這一目的。替代地,如圖6的步驟365所述,鏈路管理單元20使得主發(fā)送/接收控制器10發(fā)出寫(xiě)入交易以更新時(shí)鐘分頻器控制寄存器82。然而,在此實(shí)例中,寄存器被更新以與當(dāng)前值相同的值。這仍然觸發(fā)使得時(shí)鐘樣本生成器40生成同步響應(yīng)傳送的寫(xiě)事件,但在此實(shí)例中,來(lái)自時(shí)鐘分頻器的輸出未被改變,因而時(shí)鐘樣本生成器僅僅產(chǎn)生當(dāng)前時(shí)鐘頻率的樣本。由從設(shè)備返回的此從時(shí)鐘樣本在步驟370被從時(shí)鐘副本生成器15讀取,此后在步驟375至少?gòu)臅r(shí)鐘副本的頻率被更新。此后,處理返回至步驟200。
[0092]由時(shí)鐘樣本生成器40發(fā)出的同步響應(yīng)傳送能夠采用多種形式,并且兩個(gè)示例格式被示出在圖7中。如圖所示,針對(duì)第一示例格式,如果從時(shí)鐘具有形式400,那么時(shí)鐘樣本生成器40被布置為生成第一脈沖405,并且然后在預(yù)定數(shù)目的從時(shí)鐘周期逝去之后,被布置為生成另一脈沖410。從時(shí)鐘副本生成器15內(nèi)的頻率估計(jì)器55檢測(cè)這兩個(gè)脈沖的存在,并且基于這兩個(gè)脈沖之間已經(jīng)逝去的從時(shí)鐘周期的預(yù)定數(shù)目的知識(shí),因此能夠計(jì)算當(dāng)前頻率估計(jì)。
[0093]還如圖7中所示,另一方式使得上升沿變換415發(fā)生在第一從時(shí)鐘周期的上升沿,并且然后下降沿變換420發(fā)生在第一時(shí)鐘周期之后的預(yù)定數(shù)目的時(shí)鐘周期后的后續(xù)從時(shí)鐘周期的上升沿上。再者,頻率估計(jì)器55將檢測(cè)變換415和變換420兩者,并且能夠基于那兩個(gè)邊沿之間已經(jīng)逝去的從時(shí)鐘周期的數(shù)目的知識(shí)來(lái)確定從時(shí)鐘頻率。由于時(shí)鐘樣本生成器40被要求相對(duì)不頻繁地生成同步響應(yīng)傳送,則被提供作為同步響應(yīng)傳送的訓(xùn)練序列(training sequence)可以相對(duì)較長(zhǎng)(即,許多從時(shí)鐘周期可被包括于開(kāi)始脈沖/邊沿和結(jié)束脈沖/邊沿之間),從而增加能夠由頻率估計(jì)器55確定的頻率估計(jì)的準(zhǔn)確度。
[0094]另外,通過(guò)使用諸如圖7中所示的那些格式之類(lèi)的訓(xùn)練序列,而非僅僅輸出從時(shí)鐘信號(hào),這使得需要由頻率估計(jì)器檢測(cè)的邊沿的數(shù)目顯著減少,這進(jìn)而使得在主設(shè)備內(nèi)提供的進(jìn)行頻率估計(jì)的組件的成本和復(fù)雜度顯著降低。例如,通過(guò)使用這樣少數(shù)目的邊沿,可以通過(guò)使用軟件中的過(guò)采樣技術(shù)對(duì)邊沿進(jìn)行估計(jì)來(lái)產(chǎn)生低成本/低性能的主設(shè)備??商鎿Q地,低成本/低性能的微控制器能夠使用通常在通用輸入/輸出(GP1)接口中發(fā)現(xiàn)的現(xiàn)有時(shí)間戳記硬件來(lái)準(zhǔn)確地捕獲關(guān)于從時(shí)鐘的信息而無(wú)需要求大量計(jì)算。這樣的方式被示出在圖8中,其中微控制器的CPU 450被耦合到控制寄存器460,該控制寄存器460可被設(shè)置為邏輯值零以便從引腳455發(fā)送邏輯值零,被設(shè)置為邏輯值一以便從引腳455輸出邏輯值一,或者當(dāng)主引腳455被配置為接收輸入(即,來(lái)自從設(shè)備的從傳送)時(shí),可被設(shè)置為三態(tài)值。任何這樣的輸入還可被路由至?xí)r間戳記電路465,該電路將包括邊沿時(shí)間寄存器470??紤]圖7的訓(xùn)練序列,當(dāng)?shù)谝幻}沖/邊沿被接收時(shí),邊沿時(shí)間寄存器470能夠捕獲接收此邊沿的時(shí)間,之后CPU 450能夠在結(jié)束脈沖/邊沿被接收前從邊沿時(shí)間寄存器中讀取該值。當(dāng)結(jié)束脈沖/邊沿被接收時(shí),邊沿時(shí)間寄存器470將用接收結(jié)束脈沖/邊沿的時(shí)間覆寫(xiě)它先前存儲(chǔ)的時(shí)間值,并且CPU能夠隨后將該值從邊沿時(shí)間寄存器讀出,從而被提供針對(duì)開(kāi)始脈沖/邊沿和結(jié)束脈沖/邊沿的準(zhǔn)確時(shí)序指示。此后,CPU 450能夠基于它對(duì)于發(fā)生在開(kāi)始脈沖/邊沿和結(jié)束脈沖/邊沿之間的從時(shí)鐘周期的數(shù)目的知識(shí)來(lái)推導(dǎo)出從時(shí)鐘頻率。
[0095]圖9是示出了對(duì)于通信協(xié)議的進(jìn)一步增強(qiáng)的流程圖,其中回波特性被用于使得從設(shè)備向主設(shè)備發(fā)送回它自主設(shè)備采樣來(lái)的比特模式的副本。這允許主設(shè)備看到被從設(shè)備的內(nèi)部時(shí)鐘采樣的數(shù)據(jù),該數(shù)據(jù)包括通過(guò)在錯(cuò)誤的地方對(duì)數(shù)據(jù)進(jìn)行采樣所引入的任何錯(cuò)誤。與不然僅依靠由從設(shè)備發(fā)送回的時(shí)鐘的樣本的相位評(píng)估可能得到的結(jié)果相比,通過(guò)查看生成錯(cuò)誤處的時(shí)鐘相位,主設(shè)備能夠獲得對(duì)于從設(shè)備的內(nèi)部時(shí)鐘的相位的更準(zhǔn)確估計(jì)。這是由于以下事實(shí):自從設(shè)備發(fā)送的時(shí)鐘樣本被從設(shè)備的輸出焊盤(pán)、互連主設(shè)備和從設(shè)備的線(xiàn)路、以及主設(shè)備中的輸入焊盤(pán)所延遲。在一些實(shí)施例中,例如其中相對(duì)低的時(shí)鐘頻率被用于接口上并且延遲相對(duì)較小的場(chǎng)合,這樣的延遲不會(huì)導(dǎo)致任何操作問(wèn)題。另外,在一些實(shí)施例中,延遲可被預(yù)先確定并且被用于提供由相位估計(jì)器60在計(jì)算從時(shí)鐘副本的相位時(shí)所使用的偏移。然而,在延遲較顯著和/或可隨時(shí)間變化的其他實(shí)例中,圖9的處理可被用于使得從時(shí)鐘副本生成器15能夠確定合適的偏移。
[0096]在步驟500,確定回波觸發(fā)條件是否已經(jīng)被檢測(cè)到。該觸發(fā)條件可采用各種形式,例如當(dāng)系統(tǒng)被首次啟動(dòng)時(shí),或者當(dāng)BER超出預(yù)定值時(shí),可檢測(cè)到觸發(fā)。作為另一示例,回波觸發(fā)條件可在系統(tǒng)空閑的時(shí)段出現(xiàn),以使得接口的可用帶寬可被用于在不影響性能的情況下更新相位偏移。
[0097]如果檢測(cè)到回波觸發(fā)條件,則鏈路管理單元20使得主發(fā)送/接收控制器10在步驟505生成包含比特序列的主傳送,該比特序列然后經(jīng)由接口被發(fā)送至從設(shè)備。這使得從發(fā)送/接收控制器35對(duì)此比特序列進(jìn)行采樣,并且然后經(jīng)由接口向主發(fā)送/接收控制器10返回經(jīng)采樣的比特序列。該處理在一些實(shí)施例中可通過(guò)單次交易來(lái)實(shí)現(xiàn),但在替換性實(shí)施例中可使用一對(duì)交易,一次交易將比特序列寫(xiě)入到從設(shè)備的預(yù)定寄存器中,另一次交易然后自從設(shè)備的寄存器中讀回該比特序列。
[0098]在任何情況下,當(dāng)返回的比特序列在步驟510被主發(fā)送/接收控制器10讀取時(shí),隨后在步驟515確定比特序列是否匹配。如果匹配,則在步驟520增加從時(shí)鐘副本的相位,并且處理返回至步驟505。
[0099]如果在經(jīng)過(guò)步驟505、510和515的第一次迭代時(shí),比特序列不匹配,則在一個(gè)實(shí)施例中該不匹配在多次迭代中被忽略直至第一次匹配被檢測(cè)到,并且處理進(jìn)行到步驟520 (其中從時(shí)鐘副本的相位被增加)。具體地,期望捕獲從比特序列匹配的情形到它們不再匹配的情形的轉(zhuǎn)變。
[0100]因此,在步驟505和步驟520之間的環(huán)路的迭代期間的某一點(diǎn)處,將檢測(cè)到比特序列不再匹配的情形,并且在此點(diǎn)處,處理進(jìn)行至步驟525,其中導(dǎo)致誤差的當(dāng)前相位(此后被稱(chēng)作“相位I”)被記錄。此后,在步驟530處,執(zhí)行從時(shí)鐘副本的相位的初次減少。此時(shí),相位僅能被調(diào)整回在步驟505生成第一個(gè)比特序列的初始相位。可替換地,在步驟530相位可僅僅從它的導(dǎo)致錯(cuò)誤的當(dāng)前值被減少某一預(yù)定量。
[0101]此后,在步驟530,比特序列被生成并且被發(fā)送至從設(shè)備,之后在步驟540,返回的、從設(shè)備采樣到的比特序列然后被主設(shè)備讀取。在步驟545,確定比特序列是否匹配。如步驟515那樣,如果比特序列在經(jīng)過(guò)步驟545的第一次迭代后不匹配,則該不匹配在一些實(shí)施例中可以被忽略。
[0102]如果比特序列匹配,則從時(shí)鐘副本的相位在步驟550被減少,并且處理返回至步驟535。在步驟535到550的迭代期間的某一點(diǎn)處,步驟545處的比特序列將不再匹配,此時(shí)處理進(jìn)行至步驟555,其中導(dǎo)致錯(cuò)誤的當(dāng)前相位(此后被稱(chēng)作“相位2”)被記錄。
[0103]此時(shí),主設(shè)備然后知道相位的增加導(dǎo)致錯(cuò)誤的點(diǎn)(相位I)和相位的減少導(dǎo)致錯(cuò)誤的點(diǎn)(相位2)。因此,在步驟560,相位I和相位2的中點(diǎn)可被計(jì)算出來(lái),這可指示從時(shí)鐘信號(hào)的實(shí)際相位。此后,在步驟565,從時(shí)鐘副本生成器15計(jì)算步驟560處計(jì)算到的中點(diǎn)值與最近由相位估計(jì)器60確定的相位之間的差值作為相位偏移。此相位偏移然后可被應(yīng)用于由相位估計(jì)器60確定的任何后續(xù)相位,以便更準(zhǔn)確地表示從設(shè)備的相位,特別是抵消由信號(hào)通過(guò)接口的通信所引入的任何時(shí)間延遲。
[0104]在到現(xiàn)在為止的描述中,假設(shè)主設(shè)備與單個(gè)從設(shè)備通信。如果主設(shè)備實(shí)際上被配置為使得它能夠與多個(gè)從設(shè)備通信,那么主設(shè)備的上述配置能夠針對(duì)主設(shè)備和一個(gè)從設(shè)備之間的每個(gè)通信路徑被復(fù)制。然而,這將在某種程度上是代價(jià)較高的使用方式。作為另一替換,主設(shè)備不包括任何這樣復(fù)制的組件,而是系統(tǒng)在每當(dāng)主設(shè)備從一個(gè)從設(shè)備切換至另一從設(shè)備時(shí)被復(fù)位,使得由同步生成器發(fā)出同步序列,并且針對(duì)被切換到的從設(shè)備的從時(shí)鐘的頻率估計(jì)和相位估計(jì)被計(jì)算。然而,這樣的方法對(duì)性能有不利影響。然而,根據(jù)圖10中所示的實(shí)施例,能夠采用一種相比于這樣的復(fù)位方法提供提升性能的更高效方法。
[0105]具體地,如圖10中所示,接口提供相應(yīng)主引腳605、620、635與從設(shè)備615、630、645上提供的相關(guān)聯(lián)從引腳610、625、640之間的三個(gè)通信路徑607、622、637。在鏈路管理單元20內(nèi),存儲(chǔ)設(shè)備600被提供以用于在主設(shè)備從與當(dāng)前從設(shè)備通信切換至與不同從設(shè)備通信時(shí)保留針對(duì)當(dāng)前從設(shè)備的最新頻率估計(jì)(以及可選的最近的相位偏移(如果使用圖9的方法))的副本。當(dāng)主設(shè)備隨后切換回與該(先前是當(dāng)前)從設(shè)備通信時(shí),則可從存儲(chǔ)設(shè)備600中讀回頻率和相位偏移到從時(shí)鐘副本生成器15來(lái)提供用于主設(shè)備和該從設(shè)備通信的起始點(diǎn)。由于頻率和相位偏移信息通常將很緩慢地變化,所存儲(chǔ)的頻率和從設(shè)備偏移信息仍然能夠提供對(duì)于頻率和從設(shè)備偏移的可靠指示以便此時(shí)使用。
[0106]然而,從時(shí)鐘信號(hào)的絕對(duì)相位有可能將在中間的時(shí)間中已經(jīng)改變,相應(yīng)地從時(shí)鐘副本生成器15將不具有用于第一次傳輸?shù)倪m合相位估計(jì)。然而,相位估計(jì)能夠被任意選取,并且當(dāng)主傳送通過(guò)相關(guān)鏈路被發(fā)送至從設(shè)備時(shí),很可能從設(shè)備將不會(huì)正確地接收此主傳送,并且將發(fā)送回從傳送至主設(shè)備,該從傳送的多比特確認(rèn)信號(hào)指明主傳送未被正確地接收。然而,此多比特確認(rèn)信號(hào)中的邊沿變換可被用于產(chǎn)生對(duì)相位的修正估計(jì),之后能夠重新嘗試使用更新的從時(shí)鐘副本來(lái)進(jìn)行主傳送的傳輸。此時(shí)有很大可能主傳送將被正確