簡易檢索 / 詳目顯示

研究生: 陳仕杰
Chen, Shih-Chieh
論文名稱: 建構於USB On-The-Go之多媒體播放器應用實作
The Implementation of a USB On-The-Go Multimedia Player
指導教授: 楊中平
Young, Chung-Ping
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2007
畢業學年度: 95
語文別: 英文
論文頁數: 100
中文關鍵詞: On-The-Go通用序列匯流排USBDual-role Device
外文關鍵詞: USB, OTG, Dual-role device, On-The-Go
相關次數: 點閱:105下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 自從面世以來,通用序列匯流排(USB)獲得了相當巨大的成功。目前所有與電腦相連接的外部裝置,幾乎都能找到支援USB的版本。由於其具有統一的溝通介面、支援隨插即用、良好的擴充性及價格低廉,讓越來越多的主機與消費性電子產品樂於支援USB介面。主從式的設計,讓主機端控制所有傳輸的進行,而周邊裝置只需要回應主機的需求即可,進而簡化裝置端的設計與製造成本。先天上的設計使得周邊裝置本身無法直接與另一周邊裝置交換資料,因此USB Implementers Forum頒布了On-The-Go補充協議。基於這份協議所設計出來的周邊裝置,能夠在外部裝置上實現有限主機能力,進而達到裝置對裝置的資料傳遞,而不需透過主機的協助。本篇論文採用Cypress的CY3663開發平台,實現了一個雙重角色的OTG裝置(Dual-role Device)。其中包含設計韌體層,撰寫主機端驅動程式、裝置端驅動程式以及用來驗證該裝置是否支援雙重角色的應用程式。為了測試該裝置的各種角色功能,我們設計了三個情境來測試,作為Host角色時,OTG裝置與一般的隨身碟或其他支援OTG的 Mass storage裝置連接,並支援USB speaker播放音訊;作為Device角色時,則可連接傳統的電腦主機,讓主機識別該裝置為符合Mass storage class Bulk-only的裝置;最後的情境則利用了巨盛公司所開發的OXDK3800平台,驗證我們的裝置是否能支援SRP與HNP,達到不需重新拔插連接線就能使彼此的角色互換。

    Since has appeared on the market, the Universal Serial Bus (USB) has obtained the quite huge success. Nearly all of the exterior equipments use USB to communicate with computer. Because it has the unitary communication interface, the support of hot plug, good extensibility and the inexpensive price, more and more host computers and the consumer electronic products consider USB interface as necessary. The master/slave architecture makes the host computer to be in charge of all the communications and the device just need to answer these requests. Therefore the device can be very simple and cheap. The congenital on design causes to the peripheral device is unable to exchange data with another peripheral device. As a result, the USB Implementers Forum has promulgated the On-The-Go subsidiary agreement. Peripheral which is based on this supplement implements the restricted host abilities and then achieve information transmission between peripherals. In this thesis, we use Cypress CY3663 development platform to implement an OTG dual-role device. The work encompasses the firmware layer design, host drivers design, peripheral device driver design, and the upper applications which are used to confirm the device. We designed three scenarios to test the device. In the first scenario, the device plays the host role and can support legacy mass storage device and USB speaker. In the second scenario, the device plays the peripheral role and can be considered as a mass storage device when connects to a desktop computer. In the final scenario, we test the OTG capability by connecting the device to the Chesen OXDK3800 and change their roles without reverse the cable. Therefore the capabilities of SRP and HNP of the device can be verified.

    Chapter 1 Introduction 1 1.1 Introduction 1 1.2 Motivation 3 1.3 Overview of This Thesis 3 Chapter 2 Related works 4 2.1 Chesen OTG eXpress Development Kit (OXDK) 6 2.2 Atmel AT90USBKey Evaluation Kit 7 2.3 Other OTG Solution Chips 8 2.3.1 Genesys Logic GL824/824C 8 2.3.2 Philips ISP1761 9 Chapter 3 Background Knowledge Materials 11 3.1 Universal Serial Bus 11 3.1.1 Physical Connection 11 3.1.2 Abstract Logical Connection 12 3.1.3 Data Transfer Fundamentals 16 3.1.4 Device Classifications 19 3.1.5 USB OTG Supplements 20 3.1.6 Session Request Protocol 28 3.1.7 Host Negotiation Protocol 29 3.1.8 OTG device State Machines 31 Chapter 4 The Environment of Experimentations 39 4.1 Cypress CY3663 Development Kit 39 4.1.1 Hardware Architecture 40 4.2 Software Architecture 44 4.2.1 BIOS Functionalities 44 4.2.2 Firmware Development 47 4.2.3 Frameworks Subsystem 49 4.2.4 An example of host application 50 4.3 USB Subsystem under Linux 54 4.3.1 USB Host Stack 55 4.3.1.1 USB Core Layer 55 4.3.1.2 USB Host Controller Driver 57 4.3.2 Peripheral Driver Model 59 Chapter 5 Implementations 66 5.1 Preparation 66 5.1.1 Rebuild the Linux system 66 5.1.1.1 Modular support 67 5.1.1.2 PROC File System 68 5.1.1.3 Hot-plugging support 68 5.1.2 Overall System Layout 69 5.2 OTG Device acts as the Host 70 5.2.1 Execution details 71 5.2.2 Summary 72 5.3 OTG Device acts as the Peripheral 73 5.3.1 Storage Function Driver 73 5.3.2 Execution details 76 5.3.3 Summary 78 5.4 Exchanging Roles between OTG Devices 79 5.4.1 OTG-Manager Layer 79 5.4.2 Execution details 80 5.4.3 Summary 84 5.5 Performance of Peripheral Device Driver 85 5.5.1 ATTO Disk Benchmark 86 5.5.2 HD Tune 88 5.5.3 FDBENCH benchmark 89 5.5.4 hdparam 90 5.6 Test for OTG On-Line Role Exchanging 91 Chapter 6 Conclusions and Future work 94

    [1]. Gook Micheal, PC Hardware Interfaces--A Developer's Reference: 旗標. 2004.
    [2]. Anderson Don and Dzatko Dave, Universal Serial Bus System Architecture. Second ed: Addison-Wesley. 505. 2001.
    [3]. 邊海龍 and 賈少華, USB 2.0 設計與應用: 文魁資訊. 2005.
    [4]. Inc. USB Implementers Forum, On-The-Go Supplement to the USB 2.0 Specification. 2006.
    [5]. 王萍 and 趙剛, USB OTG技術解析. 現代電子技術.10(嵌入式與單片機) 2005.
    [6]. 馬偉 and 卲貝貝, OTG補充協議開闢USB的新篇章. Electronic & Computer Design World, 2002.
    [7]. 楊智君, 田地, 余青松, 郝新軼, and 丘春玲, USB On-The-Go 技術概述. 電子技術應用.29, No.4 2004.
    [8]. Everything USB. Everything USB... We Mean Everything! [cited; Available from: http://www.everythingusb.com.
    [9]. 余善風 and 尚群立, RS232設備到USB設備的升級及USB設備的開發. 2006.
    [10]. Kevin Cheng, USB AD/DA Signal Processing, NCTU. p. 71. 2004.
    [11]. 舒瑞光, USB 2.0 Universal High-speed Digital Platform and applications, NTUST. p. 100. 2004.
    [12]. V. Fanti, R. Marzeddu, G. Piredda, and P. Randaccio, A Portable Acquisition System Based on USB Standard for the Medipix2 X-Ray Detector. Nuclear Science, IEEE Transactions on.53(5) 2006.
    [13]. Guangfan Shi, Guangming Yan, Jigang Li, Guanran Wang, and Zeguo Cheng. The design and implement of virtual instrument based on computing technique and USB platform of Conference. Year.
    [14]. Intel Corporation, Ultra-Wideband (UWB) Technology. 2004.
    [15]. Intel Corporation, Wireless USB, in The First High-speed Personal Wireless Interconnect. 2004.
    [16]. Inc. USB Implementers Forum, Wireless Universal Serial Bus Specification. 2005.
    [17]. Inc. USB Implementers Forum. Certified Wireless USB from the USB-IF. [cited; Available from: http://www.usb.org/developers/wusb/.
    [18]. Wikipedia. Wireless USB. [cited; Available from: http://en.wikipedia.org/wiki/Wir
    eless_USB. 2007.
    [19]. W.D. Jones, No strings attached [wireless USB]. Spectrum, IEEE.43(4): p. 3 2006.
    [20]. Ellisys, Challenges of Migrating to Wireless USB. 2006.
    [21]. 郭長祐. IEEE解散UWB工作小組 Wireless USB難有退路. [cited; Available from: http://tech.digitimes.com.tw/ShowNews.aspx?zCatId=414&zNotesDocId=51
    F180F7A02208EF4825712C0052B5F3. 2006.
    [22]. David Brownell. Linux USB "On-The-Go" (OTG) on OMAP H2. [cited; Available from: http://www.linux-usb.org/gadget/h2-otg.html. 2004.
    [23]. 王建華, USB OTG市場發展趨勢分析, ITRI IEK-ITIS Project. 2003.
    [24]. 林純慈, USB OTG Introduction. 2006.
    [25]. 張英信, 寬頻網路發展下家用IA產品之商機, 工研院IEK電子組. 2002.
    [26]. Yahoo. SAPA 2.5" OTG Portable Hard disk. [cited; Available from: http://buy.y
    ahoo.com.tw/gdsale/gdsale.asp?gdid=112729.
    [27]. Chesen Electronics Corporation, OTG eXpress Development Kit, in Firmware Architecture
    [28]. Chesen Electronics Corporation, Brochure of OXDK-3800,
    [29]. Chesen Electronics Corporation, A innovative design CSC3816,
    [30]. Atmel Corporation. AT90USBKey Hardware User Guide. [cited; Available from: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3879.
    [31]. Atmel Corporation, 8-bit AVR Microcontroller with 64/128K Bytes of ISP Flash and USB Controller,
    [32]. Ltd. eMedia Asia. Atmel四款快閃記憶體MCU適用於USB嵌入式應用. [cited; Available from: http://www.eettaiwan.com/ART_8800407849_676964_NP_350249
    0a.HTM. 2006.
    [33]. Inc. Genesys Logic, GL824/GL824C USB 2.0 On-The-Go controller Datasheet. 2007.
    [34]. NXP Semiconductors, ISP1761, in Hi-Speed Universal Serial Bus On-The-Go controller. 2007.
    [35]. Intel Corporation, Ehanced Host Controller Interface Specification for Universal Serial Bus. 2002.
    [36]. 宋鵬, 竇振中, and 李凱, 典型USB控制器芯片性能分析研究. Electronic Products China.10 2004.
    [37]. Inc. USB Implementers Forum, Universal Serial Bus Micro-USB Cables and Connectors Specification. 2007.
    [38]. 黃南溢, 通用串列匯流排控制器硬體設計之實現與應用, NCKU. 2004.
    [39]. Inc. USB Implementers Forum, Universal Serial Bus Specification. 2000.
    [40]. Inc. USB Implementers Forum, Open Universal Serial Bus Driver Interface (OpenUSBDI) Specification. 2000.
    [41]. Inc. USB Implementers Forum. USB Class Codes. March 2 [cited; Available from: http://www.usb.org/developers/defined_class. 2006.
    [42]. 付貴陽 and 賈懷義, USB On-The-Go 工作原理分析和應用研究. 現代電子技術.15 2004.
    [43]. 范貴成, 王晨旭, and 喻明, USB OTG雙模控制器主從控制狀態機的設計. 微電子學與計算機.24 2006.
    [44]. 莫易敏 and 劉青, USB OTG技術及其應用研究. 機電工程技術.35, No.11 2006.
    [45]. Maxim Integrated Products and Dallas Semiconductor. USB On-The-Go Basics. Dec 20 [cited; Available from: http://www.maxim-ic.com/appnotes.cfm/appnote_nu
    mber/1822. 2002.
    [46]. Luke David. USB On-The-Go Specification Adds Muscle To Portable Devices. [cited; Available from: http://www.elecdesign.com/Articles/Index.cfm?ArticleID=2
    313&pg=2. 2002.
    [47]. Luke David, USB 2.0 On-The-Go, in The Next Generation in Mobile Computing, Designed Wave Magazine
    [48]. Cypress Semiconductor Corporation, USB On-The-GO (OTG) Basics. 2002.
    [49]. Hyde John, USB Multi-Role Device Design By Example. 2003.
    [50]. Inc. USB Implementers Forum, USB Compliance Checklist for On-The-Go Devices. 2005.
    [51]. Inc. USB Implementers Forum, USB On-The-Go Compliance Plan for the USB 2.0 Specification. 2006.
    [52]. Cypress Semiconductor Corporation, EZ-OTG/EZ-HOST Development Kit CY3663. 2003.
    [53]. Cypress Semiconductor Corporation, EZ-OTG Programmable USB On-The-Go Host/Peripheral Controller. 2003.
    [54]. 黃郁熙. Enhance gdb Remote Debugging. 用Open Source工具開發軟體: 新軟體開發觀念 [cited; Available from: http://www.study-area.org/cyril/opentools/op
    entools/x1265.html. 2001.
    [55]. 陳俊宏. qemu 的 gdbserver. [cited; Available from: http://www.jollen.org/blog/
    2007/04/cpustate_qemu_gdbserver.html. 2007.
    [56]. 黃敬群, 深入淺出Hello World: http://orzlab.blogspot.com/. p. 19. 2007.
    [57]. Cypress Semiconductor Corporation, CY16 USB Host/Slave Controller/16-Bit RISC Processor Programmers Guide. 2003.
    [58]. Intel Corporation, Universal Host Controller Interface (UHCI) Design Guide. 1996.
    [59]. Hong Wei-Jay, The QoS Support of Embedded USB Protocol Stack on the Real-time Kernel MicroC/OS-II, NCKU. p. 90. 2006.
    [60]. Wikipedia. Market share and uptake. Linux [cited; Available from: http://en.wiki
    pedia.org/wiki/Linux#Market_share_and_uptake. 2007.
    [61]. Rubini Alessandro, Usb Device Drivers, in Linux Magazine. 2000.
    [62]. Wikipedia. User space. [cited; Available from: http://en.wikipedia.org/wiki/User_
    space. 2007.
    [63]. Wikipedia. Kernel-level implementation examples. Thread (computer science) [cited; Available from: http://en.wikipedia.org/wiki/Multithreading#Kernel-level_i
    mplementation_examples. 2007.
    [64]. Vovo2000.Com. USB Devices. The Linux Kernel API [cited; Available from: http:
    //vovo2000.com/type-lab/linux/kernel-api/usb.html. 2007.
    [65]. Salzman Peter-Jay and Pomerantz Ori. Using /proc For Input. The Linux Kernel Module Programming Guide [cited; Available from: http://www.faqs.org/docs/ker
    nel/x762.html. 2003.
    [66]. Linux Hotplugging. About Hotplugging. Linux Hotplugging [cited; Available from: http://linux-hotplug.sourceforge.net/. 2007.
    [67]. Wikipedia. System considerations. Hot swapping [cited; Available from: http://en.
    wikipedia.org/wiki/Hot_swapping. 2007.
    [68]. Corbet Jonathana, Rubini Alessandro, and Kroah-Hartman Greg, Linux Device Driver. 3 ed. 2005.
    [69]. Inc. Underbit Technologies. Applications Using MAD. MAD: MPEG Audio Decoder [cited; Available from: http://www.underbit.com/products/mad/.
    [70]. Emery Van. Linux Ramdisk mini-HOWTO. [cited; Available from: http://www.van
    emery.com/Linux/Ramdisk/ramdisk.html.
    [71]. kmajian. 建構嵌入式Linux的Ramdisk. [cited; Available from: http://www.yuan
    ma.org/data/2006/0917/article_1552.htm. 2006.
    [72]. Remco. ATTO Disk Benchmarks. [cited; Available from: http://members.home.nl/
    rvandesanden/ATTO%20benchmark.html. 2004.
    [73]. HD Tune. [cited; Available from: http://www.hdtune.com/. 2007.
    [74]. Eword. FDBENCH. [cited; Available from: http://www.hdbench.net/software/fdb
    ench/. 2003.
    [75]. LeCroy Corporation. USBMobile Protocol Analyzer. [cited; Available from: http://www.lecroy.com/tm/products/ProtocolAnalyzers/usbhs.asp?menuid=67. 2007.

    下載圖示 校內:2010-09-12公開
    校外:2012-09-12公開
    QR CODE