本發(fā)明涉及一種通信方式。特別是涉及一種無同步時鐘突發(fā)型串行通信采樣位置選擇方法。
背景技術(shù):
在很多工業(yè)現(xiàn)場的應(yīng)用中,為了提升互聯(lián)的可靠性并降低互聯(lián)的代價,在通信帶寬要求不是很高的情況下,往往會采用串行通信的方式互聯(lián)。串行通信互聯(lián)可以帶同步時鐘,也可以不帶同步時鐘。帶同步時鐘的串行通信的通信速率高,但是如圖1所示,需要傳送數(shù)據(jù)的同時傳送同步時鐘,這在很多場合下很不方便,尤其是系統(tǒng)中數(shù)據(jù)互聯(lián)拓撲比較復(fù)雜的情況下。無同步時鐘的突發(fā)型串行通信在高速率時通信效率高,但是數(shù)據(jù)恢復(fù)難度大,難度大的主要原因是數(shù)據(jù)恢復(fù)的采樣點位置不好確定,如圖2所示。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是,提供一種能夠以較小的代價解決無同步時鐘串行通信的數(shù)據(jù)恢復(fù)問題,并且方便實現(xiàn)的無同步時鐘突發(fā)型串行通信采樣位置選擇方法。
本發(fā)明所采用的技術(shù)方案是:一種無同步時鐘突發(fā)型串行通信采樣位置選擇方法,串行通信數(shù)據(jù)幀具有固定同步信息,包括如下步驟:
1)利用鎖相環(huán)產(chǎn)生4路和數(shù)據(jù)波特率相同、相位相差90度的本地采樣時鐘;
2)利用所產(chǎn)生的4本地采樣時鐘對串行數(shù)據(jù)流進行采樣,并將采樣結(jié)果送入4個fifo緩沖區(qū)中;
3)當fifo緩沖區(qū)中的數(shù)據(jù)為8個以上時,開始讀取fifo緩沖區(qū)中的數(shù)據(jù),并將讀出的數(shù)據(jù)送入同步信息檢測器;
4)當同步信息檢測器至少有3路同時輸出檢測脈沖時,進入下一步驟,否則繼續(xù)檢測;
5)當同步信息檢測器有3路同時輸出檢測脈沖時,選擇中間相位的時鐘作為最佳采樣位置時鐘,當同步信息檢測器有4路同時輸出檢測脈沖時,選擇180度相位時鐘作為最佳采樣位置時鐘;
6)結(jié)束。
步驟2)所述的fifo緩沖區(qū)是一種深度大于16的標準先進先出存儲器。
步驟3)所述的同步信息檢測器是一種對固定串行序列進行檢測的裝置,檢測數(shù)據(jù)幀中的固定同步信息,當同步信息檢測器檢測到固定同步信息后會輸出一個脈沖。
步驟5)所述的中間相位的時鐘是,指在3路輸出檢測脈沖分別對應(yīng)的三個相位時鐘中,位于中間位置的那個相位時鐘。
本發(fā)明的一種無同步時鐘突發(fā)型串行通信采樣位置選擇方法,可以解決多個節(jié)點組成的串行通信網(wǎng)絡(luò)突發(fā)通信的關(guān)鍵問題,由于不需要傳送同步時鐘,在精簡通信鏈路的同時,通過選擇最佳的數(shù)據(jù)采樣位置,大幅度提高了突發(fā)型、多節(jié)點隨機通信的可靠性、靈活性。
附圖說明
圖1是帶同步時鐘串行通信的通信示意圖;
圖2是無同步時鐘串行通信的通信示意圖;
圖3是無同步時鐘串行通信數(shù)據(jù)幀的要求示意圖;
圖4是4路相位差90°的本地采樣時鐘示意圖;
圖5是4路時鐘采樣數(shù)據(jù)進入fifo示意圖。
具體實施方式
下面結(jié)合實施例和附圖對本發(fā)明的一種無同步時鐘突發(fā)型串行通信采樣位置選擇方法做出詳細說明。
無時鐘的突發(fā)型串行通信幀中數(shù)據(jù)隨機出現(xiàn)并且沒有同步時鐘信息的傳遞,因此接收的難點在于確定本地采樣時鐘的采樣位置,而收發(fā)雙方傳遞的只有數(shù)據(jù),因此這個采樣位置只能從數(shù)據(jù)中確定,那就需要在確定好采樣位置之前不能有真正有效的數(shù)據(jù)傳送。即在確定好采樣點之前需要傳送一個特定的字符串做確定采樣點位置使用。
這個特定的字符串為了方便使用,采用二進制“10101010”共8個bit。
綜上可以確定幀結(jié)構(gòu)的要求為:開頭為“10101010”的一串數(shù)據(jù),開頭的“10101010”作為同步信息用來確定本地數(shù)據(jù)恢復(fù)的采樣位置,后續(xù)的數(shù)據(jù)是真正需要接收的有效信息,如圖3所示。
本發(fā)明的一種無同步時鐘突發(fā)型串行通信采樣位置選擇方法,串行通信數(shù)據(jù)幀具有固定同步信息,包括如下步驟:
1)利用鎖相環(huán)產(chǎn)生如圖4所示的4路與數(shù)據(jù)波特率相同、相位相差90度的本地采樣時鐘;
2)利用所產(chǎn)生的4本地采樣時鐘對串行數(shù)據(jù)流進行采樣,并將采樣結(jié)果送入4個fifo緩沖區(qū)中,如圖5所示;所述的fifo緩沖區(qū)是一種深度大于16的標準先進先出存儲器,如由fpga可編程器件實現(xiàn)。
3)當fifo緩沖區(qū)中的數(shù)據(jù)為8個以上時,開始讀取fifo緩沖區(qū)中的數(shù)據(jù),并將讀出的數(shù)據(jù)送入同步信息檢測器;所述的同步信息檢測器是一種對固定串行序列進行檢測的裝置,可檢測數(shù)據(jù)幀中的固定同步信息,當同步信息檢測器檢測到固定同步信息后會輸出一個脈沖。
4)當同步信息檢測器至少有3路輸出檢測脈沖時,進入下一步驟,否則繼續(xù)檢測;
5)當同步信息檢測器有3路輸出檢測脈沖時,選擇中間相位的時鐘作為最佳采樣位置時鐘,如圖5所示,所述的中間相位的時鐘是指在3路輸出檢測脈沖分別對應(yīng)的三個相位時鐘中,位于中間位置的那個相位時鐘;當同步信息檢測器有4路輸出檢測脈沖時,選擇180度相位時鐘作為最佳采樣位置時鐘;
6)結(jié)束。