国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種應(yīng)用于機載網(wǎng)絡(luò)節(jié)點的復(fù)位方法

2016-04-07 22:03:13楊可
電腦知識與技術(shù) 2016年3期

楊可

摘要:通過分析機載網(wǎng)絡(luò)節(jié)點各個復(fù)位源的特點,針對復(fù)位過程中產(chǎn)生的訪問錯誤和復(fù)位死鎖問題,設(shè)計了一種軟硬件結(jié)合的復(fù)位方法。首先介紹了該復(fù)位方法的實現(xiàn)架構(gòu),其次分析了該復(fù)位方法的各種復(fù)位過程,最后說明了應(yīng)用該復(fù)位方法時需要注意的問題。結(jié)果表明該復(fù)位方法在成功復(fù)位網(wǎng)絡(luò)節(jié)點的同時,還可以實時檢測網(wǎng)絡(luò)節(jié)點的運行狀態(tài),有利于提高系統(tǒng)設(shè)計的可靠性。

關(guān)鍵詞: 網(wǎng)絡(luò)節(jié)點1; 復(fù)位2; 死鎖3; 故障檢測4

中圖分類號:TP331.2 文獻標識碼:A 文章編號:1009-3044(2016)03-0288-03

1 引言

隨著機載電子系統(tǒng)的發(fā)展,網(wǎng)絡(luò)節(jié)點的設(shè)計日益復(fù)雜,如何確保網(wǎng)絡(luò)節(jié)點的穩(wěn)定運行已經(jīng)成為系統(tǒng)設(shè)計的關(guān)鍵。復(fù)位功能是系統(tǒng)正常運行的先決條件[1],網(wǎng)絡(luò)節(jié)點需要使用一種可靠的復(fù)位方法。

復(fù)位就是為了把系統(tǒng)初始化到一個確定的狀態(tài)[2],它的基本功能就是在系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)穩(wěn)定后,撤銷復(fù)位信號;或者在系統(tǒng)異常時對系統(tǒng)進行復(fù)位,使系統(tǒng)恢復(fù)正常工作。

本文通過分析網(wǎng)絡(luò)節(jié)點的復(fù)位情況,設(shè)計了一種軟件和硬件結(jié)合的復(fù)位方法。該方法能夠處理各種復(fù)位之間的組合及順序,保證網(wǎng)絡(luò)節(jié)點在上電后成功復(fù)位,又可以實時檢測網(wǎng)絡(luò)節(jié)點的運行,確保網(wǎng)絡(luò)節(jié)點出現(xiàn)故障后自動進行復(fù)位。

2 網(wǎng)絡(luò)節(jié)點復(fù)位分析

為了增強網(wǎng)絡(luò)節(jié)點的通用性,系統(tǒng)采用主機和網(wǎng)絡(luò)節(jié)點分離的方法。主機和網(wǎng)絡(luò)節(jié)點在上電后分別進行復(fù)位,復(fù)位完成后主機通過主機接口訪問網(wǎng)絡(luò)節(jié)點。

復(fù)位通常包括上電復(fù)位、外部復(fù)位、軟件復(fù)位和看門狗(WatchDog)復(fù)位[3],網(wǎng)絡(luò)節(jié)點的復(fù)位源由本地和外部兩部分復(fù)位源組成,本地復(fù)位源包括上電復(fù)位和看門狗復(fù)位,外部復(fù)位源包括主機硬件復(fù)位和主機軟件復(fù)位。

上電復(fù)位:該復(fù)位在網(wǎng)絡(luò)節(jié)點上電時提供復(fù)位信號,確保網(wǎng)絡(luò)節(jié)點在上電后進入初始化狀態(tài)。由于網(wǎng)絡(luò)節(jié)點在上電時需要將程序從存儲器搬至FPGA,上電復(fù)位信號在程序搬運完成前持續(xù)有效;

