《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > DSP的嵌入式USB主機接口設計
DSP的嵌入式USB主機接口設計
劉 兵 徐家愷 劉 陽
摘要: 在簡單介紹嵌入式USB芯片SL811HS的基礎上,給出了DSP的嵌入式USB主機接口軟、硬件設計的思路和方法,用以實現DSP和USB設備間的數據傳輸。
Abstract:
Key words :

  摘  要: 在簡單介紹嵌入式title="USB">USB芯片SL811HS的基礎上,給出了DSP的嵌入式USB主機接口軟、硬件設計的思路和方法,用以實現DSP和USB設備間的數據傳輸。
  關鍵詞: 嵌入式USB  DSP  USB固件  海量存儲器

   近年來,通用串行總線(USB)發展非常迅速,它具有成本低、速度快、總線供電、可熱插拔等特點,被認為是目前PC和外設連接的最佳方案,因而得到了廣泛的應用。USB技術規范將USB數據傳輸雙方劃分為2種類型:HOST和SLAVE,即主機和從屬設備。目前,USB主機一般都是由PC擔任,而市場上各式各樣的USB產品基本上都是SLAVE。USB技術在PC上應用獲得成功的同時,USB開發者還為USB尋找到了新的應用空間——嵌入式系統領域,使嵌入式USB技術成為USB發展的新亮點。該技術可應用在多種場合,例如:數碼相機可以將拍下的照片隨時轉移到移動存儲器上或者直接在打印機上輸出,手機和PDA等手持設備間可隨意交換音頻、視頻等及其他各類文件……其市場前景巨大。
  本文介紹采用TMS320VC54x DSP和嵌入式USB主機芯片的連接,實現USB設備和DSP的數據傳輸。
1 SL811HS芯片
  SL811HS是Cypress公司的一款低價位的嵌入式USB主/從二用芯片。SL811HS支持USB1.1規范,工作在主機模式下,可以和低速或全速設備進行通信,可以很方便地和MCU、DSP等處理器或者和ISA、PCMCIA等總線建立連接。
  SL811HS主機模式下的功能框圖如圖1所示。在片選信號nCS、讀閘門信號nRD、寫閘門信號nWR等控制信號、地址線A0和數據總線D0~D7的作用下,它可以映射到處理器的I/O空間或存儲器空間。SL811HS片內有256字節的RAM,其中低16字節是控制寄存器和狀態寄存器,剩下的240字節用作數據緩存。地址線A0的使用比較特殊,訪問芯片時,首先將A0置0,通過D0~D7寫入目標RAM地址,然后在下一次讀寫周期中,將A0置1,這樣D0~D7上就變成訪問的數據。在每次讀寫操作后,RAM地址指針會自動指向下一個數據單元。

 

 

  SL811HS片內寄存器分為二部分,第一部分負責USB的傳輸,包括USB主機控制寄存器(USB Host Control Register)、USB主機基址寄存器(USB Host Base Address)、USB主機長度寄存器(USB Host Base Length)、USB主機令牌、端點寄存器(USB Host PID, Device Endpoint)、USB狀態寄存器(USB Status)、USB主機設備地址寄存器(USB Host Device Address)、USB傳輸計數器(USB Transfer Count);第二部分負責SL811HS的工作,包括控制寄存器1(Control Register 1)、中斷使能寄存器(Interrupt Enable Register)、中斷狀態寄存器(Interrupt Status Register)、SOF低位計數器(SOF Counter LOW)、硬件版本寄存器(HW Revision Register),SOF高位計數器(SOF Counter HIGH)、控制寄存器2(Control Register 2)。
  處理器通過訪問上述寄存器來進行數據傳輸控制和獲取傳輸狀態。另外,SL811HS提供了USB-A和USB-B二組USB主機控制寄存器,因此可以采用乒乓方式進行USB傳輸。而數據的CRC校驗則由芯片自動完成。
