国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于USB2.0的數(shù)據(jù)采集系統(tǒng)設(shè)計

發(fā)布時間:2010-8-1 13:01    發(fā)布者:lavida
關(guān)鍵詞: 數(shù)據(jù)采集
1 USB2.0概述

USB(通用串行總線)安裝過程簡單,不必考慮資源分配,不必關(guān)掉計算機電源,易擴展(可擴充至127個外部設(shè)備)。隨著USB升級到2.0標(biāo)準(zhǔn),USB2.0總線的傳輸速度理論上可高達(dá)480 Mbit/s,不僅使USB總線完全能滿足需要大批量數(shù)據(jù)交換的外設(shè)的要求,而且使USB總線可應(yīng)用于實時信號處理系統(tǒng)。

USB總線有以下4種數(shù)據(jù)傳輸方式:

a)控制傳輸:主要用于主機把命令傳給沒備及設(shè)備把狀態(tài)返回給主機。任何一個USB設(shè)備都必須支持一個與控制傳輸類型相對應(yīng)的端點0。
b)中斷傳輸:用來支持那些偶然需要少量數(shù)據(jù)通信、但服務(wù)時間受限制的設(shè)備。
c)批量傳輸:用來傳輸大量數(shù)據(jù)而沒有周期和傳輸速率嚴(yán)格要求的設(shè)備上。
d)同步傳輸:要求恒定速率,發(fā)送方和接收方都必須保證傳輸速率的匹配,不然會造成數(shù)據(jù)的丟失。

本系統(tǒng)中需要傳輸?shù)臄?shù)據(jù)量較大,且傳輸時機受設(shè)備控制。因此采用中斷傳輸+批量傳輸?shù)脑O(shè)計方法,即PC主機起始使用中斷傳輸端點,采用中斷傳輸方式輪詢設(shè)備,如果發(fā)現(xiàn)設(shè)備有數(shù)據(jù)需要傳輸,立即轉(zhuǎn)到批量傳輸端點,在真正的數(shù)據(jù)傳輸過程中,采用批量傳輸方式傳輸數(shù)據(jù)。

2 ISP1581簡介

ISP1581是Philips公司推出的一種價格低、功能強大的USB設(shè)備接口芯片,完全符合USB2.0規(guī)范。ISP1581需外接微控制器或微處理器對它進行控制,它支持與大多數(shù)MCUDSP的連接。ISP1581的外部接口有通用處理器模式和斷開總線模式(由引腳BUS_CONF控制)。在斷開總線模式下,處理器接口使用多路復(fù)用的8位地址/數(shù)據(jù)總線AD[7..0]和單獨的DMA(直接存儲器存取)總線DATA[15..0]。本系統(tǒng)采用斷開總線模式、16位數(shù)據(jù)總線的MDMA(主機DMA)方式。

3 硬件設(shè)計

其中USB接口芯片選用ISP1581,EPLD選用EPM7128S,MCU選用的是Cygnal的c8051f120單片機。  

系統(tǒng)設(shè)計思路如下:ISP1581和MCU的連接采用斷開總線模式,數(shù)據(jù)傳輸使用MDMA模式,ISP1581的16位DMA總線與FIFO的輸出端相連,A/D模塊的16位數(shù)據(jù)輸出總線與FIFO的輸入端相連。FIFO的寫信號由定時芯片8254根據(jù)A/D采樣頻率產(chǎn)生,F(xiàn)IFO的讀信號直接由ISP1581的DIOR給出(MDMA模式下),MDMA開始傳輸信號也由8254產(chǎn)生,連接到MCU的一個中斷引腳,用于啟動MDMA。ISP1581和8254的片選信號以及8254的地址、數(shù)據(jù)、控制等信號均在EPLD內(nèi)產(chǎn)生。通過8254和EPLD的設(shè)置,可以保證FIFO讀和MDMA寫時序的配合。在本系統(tǒng)中,c8051f02x需要大量訪問ISP1581的內(nèi)部寄存器,因為c8051f系列采用數(shù)據(jù)空間和I/O空間統(tǒng)一尋址方式,必須采用full memory模式,即將ISP1581作為一個普通外設(shè)映射到c8051f02x外部存儲空間的I/O空間。  

4 固件程序設(shè)計

本系統(tǒng)的固件程序包括單片機固件編程和EPLD方程設(shè)計兩部分。單片機固件編程用于完成對ISP1581控制,處理主機發(fā)送來的一切請求,啟動MD-MA開始傳輸命令等;EPLD方程設(shè)計用于產(chǎn)生各種外設(shè)的片選等,控制MDMA傳輸及FIFO、8254等外圍芯片的時序配合。   

4.1 單片機固件編程

