POWERLNK協(xié)議筆記
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1、基本概念
POWERLINK協(xié)議滿足以太網(wǎng)IEEE802.3標(biāo)準(zhǔn),該協(xié)議提供了所有標(biāo)準(zhǔn)的以太網(wǎng)功能特點(diǎn)包括交叉通信和熱熱插拔,允許網(wǎng)絡(luò)以任意方式進(jìn)行拓?fù)?。網(wǎng)絡(luò)中指定的PLC/PC作為管理節(jié)點(diǎn)(MN),該管理節(jié)點(diǎn)周期性調(diào)度并根據(jù)此來(lái)同步網(wǎng)絡(luò)上的所有節(jié)點(diǎn),并控制周期性數(shù)據(jù)通信。其他所有運(yùn)行設(shè)備稱為受控節(jié)點(diǎn)(CN),一個(gè)POWERLINK周期分為3個(gè)部分:
①在開始階段,MN發(fā)送循環(huán)啟動(dòng)SoC幀給網(wǎng)絡(luò)中的CN,以同步網(wǎng)絡(luò)中的所有設(shè)備,抖動(dòng)大概為20ns(納秒)。
②循環(huán)階段,周期性同步數(shù)據(jù)交換,同時(shí)使用多路復(fù)用技術(shù)來(lái)優(yōu)化帶寬。
③異步啟動(dòng)信號(hào)SoA,用于傳輸大容量,非時(shí)間苛刻的數(shù)據(jù)包。
POWERLINK分為實(shí)時(shí)和非實(shí)時(shí)域,由于異步階段的數(shù)據(jù)傳輸支持標(biāo)準(zhǔn)的IP幀,路由器將數(shù)據(jù)與實(shí)時(shí)域安全隔離開。
2、詳細(xì)資料提供網(wǎng)址:
?
3、系統(tǒng)的通信架構(gòu)
支持集中控制和分布式控制;集中控制和分布式控制性能沒(méi)有明顯的區(qū)別。
4、主站實(shí)現(xiàn)
POWERLINK是開源免費(fèi)的,基于標(biāo)準(zhǔn)以太網(wǎng)硬件。
5、潛在的成本需求
POWERLNK沒(méi)有特殊的需求,外部設(shè)備為標(biāo)準(zhǔn)的HUB或交換機(jī),內(nèi)部為標(biāo)準(zhǔn)的HUB(集線器),有源HUB對(duì)信號(hào)有放大作用。支持熱插拔,允許網(wǎng)絡(luò)在帶電狀態(tài)下相互交換設(shè)備。
7、POWERLINK協(xié)議層劃分
①普通以太網(wǎng)OSI (開放式系統(tǒng)互聯(lián)參考模型) 模型:從上至下一次為:應(yīng)用層/表示層/繪畫層/傳輸層/網(wǎng)絡(luò)層/數(shù)據(jù)鏈路層/物理層
②POWERLINK分為三層:應(yīng)用層/數(shù)據(jù)鏈路層/物理層
物理層:遵循IEEE802.3快速以太網(wǎng)標(biāo)準(zhǔn)。
數(shù)據(jù)鏈路層:主要功能構(gòu)建解析數(shù)據(jù)幀/對(duì)數(shù)據(jù)幀定界/網(wǎng)絡(luò)同步/數(shù)據(jù)收發(fā)順序控制/實(shí)時(shí)通信的傳輸控制。
POWERLINK的通信機(jī)制有2種
①請(qǐng)求應(yīng)答模式
②定時(shí)主動(dòng)上報(bào)模式(PRC)
POWERLINK一共有5種數(shù)據(jù)幀格式:SoC/Preq/Pres/SoA/AsyncData;一個(gè)完整的周期包含同步和異步倆個(gè)階段;SoC到SoA為同步階段;SoA到AsyncData為異步階段;
SoC是同步信號(hào),每一個(gè)循環(huán)周期開始主站都會(huì)廣播一個(gè)SoC信號(hào),實(shí)現(xiàn)時(shí)鐘同步和動(dòng)作同步。
SoA是異步信號(hào),包含請(qǐng)求那個(gè)從站的上報(bào)數(shù)據(jù),AsyncData包含從站上報(bào)的數(shù)據(jù),但是每個(gè)周期只能有一個(gè)從站上報(bào)異步數(shù)據(jù)。
應(yīng)用層:POWERLINK應(yīng)用層遵循CANopen協(xié)議,為應(yīng)用程序提供了同意的接口,使得不同設(shè)備與應(yīng)用程序之間有統(tǒng)一的訪問(wèn)接口,CANopen協(xié)議有三個(gè)主要的部分:
PDO:過(guò)程數(shù)據(jù)對(duì)象,可以理解為需要周期性/實(shí)時(shí)傳輸?shù)臄?shù)據(jù)(在傳統(tǒng)的CANopen協(xié)議中最大可以傳輸8字節(jié),在POWERLINK協(xié)議中可以最大傳輸1490字節(jié));
SDO:服務(wù)數(shù)據(jù)對(duì)象,可以理解為非周期性傳輸/實(shí)時(shí)性要求不高的數(shù)據(jù);
OD:對(duì)象字典:是很多對(duì)象的集合,而對(duì)象可以理解為參數(shù);假設(shè)一個(gè)設(shè)備有很多參數(shù),CANopen通過(guò)給每個(gè)參數(shù)編號(hào)來(lái)區(qū)分,即索引,它的尋址方式是按編號(hào)尋址,不像TCP按IP尋址。
數(shù)據(jù)如何傳輸需要的關(guān)鍵2個(gè)參數(shù):
在CANopen協(xié)議中數(shù)據(jù)傳輸需要倆個(gè)參數(shù):
網(wǎng)絡(luò)參數(shù):將數(shù)據(jù)發(fā)送到那個(gè)站或者接收來(lái)自那個(gè)站的數(shù)據(jù)
映射參數(shù):決定如何組成需要發(fā)送的數(shù)據(jù)包或者如何解析接收到的數(shù)據(jù)包。
不論接收還是發(fā)送,網(wǎng)絡(luò)參數(shù)和映射參數(shù)必須是成對(duì)的:0x1800和0x1A00是對(duì)應(yīng)的,依此類推,0x1801和0x1A01是一對(duì)。
?
網(wǎng)絡(luò)參數(shù)
映射參數(shù)
數(shù)量
接收
0x1400~0x14fe
0x1600~0x16fe
?
發(fā)送
0x1800~0x18fe
0x1A00~0x1Afe
?
POWERLINK性能及特點(diǎn):
支持240個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)支持1500Bytes輸入輸出
循環(huán)周期:100us(高性能CPU或者高性能FPGA)
??????????200us(低性能CPU或者低性能FPGA)
抖動(dòng):小于1us,實(shí)際循環(huán)周期中最大值與最小值的差值;
POWERLINKMAC尋址遵循IEEE802.3,每個(gè)設(shè)備的地址都是唯一的,我們稱之為節(jié)點(diǎn)ID;
實(shí)時(shí)域和非實(shí)時(shí)域一般使用網(wǎng)關(guān)隔離開;
9、在vxworks下移植POWERLINK大概需要做的工作:
在vxworks下使用powerlink需要做哪些工作,以及可行性
1、VXWORSK下Shelltasks的有限級(jí)為1,最高優(yōu)先級(jí),需要將其優(yōu)先級(jí)降低,防止shell輸入比較長(zhǎng)的指令會(huì)影響協(xié)議棧的運(yùn)行。
2、初始化高精度時(shí)鐘,powerlink需要時(shí)鐘精度為us級(jí)別,vxworks系統(tǒng)時(shí)鐘目前是ms級(jí)別;
3、綁定openpowerlink協(xié)議棧與vxworks協(xié)議棧,初始化協(xié)議棧的哥哥模塊;
4、設(shè)置CDC文件名,主要在自動(dòng)配置對(duì)象時(shí)用。
5、初始化應(yīng)用;
6、軟件復(fù)位操作;
10、Powerlink協(xié)議工作機(jī)制: (1)等時(shí)同步階段
①Preq/Pres請(qǐng)求應(yīng)答模式
?
Powerlink收發(fā)數(shù)據(jù)是由主站控制,對(duì)于一個(gè)主站MN,和n和從站CN的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)說(shuō),主站發(fā)送Soc(絕對(duì)時(shí)間和相對(duì)時(shí)間)幀廣播到整個(gè)網(wǎng)絡(luò),從站收到主站的Soc幀之后進(jìn)入等時(shí)同步階段,主站發(fā)送給第一個(gè)節(jié)點(diǎn)Preq(以太網(wǎng)單播幀)幀,該節(jié)點(diǎn)收到主站發(fā)來(lái)的Preq幀后就會(huì)上報(bào)一個(gè)Pres(以太網(wǎng)多播幀),從站回復(fù)的幀是廣播的,幀頭有mac地址,所有主從站都可以收到,然后各站根據(jù)自己的對(duì)象字典得到自己的數(shù)據(jù)。也就是說(shuō),每次從站回復(fù)主站時(shí)只發(fā)一幀,這幀包含了給主站和其它從站的數(shù)據(jù),所有站都能收到該幀,取不取數(shù)據(jù)要看各站自己的對(duì)象字典;當(dāng)主站收到該從站的pres幀后,完成了一次信息交互;接下來(lái)主站與第二個(gè)等時(shí)同步從節(jié)點(diǎn)進(jìn)行相同的信息交互,直到所有節(jié)點(diǎn)交互完畢,為一個(gè)周期。
Preq/Pres模式時(shí)間以及周期的計(jì)算:100M/s的網(wǎng)絡(luò),傳輸速率為12.5Bytes/us,完成一個(gè)從站所需要的時(shí)間為T1 = Tpreq+Tgap+Tpres;
Tpreq:主站發(fā)送給從站preq幀數(shù)據(jù)的時(shí)間;
Tpres:從站發(fā)送給主站pres幀數(shù)據(jù)的時(shí)間;
Tgap:Tpreq和Tpres幀之間的間隙約為2us;
一幀數(shù)據(jù)的最大長(zhǎng)度為1490Bytes,最大的時(shí)間Tpreq = 120us;Tpres = 120us;
Tgap = 2us;總的時(shí)間T1 = 242us
如果當(dāng)同時(shí)和相同的50個(gè)設(shè)備已最大數(shù)據(jù)幀通信的話周期為242*50 = 12.1ms
②PollResponse Chaining(PRC)模式
?
PRC模式省去了主站的Preq數(shù)據(jù)幀,取而代之的是主站發(fā)送PresMN給所有從站,該幀包含主站周期性上報(bào)的PDO數(shù)據(jù),同時(shí)該幀也是一個(gè)時(shí)間參考點(diǎn),支持PRC模式CN發(fā)送數(shù)據(jù)的時(shí)間參考點(diǎn),從站從接收完P(guān)resMN開始計(jì)時(shí)觸發(fā)發(fā)送數(shù)據(jù)幀pres幀;主站MN配置PRC模式的CN,使得CN在特定的時(shí)間點(diǎn)發(fā)送數(shù)據(jù),這個(gè)時(shí)間點(diǎn)由主站根據(jù)網(wǎng)絡(luò)的配置情況、網(wǎng)絡(luò)延遲計(jì)算出來(lái)并配置給CN。3個(gè)從站主站可以配置CN1在收到PresMN的第5us上傳Pres幀數(shù)據(jù),CN2在收到PresMN的第15us上傳Pres數(shù)據(jù),CN3在收到PresMN的第25us上傳Pres數(shù)據(jù),這樣避免了沖突。
PRC模式時(shí)間周期的計(jì)算:
T1 = Tpres+Tgap
Tpres:從站發(fā)送給主站pres幀數(shù)據(jù)的時(shí)間;
Tgap:Tpreq和Tpres幀之間的間隙約為2us;
一幀數(shù)據(jù)的最大長(zhǎng)度為1490Bytes,最大的時(shí)間Tpres = 120us;
Tgap = 2us;總的時(shí)間T1 = 122us
如果當(dāng)同時(shí)和相同的50個(gè)設(shè)備已最大數(shù)據(jù)幀通信的話周期為122*50 = 6.1ms
從站采用PRC模式還是preq/pres模式是由主機(jī)配置的,每一個(gè)從站只能采用這倆種模式中的一種,但是不同的從站可以這倆種模式的任意一種。
③系統(tǒng)中不同周期設(shè)備處理
一個(gè)系統(tǒng)中既有100ms的周期,也有200ms的周期,以及1s的周期,此時(shí)介意將主站系統(tǒng)周期設(shè)置200ms,通過(guò)多路復(fù)用機(jī)制來(lái)解決其他周期的通信問(wèn)題。
(2)異步階段
每個(gè)周期只能有一個(gè)節(jié)點(diǎn)發(fā)送異步報(bào)文,如果有多個(gè)節(jié)點(diǎn)需要發(fā)送異步報(bào)文就需要排隊(duì),在MN中存在一個(gè)隊(duì)列調(diào)度異步數(shù)據(jù)的發(fā)送權(quán)。當(dāng)CN需要發(fā)送一個(gè)異步幀的時(shí)候,則通過(guò)pres幀或者Statues Response幀通知MN,MN的異步調(diào)度器決定異步幀發(fā)送的權(quán)限在那個(gè)周期被允許,保證發(fā)送請(qǐng)求不會(huì)被延遲不確定的時(shí)間長(zhǎng)度
(3)空閑階段
空閑階段是在異步階段終點(diǎn)和下一周期的起點(diǎn)之間剩余的時(shí)間間隔。
?
11、POWERLINK與TCP、UDP的區(qū)別 (1)異步數(shù)據(jù)在網(wǎng)絡(luò)繁忙時(shí)數(shù)據(jù)發(fā)送的確定性
POWERLINK網(wǎng)絡(luò)所有節(jié)點(diǎn)通信周期與收發(fā)數(shù)據(jù)的時(shí)間具有確定性,而TCP/UDP在網(wǎng)絡(luò)繁忙的時(shí)候傳輸時(shí)間是不確定的。這主要基于POWERLINK協(xié)議有專管理受控節(jié)點(diǎn)CN數(shù)據(jù)發(fā)送的隊(duì)列,具有優(yōu)先級(jí),當(dāng)CN節(jié)點(diǎn)告訴MN節(jié)點(diǎn)需要進(jìn)行發(fā)送異步數(shù)據(jù)的時(shí)候,MN節(jié)點(diǎn)會(huì)確切的告訴CN節(jié)點(diǎn)在哪個(gè)周期進(jìn)行發(fā)送數(shù)據(jù),而不會(huì)讓CN節(jié)點(diǎn)無(wú)限期的等待MN發(fā)來(lái)的數(shù)據(jù)發(fā)送的權(quán)限。
(2)實(shí)時(shí)域和非實(shí)時(shí)域隔離
POWERLINK的實(shí)時(shí)域即周期性傳輸?shù)臄?shù)據(jù)與非實(shí)時(shí)域(異步數(shù)據(jù))是分離開的,保證了實(shí)時(shí)數(shù)據(jù)的實(shí)時(shí)性。
(3)收發(fā)數(shù)據(jù)具有統(tǒng)一的管理MN(主站)
所有CN(受控節(jié)點(diǎn)即除主站外的所有從站)收發(fā)數(shù)據(jù)都是受MN來(lái)控制在管理的,相互間收發(fā)數(shù)據(jù)不會(huì)出現(xiàn)網(wǎng)絡(luò)沖突的現(xiàn)象。
(4)尋址方式的不同
TCP/UDP是依靠IP(網(wǎng)絡(luò)地址)尋址,而POWERLINK是通過(guò)自身編號(hào)尋址,該編號(hào)由MN(主站)統(tǒng)一管理分配。
(5)發(fā)送機(jī)制的區(qū)別
對(duì)于TCP來(lái)說(shuō)如果發(fā)送失敗會(huì)進(jìn)行重發(fā),但是POWERLINK沒(méi)有重發(fā)機(jī)制,在本周起發(fā)送出去沒(méi)有得到目標(biāo)對(duì)象的回應(yīng),本周期不會(huì)重發(fā),而會(huì)在下一周期重新發(fā)送。
(6)周期的精確性
POWERLINK最小可以實(shí)現(xiàn)200us左右的周期,POWERLINK的周期會(huì)隨著CN節(jié)點(diǎn)的增加和減少而變化(在受控節(jié)點(diǎn)相當(dāng)多的情況下,訪問(wèn)所有節(jié)點(diǎn)加起來(lái)的時(shí)間大于設(shè)定的MN的周期,不過(guò)一般不會(huì)出現(xiàn));