美章網(wǎng) 資料文庫 測控通信接口設計論文范文

測控通信接口設計論文范文

本站小編為你精心準備了測控通信接口設計論文參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

測控通信接口設計論文

1系統(tǒng)總體設計

該系統(tǒng)總體結(jié)構(gòu)圖如圖1所示,系統(tǒng)大致可分為3個部分。其中FPGA主要完成通信接收機的信號捕獲跟蹤、載波恢復、定時同步、圖像數(shù)據(jù)下傳、測控指令上傳以及USB芯片端點FIFO的讀寫控制。PC端的控制終端主要完成圖像數(shù)據(jù)的接收和處理、測控指令的生成、GUI交互界面的更新、重要參數(shù)的記錄和備份。CypressFX2LP芯片主要完成數(shù)據(jù)的雙向傳遞以及與PC間的“問答”邏輯的實現(xiàn)。CypressFX2LP芯片一方面要配置端點相關寄存器和讀寫緩存中的數(shù)據(jù),另一方面通過端點0“回答”PC終端程序關于內(nèi)部緩存中數(shù)據(jù)狀態(tài)情況的查詢,而且在數(shù)據(jù)不滿足傳輸指定格式的時候,還要將數(shù)據(jù)包修改成符合傳輸設定的格式的數(shù)據(jù)包。FPGA采用Xilinx公司的Spartan-6系列芯片,考慮到遙測指令和圖像數(shù)據(jù)的優(yōu)先級別,采用中斷模式控制器對USB的端點FIFO進行讀寫控制。當沒有遙測指令需要上傳的時候,F(xiàn)PGA中的FIFO讀寫控制器不斷的將圖像數(shù)據(jù)寫入到USB的端點FIFO中;當FIFO讀寫控制器檢測到USB端有遙測指令需要上傳的時候,即暫緩圖像數(shù)據(jù)的寫入,將圖像數(shù)據(jù)緩存在內(nèi)部RAM中,釋放讀寫總線,然后開啟讀取FIFO的控制進程將遙測指令讀入到FPGA的暫存FIFO中。

2系統(tǒng)硬件設計

2.1CY7C68013A芯片簡介CY7C68013A為Cypress公司的一款高性能的USB2.0微控制器,其內(nèi)部集成了USB2.0收發(fā)器、增強型的8051核、智能串行接口引擎(SIE)、4個片上FIFO和16KBRAM、通用可編程接口(GPIF)[4]。該芯片支持全速(12Mbps)和高速(480Mbps)兩種速率的數(shù)據(jù)傳輸。其內(nèi)嵌的增強的8051處理器支持兩個USART、3個定時器/計數(shù)器、擴展的中斷系統(tǒng)以及I2C協(xié)議總線外設。CY7C68013A支持3種接口模式和外部器件進行通信,分別是:Ports模式,GPIFMaster模式和SlaveFIFO模式。

