<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于USB 2.0總線(xiàn)的航天設備地面檢測系統

基于USB 2.0總線(xiàn)的航天設備地面檢測系統

作者: 時(shí)間:2011-06-28 來(lái)源:網(wǎng)絡(luò ) 收藏

本系統分別采用2和6號端點(diǎn)分別負責輸出和輸入數據的處理工作,兩個(gè)端點(diǎn)分別有512 B×4的FIFO,此時(shí)CY7C68013A的內部FIFO配置如圖4所示。

本文引用地址:http://dyxdggzs.com/article/202441.htm

d.JPG


2.2 上位機應用軟件
2.2.1 DMA傳輸方式
除了通信協(xié)議開(kāi)銷(xiāo)、帶寬分配以及使用的電磁環(huán)境等之外,在高速數據傳輸系統中,還必須考慮操作系統對數據傳輸速率的影響。
PC機的通用操作系統Windows并不是一個(gè)嚴格的實(shí)時(shí)操作系統,所以在進(jìn)行數據傳輸的過(guò)程中,操作系統的分時(shí)調度策略會(huì )給數據傳輸速率帶來(lái)很大的影響。Windows的每個(gè)時(shí)間片長(cháng)度約為20 ms,如果要經(jīng)過(guò)操作系統的調度,USB數據收發(fā)進(jìn)程將會(huì )在占用CPU一個(gè)時(shí)間片之后就交出控制權,等待下次獲得CPU控制權,從而導致數據收發(fā)速率的降低。
因此,為了提高USB傳輸速率,系統應當采用DMA方式傳輸數據,也就是使數據的傳輸不用經(jīng)過(guò)CPU的處理,從而減去操作系統分時(shí)機制的影響。Cypress公司提供了相關(guān)的支持DMA傳輸方式的接口即“CYAPI”,它較好將底層操作函數封裝為9個(gè)類(lèi),便于操作;同時(shí)CYAPI內部集成了多線(xiàn)程的操作,數據開(kāi)始傳輸之后用戶(hù)便可以返回繼續操作其他的內容,不需要用戶(hù)在程序中自己處理相關(guān)的線(xiàn)程操作或者等到數據收發(fā)完畢再繼續進(jìn)行其他工作。
2.2.2 軟件操作
為了提高數據處理能力,本系統不在數據接收的過(guò)程中處理數據,而是將數據直接存儲,數據傳輸完畢之后再進(jìn)行相關(guān)分析處理,因為數據處理過(guò)程也會(huì )引入操作系統時(shí)間片的延時(shí)。為了提高數據的接收和存儲速度,系統采用多線(xiàn)程結合乒乓存儲的方式接收、存儲數據。乒乓存儲是通常在硬件設計中使用的快速存儲方式,應用到本系統中,一個(gè)線(xiàn)程接收數據的時(shí)候,另一個(gè)線(xiàn)程便存儲數據,來(lái)回對2個(gè)內存區域分別進(jìn)行操作,從而減少系統延時(shí),加快系統的處理速度,詳細的流程如圖5所示。

e.JPG


如圖5所示,本系統采用了兩個(gè)線(xiàn)程Read和Write用于數據的接收和存儲,線(xiàn)程Read專(zhuān)用于讀取USB接口傳輸的數據并存儲到Buffer中,線(xiàn)程Write則從Buffer中提取數據并存儲到文件中。兩個(gè)線(xiàn)程通過(guò)Full和Empty來(lái)互斥其對緩存操作,從而保證數據存儲的正確。
本系統采用Cypress公司設計的專(zhuān)用函數接口CYAPI進(jìn)行軟件設計,CYAPI相對于以前的接口具有很大的優(yōu)點(diǎn),它集成了DMA和多線(xiàn)程的操作,提高系統速度的同時(shí)簡(jiǎn)化了用戶(hù)的軟件開(kāi)發(fā)。使用CYAPI進(jìn)行數據傳輸操作最主要的是正確的使用Begin-DataXfer、WaitForXfer和Fini-sh DataXfer三個(gè)函數,同時(shí)應該注意的是,在數據接收發(fā)送過(guò)程中應該對函數FinishDataXfer的返回值加以判斷,否則在惡劣的電磁環(huán)境中會(huì )出現數據傳輸錯誤的情況。

3 結語(yǔ)
本系統利用USB 2.0實(shí)現了各種接口的轉換,利用PC機的一個(gè)USB口便轉換為多種接口,很好的契合了設備檢測中設備接口種類(lèi)多,數據格式雜的應用背景。利用一個(gè)USB接口便完成了系統需求,極大的節省了PC機資源,同時(shí)一個(gè)電路板便可以解決大量設備的檢測驗證工作,大大簡(jiǎn)化便捷了相關(guān)的工作。采用可編程邏輯器件處理相關(guān)接口轉換及數據收發(fā)工作,只需要改變FPGA代碼便可以實(shí)現不同任務(wù)的需求,極大的提高的系統的可重復利用率。
實(shí)踐證明,USB 2.0的高速性能夠滿(mǎn)足多種接口速度的需要,熱插拔性極大的方便了該系統的使用,該已經(jīng)運用于多個(gè)器的檢測中,很好的滿(mǎn)足了項目的需求,實(shí)現了系統設計的目的。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>