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