新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > FPGA和ARM的Profibus-DP主站通信平臺設(shè)計

FPGA和ARM的Profibus-DP主站通信平臺設(shè)計

作者: 時間:2010-04-01 來源:網(wǎng)絡(luò) 收藏

2.2.2 Scheduler和FDL_Controller狀態(tài)機
Scheduler狀態(tài)機功能塊負責(zé)實現(xiàn)對Slave_Handler狀態(tài)機的控制。它向Slave_Handler狀態(tài)機發(fā)送從站輪詢控制信號,控制其逐步與從站建立數(shù)據(jù)交換關(guān)系。
FDL_Controller狀態(tài)機由10個FDL狀態(tài)組成并在這些狀態(tài)間轉(zhuǎn)換,如圖3所示。

本文引用地址:http://2s4d.com/article/191752.htm


邏輯令牌環(huán)的建立主要工作是對LAS和GAPL的初始化。LAS和GAPL的具體初始化流程如圖4所示。


LAS的形成標(biāo)志著邏輯令牌環(huán)初始化的完成。接下來就是邏輯令牌環(huán)運轉(zhuǎn)的維護階段,令牌將按照LAS進行循環(huán)傳遞,得到令牌的主站有權(quán)進行對其所屬從站的輪詢。傳遞過程中主站將以固定的時間間隔,通過Request FDLStatus主動幀來詢問自己GAP范圍內(nèi)的所有地址,并根據(jù)詢問結(jié)果修改LAS和GAPL。在主站活動表生成之后,前驅(qū)站詢問ReqtJest FDL Starus,主站回復(fù)準(zhǔn)備進入邏輯令牌環(huán),并從Listen_Token狀態(tài)進入Active_Idle狀態(tài)(主站的前驅(qū)站會修改自己的GAP和LAS,并把該主站作為自己的后繼站)。主站在Active_Idle狀態(tài)監(jiān)聽總線,能夠?qū)ぶ纷约旱闹鲃訋鲬?yīng)答,但沒有發(fā)起總線活動的權(quán)力,直到前驅(qū)站傳送令牌給它,它保留令牌并進入Use_Token狀態(tài),在此狀態(tài)下驅(qū)動Scheduler狀態(tài)機工作。主站持有令牌后,首先計算上次令牌獲得時刻到本次令牌獲得時刻經(jīng)過的時間(即實際輪轉(zhuǎn)時間tRR),并與用戶設(shè)定的目標(biāo)輪轉(zhuǎn)時間tTR比較,如果tRR小于tTR,則主站開始處理傳輸任務(wù)。首先處理高優(yōu)先級傳輸服務(wù),所有高優(yōu)先級服務(wù)處理完畢后處理低優(yōu)先級服務(wù)。在這個過程中,每一個完整的報文循環(huán)之后,主站就重新計算tTR―tTH。若結(jié)果小于0,主站進入PassToken狀態(tài),將令牌傳遞給后繼站,未完成的任務(wù)留到下一次令牌持有的時候再執(zhí)行。所有傳輸服務(wù)都完成后,不管是否有時間剩余,主站都交出令牌。如果主站接到令牌時發(fā)現(xiàn)tTR―tTHO,則只發(fā)送一個高優(yōu)先級報文,完成后交出令牌。主站在令牌傳遞成功后,進入Active_Idle狀態(tài),直到再次獲得令牌。



關(guān)鍵詞: Profibus-DP FPGA ARM 通信

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