一種用于工業(yè)以太網的數(shù)據通道系統(tǒng)的制作方法
【專利摘要】本實用新型公開了一種用于工業(yè)以太網的數(shù)據通道系統(tǒng),包括集成于一顆可編程邏輯器件內的通信控制模塊、寫控制模塊、數(shù)據緩存模塊、讀控制模塊和中斷模塊;構成了一個包括物理層、數(shù)據鏈路層、應用層的三層模型,簡化了網絡傳輸?shù)奈鍖幽P?;并采用高速雙口RAM作為數(shù)據幀解析、驗證和通知讀出數(shù)據時的緩存區(qū),在提高數(shù)據傳輸可靠性的同時提高了數(shù)據傳輸?shù)男剩哂懈咄掏铝康膬?yōu)點;并且,在通道控制模塊及中斷模塊的控制下,對于讀和寫均形成了滑動窗口訪問機制;可有效防止數(shù)據污染,避免暫存于通道中但還未讀出的數(shù)據被新的數(shù)據覆蓋,提高了傳輸數(shù)據的可靠性。
【專利說明】
一種用于工業(yè)以太網的數(shù)據通道系統(tǒng)
技術領域
[0001]本實用新型屬于工業(yè)現(xiàn)場總線技術領域,更具體地,涉及一種用于提高工業(yè)以太網傳輸效率的數(shù)據通道系統(tǒng)。
【背景技術】
[0002]工業(yè)以太網實現(xiàn)了辦公自動化系統(tǒng)與工業(yè)自動化系統(tǒng)之間的無縫連接,由于工業(yè)以太網由傳統(tǒng)的商用以太網進行改進而成,可以利用其豐富的軟硬件資源進行節(jié)點設備的開發(fā)。但是,傳統(tǒng)的以太網機制并不能滿足工業(yè)控制的可靠性要求,盡管其可以通過通信協(xié)議在一定程度上提供數(shù)據驗證的機制,但會因此降低網絡數(shù)據的處理速度,達不到工業(yè)自動化系統(tǒng)數(shù)據產生所需的實時性要求和可靠性要求。
[0003]現(xiàn)有實現(xiàn)工業(yè)以太網的可靠性傳輸保證的技術如EtherCAT的SyncManager,包括Buffered模式和MaiIBox模式,分別應用于不同類型的數(shù)據傳輸;其中,Buffered模式用于工業(yè)以太網周期過程數(shù)據傳輸;MailBox模式用于MailBox通信協(xié)議傳輸,使用讀寫-驗證_讀寫的方式來防止數(shù)據污染、重復與丟失。
[0004]該技術存在以下缺陷-Buffered模式采取三塊不同的內存區(qū)域來匹配讀寫雙發(fā)數(shù)據速率上的不匹配;一塊內存區(qū)域用于接收寫入方的數(shù)據;一塊內存區(qū)域存儲接收的寫入收據;一塊內存區(qū)域備用,當數(shù)據寫滿后,則往備用內存區(qū)域寫入,而寫滿數(shù)據那塊內存區(qū)域則等待讀取方讀出數(shù)據;該模式下,當寫入速度大于讀取速度,會造成數(shù)據溢出,新寫入的數(shù)據覆蓋掉部分未讀出的數(shù)據;而MailBox模式雖然進行簡單的可靠性驗證來防止數(shù)據污染、重復與丟失,但并不能保證傳輸效率。
【實用新型內容】
[0005]針對現(xiàn)有技術的以上缺陷或改進需求,本實用新型提供了一種用于工業(yè)以太網的數(shù)據通道系統(tǒng),其目的在于提高工業(yè)以太網的傳輸實時性和傳輸效率。
[0006]為實現(xiàn)上述目的,按照本實用新型的一個方面,提供了一種用于工業(yè)以太網的數(shù)據通道系統(tǒng),包括集成于一顆可編程邏輯器件內的通信控制模塊、寫控制模塊、數(shù)據緩存模塊、讀控制模塊和中斷模塊;
[0007]其中,寫控制模塊的第一控制信號輸入端連接通信控制模塊的第一輸出端,寫控制模塊的第二控制信號輸入端連接中斷模塊的第一輸出端;讀控制模塊的第一控制信號輸入端連接通信控制模塊的第三輸出端,讀控制模塊的第二控制信號輸入端連接中斷模塊的第二輸出端;數(shù)據緩存模塊的控制信號輸入端連接通道控制模塊的第二輸出端;中斷模塊的第一輸入端連接通道控制模塊的第四輸出端,第三輸入端連接通道控制模塊的第五輸出端,第二輸入端連接數(shù)據緩存模塊的控制信號輸出端;
[0008]數(shù)據緩存模塊的數(shù)據輸入端連接寫控制模塊的數(shù)據輸出端,讀控制模塊的數(shù)據輸入端連接數(shù)據緩存模塊的數(shù)據輸出端。
[0009]優(yōu)選的,上述用于工業(yè)以太網的數(shù)據通道系統(tǒng),寫控制模塊在通道控制模塊的控制下輸出寫控制信號;該寫控制信號用于控制向通道內寫入數(shù)據的權限,通道中每一個字節(jié)的寫權限僅在前一個字節(jié)被寫后才變?yōu)橛行?,在該字?jié)寫完成后,其所對應的寫權限則變?yōu)闊o效;形成滑動窗口訪問機制。
[0010]優(yōu)選的,上述用于工業(yè)以太網的數(shù)據通道系統(tǒng),在通道控制模塊的控制下,讀控制模塊在通道被填滿后開始讀取數(shù)據;在數(shù)據讀取過程中,寫控制模塊在中斷模塊的作用下,停止向通道寫入數(shù)據,直到通道內所有數(shù)據被讀出。
[0011]優(yōu)選的,上述用于工業(yè)以太網的數(shù)據通道系統(tǒng),讀控制模塊在通道控制模塊的控制下輸出讀控制信號,所述讀控制信號用于對通道內的數(shù)據分配讀取權限;對通道內數(shù)據按照順序讀取,只有在當前字節(jié)被讀出后,才對其下一個字節(jié)開放讀取權限,直至通道內的所有數(shù)據被讀出;并且,已被讀出的數(shù)據變?yōu)椴豢勺x;形成滑動窗口訪問機制。
[0012]優(yōu)選的,上述用于工業(yè)以太網的數(shù)據通道系統(tǒng),采用高速雙口 RAM(隨機存取存儲器,Random access memory)作數(shù)據緩存模塊。
[0013]總體而言,通過本實用新型所構思的以上技術方案與現(xiàn)有技術相比,能夠取得下列有益效果:
[0014](I)本實用新型提供的用于工業(yè)以太網的數(shù)據通道系統(tǒng),采用可編程邏輯器件實現(xiàn),采用硬件實現(xiàn)再很大程度上保證了數(shù)據傳輸可靠性,并使得該數(shù)據通道系統(tǒng)對數(shù)據傳輸具有更快的響應速度,以滿足工業(yè)以太網實時性要求;
[0015](2)本實用新型提供的用于工業(yè)以太網的數(shù)據通道系統(tǒng),構成了一個三層模型,包括物理層、數(shù)據鏈路層、應用層,簡化了網絡傳輸?shù)奈鍖幽P?并采用高速雙口 RAM作為數(shù)據幀解析、驗證和通知讀出數(shù)據時的暫存區(qū),在提高數(shù)據傳輸可靠性的同時提高了數(shù)據傳輸?shù)男剩哂懈咄掏铝康膬?yōu)點;
[0016](3)本實用新型提供的用于工業(yè)以太網的數(shù)據通道系統(tǒng),在通道控制模塊及中斷模塊的控制下,對于讀和寫均形成了滑動窗口訪問機制;對于寫操作而言,通道中每一個字節(jié)的寫權限僅在前一個字節(jié)被寫后才開放,在該字節(jié)被寫后,該字節(jié)的寫權限被收回;且在通道內所有數(shù)據被讀出之前,整個通道區(qū)域不可寫;對于讀操作而言,通道內的字節(jié)順序讀出,只有當前字節(jié)被讀出后,采對下一個字節(jié)開放讀權限,直至整個通道的內容被讀出;而已經被讀出的字節(jié)也變?yōu)椴豢勺x;由此可有效的防止數(shù)據污染,避免暫存于通道中但還未讀出的數(shù)據,被新的數(shù)據覆蓋,提高了數(shù)據傳輸?shù)目煽啃浴?br>【附圖說明】
[0017]圖1是本實用新型實施例提供的用于工業(yè)以太網的數(shù)據通道系統(tǒng)的架構示意圖;
[0018]圖2是實施例提供的用于工業(yè)以太網的數(shù)據通道系統(tǒng)作為服務請求與應答通道傳輸數(shù)據的機制示意圖;
[0019]圖3是實施例提供的用于工業(yè)以太網的數(shù)據通道系統(tǒng)作為過程數(shù)據通道傳輸數(shù)據的機制不意圖;
[0020]圖4是實施例提供的用于工業(yè)以太網的數(shù)據通道系統(tǒng)作為服務數(shù)據通道傳輸數(shù)據的機制不意圖;
[0021]圖5是實施例提供的用于工業(yè)以太網的數(shù)據通道系統(tǒng)作為FIFO通道的數(shù)據傳輸機制不意圖。
【具體實施方式】
[0022]為了使本實用新型的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本實用新型進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本實用新型,并不用于限定本實用新型。此外,下面所描述的本實用新型各個實施方式中所涉及到的技術特征只要彼此之間未構成沖突就可以相互組合。
[0023]實施例提供的用于工業(yè)以太網的數(shù)據通道系統(tǒng),其功能架構如圖1所示意的,包括集成于一顆FPGA內的通信控制模塊、寫控制模塊、數(shù)據緩存模塊、讀控制模塊和中斷模塊;
[0024]寫控制模塊的第一控制信號輸入端連接通信控制模塊的第一輸出端,寫控制模塊的第二控制信號輸入端連接中斷模塊的第一輸出端;讀控制模塊的第一控制信號輸入端連接通信控制模塊的第三輸出端,讀控制模塊的第二控制信號輸入端連接中斷模塊的第二輸出端;數(shù)據緩存模塊的控制信號輸入端連接通道控制模塊的第二輸出端;中斷模塊的第一輸入端連接通道控制模塊的第四輸出端,第三輸入端連接通道控制模塊的第五輸出端,第二輸入端連接數(shù)據緩存模塊的控制信號輸出端;
[0025]數(shù)據緩存模塊的數(shù)據輸入端連接寫控制模塊的數(shù)據輸出端,讀控制模塊的數(shù)據輸入端連接數(shù)據緩存模塊的數(shù)據輸出端。
[0026]將實施例提供的上述用于工業(yè)以太網的數(shù)據通道系統(tǒng)作為服務請求與應答通道,其傳輸數(shù)據的機制如圖2所示意的,具體如下:
[0027](I)由主站在控制器中開辟一塊內存區(qū)域,區(qū)域長度為L,用于緩存協(xié)調發(fā)送方和接收方的數(shù)據交互;
[0028](2)當發(fā)送方要發(fā)送長度為Ld的數(shù)據,根據擬發(fā)送數(shù)據的長度確定發(fā)送的數(shù)據幀;
[0029]若擬發(fā)送的數(shù)據長度(字節(jié)數(shù))Ld<(L_2),則在擬發(fā)送數(shù)據之前填充一個值為Ld的16位數(shù)據后,將填充后的數(shù)據作為數(shù)據幀發(fā)送到通道;
[0030]若擬發(fā)送的數(shù)據長度Ld>(L_2),則將擬發(fā)送數(shù)據進行分片,每片數(shù)據的長度不超過(L-2),并在每片數(shù)據前填充一個16位的數(shù)據,填充數(shù)據的值為本片數(shù)據的長度,將填充后的數(shù)據作為數(shù)據幀發(fā)送到通道;
[0031](3)當通道接收完一次數(shù)據后,對讀取方產生讀出中斷,并以中斷信號的方式通知發(fā)送方不可再寫入新數(shù)據;
[0032](4)從站通過前16位數(shù)據獲取欲讀取數(shù)據的長度,然后將其后續(xù)的數(shù)據讀出;
[0033](5)清除讀出中斷,并以中斷信號的方式通知寫入方可寫入新的數(shù)據;
[0034](6)重復步驟(I)?(5),直到數(shù)據傳輸完成。
[0035]將實施例提供的上述用于工業(yè)以太網的數(shù)據通道系統(tǒng)作為過程數(shù)據通道傳輸數(shù)據的機制如圖3所示;
[0036]傳輸數(shù)據時,用一塊緩存來接收寫入方的數(shù)據,當該緩存被填滿,則將其中的數(shù)據交換給讀取方將數(shù)據讀出;并將空閑的緩存區(qū)域用于接收寫入方寫入的新數(shù)據;由此,實現(xiàn)在保證數(shù)據吞吐量的同時對數(shù)據進行連續(xù)寫入和讀出;
[0037]將實施例提供的上述用于工業(yè)以太網的數(shù)據通道系統(tǒng)作為服務數(shù)據通道傳輸數(shù)據的機制如圖4所示,具體如下:
[0038](I)配置服務數(shù)據通道,包括通道內存區(qū)長度、起始地址、傳輸方向、運行模式、啟動/停止、中斷設置;
[0039](2)判定發(fā)送數(shù)據的長度,若發(fā)送數(shù)據長度超過通道內存區(qū)的長度,則對數(shù)據進行分片,每片數(shù)據的大小不超過內存區(qū)的長度;
[0040](3)數(shù)據傳輸時,數(shù)據幀的數(shù)據域部分依次填入到內存區(qū);
[0041]當通道設置成運行模式,則在數(shù)據填入內存但未填滿通道時,以任意值寫入通道內存區(qū)的最后一個字節(jié),強制通道對讀出方產生中斷,讀取方在接收到中斷信號后讀出數(shù)據;
[0042]當通道未設置成運行模式時,則在數(shù)據填入內存但未填滿通道時,等待后續(xù)數(shù)據填入通道,直到整個內存區(qū)被填滿后產生對讀取方的中斷;
[0043](4)讀取方根據通道隱藏的內部指針獲知填入內存區(qū)的數(shù)據長度,并將其內容讀出;
[0044](5)重復步驟(I)?(4),直到數(shù)據傳輸完成;
[0045]服務數(shù)據通道主要用于協(xié)議數(shù)據的傳輸,在工業(yè)現(xiàn)場總線中,需要在鏈路層之上以獨有的協(xié)議進行傳輸數(shù)據,這部分數(shù)據需要可靠性保證,采用本實用新型提供的這種數(shù)據通道可確保無數(shù)據丟失。
[0046]將實施例提供的上述用于工業(yè)以太網的數(shù)據通道系統(tǒng)作為FIFO通道的數(shù)據傳輸機制如圖5所不意的,具體如下:
[0047](I)配置通道長度、起始地址、通道控制寄存器以及通道開關;
[0048](2)判定發(fā)送數(shù)據長度,若發(fā)送數(shù)據長度超過數(shù)據報文能夠承載的數(shù)據容量,則對擬發(fā)送的數(shù)據進行分片,使得單片數(shù)據長度不大于數(shù)據報文能夠承載的數(shù)據長度,且不大于FIFO通道當前可寫與可讀字節(jié)數(shù);由此保證單片數(shù)據可以被數(shù)據報文承載,且數(shù)據報文的所有內容可以寫入與讀出通道的字節(jié)數(shù);
[0049](3)將分片內容逐次寫入、讀出通道;接收方將被分片的數(shù)據進行組合,恢復出原始的完整數(shù)據;
[0050](4)待新的數(shù)據到來,重復步驟(I)?(3);直到數(shù)據傳輸完成;FIFO通道在保證傳輸速率的情況下提高了傳輸?shù)目煽啃浴?br>[0051]本領域的技術人員容易理解,以上所述僅為本實用新型的較佳實施例而已,并不用以限制本實用新型,凡在本實用新型的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本實用新型的保護范圍之內。
【主權項】
1.一種用于工業(yè)以太網的數(shù)據通道系統(tǒng),其特征在于,包括集成于一顆可編程邏輯器件內的通信控制模塊、寫控制模塊、數(shù)據緩存模塊、讀控制模塊和中斷模塊; 所述寫控制模塊的第一控制信號輸入端連接通信控制模塊的第一輸出端,寫控制模塊的第二控制信號輸入端連接中斷模塊的第一輸出端;所述讀控制模塊的第一控制信號輸入端連接通信控制模塊的第三輸出端,讀控制模塊的第二控制信號輸入端連接中斷模塊的第二輸出端;所述數(shù)據緩存模塊的控制信號輸入端連接通道控制模塊的第二輸出端;所述中斷模塊的第一輸入端連接通道控制模塊的第四輸出端,第三輸入端連接通道控制模塊的第五輸出端,第二輸入端連接數(shù)據緩存模塊的控制信號輸出端; 所述數(shù)據緩存模塊的數(shù)據輸入端連接寫控制模塊的數(shù)據輸出端,讀控制模塊的數(shù)據輸入端連接數(shù)據緩存模塊的數(shù)據輸出端。2.如權利要求1所述的數(shù)據通道系統(tǒng),其特征在于,所述數(shù)據緩存模塊采用高速雙口RAM0
【文檔編號】H04L29/08GK205545323SQ201620216528
【公開日】2016年8月31日
【申請日】2016年3月21日
【發(fā)明人】陳吉紅, 吳棋, 楊立志, 王軼鍇, 方凡濤, 肖佩, 華榛
【申請人】華中科技大學