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

?

基于FPGA的RS422總線故障注入系統(tǒng)

2018-03-30 02:26:56劉云飛謝洪森
電子技術(shù)與軟件工程 2017年16期

劉云飛 謝洪森

摘要

介紹一種基于FPGA的可編程RS422總線故障注入系統(tǒng),分析了系統(tǒng)的功能需求等。

【關(guān)鍵詞】RS422 總線故障 注入系統(tǒng)

故障注入是進(jìn)行產(chǎn)品測試性試驗(yàn)的重要技術(shù)手段。目前RS422總線應(yīng)用廣泛,應(yīng)用RS422總線的系統(tǒng)要進(jìn)行聯(lián)試聯(lián)調(diào),其總線接口的容錯(cuò)能力需要測試。很多軟硬件平臺(tái)的測試都需要模擬出RS422總線系統(tǒng)故障,然后測試軟硬件平臺(tái)對RS422總線系統(tǒng)故障的處理能力和反應(yīng)速度,但是由于故障種類和類型很多,有些故障又比較復(fù)雜,不容易模擬出所有故障,因此需要一種可編程模擬RS422總線接口故障的平臺(tái),能夠模擬出各式各樣的RS422總線接口故障。

1 系統(tǒng)功能

1.1 基本工作模式

當(dāng)RS422總線故障注入設(shè)備接到來自計(jì)算機(jī)A的第一比特串行數(shù)據(jù)后,開始對其進(jìn)行轉(zhuǎn)發(fā),其轉(zhuǎn)發(fā)時(shí)延低到3時(shí)鐘周期。進(jìn)行故障注入時(shí),故障注入設(shè)備根據(jù)故障用例以及相應(yīng)計(jì)算機(jī)的RS422通信協(xié)議確定需要發(fā)送故障數(shù)據(jù)的位置,識(shí)別到目標(biāo)位到達(dá)后,發(fā)送故障位,其處理時(shí)延低到3時(shí)鐘周期。

另外,能夠?qū)S422通信接口的輸出數(shù)據(jù)建立保持時(shí)間進(jìn)行故障模擬,如對于在時(shí)鐘上升沿?cái)?shù)據(jù)輸出,下降沿采樣數(shù)據(jù)的接口,故障注入設(shè)備能夠通過高頻信號(hào),在鄰近時(shí)鐘下降沿時(shí)將數(shù)據(jù)輸出,反之對于上升沿采樣數(shù)據(jù)的接口,也能夠在鄰近時(shí)鐘上升沿時(shí)將數(shù)據(jù)輸出。

對于秒脈沖信號(hào)的向后延時(shí)輸出,故障輸入設(shè)備對接收到的秒脈沖信號(hào),向后隨即延時(shí)一段時(shí)間后輸出,對于向前提前輸出,故障輸入設(shè)備對接收到的秒脈沖信號(hào),首先直接輸出秒脈沖信號(hào),之后延時(shí)一段時(shí)間后輸出;對于更改秒脈沖信號(hào)低脈沖信號(hào)的寬度,故障輸入設(shè)備隨機(jī)增加或者減小秒脈沖信號(hào)低電平的持續(xù)時(shí)間實(shí)現(xiàn)故障的注入;對于秒脈沖信號(hào)的輸出停止,故障輸入設(shè)備直接將秒脈沖輸出端口的信號(hào)輸出停止,此時(shí)輸出端口的電平信號(hào)可以隨機(jī)為高電平或者低電平信號(hào),對于正常情況下,輸出的秒脈沖信號(hào)與輸入的秒脈沖信號(hào)之間的傳輸延時(shí)小于lus。

對于更改高穩(wěn)時(shí)鐘信號(hào)的輸出頻率,故障注入設(shè)備可以對高穩(wěn)時(shí)鐘信號(hào)隨機(jī)的在1MHz頻率的基礎(chǔ)上增加或減小一定的頻率偏移,對于更改高穩(wěn)時(shí)鐘的輸出占空比,通過隨機(jī)的更改高電平持續(xù)時(shí)間以及低電平輸出時(shí)間實(shí)現(xiàn),但是高電平輸出時(shí)間與低電平輸出時(shí)間之和不能大于一個(gè)時(shí)鐘周期,對于輸出停止故障注入,故障注入設(shè)備直接關(guān)閉高穩(wěn)時(shí)鐘信號(hào)的輸出,此時(shí)端口可以隨機(jī)的處于高電平或低電平。