看門狗復(fù)位:該復(fù)位在網(wǎng)絡(luò)節(jié)點運行異常時提供復(fù)位信號,確保節(jié)點檢測到故障后進行節(jié)點復(fù)位。檢測的故障包括軟件跑飛、時鐘故障和電源故障;

主機硬件復(fù)位:該復(fù)位為主機通過硬件連線提供的復(fù)位信號,確保主機將節(jié)點復(fù)位到初始化狀態(tài)。復(fù)位的時機為主機上電或需要單獨復(fù)位節(jié)點時;

主機軟件復(fù)位:該復(fù)位為主機通過軟件命令發(fā)送的復(fù)位。網(wǎng)絡(luò)節(jié)點在接收到軟件復(fù)位命令后通過解析生成復(fù)位信號,然后控制需要復(fù)位的功能模塊和軟件進行復(fù)位。

網(wǎng)絡(luò)節(jié)點在使用這幾種復(fù)位源時,因為使用順序錯誤或組合不當會產(chǎn)生訪問錯誤或復(fù)位死鎖的問題。

2.1 訪問錯誤

使用上電復(fù)位和主機硬件復(fù)位組合時,如果上電復(fù)位先完成,則主機在主機硬件復(fù)位完成后可以正確訪問網(wǎng)絡(luò)節(jié)點。如果主機硬件復(fù)位先于上電復(fù)位完成,主機訪問網(wǎng)絡(luò)節(jié)點時網(wǎng)絡(luò)節(jié)點正在上電復(fù)位,會出現(xiàn)訪問錯誤,見圖1。

從圖1的示圖(A)可以看出,網(wǎng)絡(luò)節(jié)點在A1時刻完成上電復(fù)位。主機在之后的A2時刻完成主機硬件復(fù)位,此時主機訪問網(wǎng)絡(luò)節(jié)點正確。示圖(B)可以看出,主機在B1時刻完成主機硬件復(fù)位,網(wǎng)絡(luò)節(jié)點在B2時刻完成上電復(fù)位。主機在B1到B2這段時間訪問網(wǎng)絡(luò)節(jié)點時網(wǎng)絡(luò)節(jié)點還在上電復(fù)位,會出現(xiàn)訪問錯誤。

2.2 復(fù)位死鎖

為了避免訪問錯誤,網(wǎng)絡(luò)節(jié)點在復(fù)位后上報完成信號給主機,主機撤銷主機硬件復(fù)位后再訪問網(wǎng)絡(luò)節(jié)點。如果網(wǎng)絡(luò)節(jié)點將主機硬件復(fù)位作為復(fù)位完成信號的輸入,會出現(xiàn)復(fù)位死鎖的問題,見圖2。

主機硬件復(fù)位信號作為網(wǎng)絡(luò)節(jié)點復(fù)位的輸入控制網(wǎng)絡(luò)節(jié)點開始復(fù)位,所有的復(fù)位源撤銷后生成復(fù)位完成信號,但主機在收到復(fù)位完成信號后才能撤銷主機硬件復(fù)位信號,網(wǎng)絡(luò)節(jié)點出現(xiàn)了復(fù)位死鎖錯誤。

由以上分析可以看出,復(fù)位的順序和組合會影響網(wǎng)絡(luò)節(jié)點的運行,合理分配復(fù)位的順序以及作用的范圍非常重要。

3 復(fù)位系統(tǒng)設(shè)計

為了解決網(wǎng)絡(luò)節(jié)點訪問錯誤和復(fù)位死鎖的問題,設(shè)計了一種復(fù)位方法。該復(fù)位方法基于先本地后外部的復(fù)位原則,按照從硬件到軟件的復(fù)位順序,使用上電復(fù)位、看門狗復(fù)位、主機硬件復(fù)位和主機軟件復(fù)位作為輸入,在復(fù)位完成后上報完成信號給主機。復(fù)位系統(tǒng)框圖見圖3。

