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