單片機程序處理一切由主機發(fā)送來的USB請求(包括標(biāo)準(zhǔn)請求和自定義的廠商請求),并進行相應(yīng)的數(shù)據(jù)接收和發(fā)送。本系統(tǒng)使用cygnal的e8051f系列單片機,所以相應(yīng)使用該單片機配套的silieon Labora-tories IDE集成開發(fā)環(huán)境,采用C51語言編程,使用該系列單片機配套的U-EC3仿真器,可以設(shè)斷點、在線編程、即時仿真、在線查看單片機內(nèi)部寄存器的值。因為c8051f系列采用數(shù)據(jù)空間和I/O空間統(tǒng)一尋址方式,對ISP1581所有寄存器的訪問均與單片機對普遍外設(shè)的訪問方式相同。需要指出的是,C8051f12x系列單片機速度很快(最快可以達(dá)到100 MHz),且指令較傳統(tǒng)ISP8051系列有很大優(yōu)化,大多數(shù)指令為單指令周期,這對提高DMA傳輸速度很有幫助,因為每次DMA傳輸有很多地方需要單片機的參與,具體參見下面"處理DMA請求"部分。下面重點論述使用MDMA部分的固件程序設(shè)計。

1)MDMA傳輸初始化

功能包括:
a)設(shè)置DMA配置寄存器,指定DMA傳輸?shù)臄?shù)據(jù)總線位數(shù)(本系統(tǒng)用16位數(shù)據(jù)總線)。

b)設(shè)置DMA硬件寄存器,指定DMA傳輸方式(MDMA還是GDMA)以及設(shè)置DACK、DIOW、DIOR、DREQ信號的極性。本系統(tǒng)使用MDMA方式,設(shè)置這些信號為低有效。

c)設(shè)置DMA中斷使能寄存器,激活指定中斷源。我們設(shè)置可以產(chǎn)生DMA中斷的源有內(nèi)部EOT信號和DMA傳輸結(jié)束(即DMA傳輸計數(shù)器值變?yōu)?)。需要注意的是,此處DMA中斷使能寄存器不同于ISP1581的中斷寄存器,兩者的設(shè)置方法不同。

d)設(shè)置選通時間寄存器,指定MDAMA方式下DIOW或DIOR的周期。應(yīng)在滿足ISF1581最小讀寫周期的前提下,使該周期盡可能小,這可以顯著提高DMA傳輸速度。經(jīng)測試,應(yīng)設(shè)置該寄存器的值為0x01。這部分代碼可以放在程序的起始部分,需要注意的是,在初始化ISP1581的各寄存器時,應(yīng)首先設(shè)置DMA命令寄存器為Ox11,使其處于上電復(fù)位狀態(tài)。

2)處理DMA請求

主機發(fā)送指定傳輸大小的DMA讀的廠商請求后(傳輸大小應(yīng)等于每個中斷間隔內(nèi)A/D采樣數(shù)據(jù)大小,以保證所有采樣數(shù)據(jù)不會丟失),單片機響應(yīng)該請求,進入相應(yīng)函數(shù)處理DMA請求。具體編程如下:

a)設(shè)置DMA端點寄存器,指定DMA傳輸使用的端點。需要注意,為防止DMA端點寄存器與當(dāng)前使用的端點索引寄存器相同,應(yīng)首先指定端點索引寄存器為一個與DMA端點寄存器不同的端點值。

b)設(shè)置DMA傳輸計數(shù)器寄存器,指定本次DMA傳輸?shù)淖止?jié)數(shù)。當(dāng)然,這個數(shù)越大,DMA傳輸?shù)乃俣仍娇欤P者經(jīng)過測試發(fā)現(xiàn),該數(shù)不要大于65535,否則可能MDMA傳輸會失敗。而且該數(shù)最好是512的整數(shù)倍,這可以保證沒有短包傳輸。

c)設(shè)置DMA命令寄存器為0x06(表示MDMA讀),開始MDMA傳輸。

d)程序應(yīng)循環(huán)查詢DMA中斷寄存器的值,判斷本次傳輸是否完成,如果完成,則清DMA中斷寄存器,退出循環(huán),完成本次DMA傳輸。

3)中斷程序設(shè)計

本系統(tǒng)中需要用到2個外部中斷,分別對應(yīng)2個中斷程序。第1個中斷函數(shù)用于讀出并保存當(dāng)前所有ISP1581發(fā)出的中斷的拷貝。注意,我們不僅要保存中斷寄存器的值,還要保存DMA中斷寄存器的值。需要強調(diào)的是,因為ISP1581是全中斷驅(qū)動的,所有的信息交互都通過中斷完成,PC機對ISP1581的任何操作都會引起ISP1581相應(yīng)的中斷,進而單片機通過查詢1581中斷寄存器判斷并處理中斷。第2個中斷函數(shù)是8254發(fā)給單片機的,當(dāng)完成指定周期的A/D數(shù)據(jù)采樣后,8254通過本中斷程序通知單片機啟動MD-MA開始傳輸標(biāo)識,即轉(zhuǎn)到上述"處理DMA請求"部分,讀FIFO中的數(shù)據(jù)。本系統(tǒng)設(shè)計8254每隔5 ms左右產(chǎn)生一次中斷,進行DMA傳輸。

