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

?

一種航天型號軟件RS422接口數據通信能力的測試裝置

2017-04-10 13:57李曉燕張恕明李玉敏翟景升
航天制造技術 2017年1期
關鍵詞:板卡上位字節(jié)

李曉燕 張恕明 李玉敏 翟景升

(中國科學院上海技術物理研究所,上海 200083)

裝配·檢測

一種航天型號軟件RS422接口數據通信能力的測試裝置

李曉燕 張恕明 李玉敏 翟景升

(中國科學院上海技術物理研究所,上海 200083)

為了保證基于RS422接口的軟件數據通信能力,介紹了一種測試裝置。該裝置以FPGA測試板卡(下位機)與計算機(上位機)相結合,通過調節(jié)波特率、通信數據幀格式、通信數據包之間時間間隔等,實現(xiàn)型號軟件數據通信能力的檢測。

RS422接口;數據通信能力;FPGA測試板卡

1 引言

航天型號電子系統(tǒng)軟件需要綜合考慮通信速率、可靠性、抗干擾、兼容性、可擴展性等要求,目前串行總線通信在航天電子系統(tǒng)中的應用非常普遍,其中平衡通信接口RS422在航天系統(tǒng)、自動化控制系統(tǒng)等領域獲得了廣泛應用[1]。航天型號軟件通過RS422數據通信接口實現(xiàn)產品在軌工作狀態(tài)的控制、接收地面數據注入以及通過遙測參數下傳產品的工作狀態(tài),進行故障診斷和在軌維護。航天型號軟件通過FPGA實現(xiàn)RS422接口通信,一般不直接采用IP核,而是通過端口模擬實現(xiàn)。因此為了適應復雜的應用環(huán)境,保持通信線路的健壯性非常重要。地面開展故障模擬是全面軟件測試的必要保證,在軟件數據通信功能的測試中,需要模擬通信鏈路上可能的各種異常情況的輸入激勵,并考核軟件的設計余量,充分檢驗軟件RS422通信接口的糾錯容錯能力。

從航天型號軟件的測試需要出發(fā),提出一種針對RS422通信協(xié)議的測試裝置,該裝置具有波特率可調、通信數據格式可調、數據長度可變等功能,可全面有效地測試RS422接口軟件的數據通信適應能力。

2 系統(tǒng)框圖和功能簡介

測試裝置的系統(tǒng)框圖如圖1所示。其工作原理為:測試裝置的構成分為兩部分,計算機(上位機)和FPGA測試板卡(下位機)。FPGA測試板卡和上位機計算機的連接是通過異步串行通信接口RS232。上位機與下位機的通信內容主要包括三個部分:a.計算機向FPGA測試板卡發(fā)送其接收待測設備數據的波特率、數據位寬、校驗位等配置信息;b.計算機發(fā)送待處理的故障數據至FPGA測試板卡,數據包括發(fā)送的數據內容以及數據幀格式;c.待測設備發(fā)送數據的讀取是通過FPGA測試板卡處理之后發(fā)送到計算機進行顯示。

FPGA測試板卡和待測設備之間的連接接口為RS422異步串行全雙工通信接口。FPGA測試板卡建立起計算機與待測設備之間的數據通信測試,實現(xiàn)對待測設備軟件RS422接口數據通信能力的檢測。

3 基于Python的上位機程序設計

該裝置測試命令的發(fā)送和測試數據的存儲和顯示是由人機交互界面上位機完成的,上位機界面和功能采用Python工具語言編寫。借助Python工具主要實現(xiàn)兩個功能,顯示控制界面和串口通訊。在Python中分別添加wxPython控件“wx”和串口實現(xiàn)控件“serial”以支持功能實現(xiàn)。

3.1 上位機界面

如圖2所示,串口設置包括COM口設置(下位機連接計算機的接口),波特率、數據位、校驗位、停止位設置。其中波特率的設置是以文本框輸入的形式,這種設計目的是可以給特定波特率加入不同程度的偏移量,使得波特率偏移測試更加全面。發(fā)送窗口的設置可以根據測試需求發(fā)送不同長度,不同數據內容的數據包,同時可以調節(jié)數據包之間的發(fā)送時間間隔。

3.2 上位機與FPGA測試板卡之間的通信

上位機與FPGA測試板卡之間的通信是通過RS232接口實現(xiàn)的,Python具有成熟的異步串行通信控件serial支持RS232通信的實現(xiàn)。上位機與FPGA測試板卡之間的數據幀格式為:1位起始位,8位數據位和1位停止位,通信的波特率為115200b/s。

表1所示為上位機與測試板卡之間的通信數據包格式:一組數據包含8個字節(jié),第1個字節(jié)是表示發(fā)送的數據是用于接收配置還是發(fā)送配置;第2個字節(jié)表示若為發(fā)送配置,擬發(fā)送的數據包數據個數,如果是接收配置此字節(jié)為0;第3、4、5字節(jié)表示發(fā)送接收的波特率;第6字節(jié)低四位表示發(fā)送接收數據幀的數據位,D4和D5表示接收和發(fā)送的校驗位,D6和D7表示停止位位數。第7、8字節(jié)在發(fā)送配置信息時是沒有意義,默認為0。上位機發(fā)送的故障注入數據也是以8個字節(jié)為一組數據以115200b/s的波特率發(fā)送至測試板卡,如果發(fā)送的字節(jié)數不是8的整數倍,以0填補空字節(jié)。