2.2FPGA接口模塊設計在本系統(tǒng)中的CY7C68013A采用異步SlaveFIFO的工作模式。圖2給出了CY7C68013A和Spartan-6的硬件連接圖。其中,USB_FLAGA(B/C)為CY7C68013A輸出的狀態(tài)標志信號,在USB固件中可以靈活的將它們配置為端點FIFO的狀態(tài)滿、空或者任意可編程的標志位;USB_SLOE、USB_SLRD、USB_WR組合完成對CY7C68013A端點FIFO的讀寫時序控制;USB_FD為雙向的數(shù)據(jù)總線;USB_PKEND為數(shù)據(jù)打包控制信號。FPGA接口模塊設計主要包含上行緩存、下傳緩存、雙向FIFO邏輯控制邏輯設計。其中雙向的FIFO邏輯控制完成對CY7C68013A的端點FIFO進行數(shù)據(jù)的讀寫操作,并且完成從下傳緩存中讀取數(shù)據(jù)以及把上傳的數(shù)據(jù)寫入到上傳緩存的時序控制。本設計中采用兩個并行的狀態(tài)機來控制,兩個狀態(tài)機分別實現(xiàn)從USB端點FIFO讀取數(shù)據(jù)并寫入到上行緩存,從下行緩存中讀取數(shù)據(jù)并將數(shù)據(jù)寫入到相應的端點FIFO中??紤]到下行圖像數(shù)據(jù)和上行遙測控制指令的優(yōu)先級,將兩個狀態(tài)機之間的信息交互設計成在中斷模式下運行,以此來解決對數(shù)據(jù)總線的共享問題。讀取USB端點FIFO控制狀態(tài)機如圖3所示。圖中小圓圈標注的狀態(tài)轉(zhuǎn)換條件的意義為:a表示USB端點FIFO中沒有需要讀取的數(shù)據(jù)或者上行緩存阻塞;b表示沒有檢測到讀取請求ACK的有效信號;c表示檢測到USB端點FIFO中無待讀取數(shù)據(jù);d表示在狀態(tài)S4的情況下,檢測到USB端點FIFO中無待讀數(shù)據(jù)的次數(shù)超過預先設定的閾值VT。該控制狀態(tài)機共包含了8個狀態(tài)。其中,Idle為初始狀態(tài);S2狀態(tài)完成是否接收到讀取請求ACK信號,如果收到則轉(zhuǎn)入S3進入讀取數(shù)據(jù)的流程,反之,則停留在該狀態(tài)等待回應;S3狀態(tài)為讀取數(shù)據(jù)準備地址信號,并輸出地址信號;S4狀態(tài)再次確定是否有數(shù)據(jù)需要讀?。籗5完成從USB端點FIFO中讀取數(shù)據(jù)到內(nèi)部寄存器中;S6完成將內(nèi)部寄存器的數(shù)據(jù)寫入到上行緩存中;S7完成判斷是否需要(能)繼續(xù)讀取數(shù)據(jù),若需要(能)繼續(xù)讀取,轉(zhuǎn)入狀態(tài)S5,反之,回到Idle狀態(tài)等待下次讀取的啟動。寫端點FIFO控制狀態(tài)機如圖4所示。圖中小圓圈標注的狀態(tài)轉(zhuǎn)換條件的意義為:a表示讀取USB端點FIFO的標志有效,說明數(shù)據(jù)總線被占用;b表示檢測到USB端點接收數(shù)據(jù)FIFO中的數(shù)據(jù)已填滿。該狀態(tài)機中共包含了8個狀態(tài),其中Idle為初始狀態(tài),判斷是否有讀取數(shù)據(jù)請求信號,若有轉(zhuǎn)入對讀取請求中斷處理狀態(tài)S1,反之,轉(zhuǎn)入狀態(tài)S3開始數(shù)據(jù)的寫入進程;S2狀態(tài)等待讀取數(shù)據(jù)結(jié)束,釋放數(shù)據(jù)總線,轉(zhuǎn)入狀態(tài)S3;S4從下行緩存中讀取數(shù)據(jù),存入到內(nèi)部寄存器中;S6將內(nèi)部寄存器中的數(shù)據(jù)寫入到USB端點FIFO中;S7判斷是否需要(并且數(shù)據(jù)總線空閑、端點FIFO中未滿)繼續(xù)讀取數(shù)據(jù),若需要(能)繼續(xù)讀取,轉(zhuǎn)入狀態(tài)S4,反之,將打包信號USB_PKTEND置為有效并且回到Idle狀態(tài)啟動下一次寫狀態(tài)機的運行。航空航天測控設備因為其特殊的應用環(huán)境,常常遭受強磁場、空間強粒子流或者單粒子翻轉(zhuǎn)效應等特殊干擾的影響。所以在上面的狀態(tài)機的設計中,對重要的觸發(fā)信號和標志位信號進行了多次間隔性冗余保護確認。如在讀取控制狀態(tài)機中,在S4狀態(tài)下再次對USB端點FIFO中是否有需要讀取的數(shù)據(jù)進行判斷,是為了防止因為PCB電氣特性不穩(wěn)定或者偶然的空間電磁干擾導致之前啟動讀取數(shù)據(jù)的進程為誤判,而在此再次確定該信號的有效性,這樣設計增強了系統(tǒng)的容錯性和抗干擾能力。類似的容錯思想在寫端點FIFO控制狀態(tài)機的S1狀態(tài)也可以體現(xiàn)出來。

