當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]摘要:介紹了一種基于USB 2.0總線的接口轉(zhuǎn)換系統(tǒng),主要運用于航天設(shè)備的地面檢測中。討論了USB 2.0控制器CY7C68013A與FPGA構(gòu)成接口轉(zhuǎn)換系統(tǒng)的方式以及系統(tǒng)的通用性,著重論述了通用接口設(shè)計中的注意事項以及影響US

摘要:介紹了一種基于USB 2.0總線的接口轉(zhuǎn)換系統(tǒng),主要運用于航天設(shè)備的地面檢測中。討論了USB 2.0控制器CY7C68013A與FPGA構(gòu)成接口轉(zhuǎn)換系統(tǒng)的方式以及系統(tǒng)的通用性,著重論述了通用接口設(shè)計中的注意事項以及影響USB 2.0設(shè)備速度的因素。應(yīng)用結(jié)果表明,USB 2.0轉(zhuǎn)換的接口有很強的通用性,能達到很高的傳輸速率,可以廣泛地運用于航天設(shè)備地面檢測以及普通工業(yè)測試系統(tǒng)中。
關(guān)鍵詞:USB 2.0;DMA;FPGA;CY7C68013A

0 引言
    通用串行總線USB 2.0因其可熱插拔特性以及傳輸速度高而得到了越來越廣泛的應(yīng)用,在高速傳輸模式下可以達到480 Mb/s。相對于通用串口而言,USB 2.0有速度高的優(yōu)點,數(shù)據(jù)的接收發(fā)送速率遠(yuǎn)遠(yuǎn)高于RS 232等接口。而相對于PCI而言,USB 2.0具有熱插拔以及安裝方便的優(yōu)點,不需要停止計算機設(shè)備的運行便可以進行安裝拆卸。因此,考慮到以上優(yōu)點,可以通過FPGA將其轉(zhuǎn)換為各種不同接口以滿足不同
的應(yīng)用需求。
    USB接口擁有傳輸速度高、應(yīng)用廣泛的特點。在航天設(shè)備的檢測中,經(jīng)常需要處理多種不同的接口和不同數(shù)據(jù)格式,可以將USB 2.0接口加以轉(zhuǎn)換,在一個設(shè)備中集成多種不同的接口。本系統(tǒng)將PC機上的一個USB 2.0接口轉(zhuǎn)換為LVDS(Low Voltage Differential Signal)以及RS 422等接口,同時通過PC上位機軟件模擬相關(guān)的接口數(shù)據(jù),使得航天設(shè)備的檢測變得更加簡便快捷。同時由于系統(tǒng)采用了可編程邏輯器件FPGA作為系統(tǒng)接口轉(zhuǎn)換單元,可以通過改變FPGA中的邏輯使系統(tǒng)適應(yīng)不同的應(yīng)用需求,加快了系統(tǒng)在不同運用場合下的開發(fā)速度,使系統(tǒng)具有很高的通用性。
    系統(tǒng)采用Cypress公司的USB控制器Cy7C68013A以及Actel公司的APA300系列FPGA作為系統(tǒng)的主要部分,實現(xiàn)了USB 2.0總線與多種航天設(shè)備接口之間的互相轉(zhuǎn)換,并成功運用于多個衛(wèi)星任務(wù)有效載荷的地面檢測中。本文給出了USB 2.0到各種接口轉(zhuǎn)換電路的相關(guān)軟硬件方案,同時討論了影響USB 2.0速度的相關(guān)問題。

1 系統(tǒng)硬件電路設(shè)計
1.1 硬件結(jié)構(gòu)框圖
    本系統(tǒng)主要用于航天設(shè)備的地面檢測中,通常需要涉及多種接口,如RS 422,LVDS等,同時需要模擬外部的開關(guān)控制信號等,涉及的信號接口比較雜。在最初設(shè)計中,該檢測設(shè)備主要用于某型號衛(wèi)星電子設(shè)備接口功能和性能的測試,具體要求如下:
    (1)模擬有效載荷功能,通過LVDS接口發(fā)送原始圖像數(shù)據(jù)至測控接口單元,共4路LVDS接口信號,分別為幀同步、行同步、時鐘和數(shù)據(jù),傳輸速率為5 Mb/s;
    (2)模擬相關(guān)功能,通過雙向異步RS 422串行接口與其他有效載荷接口通信,發(fā)送載荷的工程參數(shù)并接收控制信息然后執(zhí)行相應(yīng)動作,接口速率為115.2 Kb/s;
    (3)衛(wèi)星平臺接收來自有效載荷的圖像數(shù)據(jù),接口為LVDS,數(shù)據(jù)傳輸速率為5 Mb/s;
    (4)模擬載荷單元向衛(wèi)星平臺輸出8路模擬量遙測信號;
    (5)模擬相關(guān)載荷輸出6路遙控指令接口,指令接口為集電極開路輸出。
    系統(tǒng)采用可編程邏輯器件完成相關(guān)的邏輯以及接口轉(zhuǎn)換,配合USB接口控制芯片完成系統(tǒng)的相關(guān)功能和需求。硬件設(shè)計的原理和結(jié)構(gòu)如圖1所示。

 


    如圖1所示,地面檢測設(shè)備主要由USB接口轉(zhuǎn)換模塊,F(xiàn)PGA,各種通信接口模塊,以及其他的輔助模塊(包括電源,時鐘和復(fù)位模塊等)組成。
    (1)USB接口轉(zhuǎn)換模塊采用Cypress公司的USB協(xié)議芯片CY7C68013A完成USB接口到其他總線接口的轉(zhuǎn)換。該芯片基于Cypress公司的FX2LP平臺,兼容FX2系列,同時在芯片中集成了USB 2.0收發(fā)控制器以及一個增強型的8051單片機。CY7C68013A同時支持多種傳輸方式,可以通過編程配置為所需要的工作模式。
    (2)FPGA模塊作為整個系統(tǒng)的邏輯控制轉(zhuǎn)換核心,完成USB 2.0接口數(shù)據(jù)到外圍接口數(shù)據(jù)之間的互相轉(zhuǎn)換。本系統(tǒng)采用Actel公司的APA30 0系列的FPGA,其內(nèi)部邏輯如圖2所示。


