一種基於異步時鐘的高速數據傳輸裝置及方法與流程
2023-05-13 01:32:37
本發明屬於工業控制領域,尤其涉及一種基於異步時鐘的高速數據傳輸裝置和方法,主要用於解決工業控制領域中高速實時數據的傳輸問題。
背景技術:
在工業控制領域目前流行著多種標準的通信協議,如RS485、RS232、CAN等,其通訊速率最高的RS484一般也工作在10M以下,所以不能用於傳輸高速數據。乙太網能夠達到100M以上的通訊速率,但協議中的CSMA/CD訪問機製造成了實時性無法保證,不適於用於工控領域。
在高速數據傳輸領域SERDES技術佔據著壟斷的地位,其傳輸速率一般在Gbit以上,這就造成適配的器件、晶片等均有很高的要求,從而造成了其成本的上升,通用性方面也較弱。
現有的數據恢復技術中有採用過採樣的方法進行數據恢復的技術,但其普遍採用的是時鐘數據恢復算法(CDR),若想準確的實現CDR就必須避免連續多位的0或1。這就要有複雜的編碼解碼手段,並且時鐘數據恢復的算法也很複雜,這樣就造成整個技術實現非常複雜。
技術實現要素:
為了解決工業控制領域中百兆級別的數據傳輸問題,本發明的目的之一是提供一種基於異步時鐘的高速數據傳輸裝置。
本發明解決其技術問題所採用的技術方案是:一種基於異步時鐘的高速數據傳輸裝置,包括一個控制單元,用於完成數據的收發控制,以及數據幀的組裝與解析;一個發送單元,用於進行數據輸出;一個發送RAM單元和一個接收RAM單元,用於對數據進行緩衝,提高收發通道與控制單元對接的效率與可靠性;一個信號轉換單元,用於物理層的信號匹配;一個時鐘單元,用於輸出多個相差一定角度的同頻時鐘;一個求或輸出單元以及多個數據恢復單元和通信通道,每個數據恢復單元分別用不同的時鐘進行數據採樣恢復工作。
所述的一種基於異步時鐘的高速數據傳輸裝置,其數據恢復單元的數目不低於四個。
所述的一種基於異步時鐘的高速數據傳輸方法,其通信通道接收LVDS、BLVDS或光纖信號。
所述的一種基於異步時鐘的高速數據傳輸方法,其數據恢復單元包括採樣單元、幀頭檢測單元、雙口RAM和校驗單元;所述的採樣單元用於採樣數據,所述的雙口RAM支持主控制邏輯與數據接收邏輯工作於不同的頻率下實現異步工作,所述的幀頭單元在檢測通過時將數據緩存至雙口RAM中,並對數據進行校驗,校驗通過則表示接收到正確數據並上傳數據,否則丟棄數據。
本發明的目的之二是提供一種採用分時採樣技術,使得在同頻異步時鐘域中能對高速數據進行可靠的恢復的基於異步時鐘的高速數據傳輸方法。
本發明解決其技術問題所採用的技術方案是:一種基於異步時鐘的高速數據傳輸方法,包括如下步驟
a)、控制單元根據設定幀格式將數據填充到發送RAM單元中,然後啟動發送指令;
b)、發送單元在收到發送指令後,在發送時鐘的上升沿發送數據,直到發送RAM單元中的數據被發送完為止;
c)、信號轉換單元將發送單元發送的Bit流轉換成物理鏈路對應的信號,通過發送通道發至接收方,完成發送過程;
d)、接收通道收到外部輸入信號後,首先經過信號轉換單元,然後將轉換後的信號送至晶片中;
e)、送入晶片的信號被同時送至多個數據恢復單元中,採樣單元基於各自的接收時鐘進行數據恢復。
進一步,所述的傳輸數據幀包含起始標誌、幀頭、地址段、可變長數據段、校驗欄位。
進一步,當採樣單元檢測到特定幀頭時表示數據幀的開始,開始將數據緩存至收口RAM中;幀接收完後校驗單元對數據進行校驗,可以為CRC、求和校驗等,校驗通過時,表示此通道正確的恢復了數據,校驗未通過時丟棄數據。
再進一步,數據恢復單元用求或輸出單元將正確的數據傳輸至RAM單元中。
更進一步,控制單元根據接收RAM單元發送來的ready信號讀取接收數據的讀取,最終完成整個數據的發送與接收恢復
本發明的有益效果是:工作時,控制單元完成數據的收發控制,發送RAM單元和接收RAM單元負責數據的緩存,發送單元和數據恢復單元分別負責數據的發送和接收,信號轉換單元負責物理層的信號匹配工作,高速數據收發單元只需根據本地時鐘便能完成數據的收發工作,通信的另一端也必須採用相同的高速數據收發單元與其對接。
傳輸方法中數據收發均採用頻率相同的本地時鐘,一個發送時鐘為360°,發送通道在時鐘的上升沿發送數據,接收通道設有n個接收單元,各個單元的採樣單元的採樣時鐘依次相差360/n度,從而保證數據至少能被一個單元正確恢復,最後將校驗通過的數據傳至控制單元。
與現有技術相比,本發明的通信速率得到了大幅提升,且通信速率可跟據實際情況靈活確定,適應性強;通信協議可自定義;降低了編程難度,在普通FPGA晶片中即可實現,實現簡單;對高速數據不但高效可靠,而且波特率可根據器件自行調整,有很強的靈活性。
附圖說明
圖1為本發明高速數據傳輸裝置的結構框圖;
圖2為高速數據發送與單元的邏輯功能連接關係示意圖;
圖3為高速數據收發單元間的連接示意圖。
具體實施方式
為了更加清楚的闡述本發明方案,下面結合附圖和實例對發明內容進行進一步的說明。應當理解,此處所描述的具體是實施例僅用於解釋本發明,保護範圍並不局限於所述實例。
參照圖1所示,本發明公開了一種基於異步時鐘的高速數據傳輸裝置,包括
一個控制單元,用於完成數據的收發控制,以及數據幀的組裝與解析。
一個發送單元,用於在時鐘的上升沿(或下降沿)進行數據輸出,無輸出時將信號置為常高(或常低)。
一個發送RAM單元和一個接收RAM單元,用於對數據進行緩衝,以提高收發通道與控制單元對接的效率與可靠性。
一個信號轉換單元,用於物理層的信號匹配。
一個時鐘單元,用於輸出多個相差一定角度的同頻時鐘,時鐘單元要求有足夠的精度。
一個求或輸出單元以及多個數據恢復單元和通信通道,每個數據恢復單元分別用不同的時鐘進行數據採樣恢復工作;若數據恢復單元數目為n(n≥4),則每個單元的工作時鐘間隔為360/n度,數據收發均採用頻率相同的本地時鐘,一個發送時鐘周期為360°,發送通道在時鐘上升沿發送數據,接收通道設有n個接收單元,各個單元的採樣時鐘依次相差360°/n,從而保證數據至少能被一個單元正確恢復,最後將校驗通過的數據傳至控制單元。
其中,所述數據恢復單元的數目不低於四個。
其中,所述的通信通道採用LVDS、BLVDS或光纖信號,通信通道採用等方式,要求滿足高速率和抗幹擾能力需求。
此外,所述的數據恢復單元包括採樣單元、幀頭檢測單元、雙口RAM和校驗單元;所述的採樣單元用於在各自時鐘的上升沿(或下降沿)採樣數據,所述的雙口RAM支持主控制邏輯與數據接收邏輯工作於不同的頻率下實現異步工作,所述的幀頭單元在檢測通過時將數據緩存至雙口RAM中,並對數據進行校驗,校驗通過則表示接收到正確數據並上傳數據,否則丟棄數據。
工作時,控制單元完成數據的收發控制,發送RAM單元和接收RAM單元負責數據的緩存,發送單元和數據恢復單元分別負責數據的發送和接收,信號轉換單元負責物理層的信號匹配工作,高速數據收發單元只需根據本地時鐘便能完成數據的收發工作,通信的另一端也必須採用相同的高速數據收發單元與其對接。
本發明提供的採用多路恢復配合幀頭加校驗的實現方法不但簡單可靠,而且通過雙口RAM實現了收發通道與主邏輯單元的隔離,可以使兩者工作在不同的時鐘域內。另外通過對物理層鏈路的優化手段也增強了此技術手段的可靠性和抗幹擾能力,更具有實用價值。
參照圖2所示,一種基於異步時鐘的高速數據傳輸方法,包括如下步驟:
a)、控制單元根據設定幀格式將數據填充到發送RAM單元中,然後啟動發送指令,所述的傳輸數據幀包含起始標誌、幀頭、地址段、可變長數據段、校驗欄位;
b)、發送單元在收到控制單元的發送指令後,在發送時鐘的上升沿發送數據,直到發送RAM單元中的數據被發送完為止;
c)、信號轉換單元將發送單元發送的Bit流轉換成物理鏈路對應的信號,通過發送通道發至接收方,完成發送過程;
d)、接收通道收到外部輸入信號後,首先經過信號轉換單元(相當於發送單元的逆過程),然後將轉換後的信號送至晶片中;
e)、送入晶片的信號被同時送至多個數據恢復單元中,採樣單元基於各自的接收時鐘進行數據恢復;
f)、當採樣單元檢測到特定幀頭時表示數據幀的開始,開始將數據緩存至收口RAM中;幀接收完後校驗單元對數據進行校驗,可以為CRC、求和校驗等,校驗通過時,表示此通道正確的恢復了數據,校驗未通過時丟棄數據;
g)、由於在同頻時鐘下,多個恢復單元必然有一個或多個採樣單元能夠落入數據信號的有效眼圖中,所以數據恢復單元中必然有正確數據輸出,用求或輸出單元將正確的數據傳輸至RAM單元中;
h)、控制單元根據接收RAM單元發送來的ready信號讀取接收數據的讀取,最終完成整個數據的發送與接收恢復。
本發明傳輸方法可在FPGA、CPLD等多種可編程器件上實現,支持單線LVDS、BLVDS、光纖等多種物理傳輸介質,傳輸速率最高可達到400M,可自定義傳輸協議,具有很強的實時性。
高速數據的傳輸必須是在兩個擁有相同高速數據收發單元的系統間進行,其連接關係如圖3所示,將高速數據收發單元1的發送接口連接至高速數據收發單元2的接收接口,同樣將單元1的接收接口連接至單元2的發送接口。
數據從單元1的發送接口發出後進入單元2的接收接口,然後依次經過採樣單元、幀頭檢測、雙口RAM、校驗單元,最終將多個單元輸出的結果通過求或後輸出正確結果。
上述實施例僅例示性說明本發明的原理及其功效,以及部分運用的實施例,對於本領域的普通技術人員來說,在不脫離本發明創造構思的前提下,還可以做出若干變形和改進,這些都屬於本發明的保護範圍。