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

基于USB2.0的數據采集系統設計

發布時間:2010-8-1 13:01    發布者:lavida
關鍵詞: 數據采集
1 USB2.0概述

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

USB總線有以下4種數據傳輸方式:

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

本系統中需要傳輸的數據量較大,且傳輸時機受設備控制。因此采用中斷傳輸+批量傳輸的設計方法,即PC主機起始使用中斷傳輸端點,采用中斷傳輸方式輪詢設備,如果發現設備有數據需要傳輸,立即轉到批量傳輸端點,在真正的數據傳輸過程中,采用批量傳輸方式傳輸數據。

2 ISP1581簡介

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

3 硬件設計

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

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

4 固件程序設計

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

4.1 單片機固件編程

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

1)MDMA傳輸初始化

功能包括:
a)設置DMA配置寄存器,指定DMA傳輸的數據總線位數(本系統用16位數據總線)。

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

c)設置DMA中斷使能寄存器,激活指定中斷源。我們設置可以產生DMA中斷的源有內部EOT信號和DMA傳輸結束(即DMA傳輸計數器值變為0)。需要注意的是,此處DMA中斷使能寄存器不同于ISP1581的中斷寄存器,兩者的設置方法不同。

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

2)處理DMA請求

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

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

b)設置DMA傳輸計數器寄存器,指定本次DMA傳輸的字節數。當然,這個數越大,DMA傳輸的速度越快,但筆者經過測試發現,該數不要大于65535,否則可能MDMA傳輸會失敗。而且該數最好是512的整數倍,這可以保證沒有短包傳輸。

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

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

3)中斷程序設計

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

系統采用中斷傳輸+批量傳輸的方法設計中斷程序,即如果數據采集模塊有數據需要傳給主機,首先采用中斷傳輸方式傳輸數據通知主機,方法是在本段函數的起始部分通過固定的中斷傳輸端點發送8字節數據以與驅動程序部分吻合,然后使用批量傳輸端點實際傳輸數據;而主機端應用程序則不斷輪詢該中斷傳輸端點,若接收到8個字節固定格式的數據,馬上采用批量傳輸方式接收數據。該方法不但利用了中斷傳輸方式的實時性(1 ms以內),而且充分利用了批量傳輸的高速率。若FIFO的讀寫和8254的時序設計得當,利用該方法,可以實現10 MB/s以上的數據錄入。在實驗中,我們已經做到了8 MB/s的錄入速度。

USB驅動程序將另文詳述。筆者認為,第1個中斷程序的優先級應不低于第2個程序,這樣可以保證ISP1581發出的所有中斷可以立即得到執行。

4.2 EPLD方程設計

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

5 結束語

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

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

廠商推薦

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

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99视频免视看| 一级a毛片免费观看久久精品| 欧美午夜影院| 欧美激情亚洲精品日韩1区2区| 日韩精品国产精品| 视频在线免费观看网址| 亚洲男人的天堂在线播放| 亚洲成人在线观看| 99国产精品久久人妻无码| 久久999视频| 双腿被绑成M型调教PLAY照片| 日韩欧美不卡片| 日本三级影院| 日韩毛片在线| 亚洲一区二区免费在线观看| 亚洲天堂影院| 成人国产在线视频| 快播最新电影网站| 伊人久久大香线蕉电影院| 欧美一级看片| 青青青青手机在线观看| 亚洲六月丁香婷婷综合 | 性做久久久久久久| 亚洲国产精品成熟老女人| 99热久这里都是精品小草| 人妻仑乱少妇88MAV| 亚州久久| 日韩v欧美| 自拍亚洲欧美| 怡红院亚洲红怡院天堂麻豆| 国产精品自在在线午夜蜜芽tv在线 | 艳妇乳肉豪妇荡乳a∨| 国产高清在线观看视频| 青青青久久| 亚洲欧洲日韩在线| 欧美伊久线香蕉线新在线| 星辰影院在线| 亚洲日本香蕉视频观看视频| www亚洲欲色成人久久精品| 免费一级特黄欧美大片久久网| 伊人久久大香线蕉影院95|