1.2 USB與LVDS接口的互相轉(zhuǎn)換
    以USB和LVDS接口之間的轉(zhuǎn)換為例來說明USB 2.0到各種接口之間的轉(zhuǎn)換方法。LVDS是一種常用的穩(wěn)定的高速串行總線,具有傳輸速度高和穩(wěn)定的優(yōu)點,廣泛運用于航天、軍工以及各種工業(yè)產(chǎn)品中。
    在處理LVDS數(shù)據(jù)的過程中,系統(tǒng)接收到數(shù)據(jù)之后,F(xiàn)PGA內(nèi)部邏輯對數(shù)據(jù)進行串并轉(zhuǎn)換,然后對數(shù)據(jù)進行封裝即添加數(shù)據(jù)包頭和包尾,之后將數(shù)據(jù)放入到LVDS專用的FIFO中。數(shù)據(jù)發(fā)送邏輯監(jiān)測CY7C68013A的總線是否繁忙,如果總線空閑同時FIFO中有需要上傳到PC機的數(shù)據(jù),就將相關(guān)數(shù)據(jù)發(fā)送到USB控制器,USB控制器再將數(shù)據(jù)傳送到PC機中。
    PC上位機到外圍LVDS接口的數(shù)據(jù)傳輸過程與此類似,上位機USB 2.0接口和RS 422等接口之間的互相轉(zhuǎn)換邏輯也采用類似方法完成。

2 系統(tǒng)軟件設(shè)計
    系統(tǒng)軟件主要由兩部分組成,即USB 2.0芯片的固件程序以及PC上位機的數(shù)據(jù)收發(fā)處理程序,下面分別加以簡要介紹。
2.1 USB固件設(shè)計
    設(shè)備固件程序的主要功能是對CY7C68013A總線芯片的相關(guān)寄存器進行初始化,從而控制FX2LP的數(shù)據(jù)收發(fā),同時處理USB驅(qū)動程序的請求(如請求設(shè)備描述符或設(shè)置設(shè)備狀態(tài),請求或設(shè)置設(shè)備接口等USB 2.0標(biāo)準(zhǔn)請求),控制芯片中應(yīng)用程序控制指令的接收和執(zhí)行等。CY7C6801 3A內(nèi)部集成了一個增強型的8051單片機,其配置程序的編寫與下載和標(biāo)準(zhǔn)的8051處理器相同,方便了用戶的開發(fā)。
    CY7C68013A支持Slave FIFOs和General Programmable Interface(GPIF)2種工作模式。其中Slave FIFOs主要用于外部包含有控制邏輯的系統(tǒng)中,在這種工作模式下,CY7C68013A的內(nèi)部CPU并不直接接觸和處理數(shù)據(jù),此時CY7C68013A只是簡單的用作USB接口和外部控制器之間的數(shù)據(jù)傳輸通道。而GPIF則用于外部沒有控制器的系統(tǒng)中,此時CY7C68013A通過GPIF接口控制數(shù)據(jù)的傳輸。本系統(tǒng)采用了Aetel的FPGA作為外部的數(shù)據(jù)控制及接口轉(zhuǎn)換邏輯,所以系統(tǒng)采用Slave FIFOs工作模式,CY7C68013A只是簡單的用于USB接口和FPGA之間的數(shù)據(jù)傳遞。
    USB有四種標(biāo)準(zhǔn)的傳輸模式,本系統(tǒng)涉及到高速數(shù)據(jù)的傳輸,所以根據(jù)實際需要選用Slave FIFO中的批量傳輸(Bulk)模式,同時為了減少USB芯片自帶增強型8051處理器對數(shù)據(jù)傳輸速率的影響,本系統(tǒng)將CY7C68013A配置為自動數(shù)據(jù)傳輸模式,使得數(shù)據(jù)傳輸不用經(jīng)過8051,此時USB內(nèi)部的CPU控制器不直接參與數(shù)據(jù)的傳輸,其原理如圖3所示。


    本系統(tǒng)分別采用2和6號端點分別負(fù)責(zé)輸出和輸入數(shù)據(jù)的處理工作,兩個端點分別有512 B×4的FIFO,此時CY7C68013A的內(nèi)部FIFO配置如圖4所示。


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


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

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