《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于USB的DSP高速數據傳輸系統

基于USB的DSP高速數據傳輸系統

2008-04-11
作者:張 鑫1, 蘇東林1, 李保權

  摘 要:介紹了在TMS320C32系列DSP上,利用EZ-USB FX2微控制器擴展USB接口的技術,實現了DSP與計算機之間的高速數據傳輸。
  關鍵詞:USB DSP FX2 USB驅動 固件


  數字信號處理器DSP以其運算速度快的特點已被廣泛應用。但目前絕大部分DSP處理器僅提供了串口通訊方式,該方式僅適合少量數據的傳送,不能滿足通訊、圖像處理等需要高速數據交換場合的應用。由于DSP運算過程中產生的大量數據不能實時向計算機傳輸,從而成為拓展DSP應用領域的一個瓶頸。而近幾年發展起來的通用串行總線USB技術,能夠滿足設備間的高速數據傳輸。如果將USB技術應用到DSP處理器上,就可以徹底地解決DSP設備與計算機間大數據量的交換問題,從而極大地擴展了DSP的應用領域。本文實現了在TMS320C32系列DSP上,利用EZ-USB FX2微控制器擴展USB接口的技術,實現了DSP與計算機之間的高速數據傳輸。
1 USB簡介
  通用串行總線USB的概念自1995年被提出以來,至今已經歷了規范1.0、1.1和2.0?,F在的USB2.0規范在原有的低速模式(low speed)1.5Mbps、全速模式(full speed)12Mbps的基礎上又支持高達480Mbps的高速模式(high speed),從而使USB總線真正成為能滿足高速應用場合的標準連接總線。在USB2.0中,每毫秒可發送8~10微幀,這是USB1.1傳輸速率的40倍,同時對緩存的要求也大大降低了。USB2.0向下完全兼容,最高可以連接127個設備。另外,在端口擴充的同時,各種采用USB2.0的設備仍可以維持在480Mbps的最高傳輸速度[1]。
2 系統構成
2.1 EZ-USB FX2性能特點
  Cypress Semiconductor公司的EZ-USB FX2(以下簡稱FX2)是世界上第一款集成USB2.0的微處理器,它集成了USB2.0收發器、SIE(串行接口引擎)、增強的8051微控制器和可編程的外圍接口。FX2這種獨創性結構可使數據傳輸率達到56MBps,即USB2.0允許的最大帶寬。在FX2中,智能SIE可以硬件來處理許多USB1.1和USB2.0協議,從而減少了開發時間和確保了USB的兼容性。GPIF(General Programmable Interface)和主從端點FIFO(8位或16位數據總線)為ATA、UTOPIA、EPP、PCMCIA和DSP等提供了簡單和無縫連接接口。FX2的原理框圖如圖1所示。


  為了實現USB2.0的高速帶寬,把FX2的端點FIFO和從屬FIFO(實現和外部邏輯器件或處理器接口的FIFO)集成在一起以減少內部數據傳輸時間。并且FX2的FIFO有獨特的“量子”特性[2],根據USB分組大小,外部可以一次提交多達4 096個字節的數據,而不是每次一個字節。如果用經典的FIFO,當產生壞的CRC(循環校驗碼)時,所有的數據必然泛濫流出;如果CRC校驗正確,則分組信息能從USB域交換到I/O" title="I/O">I/O域。端點緩沖器可通過固件" title="固件">固件設置為雙、三或四緩沖器,與所需的數據量或靈活性有關。FX2的FIFO量子特性及可編程設置多緩沖為滿足USB2.0所需帶寬提供了保障。
