亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于EZ-USB FX2的數(shù)據(jù)傳輸系統(tǒng)研究

        2006-12-31 00:00:00張君安肖李敏
        電子產(chǎn)品世界 2006年22期

        摘要:本文介紹了以高性能的USB2.0芯片CY7C68013為核心的EZ-USB FX2微處理器,以及以MAX1198為核心的A/D采樣芯片構(gòu)成的高速數(shù)據(jù)采集和傳輸系統(tǒng),論述了系統(tǒng)硬件的結(jié)構(gòu),給出了應(yīng)用程序流程圖和實現(xiàn)方案。

        關(guān)鍵詞:EZ-USB FX2;CY7C68013;MAX1198;USB2.0;信號傳輸

        引言

        UWB(ultra wideband)雷達(dá)在探測隱身目標(biāo),人體皮下組織,目標(biāo)識別、目標(biāo)精細(xì)成像等方面都具有優(yōu)良的性能。通過UWB雷達(dá)零中頻信號實時采集和傳輸系統(tǒng),獲取的數(shù)據(jù)量很大,傳輸速度要求高,因此,對于傳輸線路的帶寬以及系統(tǒng)的硬件資源提出了較高的要求。本文探討了以高性能的CY7C68013芯片為核心的EZ-USBFX2微處理器,以及以MAX1198為核心的A/D采樣卡實現(xiàn)高速數(shù)據(jù)的采集和傳輸系統(tǒng)的設(shè)計和應(yīng)用。

        系統(tǒng)硬件電路

        系統(tǒng)硬件電路結(jié)構(gòu)如圖1所示。UWB脈沖雷達(dá)信號在進入A/D轉(zhuǎn)換電路以前,要進行限幅、降壓、濾波和增加輸入阻抗等措施以保護后端的A/D采樣芯片。

        A/D轉(zhuǎn)換電路

        經(jīng)過調(diào)理后的信號進入模/數(shù)轉(zhuǎn)換電路,高速A/D芯片選用美國MAXIM公司的MAXl 198。MAXl 198是3.3V、雙通道的8位模數(shù)轉(zhuǎn)換器(ADC),具備全差分寬帶跟蹤/保持(T/H)輸入,驅(qū)動2路ADC[32]。同時還具有并行、CMOS兼容的三態(tài)輸出。通過單個控制引腳,數(shù)字輸出格式可以選擇為二進制補碼或直接偏移二進制碼。

        在信號采集系統(tǒng)設(shè)計中,MAX1198的模擬信號輸入采用了差分輸入驅(qū)動方式。MAX1198的模擬信號差分輸入方式同時使用1NA+和1NA一,1NB+和1NB一引腳。MAX1198提供的三種參考模式中選擇了內(nèi)部參考模式。

        系統(tǒng)主控電路

        主控電路采用集成了USB2.0收發(fā)器的微處理器EZ-USB FX2。該處理器是基于USB2.0總線控制器,包含標(biāo)準(zhǔn)的MCS51外設(shè)模塊和USB模塊,具有加強的8051內(nèi)核性能、集成度高、方便靈活的軟配置以及便捷的軟件開發(fā)工具等主要特性。

        在主控電路設(shè)計中,使用CPLD控制ADC以及FIFO的時序、控制ADC的啟動與停止和查詢ADC的狀態(tài)等。CY7C68013控制MAX1198進行間隔采樣,然后把結(jié)果傳送到FIFO中,當(dāng)采集到一定量的數(shù)據(jù)后,CY7C68013將數(shù)據(jù)打包通過USB總線傳到PC,由高級應(yīng)用程序進行數(shù)據(jù)處理。上電時805l程序從內(nèi)部RAM中開始運行,從外部EEPROM中加載程序。USB啟動后,內(nèi)部邏輯會檢查連接到I2c總線上的EEROM中的第一個字節(jié)(OxCO或0 xc 2)。如果是0 x C O,就會使用EEPROM中的VID/PID/DID來替代內(nèi)部存儲值;如果是OxC2,內(nèi)部邏輯就會把EEPROM中的內(nèi)容裝入到內(nèi)部RAM中;如果沒有檢查到EEPROM,F(xiàn)X2就會使用內(nèi)部存儲的描述符來枚舉。FX2缺省的VID/PID/DID是0x0484/0x8613/Oxxxyy。

        接口電路

        MAX1198與CY7C68013的接口設(shè)計通過一個外接FIFO存儲器來實現(xiàn)與CY7C680 1 3的連接以保持?jǐn)?shù)據(jù)采集的連續(xù)性,F(xiàn)IFO主要起著高速數(shù)據(jù)緩沖的作用。這些端點FIFO系統(tǒng)提供了通用時序信號,握手信號(滿、空、可編程),讀寫選通,輸出使能等。另外其內(nèi)部還提供了一個用于控制FIFO存儲器的通用可編程接口( GPIF,Ge neral Programme Interface),在FX2連接到不包含標(biāo)準(zhǔn)FIFO接口的外部邏輯單元時,可以用作一個內(nèi)部主機。

        系統(tǒng)應(yīng)用程序設(shè)計

        系統(tǒng)應(yīng)用程序主要功能有:開啟或關(guān)閉USB設(shè)備、檢測USB設(shè)備、設(shè)置A/D狀態(tài)、啟動數(shù)據(jù)采集、顯示并保存采集的數(shù)據(jù)、測試速度等。應(yīng)用程序主框圖如圖2所示:

        應(yīng)用程序設(shè)計由動態(tài)鏈接庫DLL(Dynamic Link Libraries)和客戶端程序組成。

        1動態(tài)鏈接庫DLL(Dynamm’LinkLibraries)

        負(fù)責(zé)與內(nèi)核態(tài)的USB功能驅(qū)動程序通信并接收應(yīng)用程序的各種操作請求。動

        態(tài)鏈接庫中定義有兩種函數(shù):導(dǎo)出函數(shù)(Export function)和內(nèi)部函數(shù)fIntemal function),導(dǎo)出函數(shù)可以被其他模塊調(diào)用,內(nèi)部函數(shù)只能在DLL內(nèi)部使用。我們在用c++定制DLL文件時,需要編寫的就是包含導(dǎo)出函數(shù)表的模塊定義文件[.DEF]和實現(xiàn)導(dǎo)出函數(shù)功能的c++文件。

        定義文件d11.def源代碼如下所示:

        LIBRARY“dllu”//DLL庫的名稱為dllu.1ib,

        DESCRIPTION’my d11’//IDLL庫的描述為“my dll”

        EXPORTS//定義導(dǎo)出函數(shù)

        opendevice//打開設(shè)備函數(shù)

        closedevice//關(guān)閉設(shè)備函數(shù)

        ReadLocation//從設(shè)備讀取數(shù)據(jù)

        WriteLocation//向設(shè)備寫入數(shù)據(jù)

        test //速度測試函數(shù)

        客戶端程序

        負(fù)責(zé)對所采集的數(shù)據(jù)進行實時顯示。包括:

        (1)客戶端軟件與USB設(shè)備連接

        客戶端軟件與USB設(shè)備的連接實際上是與WDM設(shè)備驅(qū)動程序的連接。在客戶軟件中通過調(diào)用CreateFile()函數(shù)可建立客戶軟件與WDM設(shè)備驅(qū)動程序的連接。CreateFile()函數(shù)屬于windows應(yīng)用程序接口(API,Application Programming Interface),當(dāng)客戶軟件調(diào)用CreateFile()函數(shù)時,操作系統(tǒng)將按照一定的路徑查找并加載所需的動態(tài)鏈接庫,實現(xiàn)與設(shè)備驅(qū)動程序的連接成功調(diào)用,隨后CreateFil()函數(shù)就會返回代表其所連接設(shè)備的設(shè)備句柄,通過所得到設(shè)備句柄可以實現(xiàn)對設(shè)備的控制。

        (2)I/O控制函數(shù)

        DeviceloControl()函數(shù)可以在客戶軟件程序中實現(xiàn)設(shè)備的I/O控制,驅(qū)動程序根據(jù)I/O控制命令來決定該如何獲取應(yīng)用程序的緩沖器地址。I/O控制命令中的數(shù)據(jù)訪問方式的定義有M E T H 0 D—B U F F E R E D.M E T H O D—I N—D I R E C T,METHOC一0UT—DIRECT或METHOD_NEITHER:

        DeviceloControl()函數(shù)主體如下:

        BOOL DeviceloControl (HANDLEhDevice, //設(shè)備句柄

        DWORD dwloControlCode, //NO控制代碼IOCTL

        LPVOID lpInBufer,//緩沖區(qū)

        DWORD nlnBuferSize,//緩沖區(qū)大小

        LPVOID IpOutBufer,//緩沖區(qū)

        DWORD nOutBuferSize,//緩沖區(qū)大小

        LPDWORD JpB)rtesRetumed.

        LPOVERLAPPED IpOverlapped);

        (3)塊輸入輸出函數(shù)

        CreateEvent()可以控制設(shè)備自動從它的塊輸入端點返回,并從它的塊輸出端點接收任意字節(jié)。

        CCyUSBDevice*USBDevice=newCCyUSBDevice(Handle);

        OVERLAPPED outOvLap,inOvLap;

        O u t 0 V L a p.h E v e n t

        =CreateEvent(NULL,1,1,“CYUSB—0UT”);//塊輸出

        i n 0 v L a p.h E v e n t

        =CreateEvent(NULL,1,1,“CYUSB_IN”);//塊輸入

        char inBuf[l28];

        ZeroMemory(inBuf,128);

        char buffer[128];

        LONG length=128:

        (4)客戶端程序初始化

        BOOL CWzylApp::InitInstance()

        {

        XferThread=NULL;

        USBDevice--new CCyUSBDevice0;

        AfxEnableControlContaine();

        //初始化定義字段

        #ifdef—AFXDLL

        Enable3dControls(); //使用MFC時在一個共享的DLL中調(diào)用該控制函數(shù)

        #else

        Enable3dControlsStatic();//連接到靜態(tài)MFC時調(diào)用該函數(shù)

        #endif

        }

        (5)USB數(shù)據(jù)傳輸

        USB進行數(shù)據(jù)傳輸時,采用塊傳輸模式,輸入管道為管道0,讀取的數(shù)據(jù)先

        保存到緩沖區(qū)再顯示在PC機上。

        for(i-O;i<16Ii++)

        btc.pipeNum=0;//設(shè)置輸入管道為管道0

        bResult=DeviceloControl(hDevice,//引用所獲得的設(shè)備句柄

        IOCTL—EZUSB BULK READ,//定義傳輸方式為塊傳輸方式

        btc,

        sizeof(BULK TRANSFERCONTROL),

        mBufer,//讀取的數(shù)據(jù)段保存到mBufer由

        64,//每段數(shù)據(jù)長度為64字節(jié)

        結(jié)語

        本文提出了一種基于EZ-USB FX2微處理器和MAXl 198 A/D采樣芯片的數(shù)據(jù)采集系統(tǒng)設(shè)計方案,經(jīng)過實驗測定,在塊傳輸方式下實現(xiàn)了最高48MHz的數(shù)據(jù)采樣速率,滿足了系統(tǒng)設(shè)計的基本要求。C51語言結(jié)合CPLD的軟配置方案便于系統(tǒng)軟件的升級和維護。與微機接口部分設(shè)計嚴(yán)格遵守usb2.0協(xié)議,具有一定的通用性,對于一般基于usb的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計具有一定的應(yīng)用參考價值。

        參考文獻(xiàn):

        1.Microsoft Coration.Windows 2000 Driver Development Kit Documentation[EB/oL].2 0 0 0.O 6.2 8 h ct D://www.microsoft.com,ddk。

        2.EZ-USB Series 2200 TechnicalReference Manual,http://www.cypress.com.

        3.Max1198 datasheet.http://ITlsxim.com,Rev0,2002,4.

        4.許永和,‘USB外圍設(shè)備設(shè)計與應(yīng)用,’北京:北京航空航天大學(xué)出版社.2002.

        黑人免费一区二区三区| 吃奶呻吟打开双腿做受视频| 天堂国精产品2023年| 欧美日韩性视频| 青青草国内视频在线观看| 日韩一级黄色片一区二区三区| 少妇愉情理伦片高潮日本| 性夜夜春夜夜爽aa片a| 国产一区二区内射最近人| 亚洲国产精品悠悠久久琪琪| 亚洲乱亚洲乱妇无码麻豆| a国产一区二区免费入口| 国产欧美亚洲精品第二区首页| 日韩人妖干女同二区三区| 国产69久久精品成人看| 色一情一区二| 久久久久久人妻一区二区无码Av| 国产成人精品一区二区三区av| 潮喷失禁大喷水aⅴ无码| av无码精品一区二区三区四区| 国产一级做a爱视频在线| 开心久久婷婷综合中文字幕| 亚洲av综合a色av中文| 中文字幕在线免费| 午夜日本理论片最新片| 末成年人av一区二区| 亚洲伊人成综合网| 久久久久久无中无码| 一区二区午夜视频在线观看| 亚洲国产精品无码久久| 巨大欧美黑人xxxxbbbb| 亚洲中文字幕人妻诱惑| 亚洲中文字幕舔尻av网站| 国产成人免费一区二区三区 | 凌辱人妻中文字幕一区| 国产女主播喷水视频在线观看| 韩国女主播一区二区在线观看| 白白色最新福利视频二| 少妇激情一区二区三区视频| 日本污视频| 午夜一区二区三区免费观看|