2.3USB驅(qū)動程序CypressFX2開發(fā)包中提供了通用的驅(qū)動程序,通用驅(qū)動程序完成與外設和用戶應用程序的通信和控制,微處理器根據(jù)新的設置安裝通用驅(qū)動程序,重新枚舉外設為一個新的USB設備[5]。

3系統(tǒng)軟件設計

3.1固件程序設計CY7C68013A芯片的固件程序運行在芯片內(nèi)部,主要完成對芯片工作模式的配置以及處理主機的USB設備請求。Cypress提供了固件程序的開發(fā)框架,開發(fā)人員只需要按應用背景和需求對所給框架內(nèi)的程序做細化和修改即可。USB傳輸可分成數(shù)據(jù)傳輸和控制傳輸,其中數(shù)據(jù)傳輸由大端點(EP2/4/6/8)完成,控制傳輸由小端點(EP0)完成。在固件程序中,TD_Poll()為數(shù)據(jù)處理程序,處在主函數(shù)的While()循環(huán)中。該函數(shù)包含實現(xiàn)特殊任務的代碼,設備運行時將被重復調(diào)用[6]。在本系統(tǒng)中,我們將EP2配置為Bulk傳輸模式的OUT端點,其端點緩存為512Byte,兩級緩存;EP6配置為Bulk傳輸模式的IN端點,其端點緩存為512Byte,四級緩存。并且把EP6FIFO配置為AUTIN模式,其AUTOINLEN配置為512Byte。固件程序還必須完成對PC控制終端發(fā)送來的USB控制傳輸請求的響應。端點0是CY7C68013A中唯一的控制端點,它是一個可完成雙向控制傳輸?shù)亩它c,只有它才能處理SETUP指令。完成主機USB控制傳輸請求的固件程序段,只需要在所給固件框架下的函數(shù)DR_VendorCmnd()中返回EP2468STAT寄存器的值即可實現(xiàn)。

3.2控制上位機設計該測控接口的上位機軟件設計采用MFC編程,MFC封裝了大部分的windowsAPI函數(shù),采用消息循環(huán)機制處理事件。在MFC框架生成的工程中,添加上Cypress提供的CyAPI庫文件,即可在工程中調(diào)用庫中已經(jīng)封裝好的類的成員變量以及成員函數(shù)。在上位機的設計中采用了多線程編程,系統(tǒng)軟件設計的流程圖如圖5所示。在上位機軟件設計中,主線程主要完成在消息循環(huán)機制下檢測面板上的點擊事件,以及對子線程做出的相應的控制。在主線程的初始化中,首先生成CCyUSBDevice對象,然后讀取硬件配置信息以及設備的必要識別信息并顯示在前操作面板上,最后建立RXfer子線程。在主線程中,當檢測到Send按鈕被點擊時,即開始發(fā)送上行指令。此處采用同步數(shù)據(jù)傳輸,保證了數(shù)據(jù)傳輸?shù)臏蚀_性[7]。當主線程中檢測到Start按鈕被點擊時,根據(jù)RXfer線程的不同狀態(tài),執(zhí)行相應的操作。在RXfer子線程中,主要完成下行數(shù)據(jù)的接收、下行數(shù)據(jù)寫入數(shù)據(jù)文檔以及管理隊列中的請求等工作。在下行數(shù)據(jù)接收線程中,我們采用了異步數(shù)據(jù)傳輸方式。在異步傳輸方式下,上位機軟件發(fā)出數(shù)據(jù)請求之后,不需要等待回應,即可立即發(fā)出下一次的數(shù)據(jù)請求,這樣可極大的提高上位機軟件的數(shù)據(jù)吞吐速率,保證數(shù)據(jù)傳輸?shù)母咝?。多次的異步?shù)據(jù)請求是利用數(shù)據(jù)請求隊列來完成的,在線程函數(shù)的開始,開辟適當長度的數(shù)據(jù)請求隊列,并且給他們分配相應的內(nèi)存空間,然后進入到線程的循環(huán)體中。在循環(huán)體中,完成當前的隊列元素中的請求數(shù)據(jù)傳輸并把相應數(shù)據(jù)寫入數(shù)據(jù)文檔之后,立即將新的數(shù)據(jù)請求塞入到該隊列元素中,并且把指針更新到下一個隊列元素。當數(shù)據(jù)請求失敗、接受數(shù)據(jù)不成功或者循環(huán)接收數(shù)據(jù)標志位False時,首先完成隊列中其他已經(jīng)成功請求數(shù)據(jù)傳輸?shù)臄?shù)據(jù),然后關閉文件句柄,釋放相應的資源,最后終止線程。