2.2 TMS320C32性能特點
  數字信號處理器采用TI公司的TMS320C32,這是TI公司的第一代浮點DSP芯片。TMS320C32的性能特點:具有16M字的空間,每字32位。這16M字空間包括程序存儲區、數據存儲區和I/O空間;為32位處理器,具有32位內部存儲器、32/40位內部寄存器、32位內部總線,還支持8位、16位數據操作,并且包含了兩個512×32位的快速RAM塊;C32通過24位的地址總線、32位的數據總線和三組選通信號IOSTRB、STRB0和STRB1訪問外部存儲器;TMS320C32是在TMS320C30和TMS320C31基礎上進行了簡化和改進。在結構上的改進包括可變寬度的存儲器接口、更快速的指令周期時間、可設置優先級的雙通道DMA處理器、靈活的引導程序裝入方式、可重定位的中斷向量表以及可選的邊緣/電平觸發中斷方式等。特別是其增強的外部存儲器接口,使得對外部數據的操作更加方便,存儲器接口電路的設計也更加靈活,因此在許多實時數據采集和信號處理的系統中得到了廣泛的應用[3~4]
2.3 系統設計
  FX2有三種工作模式:端口、GPIF和從FIFO(Slave FIFO)模式。在本系統中,FX2工作于從FIFO模式下,TMS320C32作為主控(Master),直接控制FIFO數據的讀寫。4KB的FIFO空間全部分配給了EP2端點,使其形成四重1 024字節的緩沖。當C32向其中一個FIFO寫“滿”時,FX2自動將該FIFO轉換到外部接口端,排隊等候PC機讀取;并將EP2中下一個為“空”的FIFO轉移上來,供C32繼續寫數據。
  USB的數據傳輸有四種模式:塊傳輸(Bulk Transfers)、中斷傳輸(Interrupt Transfers)、同步傳輸(Isochronous Transfers)、控制傳輸(Control Transfers)。當需要快速傳輸大批量的準確數據時,一般采用塊傳輸模式;而當傳輸實時性較強的數據時,則應采用中斷傳輸模式。在該系統中采用了塊傳輸模式。
  TMS320C32與FX2的連接如圖2所示。其中,I/O和WR#分別是C32的一個通用I/O信號和讀寫使能信號,PKTEND用于強制FX2發送FIFO內部數據。例如,將EP2設置為自動傳送模式,當C32向EP2中寫滿1 024個字節后,EP2自動將數據轉移至USB端口,供上位機讀??;當C32發送的數據不是1 024的整數倍時,最后一個數據包因為比1 024小所以不會被EP2發送。這時有兩種方法:一是用無效數據將EP2補充滿;二是使用PKTEND信號在PKTEND的上跳沿處,FX2將EP2內的剩余數據轉移至USB[5]。


3 軟件設計
3.1 固件設計

  在該系統中,FX2的固件完成如下工作:
  (1)配置如下描述符。
  ;; Endpoint Descriptor
  db  DSCR_ENDPNT_LEN      ;; 描述符長度
  db  DSCR_ENDPNT        ;; 描述符類型
  db  82H            ;; 端點號是2,輸出OUT
  db  ET_BULK          ;; 端點類型
  db  00H            ;; 包的大小,低字節(LSB)
  db  04H            ;; 包的大小,高字節(MSB)
  db   00H            ;; 檢測間隔
 ?。?)初始化一些寄存器的值,使之滿足系統設計。下面是采用keil C51編寫的C語言固件程序的主要代碼:
  void TD_Init(void)
  {
  CPUCS = 0x10; //CLKSPD[1:0]=10, 48MHz
  IFCONFIG = 0xCB; //異步從FIFO模式
  REVCTL = 0x03;
  EP2CFG=0xE8; //方向OUT,塊傳輸,四緩沖,1024字節
  PORTACFG = 0x40; //將PA7管腳設置為SLCS,從FIFO的片選信號
  FIFORESET = 0x80;
  FIFORESET = 0x02;
  FIFORESET = 0x00;
  EP2FIFOCFG = 0x0D; //配置EP2為自動方式,16位總線
  EP2AUTOINLENH=0x04;//數據包大小為1024字節
  EP2AUTOINLENL=0x00;
  }
  可以看出,一旦FX2芯片上電后、CPU完成以上寄存器的初始化時,就不再干預FIFO的工作了,C32直接通過FIFO就建立起了與PC機之間的USB通道。
