以無(wú)線(xiàn)HART協(xié)議為基礎的數據鏈路層協(xié)議模型設計
3.3.2 狀態(tài)機
圖3為T(mén)DMA狀態(tài)機,該狀態(tài)機建立在邏輯鏈路層所建立的四張調度表以及調度機制的基礎上,TDMA狀態(tài)機開(kāi)始于節點(diǎn)加入無(wú)線(xiàn)HART網(wǎng)絡(luò ),加入的同時(shí)建立狀態(tài)機所需要的超幀表、圖表、鏈路表,開(kāi)始從鄰居節點(diǎn)接收數據并以此為基礎建立鄰居表。節點(diǎn)維護存儲著(zhù)一列待發(fā)送數據包,當一個(gè)發(fā)送時(shí)隙發(fā)生,節點(diǎn)將會(huì )嘗試發(fā)送數據包。發(fā)送數據包包括發(fā)送數據包和接收ACK應答兩個(gè)過(guò)程。當一個(gè)發(fā)送時(shí)隙產(chǎn)生,進(jìn)入發(fā)送狀態(tài)。成功發(fā)送一個(gè)廣播地址的數據包在數據包發(fā)送之后結束,并從等待表中刪除。成功發(fā)送一個(gè)非廣播地址的數據包,節點(diǎn)將等待ACK應答數據包,ACK數據包將表明數據包是成功接收還是出現接收錯誤。如果目的地址是廣播地址,將不會(huì )有ACK應答數據包,發(fā)送完成并進(jìn)入空閑狀態(tài)進(jìn)行調度表的更新;成功發(fā)送一個(gè)非廣播地址數據包,進(jìn)行數據完整性和權限完整性檢驗,TDMA狀態(tài)機進(jìn)入等待ACK狀態(tài),如果無(wú)ACK應答表明發(fā)送失敗。如果是一個(gè)共享鏈接,將啟動(dòng)重發(fā)機制,若最終依然失敗,進(jìn)入空閑狀態(tài)更新調度表。如果一個(gè)ACK應答數據包被成功接收,節點(diǎn)根據ACK確定發(fā)送是否成功,若發(fā)送成功,進(jìn)入空閑狀態(tài)更新調度表。如果顯示發(fā)送錯誤,將啟動(dòng)重發(fā)機制。所有的接收鏈接都將在沒(méi)有發(fā)送請求的基礎被全部服務(wù),節點(diǎn)接收數據有三種可能:1)數據包的目的地址就是節點(diǎn)地址;2)數據包目的地址是路由地址;3)數據包目的地址非以上兩種情況。每一次接收數據,鄰居表都將被更新維護。
本文引用地址:http://dyxdggzs.com/article/154686.htm

4 結論
以無(wú)線(xiàn)HART協(xié)議為基礎根據工業(yè)現場(chǎng)的特點(diǎn),設計并實(shí)現了數據鏈路層協(xié)議模型。在以無(wú)線(xiàn)HART適配器節點(diǎn)為平臺的實(shí)驗結果表明,模型所實(shí)現的時(shí)鐘同步精度達到30μs,滿(mǎn)足工業(yè)現場(chǎng)要求的前提下降低了節點(diǎn)的能耗,以模型為基礎的無(wú)線(xiàn)HART節點(diǎn)成功組建形成無(wú)線(xiàn)HART單跳網(wǎng)絡(luò )。
評論