4系統(tǒng)測試結(jié)果

該通用測控通信接口用于實際測控數(shù)據(jù)的下傳,實際測試面板如圖6所示。在進行測試時,首先運行該測試應用軟件,完成初始化之后,在設備信息顯示框中顯示USB設備信息,其中包括設別的PID和VID、EndPoint配置情況、設備描述信息等信息。然后通過點擊“start”按鈕,建立起RXfer線程,開始接收下行傳輸數(shù)據(jù)。若需發(fā)送指令,在Send按鈕左邊的輸入框中輸入適當?shù)倪b測遙控指令,然后點擊Send即可發(fā)送。測試系統(tǒng)中所接收到的數(shù)據(jù)如圖7所示。在此數(shù)據(jù)中采用了符合CCSDS航天測控標準數(shù)據(jù)格式,幀頭為EB90,接下來的三個Byte為幀計數(shù)(圖中顯示的是000007),幀結(jié)尾標志位13AB,幀結(jié)尾標志的前兩個Byte為RS譯碼報告輸出(譯碼前數(shù)據(jù)是否出錯,錯誤是否可糾)。對該通用測控通信接口的速率和可靠性進行了測試,測試結(jié)果如表1所示。對比表中數(shù)據(jù)看出,該接口的最高的可靠的傳輸速率可達為8.1MB/s,對2.3MB/s和8.1MB/s的速率進行了可靠性測試,測試的結(jié)果都顯示,在該速率下所設計的測控通信接口可以完成數(shù)據(jù)的可靠傳輸。

5結(jié)論

該測控通信接口系統(tǒng)采用USB2.0[8]協(xié)議芯片CY7C68013A和FPGA搭建了硬件平臺,在FPGA狀態(tài)機設計中采用中斷模式的雙狀態(tài)機和關鍵標志冗余設計的思想,軟件設計采用多線程的設計思想,提高了通信接口的可靠性和傳輸速率。該測控通信接口已用于實際測控通信系統(tǒng)中,實際應用表明該測控通信接口具有速率高、穩(wěn)定可靠、人機界面友好等特點,達到系統(tǒng)設計要求,具有推廣應用的價值。

作者:鄧元策王竹剛單位:中國科學院空間科學與應用研究中心

主站蜘蛛池模板: 国产真人无遮挡作爱免费视频| 日本大片免费一级| 健身私教弄了我好几次怎么办| 豆奶视频官网下载观看| 国产精品久久国产精品99| 99精品热这里只有精品| 成人品视频观看在线| 久久午夜无码鲁丝片午夜精品 | 欧美一区二区三区四区视频| 亚洲高清资源在线观看| 美女久久久久久久久久久| 国产午夜毛片一区二区三区| 国产免费色视频| 乱人伦人妻中文字幕无码| 欧美高清在线精品一区| 免费无遮挡无码视频网站| 色哟哟国产精品免费观看| 国产成人av在线免播放观看| 全免费毛片在线播放| 国产超级乱淫视频播放| hd日本扒衣党视频播放| 成人au免费视频影院| 久久www成人看片| 日韩午夜福利无码专区a| 亚洲av色无码乱码在线观看| 欧美日韩国产一区二区| 亚洲视频免费一区| 男女一边摸一边做爽爽| 北岛玲在线一区二区| 老头天天吃我奶躁我的动图| 国产三级a三级三级| 阿v视频免费在线观看| 国产情侣一区二区三区| 精品四虎免费观看国产高清午夜| 国产精品免费久久久久影院| 477777开奖现场老玩家| 国产高清不卡无码视频| 97在线公开视频| 在线观看国产成人AV天堂| aⅴ免费在线观看| 天天干天天干天天干|