3.2 驅動程序
  USB設備驅動程序" title="設備驅動程序">設備驅動程序采用一種新的驅動模型——WDM(Windows Driver Model)。WDM通過提供一種靈活的方式來簡化驅動程序的開發,在實現對新硬件支持的基礎上減少并降低所必須開發的驅動程序的數量和復雜性。整個驅動程序體系的流程可以這樣來描述:應用程序" title="應用程序">應用程序通過WIN 32提供的API向WIN 32子系統發出命令。WIN 32子系統通過標準的系統調用與內核層的I/O管理器" title="管理器">管理器通訊,將用戶程序的API 調用轉換成IRP(I/O Request Package) 包,I/O管理器將IRP 包傳遞給指定的設備驅動程序;USB設備驅動程序接收到這個IRP包后,根據IRP中包含的具體操作代碼構造相應USB請求塊(URB),并把此URB放到一個新的IRP中,然后把它傳遞給USB總線驅動程序;USB總線驅動程序根據IRP中所含的URB執行相應的操作(與USB主機控制器進行數據交換),并把操作的結果返回給USB設備驅動程序;USB設備驅動程序接收到此返回的IRP后,將操作結果通過IRP返還給I/O管理器,最后I/O管理器將此IRP操作結果傳回給應用程序。至此應用程序對設備的一次I/O操作完成[6]。WDM型的USB驅動程序體系結構如圖3所示。


  該系統采用Cypress公司提供的GPD(General Purpose Driver)模板。該模板提供了一個上層的程序代碼來實現底層的驅動程序的編寫,能夠完成USB設備的標準請求及Cypress公司的電路所特定的請求和數據的傳輸。GPD所提供的接口函數具有通用性,包括打開、關閉設備及USB的I/O操作等[7]。本應用在沒有改變所提供的EZUSB.SYS的驅動程序的情況下,實現主機和外設的數據通信。