1.2 同步/異步RS422數(shù)據(jù)通信接口故障注入

1.2.1 RS422數(shù)據(jù)轉(zhuǎn)發(fā)

包括端到端通信;b)可對每一比特?cái)?shù)據(jù)進(jìn)行實(shí)時(shí)轉(zhuǎn)發(fā);c)較小的轉(zhuǎn)發(fā)時(shí)延;

1.2.2 RS422故障注入

(1)可對每一比特?cái)?shù)據(jù)進(jìn)行實(shí)時(shí)處理;

(2)較小的處理時(shí)延;

(3)故障數(shù)據(jù)注入;

(4)建立保持時(shí)間故障模擬。

1.3 秒脈沖及高穗時(shí)鐘RS422接口故障注入

1.3.1 秒脈沖接口

(a)采用平衡差分傳輸;(b)遵循ANSI/TIA/EIA-422標(biāo)準(zhǔn)規(guī)范;(c)故障輸入方式:隨機(jī)更改脈沖信號(hào)輸出的周期、低脈沖信號(hào)的寬度、輸出停止。

1.3.2 高穩(wěn)時(shí)鐘接口

(a)平衡差分傳輸;(b)遵循ANSI/TIA/EIA-422標(biāo)準(zhǔn)規(guī)范;

(c)故障輸入方式:隨機(jī)更改高穩(wěn)時(shí)鐘信號(hào)的輸出頻率、占空比、輸出停止。

2 硬件設(shè)計(jì)

RS422總線故障注入系統(tǒng)總體組成如圖所1所示,RS422故障注入設(shè)備由RS422故障注入功能板,和測試專用主機(jī)組成。

2.1 RS422故障注入功能板

采用嵌入式PCI板卡形式,可接收和轉(zhuǎn)發(fā)RS422接口數(shù)據(jù)。以FPGA芯片為核心,實(shí)現(xiàn)故障數(shù)據(jù)的注入算法操作;并提供1個(gè)PCI控制器,可接收測試主機(jī)發(fā)送的管理指令,并向主機(jī)提交數(shù)據(jù)。功能板上同步/異步RS422數(shù)據(jù)通信接口采用端到端的通信方式,通過高頻率工作時(shí)鐘的FPGA芯片實(shí)現(xiàn)較小的轉(zhuǎn)發(fā)和處理時(shí)延。

RS422故障注入功能板基于Testar2002RS422串口卡實(shí)現(xiàn)。Testar 2002 RS422串口卡具有PCI總線,可以實(shí)現(xiàn)RS422差分?jǐn)?shù)據(jù)轉(zhuǎn)發(fā)與處理的串口卡,板上采用Xilinx公司XC6SLX系列FPGA提供數(shù)據(jù)處理和通信控制功能。PCI-R422板卡可提供1路RS422標(biāo)準(zhǔn)的差分?jǐn)?shù)據(jù)輸入和1路RS422數(shù)據(jù)輸出功能,并可通過PCI總線進(jìn)行板卡與主機(jī)之間的數(shù)據(jù)

通信。另外,板卡可接收1PPS時(shí)鐘信號(hào)并可通過FPGA調(diào)整其時(shí)序。同時(shí)板卡可以接收SMA接口的10MHz高精度時(shí)鐘作為參考時(shí)鐘。

功能板硬件框圖如圖2所示。

FPGA工作流程如圖3所示。

2.2 測試專用主機(jī)

采用具有通用數(shù)據(jù)總線(PCI)的計(jì)算機(jī)主機(jī),運(yùn)行Windows操作系統(tǒng)和應(yīng)用程序。用于對功能板進(jìn)行配置和管理,控制功能板的故障注入功能,并對從功能板接收的數(shù)據(jù)進(jìn)行分析處理。