2 硬件設計
  本設計中采用的DSP是TI公司的TMS320VC5402,它有64KB的I/O空間,映射SL811HS非常簡單。TMS320VC5402與SL811HS的硬件連接圖如圖2所示。

  硬件設計很簡單,SL811HS的M/S接高電平,工作在主機模式下;DSP的IOSTRB#作為片選nCS輸入;讀寫信號的邏輯表達式分別為:nRD=IOSTRB#+(!R/W#),nWR= IOSTRB#+R/W#;二者的地址線A0和數據線D0~D7對應連接;DSP的輸出XF提供硬件復位脈沖。此外,由于SL811HS的中斷請求INTR高電平有效,而DSP的中斷是下降沿觸發,所以INTR要經過非運算后才能接到INT0#上。經過如上的映射,DSP向奇地址I/O空間寫數據對選擇SL811HS的目標RAM,訪問偶地址I/O空間時則傳輸相應的數據。
3  軟件設計
3.1 SL811HS存儲器讀寫軟件

  SL811HS片內RAM的訪問可以用2個函數實現:Wr811hsBuf(u16 address,u16*buffer、u16 length)和Rd811-hsBuf(u16 address,u16*buffer,u16 length),其中的參數分別為SL811HS的RAM地址、DSP數據單元指針和訪問字節數,以下給出它們的源代碼。
  void Wr811hsBuf(u16 address,u16*buffer,u16 length)
  { port0000=address;//選擇SL811HS要寫
            //的第1個RAM單元
   While(length--)//將DSP緩沖區的數據
            //逐一寫入SL811HS
     port0001=*buffer++;//每寫1次,SL811HS
              //自動指向下一個RAM單元
  }
  void Rd811hsBuf(u16 address,u16*buffer,u16 length)
  { port0000=address;//選擇SL811HS要讀的
            //第1個RAM單元
   While(length--)  //將SL811HS的數據
            //逐一讀出放到DSP緩沖區
      *buffer++=port0001;//每讀1次,SL811HS
  //自動指向下一個RAM單元
  }
3.2 USB主機的Firmware設計
  USB的設計最困難的就是Firmware(固件)設計,固件編程要遵循復雜的USB規范,所以比硬件設計工作量大得多。
  主機端的固件編程可以基于WINCE、VxWorks、Linux等嵌入式操作系統。Cypress公司網站上有SL811HS在這些RTOS平臺上的驅動源碼。但如果系統資源較少,功能比較簡單,也可以不用RTOS,而直接自己編寫SL811HS的USB底層驅動。筆者就是采用了這一方法,故工作量并不大。
  USB事務處理一般由3個階段組成:令牌階段、數據階段和握手階段。令牌階段定義了事務處理的類型,包括SETUP、IN和OUT;數據階段負責運送和傳輸相關的數據,Data0和Data1二種數據包交替使用,以支持雙方的傳輸同步;握手階段由收方向發方提供反饋,告知數據是否正確接收。
  在嵌入式USB設計中,固件的核心部分是USB傳輸函數usbXfer。usbXfer管理著USB的事務處理,其入口參數有:設備地址UsbAddr、端點地址Endpoint、令牌包類型PID、端點最大負荷Payload、傳輸數據總長度Length、DSP數據緩存區指針*Buffer。USB傳輸函數程序流程圖如圖3所示。


  USB主機檢測到設備連接好后要對其進行配置,稱為設備的枚舉,該部分固件的核心是設備請求函數VendorCmd。VendorCmd構建在usbXfer函數之上,通過調用usbXfer進行若干次的控制傳輸來實現。控制傳輸由3個階段組成:建立階段、數據階段和狀態階段。建立階段,主機進行SETUP事務處理,向目標設備發送標準設備請求;數據階段,由若干個IN事務處理或OUT事務處理組成;狀態階段,主機則完成與數據階段相反的事務處理,結束本次控制傳輸。
  設備的枚舉過程主要包括以下步驟:(1)主機請求設備控制端點0,以確定缺省管道支持的最大數據量。(2)主機給USB設備分配1個惟一的地址。(3)主機從描述符中讀取配置信息并加以執行。(4)主機驗證設備所需要的資源是否可以獲得。(5)主機給USB設備發送1個配置值,指出如何使用該設備。
  枚舉成功后,主機和設備就可根據設備接口類型,采用相應的接口協議進行數據控制和傳輸。USB設備類型主要劃分為:音頻設備類、顯示設備類、人機接口類、海量存儲器類等。特定的設備類又劃分為若干個子類,它們又有可能采用不同的接口協議傳輸指令和數據。以U盤為例,類代碼08h(海量存儲器類),子類代碼06h(SCSI指令集子類),傳輸協議50h(Bulk-Only傳輸協議)。按照這些標準,則U盤的操作過程可分為指令、數據和狀態3個階段,也就是主機首先向設備Bulk-Out端點寫包含SCSI的指令塊(CBW),然后從Bulk-In讀數據或向Bulk-Out端點寫數據,最后從Bulk-In端點讀取傳輸狀態(CSW)。