3.3 應用程序設計
  應用程序是用戶操作計算機的界面,界于用戶與底層驅動之間。應用程序通過調用WIN32的API函數實現和驅動程序之間的通訊,完成對USB外設的讀取和發送。首先,打開設備(程序打開設備“DeviceName”的方式為通用讀寫方式,文件共享讀寫):
  HANDLE hDevice=CreateFile (
  DeviceName,                //指向文件名的指針
  GENERIC_WRITEIGENERIC_READ,       //訪問模式(寫/讀)
  FILE_SHARE_WRITE—FILE_SHARE_READ,   //共享模式
  NULL,                  //指向安全屬性的指針
  OPEN_EXISTING,             //如何創建
  0,                   //文件屬性
  NULL                  //用于復制文件句柄
 ?。?BR>  然后進行數據傳輸,其代碼為:
  BOOL bResult = DeviceloControl (
  hDevice,
  direction,
  &Control,
  sizeof (xxxx_TRANSFER_CONTROL),
  buffer,
  length,
  (unsigned long*)&nBytes,
  NULL
   ),
  其中,hDevice為設備句柄;direction為數據傳輸的方向;Control為四種USB數據傳輸的方式選擇;size(xxxx_TRANSFER_CONTROL)為數據格式所需存儲空間的大??;buffer為所傳輸數據的緩沖區地址指針;nBytes為傳輸完成后實際傳輸的數據個數。數據傳輸格式為USB設備的統一規范,可參照Windows DDK中的相應文件。
  本系統用于CCD成像檢測系統中,設備成像后的圖像經USB向計算機傳輸。如果使用傳統的串口傳輸,即使在115 200bps的速率下,傳送完一幅圖像也需要7分鐘。而采用本文所述的方法,DSP向計算機傳送同樣大小的圖像僅用18秒,速度提高了23倍,并且可靠性和誤碼率也達到了理想效果。本文所述的方法具有一定的普遍性,可用于多種微處理擴展USB接口的方案中,有助于提高系統數據傳輸速率。
參考文獻
1 許永和. EZ-USB FX系列單片機USB外圍設備設計與應用.北京:北京航空航天大學出版社, 2002
2 宋吉超, 易克初,陸維佳. 基于EZ-USB FX2的USB 2.0系統軟件開發. 現代電子技術,2005:(2)58~65
3 遲 男, 陸 俊,劉 杰. TMS320C32浮點DSP存儲器接口設 計.電子技術應用,2000;(11):70~72
4 張雄偉,陳 亮,徐光輝.DSP芯片的原理與開發應用(第3版). 北京:電子工業出版社, 2004
5 鄧鵬飛, 李小波,張劍云. USB2.0在DSP與計算機通信中的應用. 計算機與數字工程, 2005;(6):123~126
6 蓋素麗,常 青. USB接口的驅動程序開發. 河北省科學院學報,2005;(6):17~20
7 趙 闖,張劍云.基于CY7C646xx的通用串行總線接口.電子元器件應用,2004;(5):27~29

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          91久久亚洲| 欧美黄免费看| 国产日韩欧美夫妻视频在线观看| 国产精品99久久久久久宅男| 国产在线观看精品一区二区三区| 亚洲尤物在线| 亚洲第一页中文字幕| 亚洲国产高清高潮精品美女| 欧美电影在线观看| 9色porny自拍视频一区二区| 欧美日韩国产区一| 一个人看的www久久| 91久久嫩草影院一区二区| 国产日韩欧美精品一区| 欧美日韩美女一区二区| 韩国欧美国产1区| 国产精品成人v| 久久蜜臀精品av| 亚洲精品欧美日韩| 在线日韩av永久免费观看| av成人动漫| 欧美日韩精品免费观看视一区二区| 激情视频一区二区三区| 亚洲伊人网站| 亚洲一区二区在线播放| 欧美在线视频网站| 国产精品欧美日韩一区二区| 久久久久国产精品午夜一区| 毛片基地黄久久久久久天堂| 欧美久久精品午夜青青大伊人| 国产一区二区三区精品久久久| 国产精品区一区二区三区| 久久久www成人免费精品| 久久久91精品国产一区二区三区| 亚洲国产色一区| 亚洲人成艺术| 亚洲伊人色欲综合网| 国产欧美亚洲日本| 久久精品国产精品| 六月天综合网| 欧美国产日韩免费| 久久精品视频免费观看| 欧美高清视频| 午夜精品福利一区二区蜜股av| 国产亚洲精品久久久久久| 亚洲第一色在线| 亚洲线精品一区二区三区八戒| 国产精品五月天| 国产欧美精品一区二区三区介绍| 日韩午夜激情av| 亚洲精品欧美日韩专区| 中文精品99久久国产香蕉| 在线观看日韩av电影| 国产精品magnet| 国产精品成人免费精品自在线观看| 欧美日韩一区二区三区在线视频| 亚洲一级二级在线| 欧美日韩第一区日日骚| 亚洲免费在线观看视频| 蜜臀av性久久久久蜜臀aⅴ| 99精品久久久| 美乳少妇欧美精品| 99国产精品私拍| 国产免费成人av| 夜夜爽99久久国产综合精品女不卡| 一区二区精品| 99国产欧美久久久精品| 国产日韩在线不卡| 国产日产欧美a一级在线| 欧美一区二区三区精品电影| 欧美日韩一视频区二区| 日韩五码在线| 亚洲国产1区| 亚洲——在线| 国产亚洲成年网址在线观看| 亚洲欧洲精品一区二区三区| 欧美日韩国产综合视频在线观看| 日韩西西人体444www| 久久综合图片| 欧美大色视频| 在线精品高清中文字幕| 欧美精品一区二区三区很污很色的| 亚洲视频福利| 午夜久久tv| 欧美精品免费观看二区| 亚洲激情视频| 99精品国产一区二区青青牛奶| 欧美不卡在线| 日韩视频免费看| 欧美高清自拍一区| 永久91嫩草亚洲精品人人| 国产精品一区二区黑丝| 国产一区二区中文字幕免费看| 欧美mv日韩mv亚洲| 久久久久中文| 国产自产v一区二区三区c| 亚洲欧美成人一区二区在线电影| 激情一区二区三区| 亚洲免费视频在线观看| 国产一区二区精品久久99| 亚洲欧洲一区| 亚洲欧美日韩精品久久久| 久久精品伊人| 欧美黄污视频| 国内在线观看一区二区三区| 精品999成人| 欧美日韩国产综合视频在线观看中文| 久久漫画官网| 亚洲国产天堂久久综合网| 欧美精品日韩一本| 亚洲精品九九| 久久久国产精品一区二区三区| 欧美日韩视频免费播放| 亚洲一区在线免费观看| 好吊色欧美一区二区三区视频| 亚洲国产美女久久久久| 在线视频精品一区| 国产精品网红福利| 亚洲一区二区久久| 欧美午夜精品久久久久久久| 9色porny自拍视频一区二区| 免费人成网站在线观看欧美高清| 亚洲手机视频| 亚洲欧美成人一区二区在线电影| 国产一区二区精品在线观看| 久久综合久色欧美综合狠狠| 国产欧美一二三区| 国产精品美女黄网| 国产欧美在线| 一本色道久久99精品综合| 国产精品久久久久一区二区三区| 亚洲精品一区中文| 亚洲国产小视频| 国产精品日日做人人爱| 国产精品99久久久久久www| 欧美色精品天天在线观看视频| 欧美电影在线观看| 午夜在线观看免费一区| 国产乱码精品一区二区三区忘忧草| 一区二区免费看| 亚洲精品男同| 国产欧美日韩精品在线| 99re视频这里只有精品| 亚洲综合国产激情另类一区| 国产精品久久一级| 欧美精品观看| 亚洲欧美综合精品久久成人| 欧美激情视频在线播放| 国产一区av在线| 黄色精品网站| 久久精品一二三区| 国产精品一区二区三区免费观看| 在线观看日韩av| 国产精品久久久久久亚洲毛片| 一区二区三区日韩欧美精品| 免费在线看一区| 亚洲欧洲一区二区天堂久久| 激情欧美一区二区三区在线观看| 狂野欧美性猛交xxxx巴西| 亚洲精品一区二| 日韩一级视频免费观看在线| 欧美午夜精品久久久久久浪潮| 久久av资源网站| 欧美国产欧美综合| 亚洲一区二区影院| 亚洲免费一在线| 国产亚洲美州欧州综合国| 国产精品羞羞答答xxdd| 久久一区中文字幕| 国模叶桐国产精品一区| 国产精品极品美女粉嫩高清在线| 国产精品免费电影| aa日韩免费精品视频一| 国产精品夜色7777狼人| 亚洲自拍偷拍视频| 久久久av网站| 亚洲第一网站免费视频| 欧美视频一区二区三区四区| 韩国精品主播一区二区在线观看| 日韩一本二本av| 欧美 日韩 国产在线| 欧美 日韩 国产 一区| 亚洲婷婷综合久久一本伊一区| 日韩特黄影片| 国产综合精品| 欧美日韩99| 亚洲第一区在线| 在线一区免费观看| 国产精品porn| 久久精品观看| 国产精品久久久一区二区三区| 亚洲国产成人久久综合一区| 国产精品免费一区二区三区在线观看| 欧美aⅴ一区二区三区视频| 欧美日韩专区在线| 国产精品你懂得| 欧美区高清在线| 欧美乱在线观看| 国产性做久久久久久| 亚洲精品欧洲精品| 欧美成人精品不卡视频在线观看| 久久精品91久久久久久再现| 欧美激情小视频| 国产精品久久久久久久免费软件| 欧美日韩国产一区二区三区地区| 国产亚洲成人一区| 欧美成人黄色小视频| 午夜免费电影一区在线观看| 欧美日本亚洲韩国国产| 99pao成人国产永久免费视频| 久久免费少妇高潮久久精品99| 国产综合久久久久久| 欧美专区在线播放| 欧美日韩国产丝袜另类| 欧美日韩一区二区在线观看| 一区二区日韩精品| 久久精品国产99国产精品| 国产精品jvid在线观看蜜臀| 欧美午夜久久| 欧美日韩国产欧美日美国产精品| 欧美视频在线观看免费网址| 国产噜噜噜噜噜久久久久久久久| 欧美日韩三级视频| 欧美不卡一卡二卡免费版| 亚洲欧洲精品一区| 欧美在线播放一区二区| 欧美精品v日韩精品v韩国精品v| 欧美日韩在线高清| 亚洲一区二区日本| 亚洲夜晚福利在线观看| 欧美日本精品在线| 欧美美女bb生活片| 国产在线拍揄自揄视频不卡99| 欧美电影免费观看大全| 国产一级精品aaaaa看| 国产亚洲视频在线观看| 激情久久久久久久| 精品88久久久久88久久久| 亚洲区一区二区三区| 精品99一区二区三区| 欧美日韩中国免费专区在线看| 欧美精品国产一区| 精品av久久707| 久久不射2019中文字幕| 欧美日韩a区| 欧美一区二区精品久久911| 亚洲国产一区二区三区a毛片| 激情综合色综合久久| 久久国产综合精品| 欧美一区二区三区啪啪| 国产精品美女久久久久久2018| 亚洲欧美日韩精品久久久| 久久久久www| 久久综合影视| 亚洲国内欧美| 亚洲精品久久在线| 99国产成+人+综合+亚洲欧美| 99精品欧美一区二区三区| 久久国产精品一区二区三区| 99精品黄色片免费大全| 欧美午夜在线视频| 国产主播一区二区三区四区| 久久久久久久久综合| 久久深夜福利免费观看| 欧美日韩另类国产亚洲欧美一级| 国产毛片精品国产一区二区三区| 亚洲影视九九影院在线观看| 亚洲自拍偷拍视频| 久久精品成人一区二区三区| 欧美激情亚洲视频| 黑人一区二区三区四区五区| 91久久嫩草影院一区二区| 老司机精品视频一区二区三区| 在线观看国产精品网站| 国产日韩精品一区二区浪潮av| 午夜亚洲精品| 国产亚洲一区二区精品| 欧美日韩国产一级片| 一本一本大道香蕉久在线精品| 欧美高清在线播放| 国产九九视频一区二区三区| 久久视频在线视频| 激情综合色综合久久| 久久夜色精品亚洲噜噜国产mv| 国产精品成人免费精品自在线观看| 亚洲午夜电影在线观看| 篠田优中文在线播放第一区| 国产精品久久久99| 欧美a级一区二区| 欧美福利在线| 国产欧美精品| 亚洲国产精品va在线看黑人| 美女图片一区二区| 欧美日韩精品不卡| 国产精品爱久久久久久久| 亚洲永久精品大片| 亚洲国内自拍| 欧美日韩日日骚| 欧美日韩一区二区视频在线观看| 亚洲综合色视频| 激情视频一区| 欧美日韩一区精品| 亚洲人精品午夜| 亚洲乱码视频| 欧美一区二区在线播放| 亚洲综合久久久久| 一区二区不卡在线视频 午夜欧美不卡在| 一区二区激情视频| 先锋影音久久久| 在线精品国产成人综合| 日韩视频中文字幕| 国产美女精品视频| 亚洲欧美日韩精品综合在线观看| 欧美日韩不卡| 亚洲激情成人在线| 欧美在线视频日韩| 国产精品入口| 精东粉嫩av免费一区二区三区| 一区免费在线| 好吊色欧美一区二区三区视频| 欧美国产在线观看| 久久久久国色av免费观看性色| 欧美在线视频免费播放| 欧美精品少妇一区二区三区| 国产精品亚洲а∨天堂免在线| 国产精品白丝黑袜喷水久久久| 亚洲国产成人午夜在线一区| 韩国av一区二区三区四区|