系統(tǒng)采用中斷傳輸+批量傳輸?shù)姆椒ㄔO(shè)計中斷程序,即如果數(shù)據(jù)采集模塊有數(shù)據(jù)需要傳給主機,首先采用中斷傳輸方式傳輸數(shù)據(jù)通知主機,方法是在本段函數(shù)的起始部分通過固定的中斷傳輸端點發(fā)送8字節(jié)數(shù)據(jù)以與驅(qū)動程序部分吻合,然后使用批量傳輸端點實際傳輸數(shù)據(jù);而主機端應(yīng)用程序則不斷輪詢該中斷傳輸端點,若接收到8個字節(jié)固定格式的數(shù)據(jù),馬上采用批量傳輸方式接收數(shù)據(jù)。該方法不但利用了中斷傳輸方式的實時性(1 ms以內(nèi)),而且充分利用了批量傳輸?shù)母咚俾省H鬎IFO的讀寫和8254的時序設(shè)計得當(dāng),利用該方法,可以實現(xiàn)10 MB/s以上的數(shù)據(jù)錄入。在實驗中,我們已經(jīng)做到了8 MB/s的錄入速度。

USB驅(qū)動程序?qū)⒘砦脑斒觥9P者認(rèn)為,第1個中斷程序的優(yōu)先級應(yīng)不低于第2個程序,這樣可以保證ISP1581發(fā)出的所有中斷可以立即得到執(zhí)行。

4.2 EPLD方程設(shè)計

EPLD的功能主要包括提供ISP1581的cs及DREQ信號,提供8254的片選、地址、數(shù)據(jù)、控制、時鐘輸入等信號,以及提供FIFO的FIFO_RESET、FIFO-WR、FIFO-RD等信號和A/D轉(zhuǎn)換模塊的CLK、START等信號。重點是如何使用MDMA傳輸?shù)膸讉最重要信號DREQ、DACK、DIOW、DIOR、EOT信號。查詢芯片手冊,在MDMA模式下,DREQ為輸入信號,DACK、D1OW、DIOR、EOT為輸出信號。也就是說,當(dāng)設(shè)置DMA命令寄存器為0x06(主機DMA讀)時,ISP1581開始不停地查詢DMA請求信號DREQ是否為低,若DREQ為低,則傳輸開始;否則一直查詢。因此,可在EPLD中設(shè)置DREQ接地,這樣可以保證當(dāng)設(shè)置DMA命令寄存器為0x06時,1581立即進行傳輸。D1OR為輸出信號,由1581提供,可直接作為FIFO的讀信號;FIFO的寫信號由8254的一個輸出引腳提供,8254應(yīng)根據(jù)A/D采樣頻率初始化該定時器,輸出該引腳。

5 結(jié)束語

本文提出了一種使用USB2.0芯片。ISP1581實現(xiàn)數(shù)據(jù)采集系統(tǒng)的設(shè)計方案。MDMA的DIOR周期為120 ns左右,因此ISP1581在主機DMA模式下,理論上最高傳輸速度應(yīng)為約16.6 MB/s(1000/120×16=132.8 Mbit/s=16.6 MB/s)。在實驗中,我們使用的主機端配置為Windows2000+PⅣ3.0 GHz+512 MBDDR RAM,在批量模式下傳輸速度現(xiàn)已達(dá)到13 MB/s~15 MB/s(主機配置不同,傳輸速度也會相應(yīng)有所改變),中斷模式下傳輸速度達(dá)到1 MB/s~1.5 MB/s(約每隔0.5 ms進行一次中斷傳輸,每次傳輸512字節(jié)),基本達(dá)到ISP1581 MDMA方式下速度上限,且傳輸模式、每次采樣時間間隔、每次采樣數(shù)據(jù)大小均可通過軟件調(diào)節(jié)。該系統(tǒng)現(xiàn)已實際投產(chǎn),應(yīng)用于某雷達(dá)。
本文地址:http://m.qingdxww.cn/thread-18279-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩一级在线| 一级毛片免费全部播放| 中国xxxxwwww泡妞的软件| 好想被狂躁A片免费久99| 日韩欧无码一区二区三区免费不卡 | 天干天干天啪啪夜爽爽色| 丝袜捆绑调教视频免费区| 99re6热这里在线精品视频| 花蝴蝶在线直播观看| 武侠古典久久亚洲精品| 小明永久成人一区二区| 欧美特黄a级高清免费大片| 午夜精品久久久久久毛片| 亚洲专区第一页| 久久99re6热在线播放| 欧美作爱福利免费观看视频| 日韩美女一级毛片a| 欧美综合色| 亚洲码专区| 亚洲人成影院午夜网站| 国精品产露脸偷拍视频| 亚洲AV福利天堂一区二区三| 亚久久伊人精品青青草原2020| 热久久综合网| 天使三部曲在线观看| 2022精品福利在线小视频| 久久亚洲伊人中字综合精品| 亚洲乱码中文字幕久久| 欧美一级免费大片| 羞羞草视频| 亚洲美女色成人综合| 大迪克黑人异族| 亚洲精品电影久久久影院| 偷拍区小说区图片区另类呻吟| 伊人小视频| 又粗又硬又大又猛免费视频| 免费人成在线观看视频不卡 | 人人看人人干| 日韩一级视频免费观看| 亚洲精品中文| 久久99国产精品无码AV|