基于FPGA的PROFIBUS-DP集線器設(shè)計
摘要:給出了用PROFIBUS―DP HUB來改變現(xiàn)場總線拓?fù)浣Y(jié)構(gòu)的設(shè)計方案,并對數(shù)據(jù)轉(zhuǎn)發(fā)方法進行比較。描述了DP協(xié)議傳輸?shù)母袷?,重點介紹并分析了兩種幀結(jié)束檢測方法及其優(yōu)劣,最后通過八通道DP HUB的實例來說明了整個設(shè)計的實現(xiàn)過程。
關(guān)鍵字:拓?fù)浣Y(jié)構(gòu);幀結(jié)構(gòu);幀結(jié)束判定;波特率檢測
0 引言
PROFIBUS是一種國際化、開放式、不依賴于設(shè)備生產(chǎn)商的現(xiàn)場總線標(biāo)準(zhǔn)。PROFIBUS的傳送速度在9.6kbaud~12Mbaud范圍內(nèi),而且,當(dāng)總線系統(tǒng)啟動時,所有連接到總線上的裝置都被設(shè)成相同的速度。PROFIBUS的最大優(yōu)點是其具有穩(wěn)定的國際標(biāo)準(zhǔn)EN50170作保證,故其穩(wěn)定、可靠、故障率低,且經(jīng)實際應(yīng)用驗證具有普遍性。因此,研究PROFIBUS具有重要的意義。
目前工業(yè)現(xiàn)場應(yīng)用中的PROFIBUS―DP大部分是線性總線結(jié)構(gòu),該結(jié)構(gòu)上一個點出現(xiàn)問題將導(dǎo)致整個DP網(wǎng)絡(luò)通訊故障,數(shù)據(jù)無法傳輸,且難以定位故障點;另外,采用該總線結(jié)構(gòu),在現(xiàn)場設(shè)備分布比較分散時,會對布線造成困難,很容易超出DP協(xié)議規(guī)定的通信距離。而星型或樹形拓?fù)浣Y(jié)構(gòu)則可以有效地解決此類問題,但DP協(xié)議并不支持這兩種拓?fù)浣Y(jié)構(gòu)。為此,本文提出利用DPHUB來改變DP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),從而解決了DP總線在實際應(yīng)用中的缺陷。
1 PROFIBUS―DP協(xié)議
眾所周知,國際ISO標(biāo)準(zhǔn)組織的0SI網(wǎng)絡(luò)通信模型是國際上通用的標(biāo)準(zhǔn)框架,PROFIBUS―DP使用了其中的第1、2層(即物理層、數(shù)據(jù)鏈路層)和一個用戶的應(yīng)用接口,而對通用模型上的第3~6層沒有加以定義描述,這種精簡結(jié)構(gòu)的好處是數(shù)據(jù)傳輸快速和效率高。用戶的應(yīng)用接口又稱為直接數(shù)據(jù)鏈路映像程序,它規(guī)定了可調(diào)用的應(yīng)用功能,可使第三方應(yīng)用程序得到直接調(diào)用。圖1所示是PROFIBUS―DP協(xié)議層的定義。
2 PROFIBUS―DP的傳輸
PROFIBUS―DP總線上的一個主站控制著多個從站,主站與每一個從站都建立一條邏輯鏈路;主站發(fā)出命令,從站給出響應(yīng);從站可以連
續(xù)發(fā)送多個幀,直到無信息發(fā)送、達到發(fā)送數(shù)量或被主站停止為止。數(shù)據(jù)鏈路中的幀傳輸過程分為數(shù)據(jù)鏈路建立、幀傳輸和鏈路釋放三個階段。一般情況下,DP協(xié)議中的FDL層報文幀結(jié)構(gòu)僅有5種類型。
其中,SDl是無數(shù)據(jù)域,只用作查詢總線上的激活站點,其格式如下:
SD2是帶有固定8字節(jié)數(shù)據(jù)域,格式如下:
評論