表1 FPGA測試板卡與計算機通信數據包格式

上位機接收來自測試板卡的數據,接收數據顯示在通信界面的接收窗口。接收的數據同樣以文本的形式存儲在計算機內。

4 FPGA測試板卡

FPGA測試板卡主要有四個功能模塊:a.接收來自上位機的發(fā)送接收配置信息;b.依照上位機的接口配置信息接收被測設備數據;c.對上位機的發(fā)送配置命令進行處理后發(fā)送數據至被測設備;d.向計算機發(fā)送接收到的被測設備RS422接口傳輸數據。

4.1 上位機配置信息解析

FPGA測試板卡在開始與被測設備通信之前,首先需要解析來自上位機發(fā)送的配置信息,獲取與被測設備建立通信的依據。下位機接收到的上位機發(fā)送的配置信息共有 8個字節(jié),接收的第 1個字節(jié)為“01010101”表示是接收配置,“10101010”表示后續(xù)是發(fā)送配置。若為接收配置,讀取字節(jié)3、4、5、6配置相應RS422接收數據幀格式和波特率。若為發(fā)送配置,讀取第2個字節(jié)作為接收上位機發(fā)送數據的依據,依據字節(jié)3、4、5、6配置相應的RS422接口發(fā)送數據幀格式和發(fā)送波特率。第1個字節(jié)既不是接收標志也不是發(fā)送標志,如果FPGA接收到的發(fā)送配置發(fā)送數據位未接收完整,那么作為待發(fā)送數據,F(xiàn)PGA根據發(fā)送配置再處理接收到的待發(fā)送數據,否則數據包無效不做處理。

FPGA測試板卡與待測設備通過RS422接口進行通信的數據幀配置,包括數據位、校驗位、停止位的配置以及數據幀傳輸的波特率配置。圖5所示為RS422異步接口的數據幀格式。其中,一幀數據包括起始位、數據位、校驗位和停止位[2]。其中起始位(低電平)是表示通信的開始,起始位是必不可少的。起始位之后是數據的有效數據位,通常數據位由5、6、7或者8位組成。數據位之后是校驗位,檢驗分為寄校驗和偶校驗,也可以沒有校驗位。最后是停止位(高電平),停止位的長度可以是1、1.5和2。

4.2 波特率生成單元

串行通信收發(fā)雙方必須約定相同的速率進行串行通信,通過改變接收波特率,可以檢測被測設備軟件的波特率偏移容錯能力。最常見的傳輸率有9600b/s、115200b/s等,航天軟件中一般要求波特率偏移量在±1%范圍內,都可以正常接收數據。

FPGA接收到的上位機波特率設置不能直接用于RS422數據接收發(fā)送,F(xiàn)PGA需依據上位機的波特率配置對時鐘源進行不同系數的分頻生成波特率時鐘頻率,再用于RS422接口的發(fā)送和接收控制。本設計采用FPGA時鐘生成波特率時鐘頻率,系統(tǒng)外部全局時鐘頻率為50MHZ,波特率分頻計算公式為:

通過FPGA系統(tǒng)外部全局時鐘頻率生成的RS422通信波特率存在誤差。如圖5所示,在波特率偏移±1%時,采用50MHz時鐘源產生的波特率時鐘頻率的誤差較大,100MHz時鐘源時誤差減小,當時鐘源達到150MHz時,分頻時鐘微小偏移量的誤差可以忽略不計。因此,為了軟件通信能力測試的準確性,本文采用150MHz作為FPGA的主時鐘[3]。采用的硬件是Cyclone系列FPGA(EP1C6T144C8),擁有2個鎖相環(huán)(PLL),可以進行靈活的倍頻和分頻,能夠將系統(tǒng)外部50MHz時鐘倍頻到150MHz[4]。

表2 波特率分頻系數產生的誤差

4.3 FPGA接收RS422接口數據

為使FPGA程序清晰,RS422數據接收采用狀態(tài)機實現(xiàn),圖4所示為RS422接口數據接收狀態(tài)機。接收狀態(tài)機一共有五個狀態(tài),等待起始位(r_start)、監(jiān)測起始位有效性(r_start_c)、等待接收(r_wait)、接收數據暫存(r_sample)、接收停止位(r_stop)。

