基于USB 2.0總線的航天設備地面檢測系統(tǒng)
(1)USB接口轉換模塊采用Cypress公司的USB協(xié)議芯片CY7C68013A完成USB接口到其他總線接口的轉換。該芯片基于Cypress公司的FX2LP平臺,兼容FX2系列,同時在芯片中集成了USB 2.0收發(fā)控制器以及一個增強型的8051單片機。CY7C68013A同時支持多種傳輸方式,可以通過編程配置為所需要的工作模式。
(2)FPGA模塊作為整個系統(tǒng)的邏輯控制轉換核心,完成USB 2.0接口數(shù)據(jù)到外圍接口數(shù)據(jù)之間的互相轉換。本系統(tǒng)采用Actel公司的APA30 0系列的FPGA,其內部邏輯如圖2所示。本文引用地址:http://butianyuan.cn/article/202441.htm
1.2 USB與LVDS接口的互相轉換
以USB和LVDS接口之間的轉換為例來說明USB 2.0到各種接口之間的轉換方法。LVDS是一種常用的穩(wěn)定的高速串行總線,具有傳輸速度高和穩(wěn)定的優(yōu)點,廣泛運用于航天、軍工以及各種工業(yè)產(chǎn)品中。
在處理LVDS數(shù)據(jù)的過程中,系統(tǒng)接收到數(shù)據(jù)之后,F(xiàn)PGA內部邏輯對數(shù)據(jù)進行串并轉換,然后對數(shù)據(jù)進行封裝即添加數(shù)據(jù)包頭和包尾,之后將數(shù)據(jù)放入到LVDS專用的FIFO中。數(shù)據(jù)發(fā)送邏輯監(jiān)測CY7C68013A的總線是否繁忙,如果總線空閑同時FIFO中有需要上傳到PC機的數(shù)據(jù),就將相關數(shù)據(jù)發(fā)送到USB控制器,USB控制器再將數(shù)據(jù)傳送到PC機中。
PC上位機到外圍LVDS接口的數(shù)據(jù)傳輸過程與此類似,上位機USB 2.0接口和RS 422等接口之間的互相轉換邏輯也采用類似方法完成。
2 系統(tǒng)軟件設計
系統(tǒng)軟件主要由兩部分組成,即USB 2.0芯片的固件程序以及PC上位機的數(shù)據(jù)收發(fā)處理程序,下面分別加以簡要介紹。
2.1 USB固件設計
設備固件程序的主要功能是對CY7C68013A總線芯片的相關寄存器進行初始化,從而控制FX2LP的數(shù)據(jù)收發(fā),同時處理USB驅動程序的請求(如請求設備描述符或設置設備狀態(tài),請求或設置設備接口等USB 2.0標準請求),控制芯片中應用程序控制指令的接收和執(zhí)行等。CY7C6801 3A內部集成了一個增強型的8051單片機,其配置程序的編寫與下載和標準的8051處理器相同,方便了用戶的開發(fā)。
CY7C68013A支持Slave FIFOs和General Programmable Interface(GPIF)2種工作模式。其中Slave FIFOs主要用于外部包含有控制邏輯的系統(tǒng)中,在這種工作模式下,CY7C68013A的內部CPU并不直接接觸和處理數(shù)據(jù),此時CY7C68013A只是簡單的用作USB接口和外部控制器之間的數(shù)據(jù)傳輸通道。而GPIF則用于外部沒有控制器的系統(tǒng)中,此時CY7C68013A通過GPIF接口控制數(shù)據(jù)的傳輸。本系統(tǒng)采用了Aetel的FPGA作為外部的數(shù)據(jù)控制及接口轉換邏輯,所以系統(tǒng)采用Slave FIFOs工作模式,CY7C68013A只是簡單的用于USB接口和FPGA之間的數(shù)據(jù)傳遞。
USB有四種標準的傳輸模式,本系統(tǒng)涉及到高速數(shù)據(jù)的傳輸,所以根據(jù)實際需要選用Slave FIFO中的批量傳輸(Bulk)模式,同時為了減少USB芯片自帶增強型8051處理器對數(shù)據(jù)傳輸速率的影響,本系統(tǒng)將CY7C68013A配置為自動數(shù)據(jù)傳輸模式,使得數(shù)據(jù)傳輸不用經(jīng)過8051,此時USB內部的CPU控制器不直接參與數(shù)據(jù)的傳輸,其原理如圖3所示。
評論