功能模塊中的時鐘檢測單元負責檢測時鐘的正確性,生成硬件喂狗信號,軟件中的軟件檢測程序檢測軟件的運行情況,生成軟件喂狗信號。硬件喂狗和軟件喂狗信號通過邏輯與輸入復(fù)位芯片,由復(fù)位芯片生成看門狗復(fù)位,復(fù)位芯片同時對電源進行檢測。

看門狗復(fù)位和上電復(fù)位通過邏輯與后生成本地復(fù)位。主機硬件復(fù)位和本地復(fù)位分別送給功能模塊,主機軟件復(fù)位通過軟件命令送給軟件。本地復(fù)位完成后由軟件生成復(fù)位完成信號上報給主機,主機在主機上電復(fù)位完成后檢測該信號,在該信號有效時主機才能訪問網(wǎng)絡(luò)節(jié)點。

主機硬件復(fù)位和本地復(fù)位均可復(fù)位節(jié)點的所有功能模塊和軟件,主機軟件復(fù)位可以復(fù)位節(jié)點的相關(guān)軟件及功能模塊。所有的復(fù)位必須先完成功能模塊的復(fù)位后才可以完成軟件的復(fù)位。

網(wǎng)絡(luò)節(jié)點是主機訪問的對象,當本地復(fù)位和主機復(fù)位組合進行復(fù)位時,應(yīng)先完成本地復(fù)位,主機檢測到本地復(fù)位完成再開始主機復(fù)位。

4 網(wǎng)絡(luò)節(jié)點復(fù)位過程

網(wǎng)絡(luò)節(jié)點的復(fù)位過程可以分為上電初始化復(fù)位、故障檢測復(fù)位和主機復(fù)位。

4.1上電初始化復(fù)位

上電后,網(wǎng)絡(luò)節(jié)點首先開始上電初始化復(fù)位,使用上電復(fù)位作為輸入,復(fù)位過程如圖4。

上電初始化復(fù)位的持續(xù)時間由程序加載時間決定,可以通過加快程序加載減少上電初始化復(fù)位時間。

4.2故障檢測復(fù)位

網(wǎng)絡(luò)節(jié)點在運行過程中實時檢測時鐘、電源及軟件運行的情況。當時鐘、電源及軟件出現(xiàn)異常時通過使能看門狗復(fù)位復(fù)位網(wǎng)絡(luò)節(jié)點。如果故障在復(fù)位后無法消除,則看門狗復(fù)位持續(xù)復(fù)位網(wǎng)絡(luò)節(jié)點。故障檢測復(fù)位過程如圖5。

4.3主機復(fù)位

主機在需要復(fù)位網(wǎng)絡(luò)節(jié)點時,通過使能主機硬件復(fù)位或主機軟件復(fù)位進行復(fù)位,主機復(fù)位過程如圖6。

主機硬件復(fù)位的持續(xù)時間由主機決定,在主機準備好訪問網(wǎng)絡(luò)節(jié)點前撤銷主機硬件復(fù)位即可。主機軟件復(fù)位通過軟件解析生成復(fù)位信號,該復(fù)位信號在相關(guān)功能模塊和軟件開始復(fù)位后撤銷。

當本地復(fù)位和主機復(fù)位組合進行復(fù)位時,系統(tǒng)先執(zhí)行上電初始化復(fù)位過程,再執(zhí)行主機復(fù)位過程。

通過以上分析可以看出,上電初始化復(fù)位、故障檢測復(fù)位和主機復(fù)位均可成功復(fù)位系統(tǒng),其復(fù)位過程不會引起訪問錯誤或復(fù)位死鎖的問題。

5 應(yīng)用中需要注意的問題

本設(shè)計中主機和網(wǎng)絡(luò)節(jié)點上電時為異步復(fù)位,在應(yīng)用該復(fù)位方法時需要合理分配復(fù)位的過程。

PCIE總線規(guī)范中規(guī)定,設(shè)備退出復(fù)位狀態(tài)后,必須在80ms內(nèi)開始鏈路定向和初始化。為了使軟件可見,設(shè)備必須在復(fù)位結(jié)束的100ms內(nèi)準備好接收配置請求。[4]