4  結束語
  DSP加上嵌入式USB主機接口后,一方面可以和設備之間傳輸數據,另一方面又可對數據進行壓縮和變換等算法處理。這對于音視頻信號等數據采集系統,是一個很好的接口方案。故該系統非常適用于數據采集并進行信號處理的場合。
參考文獻
1   Anderson D.USB系統體系.北京:中國電力出版社,2000
2   Universal Serial Bus Specification Revision 1.1.www.usb.
     org,1998
3   Cypress Semiconductor Corporation.SL811HS Datasheet.2002
 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩理论| 国产一区二区三区av电影| 久久精品三级| 亚洲一区在线看| 亚洲精品小视频在线观看| 亚洲成人中文| 久久精品99国产精品日本| 亚洲午夜在线观看视频在线| 99re6这里只有精品视频在线观看| 亚洲国产精品专区久久| 久久国产精品99久久久久久老狼| 亚洲欧美在线免费观看| 午夜亚洲福利在线老司机| 午夜亚洲福利| 欧美在线免费观看| 亚洲大胆人体视频| 91久久精品一区| 亚洲丰满少妇videoshd| 亚洲福利av| 亚洲精品在线观看免费| 亚洲卡通欧美制服中文| 亚洲精品日产精品乱码不卡| 亚洲日本电影| 最近看过的日韩成人| 亚洲精品婷婷| 亚洲色图综合久久| 亚洲欧美国产一区二区三区| 亚洲欧美文学| 久久九九热免费视频| 久久综合网色—综合色88| 嫩草成人www欧美| 欧美日韩国产bt| 国产精品试看| 含羞草久久爱69一区| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲人成欧美中文字幕| 日韩视频国产视频| 亚洲少妇中出一区| 午夜视频在线观看一区二区三区| 久久精品一区二区三区不卡| 亚洲精品一区二区三区婷婷月 | 国产精品乱码久久久久久| 国产日韩欧美视频| 尤物精品国产第一福利三区| 亚洲日韩第九十九页| 亚洲无亚洲人成网站77777 | 亚洲国产成人午夜在线一区| 日韩午夜电影av| 午夜精品视频在线观看| 久久午夜影视| 欧美日韩午夜激情| 国产亚洲第一区| 亚洲日本久久| 亚洲欧美日韩一区二区三区在线观看 | 亚洲精品精选| 亚洲一级特黄| 久久久久国产精品www| 欧美国产视频在线观看| 国产精品一级在线| 亚洲国产小视频| 亚洲男人的天堂在线| 亚洲国产成人久久综合一区| 亚洲永久视频| 欧美暴力喷水在线| 国产精品视频九色porn| 1024成人网色www| 亚洲一区二三| 亚洲美女在线看| 欧美在线三级| 欧美老女人xx| 国内精品美女在线观看| 99国产一区| 亚洲国产精品第一区二区| 亚洲一区日本| 男女av一区三区二区色多| 国产九色精品成人porny| 亚洲国产欧美日韩精品| 亚洲欧美日韩国产| 中文国产成人精品| 美腿丝袜亚洲色图| 国产模特精品视频久久久久| 亚洲日本免费电影| 亚洲第一二三四五区| 午夜精品久久| 欧美日韩免费看| 亚洲国产精品成人精品| 午夜老司机精品| 中文一区二区在线观看| 女主播福利一区| 狠狠色丁香婷婷综合久久片| 亚洲一区自拍| 中文av一区特黄| 欧美激情在线狂野欧美精品| 激情久久婷婷| 欧美一区91| 欧美一区二视频| 国产精品久久久久久久久搜平片 | 欧美jizz19hd性欧美| 国产亚洲欧洲| 亚洲综合视频网| 亚洲一区二区高清视频| 欧美人与禽性xxxxx杂性| 在线观看一区二区精品视频| 欧美在线视频日韩| 久久成人亚洲| 国产精品永久在线| 亚洲小视频在线| 亚洲欧美激情一区二区| 欧美日韩一区在线观看视频| 亚洲精品美女91| 99热这里只有精品8| 欧美国产专区| 最新成人av网站| 亚洲精品久久| 欧美高清视频www夜色资源网| 1000精品久久久久久久久| 久久精品一区二区三区中文字幕| 久久婷婷国产综合国色天香| 国产亚洲a∨片在线观看| 香蕉成人久久| 久久久久一区二区三区四区| 国产一区二区三区久久久| 性色av一区二区怡红| 欧美伊人久久大香线蕉综合69| 国产精品美女久久久免费| 亚洲一区二区av电影| 午夜久久久久久| 国产欧美日韩麻豆91| 欧美一区三区二区在线观看| 久久国产精品99久久久久久老狼| 国产视频精品xxxx| 久久丁香综合五月国产三级网站| 久久久久久久波多野高潮日日| 国语自产精品视频在线看一大j8| 亚洲风情亚aⅴ在线发布| 蜜臀av在线播放一区二区三区| 在线免费一区三区| 亚洲美女av黄| 欧美日韩三级一区二区| 亚洲素人一区二区| 欧美主播一区二区三区| 国产综合欧美| 亚洲精品视频在线| 欧美视频精品在线| 午夜精品成人在线视频| 久久久青草婷婷精品综合日韩 | 欧美一区1区三区3区公司| 国产日韩欧美三级| 亚洲黄色成人网| 欧美日韩另类国产亚洲欧美一级| 亚洲无线视频| 久久蜜桃精品| 亚洲激情偷拍| 亚洲自拍偷拍麻豆| 国产主播在线一区| 99国产精品久久久| 国产精品日本欧美一区二区三区| 欧美一区二区视频观看视频| 久久亚洲精品视频| 亚洲精品欧美极品| 羞羞视频在线观看欧美| 在线播放亚洲| 亚洲午夜精品久久久久久app| 国产美女精品视频| 亚洲毛片av在线| 国产精品一区二区三区久久 | 亚洲欧洲精品一区二区三区不卡| 欧美日韩视频免费播放| 午夜久久一区| 欧美日韩岛国| 午夜精品国产精品大乳美女| 欧美成人一区二区在线| 在线视频中文亚洲| 久久福利影视| 欧美久久视频| 欧美影院在线| 欧美日韩国产电影| 香蕉成人伊视频在线观看| 欧美精品91| 先锋影音网一区二区| 欧美激情在线观看| 欧美一区二区三区视频| 欧美日本视频在线| 欧美在线999| 欧美日韩视频专区在线播放 | 欧美色另类天堂2015| 久久国产天堂福利天堂| 欧美日韩一区在线视频| 久久成人精品电影| 国产精品videosex极品| 亚洲国产婷婷综合在线精品| 欧美性事在线| 亚洲精品国产精品国自产观看| 国产精品毛片a∨一区二区三区| 亚洲激情在线观看视频免费| 国产精品一区二区三区成人| 一本一本久久a久久精品综合麻豆| 国产专区精品视频| 午夜免费在线观看精品视频| 亚洲国产婷婷综合在线精品|