摘要 在對數(shù)字合成掃頻儀的硬件設計進行概述的基礎上,描述了一種基于ISP1362的USB2.0接口設計方案,包括USB接口的硬件結(jié)構(gòu)設計,USB固件程序、驅(qū)動程序以及應用程序的設計方法?實驗表明,整個設計滿足設計要求,傳輸速率可達33 Mbit·s-1。
關(guān)鍵詞 掃頻儀;USB2.0;ISP1362
數(shù)字合成掃頻儀的USB接口設計,分為硬件和軟件兩部分,硬件包括掃頻儀主體和USB接口兩部分,設計選用Philips公司的ISP1362作為USB接口芯片,該芯片支持USB2.0全速模式,支持OTC模式,芯片由外設控制器、OTG控制器、主機控制器、USB收發(fā)器、OTG收發(fā)器和緩存器組成,通過內(nèi)部集成的總線接口可與CPU相連。軟件部分包括接口的底層固件程序、USB設備驅(qū)動程序和用戶應用程序。
1 硬件設計
1.1 數(shù)字合成掃頻儀電路設計
數(shù)字合成掃頻儀主要由數(shù)據(jù)處理、控制接口電路邏輯、掃頻信號產(chǎn)生與輸出、幅度與相位檢測、數(shù)據(jù)采集、USB接口等部分構(gòu)成。數(shù)據(jù)處理部分采用ADI公司的ADSP-BF532處理器,加電后BF532實現(xiàn)對系統(tǒng)各部分的初始化,并對采集到的數(shù)據(jù)進行處理,得到幅度與相位數(shù)據(jù)并實現(xiàn)曲線描繪、數(shù)據(jù)存儲和USB通信;控制接口電路邏輯部分采用Altera的EP1C6T144實現(xiàn),設計中采用FPGA實現(xiàn)了DDS信號發(fā)生控制、數(shù)據(jù)采集控制、鍵盤掃描、增益控制以及顯示控制;掃頻信號產(chǎn)生與輸出部分包括信號產(chǎn)生部分和輸出增益控制部分,信號產(chǎn)生部分產(chǎn)生兩路I、Q信號,其中I路信號用來實現(xiàn)相位測量,Q路經(jīng)增益調(diào)節(jié)后得到所需測量輸出信號;幅度與相位檢測部分將信號的幅度與相位信息轉(zhuǎn)換為對應的電壓信號;數(shù)據(jù)采集部分通過采集信號幅度和相位對應的電壓值將幅度與相位信息轉(zhuǎn)換為數(shù)字信息,F(xiàn)PGA將采集到的數(shù)據(jù)通過SPI口送入DSP處理后得到幅度與相位曲線。
1.2 USB接口電路設計
Philips生產(chǎn)的ISP1362提供兩個USB端口,端口1通過軟件配置可用作上行、下行或OTG端口,若以OTG模式進行配置,ISP1362既可做主機又可做外設,并支持主機與外設之間角色轉(zhuǎn)換的主機通信協(xié)議HNP(Host Negotiation Protocol)和對話請求協(xié)議SRP(Session Request Protocol)。ISP作為主機使用時,能夠關(guān)閉VBUS以響應SRP,而作為外設使用時,能夠啟動SRP以喚醒主機。設計中BF532通過EBIU接口與ISP1362連接,引出Host和OTG接口,OTG接口又分成一個Host接口和一個Device接口,供接USB外設使用。如圖2所示,其中CPLD為該模塊提供基地址。DSP通過向CPLD寄存器讀入狀態(tài)字或?qū)懭肟刂谱謱⒓拇嫫鞯牡刂酚成湓贒SP的I/O空間,通過訪問CPLD中相應的寄存器,可實現(xiàn)對ISP1362狀態(tài)查詢和控制。
作為外設控制器(DC)時,ISP1362支持兩個控制端點,還能以全速12 Mbit·s-1和低速1.5 Mbit·s-1將多達14個端點編程為任何4種傳輸類型,并為每個端點分配片上緩沖RAM空間,緩沖存儲器獨立于主機控制器緩沖存儲器,當緩沖存儲器溢出,DC將數(shù)據(jù)傳輸?shù)経SB總線上,當緩沖存儲器是空的,產(chǎn)生一個中斷通知微處理器提供數(shù)據(jù)。這里提到的微處理器和DC之間數(shù)據(jù)的傳輸可以是PIO(Programming Input/Out put)模式或者DMA(Direct Memory Access)模式。設計中ISP1362與ADSP-BF532之間采用中斷方式進行通信,設計中所需傳輸數(shù)據(jù)量大,且對傳輸時間和速率均無具體要求,因此采用塊傳輸(ATL)方式傳輸數(shù)據(jù),ISP1362的設備控制器內(nèi)置了一個2 462 Byte的緩沖存儲器,這里將端點1配置成雙緩沖,每個緩沖大小為256 Byte。當傳輸準備就緒時,DSP將數(shù)據(jù)寫入其中一個緩存,當緩存被寫滿時,數(shù)據(jù)通過SIE傳輸給計算機,傳輸同時DSP向另一個緩存寫數(shù)據(jù)。當緩存中的數(shù)據(jù)被完全讀取后,DSP會繼續(xù)向緩存中寫數(shù)據(jù)寫滿為止。圖3給出ISP1362外圍電路設計,前面提到為方便后續(xù)升級,硬件上配置為OTG模式,OTG規(guī)范是對USB2.0規(guī)范的補充,允許便攜式設備成為受限的USB主機,以代替特定功能的PC。
2 軟件設計
USB接口的軟件設計主要包括USB接口的固件程序、USB驅(qū)動程序以及用戶應用程序3部分,底層固件程序控制整個硬件系統(tǒng)的運行,并負責處理PC機發(fā)來的各種USB請求,以完成數(shù)據(jù)傳輸;驅(qū)動程序包含WDM(Windows Driver Mode)驅(qū)動程序所需的入口例程、即插即用例程、分發(fā)例程、電源管理例程和卸載例程;應用程序為用戶提供與軟面板的接口,并對接收到的數(shù)據(jù)進行處理和分析。
2.1 底層固件程序設計
設計中采用VisualDSP++5.0平臺設計底層同件程序。該固件程序包含cpu.c,文件實現(xiàn)了ADSP-BF532一些常用的初始化函數(shù);usb_bfi nit.c實現(xiàn)了USB工作下ADSP_BF532的一些常用初始化函數(shù);usb_isp1362.c實現(xiàn)了USB的通信功能;main.c實現(xiàn)了具體的傳輸功能,當DSP檢測到ISP1362產(chǎn)生的中斷時,根據(jù)計算機發(fā)送的命令進入相應的傳輸程序,控制isp1362的設備功能向計算機傳輸數(shù)據(jù)。頭文件實現(xiàn)對isp 1362的寄存器和各種控制命令進行定義。
2.2 設備驅(qū)動程序設計
USB驅(qū)動程序是基于WDM的內(nèi)核程序,驅(qū)動程序由運行于內(nèi)核模式的系統(tǒng)級代碼組成。USB系統(tǒng)驅(qū)動程序包括USB設備驅(qū)動程序,USB總線驅(qū)動程序和USB主控制器驅(qū)動程序,Windows操作系統(tǒng)中嵌入了USB總線驅(qū)動程序、USB主控制器驅(qū)動程序以及通用的USB設備驅(qū)動程序,如U盤、USB接口的其他數(shù)碼設備等。設計的USB設備是特殊功能的設備,Windows操作系統(tǒng)中通用的設備驅(qū)動程序不支持其運行,因此需要編寫特定的設備驅(qū)動程序。設計中采用Visual Studio C++.NET+Windows XP DDK+DriverStudio 3.2綜合平臺進行本設備驅(qū)動程序設計,運用Driv erWizard生成驅(qū)動程序的基本框架,該驅(qū)動程序框架包含了幾個基本類,然后在VC集成環(huán)境下修改有關(guān)程序,增加相關(guān)的具體操作代碼以完成應用程序和驅(qū)動程序之間的信息交換,包括驅(qū)動入口例程、加載設備和卸載驅(qū)動例程,設備的枚舉、打開、讀寫、關(guān)閉設備和入口端點等函數(shù)設計。
2.3 應用程序設計
應用程序設計運用NI的Lab Windows CVI9.0開發(fā)平臺設計,該程序主要完成以下幾方面功能:(1)與下位機進行數(shù)據(jù)交換,讀取下位機所采集到的點數(shù)據(jù)并將其以圖像的形式實時顯示。并且可對顯示的圖像進行移位、參考點選擇、頻率標記、相關(guān)參數(shù)計算等功能。(2)將下位機的參數(shù)設置信息以.dat文件的形式保存,在需要時可調(diào)用保存的設置信息對下位機進行參數(shù)設置與控制。還可將下位機顯示的波形文件以及相關(guān)的參數(shù)以word形式保存。(3)用戶界面模擬下位機儀器的操作面板進行設計,如圖4所示。界面分為6個區(qū)域,包括參數(shù)設定區(qū)域、測量功能設置、系統(tǒng)設置、信號源設置、圖形顯示界面以及相關(guān)參數(shù)顯示區(qū)域。參數(shù)設定區(qū)域主要用于設置頻率參數(shù)、參考電平、輸入輸出阻抗等;測量功能設置;系統(tǒng)設置包括系統(tǒng)復位設置、接口與之間設置、幅度與相位校正設定以及存儲設定;信號源設定頻率參數(shù)帶寬、幅頻與相頻測量開關(guān)、顯示刻度與參考位置設定;圖形顯示主要是將采集到的點數(shù)據(jù)以圖形的形式連續(xù)顯示以及頻標等標記符號顯示;相關(guān)參數(shù)顯示區(qū)域顯示圖形的顯示格式與顯示方式,輸出電平與輸出狀態(tài),中心頻率及掃描帶寬、顯示刻度與參考電平;點擊相應按鈕可對下位機進行相應操作,即用主機來控制下位機工作。
3 結(jié)束語
從硬件和軟件兩方面對數(shù)字合成掃頻儀的USB接口設計進行了論述,具有結(jié)構(gòu)簡單、傳輸數(shù)據(jù)量大、操作方便、設計靈活且易于升級的特點。USB接口的設計硬件配置為OTG模式,方便數(shù)字合成掃頻儀作為Host和其他USB設備進行通信,如U盤等存儲設備,更為方便地存儲經(jīng)DSP處理后的數(shù)據(jù)。經(jīng)測試與實驗表明,基于ISP1362設計的USB接口能夠使數(shù)字合成掃頻儀穩(wěn)定、準確的傳輸數(shù)據(jù),且能同步進行數(shù)據(jù)上傳和下傳,滿足設計需求。