3 軟件設(shè)計(jì)

系統(tǒng)軟件主要包括2部分,一是Windriver驅(qū)動(dòng),用于FPGA與RS422數(shù)據(jù)監(jiān)視與注入軟件之間的通信;二是RS422數(shù)據(jù)監(jiān)視與注入軟件,用于根據(jù)故障注入前端的命令配置FPGA的配置參數(shù)和計(jì)算出故障參數(shù),將故障參數(shù)發(fā)送至FPGA,并且接收FPGA故障注入之后的數(shù)據(jù),以備比對。

同步/異步RS422數(shù)據(jù)通信接口轉(zhuǎn)發(fā)故障注入原理如圖4所示。

RS422數(shù)據(jù)監(jiān)視與注入軟件的工作流程如圖5所示,首先接收故障注入前端的配置參數(shù);再根據(jù)該配置參數(shù)配置FPGA的各個(gè)寄存器,例如:時(shí)鐘,串口速度等;計(jì)算故障參數(shù);然后發(fā)送故障參數(shù)至FPGA;接收并保存FPGA發(fā)送的故障注入前后的數(shù)據(jù);根據(jù)故障注入?yún)?shù)和故障用例造出理論上的故障注入后的數(shù)據(jù);對比理論數(shù)據(jù)與FPGA實(shí)際輸出數(shù)據(jù);將比對結(jié)果反饋至用戶界面。

RS422故障用例分為以下三類:

(1)基于RS422協(xié)議的上層協(xié)議故障注入,這類故障要結(jié)合具體的故障注入需求詳細(xì)說明,明確要求實(shí)現(xiàn)多長時(shí)間的建立保持時(shí)間調(diào)整范圍,設(shè)置好故障注入延遲、是否要求實(shí)時(shí)轉(zhuǎn)發(fā)。

(2)對標(biāo)準(zhǔn)的1PPS時(shí)鐘進(jìn)行故障注入,有三種模式:調(diào)整周期,調(diào)整低電平的占空比,還有輸出停止。

(3)對高穩(wěn)定時(shí)鐘信號(hào)的故障注入需求,三個(gè)模式:更改輸出頻率,占空比,停止輸出。

4 實(shí)時(shí)性分析

為獲得預(yù)期的測試效果,RS422故障注入設(shè)備在正確執(zhí)行故障注入操作的同時(shí)必須保證數(shù)據(jù)轉(zhuǎn)發(fā)、處理所造成的傳輸延時(shí)在可接受范圍內(nèi),不影響系統(tǒng)的常規(guī)和測試使用。

RS422通信速率限制:RS422通信的理論傳輸速率最大為10Mbps;在傳輸距離為100米、傳輸介質(zhì)為平衡雙絞線的實(shí)際使用環(huán)境中,其傳輸速率僅為約1Mbps。以10Mbps傳輸速率計(jì)算,其單位比特寬度為l00ns。

FPGA數(shù)據(jù)處理速度:目前,常用的FPGA芯片(如Xilinx Vertex5)的輸入時(shí)鐘最高也已經(jīng)達(dá)到300?400MHz的水平,即1個(gè)時(shí)鐘周期在5ns以內(nèi)。

通過上述對比可以看到,F(xiàn)PGA的時(shí)鐘頻率可以達(dá)到RS422數(shù)據(jù)率的20倍以上。在RS422通信中1個(gè)比特?cái)?shù)據(jù)的傳輸周期內(nèi),F(xiàn)PGA可以進(jìn)行多個(gè)時(shí)鐘周期的數(shù)據(jù)操作(如圖6所示);根據(jù)系統(tǒng)軟硬件設(shè)計(jì)方案,F(xiàn)PGA只需根據(jù)參數(shù)配置對指定的數(shù)據(jù)位進(jìn)行0/1翻轉(zhuǎn),而不需對復(fù)雜的應(yīng)用層通信協(xié)議進(jìn)行處理,這樣對FPGA邏輯實(shí)現(xiàn)的難度、FPGA的資源消耗以及硬件整體復(fù)雜度的要求比較合理,具有較高的可行性;雖然FPGA進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)或進(jìn)行故障位操作時(shí),可能仍將耗費(fèi)多個(gè)時(shí)鐘周期,但是在FPGA設(shè)計(jì)中通過減少大規(guī)模的組合邏輯、減少LUT級(jí)聯(lián)的數(shù)量、增加約束/流水/切割狀態(tài)等措施,可以進(jìn)一步提高FPGA的工作頻率、減少寄存器到寄存器的時(shí)延,完全可以滿足使用要求。