系統(tǒng)上電復位后進入等待起始位狀態(tài)(r_start),一旦起始位接收到低電平信號,進入起始位監(jiān)測狀態(tài)(r_start_c),時鐘計數器開始計時。為了使接收數據更加穩(wěn)定,接收模塊接收數據時采用中間采樣的方法。當時鐘計數器計時等于半分頻系數時,起始位仍為低電平,進入數據接收狀態(tài)(r_wait)。進行計數,等待計滿分頻系數,進入數據位采樣狀態(tài)(r_sample),同時判斷采集的數據位是否已達到數據幀的長度。進入數據位采樣狀態(tài)(r_sample)之后進行數據采集暫存,完成后無條件進入等待數據接收狀態(tài)(r_wait),等待下個數據位的到來。若判斷數據位達到了數據幀長度,進入接收停止位(r_stop),等待停止位接收完成后,狀態(tài)轉回等待起始位(r_start),等待下一幀起始位。

圖5所示為數據接收的仿真結果圖。

4.4 FPGA通過RS422接口發(fā)送數據

FPGA串行數據發(fā)送設計相對簡單,發(fā)送實現(xiàn)的狀態(tài)機如圖6所示。

發(fā)送狀態(tài)機共有六個狀態(tài),空閑狀態(tài)(s_idle)、起始位(s_start)、數據位發(fā)送等待(s_wait)、數據位讀取發(fā)送(s_excute)、校驗位發(fā)送(s_check)、停止位發(fā)送(s_stop)。

發(fā)送允許標志位無效時,狀態(tài)機處于空閑狀態(tài)(s_idle)。當發(fā)送允許標志置位,狀態(tài)及進入發(fā)送起始位(s_start),發(fā)送起始位低電平,進入數據位發(fā)送等待狀態(tài)(s_wait),計時時鐘開始計數。在發(fā)送等待狀態(tài)(s_wait),當時鐘計數等于分頻系數時,進入數據位發(fā)送狀態(tài)(s_excute);當數據發(fā)送位數等于上位機發(fā)送的數據位配置時,如果發(fā)送數據有校驗位進入校驗位發(fā)送(s_check),否則進入停止位發(fā)送(s_stop)。當在發(fā)送執(zhí)行狀態(tài)(s_excute),讀取發(fā)送數據位到RS422發(fā)送端口,完成后無條件進入等待發(fā)送(s_wait)。當在校驗位發(fā)送狀態(tài)(s_check),發(fā)送數據位計算后獲得的校驗位值,并開啟時鐘計數器,當計時等于分頻系數時發(fā)送停止位。進入停止位發(fā)送(s_stop),F(xiàn)PGA發(fā)送高電平到RS422發(fā)送端口,開啟停止位狀態(tài)時鐘計數器,計數器的計時依據上位機發(fā)送配置計1、1.5、2個分頻系數。發(fā)送完成后進入空閑等待(s_idle),等待發(fā)送允許標志位置位。

5 結束語

本文所設計的軟件RS422接口數據通信能力測試裝置,用戶不再受傳統(tǒng)測試板卡的約束,可以根據軟件性能測試的需求,給常用的RS422接口串行數據波特率加入偏移。通過設置數據幀和數據包的數據格式,測試軟件的數據通信故障處理能力。并且能夠隨意設置數據包之間的傳輸速率,測試軟件的數據接收刷新能力。

本文所設計的數據通信能力測試裝置能夠全面有效地測試航天型號軟件RS422接口數據通信的適應能力,后續(xù)可以擴展到其他航天型號軟件通信協(xié)議,如常用的CAN、1553B等。

1 李斯貝,譚超,高山,等.星上RS422接口電路的建模與仿真[J].航天器工程,2011,21(1):109

2 索義芳,高飛,孫磊.基于FPGA的差分RS422串行收發(fā)模塊的設計實現(xiàn)[J].微計算機信息,2010,26(12):125~126

3 蔡德勝,方壽海.一種高可靠性的計算機與FPGA串行通信的實現(xiàn)[J].現(xiàn)代電子技術,2011,34(19):85~86

4 梁九鵬,李永亮,鄭佳.FPGA器件中PLL的設計應用[J].無線電工程,2007,37(9):62

Testing Device for Data Communication Capability of RS422 Interface inAerospace Software

Li Xiaoyan Zhang Shuming Li Yumin Zhai Jingsheng
(Shanghai Institute of Technical Physics of the ChineseAcademy of Sciences,Shanghai 200083)

In order to guarantee the capability of the data communication of software based on RS422 interface,a testing device is introduced.The device consists of a FPGA card(slave computer)and computer(master).The detection for the data communication capability of aerospace software with RS422 interface is realized by adjusting the baud rate, data frame format and time interval in data packets.

RS422 interface;data communication capability;FPGA test card

李曉燕(1990-),工程師,生物醫(yī)學工程專業(yè);研究方向:FPGA軟件測試。

2016-12-05

猜你喜歡
板卡上位字節(jié)
No.8 字節(jié)跳動將推出獨立出口電商APP
RTX系統(tǒng)下并行I/O卡驅動程序的開發(fā)
航空電子設備機上線路故障研究
RTX系統(tǒng)下Moxa多串口卡驅動程序的開發(fā)*
No.10 “字節(jié)跳動手機”要來了?
特斯拉 風云之老阿姨上位
基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
人類進入“澤它時代”
基于VC的PLC數據采集管理系統(tǒng)