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

        ?

        基于CY7C68013A的并口轉(zhuǎn)USB口數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

        2011-10-09 09:46:16代月松董力科孫正席陳昌鑫
        電子設(shè)計(jì)工程 2011年16期
        關(guān)鍵詞:單片機(jī)設(shè)備系統(tǒng)

        代月松,董力科,孫正席,陳昌鑫

        (中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)

        USB是英文Universal Serial Bus的縮寫(xiě),中文含義是“通用串行總線(xiàn)”。它是一種應(yīng)用在PC領(lǐng)域的接口技術(shù)。USB以其可以熱插拔和即插即用的特性,獲得廣泛的市場(chǎng)認(rèn)可。USB1.0標(biāo)準(zhǔn)于1996年1月提出,傳輸速度為1.5 Mb/s的低速模式;1998年9月提出的USB1.1標(biāo)準(zhǔn)則將速度提高到12 Mb/s的全速模式,并且增加了中斷傳輸?shù)膫鬏敺绞健SB2.0標(biāo)準(zhǔn)于2000年4月提出,將傳輸速度提高了40倍,達(dá)到了480 Mb/s的高速模式,足以滿(mǎn)足大多數(shù)外設(shè)的速率要求[1]。

        1 系統(tǒng)硬件電路設(shè)計(jì)

        1.1 系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)流程

        系統(tǒng)的硬件設(shè)計(jì)原理框圖如圖1所示,硬件電路部分主要包含電源轉(zhuǎn)換、數(shù)據(jù)傳輸接口電路、并轉(zhuǎn)串電路、程序存儲(chǔ)部分等4個(gè)部分。

        本系統(tǒng)采用具有微處理器的USB接口CY7C68013A,工作過(guò)程:系統(tǒng)接入計(jì)算機(jī),系統(tǒng)上電,單片機(jī)從外接EEPROM中下載程序,初始化自身的寄存器,并且設(shè)置外圍電路狀態(tài),計(jì)算機(jī)識(shí)別USB設(shè)備后,客戶(hù)軟件將要確認(rèn)打開(kāi)USB設(shè)備以及工作狀態(tài),由計(jì)算機(jī)發(fā)出讀數(shù)請(qǐng)求和參數(shù)設(shè)置請(qǐng)求,二者是相互獨(dú)立進(jìn)行的,就可以完成PC機(jī)和測(cè)試系統(tǒng)之間的數(shù)據(jù)交換工作,這些都需要單片機(jī)固件和硬件電路的配合。

        圖1 系統(tǒng)總體設(shè)計(jì)圖Fig.1 Whole system design diagram

        1.2 USB主控制器介紹

        Cypress公司生產(chǎn)的EZ-USB FX2 CY7C68013A集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強(qiáng)的8051微控制器可編程的外圍接口。CY7C68013A可提供480 Mb/s的傳輸率。CY7C68013A的內(nèi)部FIFO緩沖區(qū)中有4個(gè)端點(diǎn),可以通過(guò)配置相應(yīng)的EPxFIFOCFG寄存器配置為2倍、3倍、4倍緩沖區(qū),這種設(shè)計(jì)可以把數(shù)據(jù)包可用的時(shí)間延時(shí)減至最小,從而增加帶寬的吞吐量。該芯片有3種工作模式,分別為普通端口模式、GPIF主控模式、和從屬FIFO模式[2]。

        2 軟件設(shè)計(jì)

        2.1 GPIF接口模式

        本設(shè)計(jì)采用GPIF主控模式,GPIF作為CY7C68013A端點(diǎn)FIFO的主控制器。在普通端口模式下,所有I/O引腳都可作為8051的通用I/O口。在“從FIFO”模式下,外部邏輯或外部處理器直接與FX2端點(diǎn)FIFO相連。在這種模式下,GPIF不被激活,外部主控端既可以是異步方式,也可以是同步方式,并可以為FX2接口提供自己的獨(dú)立時(shí)鐘。GPIF主控模式是在高速傳輸?shù)倪^(guò)程中,8051內(nèi)核不介入傳輸通道,并行數(shù)據(jù)的讀入和打包全部由硬件完成。在GPIF配置這些硬件時(shí),Cypress公司有個(gè)獨(dú)特的設(shè)計(jì)構(gòu)想,8051僅用來(lái)配置波形描述符,配置完成后,8051退出數(shù)據(jù)傳輸通路,GPIF通過(guò)讀入的波形描述符,在相應(yīng)引腳上產(chǎn)生一系列信號(hào),包括控制信號(hào)和讀寫(xiě)數(shù)據(jù)總線(xiàn)的信號(hào)。為了提高數(shù)據(jù)傳輸速率,讀取數(shù)據(jù)時(shí)的傳輸類(lèi)型使用批量傳輸方式。USB規(guī)范限定了批量傳輸?shù)臄?shù)據(jù)包長(zhǎng)度:對(duì)于USB1.1規(guī)范,數(shù)據(jù)包長(zhǎng)度為最大64字節(jié),而USB2.0規(guī)范,數(shù)據(jù)包長(zhǎng)度只能為512字節(jié)。就是說(shuō)在USB1.1主機(jī)控制下,在讀取數(shù)據(jù)時(shí)一次最大能讀取64字節(jié)數(shù)據(jù),在USB2.0主機(jī)控制下,在讀取數(shù)據(jù)時(shí)一次只能讀取512字節(jié)數(shù)據(jù)。具體讀取數(shù)據(jù)時(shí)GPIF方式的啟動(dòng)次數(shù)將與數(shù)據(jù)讀寫(xiě)量結(jié)合計(jì)算得到,并且由上位機(jī)程序和單片機(jī)固件配合使用[3]。

        2.2 固件程序設(shè)計(jì)

        固件是指存儲(chǔ)在USB接口芯片或微控器中的代碼,于控制硬件系統(tǒng)運(yùn)行,各種USB標(biāo)準(zhǔn)請(qǐng)求的處理,以及USB閑置模式的電源管理服務(wù),實(shí)現(xiàn)主機(jī)與外設(shè)之間的通信和數(shù)據(jù)傳輸。固件程序采用C51語(yǔ)言來(lái)編程,使用Keil軟件作為編程工具[4]。Cypress公司為FX2固件開(kāi)發(fā)提供了一個(gè)固件庫(kù)和固件框架,固件庫(kù)提供了一些常量、數(shù)據(jù)結(jié)構(gòu)、函數(shù)來(lái)方便用戶(hù)對(duì)芯片的使用。C語(yǔ)言環(huán)境,同時(shí)保留了匯編代碼高效、快速的特點(diǎn),代碼在Keil軟件中編譯通過(guò)后,將固件代碼下載到FX2中,就可以實(shí)現(xiàn)GPIF多字節(jié)讀等操作。

        固件程序框架流程圖如圖2所示。

        復(fù)位上電時(shí),固件先初始化一些全局變量,接著調(diào)用初始化任務(wù)調(diào)度函數(shù)TD_INIT(),開(kāi)中斷,等待設(shè)備重枚舉完成(端點(diǎn)0接收到SETUP包),最后進(jìn)入循環(huán)語(yǔ)句,執(zhí)行任務(wù)調(diào)度,函數(shù)包括:

        1)TD_Poll( )任務(wù)調(diào)度函數(shù)。

        2)如果發(fā)現(xiàn)USB控制請(qǐng)求則執(zhí)行。

        3)如果發(fā)現(xiàn)USB空閑置位,則調(diào)用TD_Suspend(),函數(shù)執(zhí)行成功則將內(nèi)核掛起,直到出現(xiàn)USB遠(yuǎn)程喚醒信號(hào),調(diào)用TD_Resume( ),喚醒內(nèi)核。

        2.3 GPIF波形圖

        GPIF波形設(shè)計(jì)是CY7C68013A的最核心特點(diǎn)之一。根據(jù)測(cè)試系統(tǒng)的讀數(shù)時(shí)序要求,采用GPIF Designer工具設(shè)計(jì)時(shí)序波形,其時(shí)序信號(hào)具有很好的編程分辨率,并且導(dǎo)出生成 .c文件加載到單片機(jī)固件中。

        圖2 固件程序框架流程圖Fig.2 Flow chart of firmware framework

        下面根據(jù)并口擦除時(shí)序?yàn)槔肎PIF Designer畫(huà)出相應(yīng)的波形圖。如圖3所示。

        圖3 并口擦除過(guò)程時(shí)序波形設(shè)計(jì)圖Fig.3 Waveform design of parallel erase process timing

        S0~S3狀態(tài)ERE始終為高,ERET始終為低,外圍測(cè)試系統(tǒng)單片機(jī)接收到這兩個(gè)信號(hào)同時(shí)滿(mǎn)足的話(huà)則擦除開(kāi)始,擦除過(guò)程中READY信號(hào)一直為低,擦除完畢后變高。這里S4也設(shè)置了判斷點(diǎn)檢測(cè)READY信號(hào),如果為高就到IDLE狀態(tài)結(jié)束擦除,否則回到S3繼續(xù)執(zhí)行前面的工作。

        2.4 USB驅(qū)動(dòng)程序設(shè)計(jì)

        USB系統(tǒng)驅(qū)動(dòng)程序由3部分組成:USB設(shè)備驅(qū)動(dòng)程序、USB總線(xiàn)驅(qū)動(dòng)程序和USB主控制器驅(qū)動(dòng)程序。其中,Windows操作系統(tǒng)已經(jīng)提供了處于驅(qū)動(dòng)程序棧底的USB總線(xiàn)驅(qū)動(dòng)程序和USB主控制器驅(qū)動(dòng)程序;而USB設(shè)備驅(qū)動(dòng)程序由設(shè)備開(kāi)發(fā)者編寫(xiě),通過(guò)向USB總線(xiàn)驅(qū)動(dòng)程序發(fā)送包含URB(USB Request Block)的 IRP(I/O RequestPacket),以實(shí)現(xiàn) USB 外設(shè)之間的信息交換。本系統(tǒng)的USB通用驅(qū)動(dòng)程序采用Cypress公司提供的通用驅(qū)動(dòng)ezusb.sys,固件下載驅(qū)動(dòng)程序可以根據(jù)編譯好的固件在DDK的環(huán)境下編譯生成[5]。

        主機(jī)加載USB驅(qū)動(dòng)程序是要先通過(guò)讀取USB設(shè)備的VID和PID,然后才能正確識(shí)別并加載的。為了使設(shè)備驅(qū)動(dòng)程序能夠正確加載運(yùn)行,還必須為它配備一個(gè)安裝信息文件即.inf文件。Windows系統(tǒng)使用該.inf文件將USB外設(shè)的VID&PID(固件下載時(shí)由EEPROM或EZ-USB內(nèi)核提供,重枚舉后由固件程序描述符表提供)與相應(yīng)的驅(qū)動(dòng)程序綁定到一起。這樣,系統(tǒng)在知道了USB外設(shè)的VID&PID后就可以通過(guò)存儲(chǔ)在.inf文件中的信息查找到正確的驅(qū)動(dòng)程序并加載。

        用戶(hù)應(yīng)用程序通過(guò)I/O控制調(diào)用訪問(wèn)USB設(shè)備驅(qū)動(dòng)程序達(dá)到控制USB設(shè)備的目的,應(yīng)用程序首先通過(guò)調(diào)用Win32函數(shù)CreateFile()來(lái)取得訪問(wèn)設(shè)備驅(qū)動(dòng)程序的句柄,再利用Win32函數(shù)DeviceIoControl()對(duì)設(shè)備進(jìn)行I/O控制[6]。

        2.5 應(yīng)用程序的設(shè)計(jì)

        系統(tǒng)的應(yīng)用程序界面如圖4所示。

        圖4 系統(tǒng)應(yīng)用程序界面Fig.4 Interface of system application programming

        客戶(hù)應(yīng)用程是測(cè)試系統(tǒng)軟件的核心,由Visual Basic來(lái)編寫(xiě)完成,其對(duì)USB設(shè)備的操作功能為:開(kāi)啟或關(guān)閉USB設(shè)備、檢測(cè)USB設(shè)備、設(shè)置USB數(shù)據(jù)傳輸管道、設(shè)置數(shù)據(jù)端口的初始狀態(tài)、通過(guò)USB接口回傳數(shù)據(jù)、存儲(chǔ)、顯示并分析數(shù)據(jù)。因此,應(yīng)用程序要調(diào)用動(dòng)態(tài)鏈接庫(kù)DLL68013.d11中封裝的 API函數(shù)。首先要將 DLL68013.dll拷貝到系統(tǒng)盤(pán)的“C:Windows\System”下面,然后在 Visual Basic的集成編程環(huán)境下的模塊Module1中聲明引用動(dòng)態(tài)連接庫(kù) DLL68013.dll中的API函數(shù)。

        動(dòng)態(tài)鏈接庫(kù)文件的使用,需要在應(yīng)用程序的全局變量定義模塊中顯式調(diào)用.dll文件應(yīng)用程序會(huì)在其所在目錄和系統(tǒng)目錄下查找.dll文件。在聲明過(guò)程中需要注意數(shù)據(jù)類(lèi)型的匹配問(wèn)題。

        3 系統(tǒng)測(cè)試

        系統(tǒng)連接外設(shè)進(jìn)行測(cè)試記錄各階段波形,采用Bus Hound實(shí)時(shí)記錄總線(xiàn)狀態(tài)變化,查看VB讀數(shù)軟件中的數(shù)據(jù)文件,得到的數(shù)據(jù)正確。并用原并口進(jìn)行相應(yīng)測(cè)試記錄各階段波形,對(duì)比兩次波形發(fā)現(xiàn)基本吻合,從而驗(yàn)證了數(shù)據(jù)傳輸?shù)恼_性。

        4 結(jié) 論

        利用CY7C68013A完成了采用GPIF模式的并口轉(zhuǎn)USB的數(shù)據(jù)傳輸模塊的硬件和軟件設(shè)計(jì)。多次實(shí)驗(yàn)證明,此系統(tǒng)運(yùn)行穩(wěn)定,能夠滿(mǎn)足目前舊測(cè)試系統(tǒng)并口轉(zhuǎn)USB口的需求。另外,試驗(yàn)中實(shí)際的傳輸速率120 Mb/s,大大提高了原測(cè)試系統(tǒng)的傳輸速率。

        [1]周立功.USB2.0與OTG規(guī)范及開(kāi)發(fā)指南[M].北京:北京航空航天大學(xué)出版社,2004.

        [2]錢(qián)峰.EZ-USB FX2單片機(jī)原理、編程及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2005.

        [3]張念淮,江浩.USB總線(xiàn)接口開(kāi)發(fā)指南[z].北京:國(guó)防工業(yè)出版社,2001.

        [4]李英偉,王成儒,練秋生,等.USB2.0原理與工程開(kāi)發(fā)[M].第2版.北京:國(guó)防工業(yè)出版社,2007.

        [5]EZ-USB Fx2 technical reference manual version2.0[S].Cypress Semionductor Corp data book,2001.

        [6]張弘.USB接口設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2002.

        猜你喜歡
        單片機(jī)設(shè)備系統(tǒng)
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測(cè)量?jī)x
        電子制作(2019年9期)2019-05-30 09:42:02
        基于MPU6050簡(jiǎn)單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        亚洲av中文无码乱人伦在线r▽| 狠狠爱婷婷网五月天久久| 伊人久久大香线蕉午夜av| 日本无码人妻波多野结衣| 日本成人一区二区三区| 人妻丰满少妇一二三区| 国产三级黄色大片在线免费看| 影音先锋色小姐| 在线播放国产一区二区三区| 久久99久久99精品观看| 中文字幕亚洲一区二区三区| 领导边摸边吃奶边做爽在线观看| 在线亚洲人成电影网站色www| 日韩在线精品在线观看| 国产三级av在线精品| 欧美性生交活xxxxxdddd| 国产成人久久精品77777综合| 成人永久福利在线观看不卡| 蜜桃在线视频一区二区| 无码av中文一区二区三区桃花岛| 久久午夜无码鲁丝片直播午夜精品| 久久亚洲国产成人精品v| 久久久大少妇免费高潮特黄| 国产欧美亚洲精品第一页| 久久久久无码国产精品不卡| 青青青草国产熟女大香蕉| 99久久精品一区二区国产| 国产激情久久久久久熟女老人av| 精品88久久久久88久久久| 午夜精品一区二区久久做老熟女| 亚洲最近中文字幕在线 | 暖暖视频在线观看免费| 韩国精品一区二区三区| 精品国产a毛片久久久av| 在线观看免费无码专区| 最新亚洲av日韩av二区| 中文字幕日本女优在线观看| 国产人妻熟女呻吟在线观看| 亚洲一区二区三区中文字幂| 国产在线精品福利大全| 国产日产韩国级片网站|