5 故障操作方式

故障操作方式包括2種:手動(dòng)觸發(fā)與PCI總線觸發(fā)。

5.1 手動(dòng)觸發(fā)

在故障注入功能板上具有4個(gè)故障模式選擇開關(guān),通過手動(dòng)設(shè)置開關(guān)的狀態(tài)可對應(yīng)多種不同的故障模式針對若干種典型的故障用例,在FPGA中預(yù)先配置相應(yīng)的參數(shù)信息,F(xiàn)PGA根據(jù)選擇開關(guān)的設(shè)置選用預(yù)先設(shè)定的參數(shù)對其所對應(yīng)的故障位進(jìn)行處理。手動(dòng)觸發(fā)方式操作簡便快捷,可以在不依賴專用測試主機(jī)和測試軟件的條件下對系統(tǒng)進(jìn)行基本的故障注入。

5.2 PCI總線觸發(fā)

將故障注入功能板插入專用測試主機(jī),在主機(jī)上運(yùn)行相關(guān)設(shè)備驅(qū)動(dòng)和測試軟件,可以在軟件操作界面上根據(jù)需要選擇相應(yīng)的配置參數(shù)并通過PCI總線發(fā)送到FPGA;在故障注入過程中,主機(jī)還通過PCI總線獲取功能板的運(yùn)行狀態(tài)和各類數(shù)據(jù),由分析軟件進(jìn)行分析。PCI總線觸發(fā)方式功能豐富,具有完善的故障模擬、監(jiān)控、記錄、分析功能。

6 結(jié)語

基于FPGA的RS422總線故障注入系統(tǒng),采用可編程器件,能夠模擬出各式各樣的RS422總線接口故障,從而全面測試軟硬件平臺(tái)RS422總線接口的功能和性能。同時(shí)能夠檢測系統(tǒng)/設(shè)備功能設(shè)計(jì)的缺陷,驗(yàn)證系統(tǒng)/設(shè)備故障適應(yīng)能力,復(fù)現(xiàn)系統(tǒng)故障,提供故障解決有效手段,驗(yàn)證系統(tǒng)設(shè)計(jì),為系統(tǒng)驗(yàn)證提供強(qiáng)有力手段。

參考文獻(xiàn)

[1]岳曉東.一種通用串行總線的故障注入系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2016(05):128.

[2]李妮娜.基于RS485總線的電氣故障模擬實(shí)驗(yàn)裝置的設(shè)計(jì)[J].上海工程技術(shù)大學(xué)學(xué)報(bào),2008,22(01).

[3]李佳亮.故障注入技術(shù)研究與展望[J].機(jī)械工程師,2016(08):83-85.

[4]仲廣沛.基于FPGA的故障注入技術(shù)的研究[D].哈爾濱工業(yè)大學(xué),2015(06h18-42.

韩城市| 西藏| 青冈县| 清原| 延川县| 小金县| 鄢陵县| 洛南县| 建水县| 龙井市| 长海县| 武隆县| 邯郸县| 休宁县| 余庆县| 米脂县| 五河县| 合川市| 新邵县| 晋宁县| 彭水| 大埔区| 蓝田县| 八宿县| 西吉县| 唐山市| 大厂| 五莲县| 新沂市| 泾源县| 文成县| 丰原市| 济阳县| 盖州市| 台前县| 平泉县| 宿松县| 青神县| 名山县| 织金县| 剑河县|