當使用PCIE總線進行通信時,主機和網(wǎng)絡(luò)節(jié)點分別在復(fù)位完成后開始鏈路定向和初始化,如果兩者復(fù)位結(jié)束的時間相差大于100ms, PCIE鏈路定向和初始化失敗,主機無法通過PCIE總線接口訪問網(wǎng)絡(luò)節(jié)點。

為了解決該問題,在使用PCIE總線等對初始化時間有要求的總線接口進行通信時,主機需要在網(wǎng)絡(luò)節(jié)點上電復(fù)位完成后單獨對網(wǎng)絡(luò)節(jié)點進行一次主機復(fù)位,使主機和網(wǎng)絡(luò)節(jié)點同步完成復(fù)位,保證總線接口初始化成功。

6 結(jié)束語

本文針對網(wǎng)絡(luò)節(jié)點提出了一種軟硬件結(jié)合的復(fù)位方法。通過分析該復(fù)位方法的復(fù)位過程表明,該復(fù)位方法不但可以成功復(fù)位網(wǎng)絡(luò)節(jié)點,還可以實時檢測網(wǎng)絡(luò)節(jié)點的運行狀態(tài),同時消除訪問錯誤和復(fù)位死鎖的問題,有利于提高系統(tǒng)設(shè)計的可靠性。目前該設(shè)計已成功應(yīng)用于機載網(wǎng)絡(luò)節(jié)點中。

參考文獻:

[1] 王艷軍, 張勇. 一種實用的多芯片系統(tǒng)同步復(fù)位方法[J]. 光電技術(shù)應(yīng)用, 2007,22(5):60-62.

[2] 金立平.淺析MCU系統(tǒng)的復(fù)位電路[J].硅谷,2010(9):23.

[3] 孫國志,寧寧,張弛. 一種片上系統(tǒng)復(fù)位電路的設(shè)計[J]. 電子技術(shù)應(yīng)用,2012,38(12):32-35.

[4] Ravi Budruk, Don Anderson,Tom Shanley, PCI Express System Architecture.TIAN Y, WANG S,ZHANG B, translated, Beijing: Publishing House of Electronics Industry,2005.( Ravi Budruk, Don Anderson,Tom Shanley, PCI Express系統(tǒng)體系結(jié)構(gòu)標準教材[M]. 田玉敏,王崧,張波,譯. 北京:電子工業(yè)出版社,2005.

[5] 王國輝. Reset與嵌入式系統(tǒng)應(yīng)用的穩(wěn)定性[J]. 單片機與嵌入式系統(tǒng)應(yīng)用,2013(8):5-8.

[6] 林學(xué)龍. MPC8xx系列處理器的嵌入式系統(tǒng)復(fù)位電路設(shè)計[J]. 單片機與嵌入式系統(tǒng)應(yīng)用,2005(4):80-83.

[7] 郝建, 原茵茵. FPGA復(fù)位的可靠性設(shè)計方法[J]. 電子科技, 2013,26(10):125-127.

[8] 杜珺. 單片機復(fù)位狀態(tài)及外設(shè)復(fù)位信號的處理[J]. 信息技術(shù)與信息化,2014(12):70-71.

秀山| 濮阳市| 孟村| 庄浪县| 富顺县| 林州市| 甘谷县| 建湖县| 当雄县| 政和县| 阿巴嘎旗| 昌宁县| 乌兰浩特市| 吉水县| 来宾市| 曲麻莱县| 常山县| 衡南县| 隆昌县| 隆安县| 通城县| 巴东县| 许昌市| 乐亭县| 宣汉县| 锦州市| 洮南市| 文化| 洛宁县| 兰西县| 延川县| 安远县| 凉山| 东阳市| 洪雅县| 西乡县| 东乌珠穆沁旗| 重庆市| 贡觉县| 兴义市| 晋宁县|