USB通信技術在自動測試系統(tǒng)中的應用
1 引言
自動測試系統(tǒng)ATS(Automatic Test System)集成測試所需的全部激勵與測量設備,計算機高效完成各種模式的激勵及響應信號的采集、存儲與分析,對被測單元進行自動狀態(tài)監(jiān)測、性能測試和故障診斷??偩€是ATS的重要組成部分,是計算機與測試硬件內部及外設傳遞信息的公共通路,其性能參數直接影響ATS整體的功能實現和性能指標。
通用串行總線USB(Universal Serial Bus)主要用于PC與外圍USB設備互聯。其物理連接是一種分層的菊花鏈結構,最多支持5 Hub層及127個外設。該結構獨立性強??垢蓴_性強、傳輸速率高、占用資源有限、使用靈活、支持熱插拔,因此USB技術逐漸成為現代ATS數據傳輸的發(fā)展趨勢。
這里通過Cypress公司的USB單片機CY7C68013A的PE和GPIF接口實現計算機與測試控制器件FPGA和緩沖FIFO的高速數據通信,完成ATS測試指令信號和數據的下載,自檢和反饋數據的上傳功能,實現測試技術的智能化。重點從USB硬件和固件代碼設計闡述在測試系統(tǒng)數據傳輸過程中 USB技術的應用。
2 USB接口通信工作流程
USB具有靈活的1二作流程,如圖1所示。
圖1中,USB設備的工作流程從設備連接→上電→復位→分配地址→配置操作→執(zhí)行固件代碼,6大工作狀態(tài),這些狀態(tài)在USB主機的控制下實現狀態(tài)間的轉換和總線的訪問。USB設備隨時根據總線活動情況判斷是否進入或退出掛起狀態(tài),節(jié)省USB系統(tǒng)的功耗。
從圖1分析可知,USB通信包括USB系統(tǒng)應用軟件、設備及總線驅動程序和USB固件3層。應用軟件設計由2部分組成:動態(tài)鏈接庫和應用程序。動態(tài)鏈接庫負責與內核態(tài)的USB功能驅動程序通信并接收應用程序對USB設備I/O的各種操作請求,應用程序調用Win32 APl函數DeviceToCon-trol向設備發(fā)出命令;USB設備驅動程序通過總線驅動程序發(fā)出輸入輸出請求(IRP),實現對USB設備信息的發(fā)送和接收;總線驅動程序負責總線檢測、電源管理和USB事務處理,固件程序實現FX2器件的初始化設置,設備請求處理,電源管理和外圍通信功能,是整個通信架構的核心。在測試系統(tǒng)中,通過固件代碼建立數據物理通道并實現通信協議,用戶可通過測試軟件對USB設備進行功能控制,實現數據的有效通信和測試任務高效、可靠地完成。
3 測試系統(tǒng)USB硬件電路原理
CY7C68013A(簡稱68013A)集成USB2.0收發(fā)器、串行接口引擎(SIE)、增強8051內核和可編程外圍接口,提供一個高效的USB2.0解決方案,它可配置為3種數據通信模式:端口、GPIF和Slave FIFO模式。本設計利用GPIF方式快速、靈活等特點,有效地解決了端口方式下USB2.0設備數據傳輸速度瓶頸,大大提高了數據的傳輸速率。FX2專門為GPIF提供外圍接口信號,如8/16位數據線、CTL、Ready信號及地址線。從通用性、低功耗等方面考慮,將68013A的PA,PB,PD和 PE 4個I/O端口,6個CTL[5:0]和6個RDY[5:0]與FIFO或FPGA相連實現數據通信和握手、控制等功能。
評論