欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于SIC6008的USB协议栈的设计与实现.doc

    • 资源ID:2392722       资源大小:422.50KB        全文页数:14页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于SIC6008的USB协议栈的设计与实现.doc

    行业分析报告基于SIC6008的USB协议栈的设计与实现学生姓名: 入学年份: 专 业: 电子与通信工程 研究方向: 多媒体应用与图像处理 导 师: 时 间: 基于SIC6008的USB协议栈的设计与实现摘要:本文介绍了数字卫星机顶盒的发展状况及背景。然后介绍了SIC6008出现的意义及背景。基于对SIC6008的应用,本文简要分析介绍了USB协议栈要在ECOS操作系统下实现所涉及到的理论知识,最后对于要解决的问题提出了实现线路。关键字:数字卫星机顶盒 SIC6008 ECOS USB EHCI MSCThe design and implemention of the USB protocol stack based on the SIC6008Abstract: This paper introduces the development and background of the digital satellite set-box.Then introduces the significance and background of the SIC6008.Based on the application of the SIC6008,this paper analysises the involved theoretical knowledge about the implemention of the USB protocol stack on the ECOS operarition system.Key Words: Digital satellite set-box SIC6008 ECOS USB EHCI MSC一、 引言在信息化迅猛发展的社会进程中,便携化的生活方式使得有线电视网、电信网和计算机网“三网融合”成为了必然。数字电视技术的发展也进入了一个全新的时期。卫星数字电视技术的出现使得我国偏远山区和覆盖盲区的群众听广播看电视难的问题得到了有效解决。正是为了解决偏远山区和覆盖盲区群众的听广播看电视难的问题,我国政府早于1998年正式启动了广播电视村村通、户户通工程的项目建设。因此,在政府的大力宣传与推广下,数字卫星机顶盒也得到了突飞猛进的发展。 虽然近年来我国数字卫星机顶盒行业取得了很大的发展,但是在行业发展中也存在一些问题,但是最根本的问题仍是与国外技术相比仍然存在很大的差距。中国制造业由于缺乏核心技术,贴牌生产仍然是“中国制造”普遍的生存模式。很多高端产品表面上是中国生产,但是其核心技术仍然来自国外。为此四联微电子迎合市场需求,自行研发了一款为客户提供功能全面、安全可靠的卫星及地面标清机顶盒解决方案的芯片SIC6008。它的产生对芯片制造业的升级以及数字卫星机顶盒行业有着深远影响和重大意义。二、 USB协议栈实现相关技术协议介绍21 ECOS操作系统ECOS可以说是嵌入式领域的一颗新星,全称是Embedded Configurable Operating System。绝大多数代码使用C+写作完成。ECOS是RedHat的产品,但ECOS并不是Linux或Linux的派生。ECOS弥补了Linux在嵌入式应用领域的不足,是一个源码开放的可配置、可移植、无版税、面向深嵌入式应用的实时操作系统。ECOS的核心部分是由不同的组件组成的,包括内核、C语言库和底层运行包等。每个组件能提供大量的可配置选项,利用ECOS提供的配置工具可以很方便地进行配置,从而通过不同的配置使得ECOS能够满足不同的嵌入式应用。ECOS 中C(configurable) 表示的“高可配置性”。ECOS 可以让开发者像在玩积木般地自由选择其执行期的元件,应用程序开发者可以针对自己的应用程序来设迟一个对其最小的RTOS环境,这跟以往应用程序就是跑在一个完整的RTOS上本质上不同,在嵌入式系统資源与内存寸土寸金的环境上,这样的开发方式是很重要的。在以往的嵌入式开发方式都是自己手工的将RTOS作缩减,对经验不足或对该RTOS不夠熟悉的人将会花去许多时间,或是根本很难将RTOS拆开,但在ECOS 上,由于设计之初就是朝向可设迟的原則,各种元件都遵守著模块化的开发方式,而应用程序开发者只要使用ECOS 中的配置,即可轻松简单的对ECOS 元件作量身打造,也不需对其內部实作有所了解即时RTOS的核心并提供标准系统API。此外,ECOS另一个优点是他支持非常多的平台和CPU,尤其是比较新的CPU比如ARM的各个系列,DSP(BlackFin)等。并且也支持很多硬件平台。目前支持的CPU包括: ARM, CalmRISC, FR-V, H8, IA32, M68K, Matsushita AM3x, MIPS, NEC V8xx, PowerPC, SPARC, SuperH支持的硬件平台设备包括: Flash, Ethernet, 串口, USB, 时钟等。ECOS最大的特点是模块化,内核可配置。如果说嵌入式Linux太庞大了,那么ECOS可能就能够满足要求。它是一个针对16位、32位和64位处理器的可移植开放源代码的嵌入式RTOS。和嵌入式Linux不同,它是由专门设计嵌入式系统的工作组设计的。ECOS具有相当丰富的特性和一个配置工具,后者能够让你选取你所需要的特性。Linux兼容的嵌入式系统在内核裁减后编译出来的二进制代码大小在500k字节以上,这还只包含最简单的内核模块,几乎没有加载任何其他的驱动与协议栈。但是ECOS最小版本只有几百个字节,一般一个完整的网路应用,其二进制的代码也就100K字节左右。而且更为重要的是,ECOS提供的Linux兼容的API能让开发人员轻松的将linux应用移植(这点和RTEMS很相似),与此同时,应用程序不用跑在Linux复杂的内核机制上(这套机制,对于大型服务器也许还凑合,但是对于短小精干的嵌入式应用,太浪费了),大大节省了你的晶振和RAM。因此出于对市场和成本等多方面的考虑,公司决定在该系统下实现USB协议栈。22 USB协议规范随着计算机硬件飞速发展,外围设备日益增多,键盘、鼠标、调制解调器、打印机、扫描仪早已为人所共知,数码相机、MP3随身听接踵而至,这么多的设备,如何接入个人计算机?因此,USB1.0由此产生,但其速度只能达到1.5 Mbps。随后USB1.1标准产生,其接口传输速率为12Mbps,但是一个USB设备最多只可以得到6Mbps的传输频宽。随着USB设备被广泛应用,它仅为12Mbps的传输速率成为了制约自身发展的瓶颈。接着USB 2.0接口标准便应运而生。它将传输速率提高达到了480Mbps,暂时满足了用户高速传输的要求。但是随着技术的发展,480Mbps的传输速度不能满足未来应用环境的要求。由Intel、微软、惠普、德州仪器、NEC、ST-NXP等业界巨头组成的USB 3.0 Promoter Group于08年12月6日宣布,该组织负责制定的新一代USB 3.0标准已经正式完成并公开发布。新规范提供了十倍于USB 2.0的传输速度和更高的节能效率,可广泛用于PC外围设备和消费电子产品。虽然USB2.0接口,已经在计算机业界泛滥成灾,但是就像传统的DVD播放机一样,科技在进步我们也需要更逼真更清晰的高清影像。同样在计算机中,我们也希望得到一种数据传输速率更快的接口。2008年11月26日,USB促进委员会正式向全世界宣布,下一代USB3.0接口规范已经制定完毕!     USB3.0将支持高达5.0Gb/s的数据传输速度。它几乎是传统USB2.0接口的10倍。虽然目前的USB2.0接口已经被打上了“高速USB”的烙印,但是USB促进委员会还是拿出了全新的顶级USB3.0规范,经过一番激烈的讨论之后,他们最终将这个接口定义为“SuperSpeed USB”超高速USB接口。根据课题的需要,以下主要介绍一下USB2.0的相关内容。(一)USB 体系USB 体系包括“主机”、“设备”以及“物理连接”三个部分。其中主机是一个提供USB接口及接口管理能力的硬件、软件及固件的复合体,可以是PC,也可以是OTG设备。一个USB 系统中仅有一个USB主机;设备包括 USB功能设备和 USB HUB,最多支持 127个设备;物理连接即指的是USB 的传输线。在USB 2.0系统中,要求使用屏蔽的双绞线。USB 体系采用分层的星型拓扑来连接所有 USB设备,如图1所示:图1 USB 体系拓扑图以 HOST-ROOT HUB为起点,最多支持 7 层(Tier),也就是说任何一个USB 系统中最多可以允许 5个 USB HUB 级联。一个复合设备(Compound Device)将同时占据两层或更多的层。USB协议定义了四种传输类型:控制传输、批量传输、中断传输、同步传输。它们的优先级别不同,由高到低分别为:同步传输、中断传输、控制传输、批量传输。1、控制传输控制传输是一种可靠的双向传输,一次控制传输可分为三个阶段。第一阶段为从HOST到Device的SETUP事务传输,这个阶段指定了此次控制传输的请求类型;第二阶段为数据阶段,也有些请求没有数据阶段;第三阶段为状态阶段,通过一次IN/OUT 传输表明请求是否成功完成。控制传输通过控制管道在应用软件和 Device 的控制端点之间进行,控制传输过程中传输的数据是有格式定义的,USB 设备或主机可根据格式定义解析获得的数据含义。其他三种传输类型都没有格式定义。主要用于在设备连接时对设备进行枚举以及其他因设备而已的特定操作。2、中断传输中断传输是一种轮询的传输方式,是一种单向 单向 单向 单向的传输,HOST通过固定的间隔对中断端点进行查询,若有数据传输或可以接收数据则返回数据或发送数据,否则返回NAK,表示尚未准备好。 中断传输的延迟有保证,但并非实时传输,它是一种延迟有限的可靠传输,支持错误重传。用于对延迟要求严格、小量数据的可靠传输,如键盘、游戏手柄等。3、批量传输批量传输是一种可靠的单向传输,但延迟没有保宽来完成传输,适合数据量比较大的传输。高速的批量端点必须支持PING 操作,向主机报告端点的状态,NYET 表示否定应答,没有准备好接收下一个数据包,ACK 表示肯定应答,已经准备好接收下一个数据包。用于对延迟要求宽松,大量数据的可靠传输,如U盘等。同步传输:用于对可靠性要求不高的实时数据传输,如摄像头、USB 音响等。(二)数据流模型USB 体系在实现时采用分层的结构,如图2所示:图2 USB的数据流模型在 HSOT端,应用软件(Client SW)不能直接访问 USB 总线,而必须通过USB系统软件和USB主机控制器来访问 USB 总线,在 USB总线上和USB 设备进行通讯。从逻辑上可以分为功能层、设备层和总线接口层三个层次。其中功能层完成功能级的描述、定义和行为;设备级则完成从功能级到传输级的转换,把一次功能级的行为转换为一次一次的基本传输;USB 总线接口层则处理总线上的Bit流,完成数据传输的物理层实现和总线管理。途中黑色箭头代表真实的数据流,灰色箭头代表逻辑上的通讯。USB 系统中数据的传输,宏观的看来是在HOST 和 USB 功能设备之间进行;微观的看是在应用软件的 Buffer 和 USB 功能设备的端点之间进行。一般来说端点都有 Buffer,可以认为USB通讯就是应用软件Buffer和设备端点Buffer之间的数据交换。23 EHCI简介EHCI(Enhanced Host Controller Interface)增强型主机控制器接口规范描述了一个通用串行总线(USB)2.0版的主机控制器的寄存器级接口。Linux USB 驱动程序有三种不同的 USB 主控制器选项是因为在主板和 PCI 卡上有三种不同类型的 USB 芯片。"EHCI"驱动程序设计成为实现新的高速 USB 2.0 协议的芯片提供支持。"OHCI"驱动程序用来为非 PC 系统上的(以及带有 SiS 和 ALi 芯片组的 PC 主板上的)USB 芯片提供支持。"UHCI"驱动程序用来为大多数其它 PC 主板(包括 Intel 和 Via)上的 USB 实现提供支持。只需选择与希望启用的 USB 支持的类型对应的"?HCI"驱动程序即可。如有疑惑,为保险起见,可以启用"EHCI"、"UHCI" (两者中任选一种,它们之间没有明显的区别)和"OHCI"。(赵明注:根据文档,EHCI已经包含了UHCI和OHCI,但目前就我个人的测试,单独加EHCI是不行的,通常我的做法是根据主板类型加载UHCI或OHCI后,再加载EHCI这样才可以支持USB2.0设备)。 (ehci 只支持高速(hs)模式,uhci/ohci 都只支持全速或低速(fs/ls)设备,所以echi必选,uhci ohci一个就可以了,这样高速、全速、低速设备才会都能枚举到) 。一个USB Host系统由多个硬件和软件层构成,下图从架构概念上描述了这样一个USB Host系统:图3 USB Host系统架构这些硬件和软件层是:1. Client Driver Software层,这软件层在Host端执行,访问特定的USB设备。2. USB Driver (USBD),这是USB总线的系统软件层,它在相应操作系统中抽象下面提到的相应Host controller driver的具体细节。3. Host Controller Driver (xHCD),这是介于特定Host Controller硬件和USBD之间的软件层,它特定于Host Controller硬件的寄存器接口定义。4. Host Controller (xHC),这是USB 2.0的Host Controller具体硬件实现层。5. USB Device,这是实现终端用户功能的USB硬件设备,对该设备的交互访问流从应用程序,经过软件和硬件层,最后到该设备上。24 MSC大容量存储设备类USB大容量存储设备类(The USB mass storage device class)是是一种计算机和移动设备之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。USB海量存储设备类包括通信协议定义和通用串行总线运行的计算。较常见的大容量存储设备有U盘以及移动硬盘。本标准规定了各种存储设备的接口。 图4 USB数据流向图上图为U盘USB数据流向图。由图可以进一步了解实现U盘驱动的整个流程。本课题首先要达到的目的就是大容量存储设备U盘在SIC6008硬件平台环境中完成在ECOS操作系统下的识别工作。三、 嵌入式系统下USB发展现状随着嵌入式应用的普遍发展,以及移动电子产品的大量出现,设备之间直接通信的需求也越来越大,USB占据了嵌入式设备与其他设备之间通信的主要角色。通用串行总线(USB)具有即插即用、热插拔、易扩展和高传输速率等优点,但是在嵌入式应用领域,这正是USB的一个致命弱点。因此,要想在无PC机的情况下要实现此功能,就是在嵌入式系统中集成并实现USB HOST功能。USB的拓扑结构中居于核心地位的是HOST,任何一次USB的数据传输都必须由主机来发起和控制,所有的USB外设都只能和主机建立连接,任何两个外设之间或者两个主机之间无法直接通信。而目前,PC是扮演主机的主要角色。嵌入式USB HOST 作为USB的延伸,国内外对其的研究正处于积极研究和发展的阶段。国内不少公司也将嵌入式USB运用运用在其产品中,但是技术还不是很成熟,而且其源码都不是对外开放的。因此,对ECOS系统下的USB协议栈的实现是具有实际意义价值的。半导体行业随着其多样化与平台化发展趋势,已经由硬件提供逐步转向方案提。随着行业的整合,解决方案的地位已经弥足轻重。而USB这一成熟广泛的接口技术在解决方案中处于核心位置,它的高效率、通用性以及稳定性是任何嵌入式企业的必争之地。四、 下一步工作搜集相关资料,了解USB协议栈,EHCI协议,MSC等相关协议的工作方式。比较分析不同操作系统下的USB协议栈的实现方法。将USB驱动程序在简单的操作系统下运行,查看运行结果。然后分析USB协议,设计其在ECOS系统下为设备驱动端提供的软件接口。然后完成此协议栈在ECOS系统下的实现。最后在SIC6008芯片的数字卫星机顶盒这个开发平台来进行测试验证。五、六、七、 待添加的隐藏文字内容2参考文献1 宿勇. Linux 下USB Host Controller Driver 的研究与实现D.北京:中国地质大学, 2009年.2 李嘉玲. 通用串行总线USBJ. 电子技术.2000年03期.3 陈晓阳,谢敏. USB主机嵌入式化的应用和发展C.广西计算机学会2004年会论文集. 2004.4 叶军. 基于USB海量存储设备类规范的文件传输系统设计D.华中科技大学 2004.5 卞廷波,王忠仁.  USB Mass Storage类的设备端固件开发J.实验科学与技术.2005(04).6 肖踞雄,翁铁成,宋中庆.USB 技术及应用设计M.北京:清华大学出版社,2003.11.7 Axelson J.USB mass storageM.Madison;Lakeview Research LLC(Independent Publisher Group),2006.8 龚家华,易志雄,刘卫忠.基于数字机顶盒的嵌入式USB主机接121设计J电视技术,2005.9 胡晓军,张爱成.USB接口开发技术M.西安:西安电子科技大学出版社,2005.10 高鑫.嵌入式USB主机系统的设计研究D.合肥:合肥工业大学,2005.11 刘岚,张永昌.  嵌入式USB主机的设计及其应用J. 机械与电子. 2007(07).12 On-the-Go Compliance Plan for the USB 2.0 Specification, Revision 1.0.August 12, 2003.13 万婷婷.  USB接口开发及功能实现D. 西安电子科技大学,2011.14 吴元友.  嵌入式USB HOST与OTG功能的研究D. 哈尔滨理工大学,2009.15 韩春喜.计算机总线技术应用实例M.北京:化学工业出版社,2010.16 Alberto Mirandola,Noam Lior.Inroduction to the ECOS 2007 special issu eJ.En- ergy.2009.12.17 Wojciech Stanek.Special Issue of Energy devoted to the ECOS 2008 Conference J.Energy.2010,35(2).18 Nick Garnett.An Introduction to ecos,the Embedded Configurable Operating Sys- temC.San Francisco,USA.2004.19 Terry Thompson.ECOS control system is powerful and versatileJ.Model Railro- ader,2007,74(6).20 R.Ambrosetti,E.Matteoli,D.Ricci.How An Automated Instrumentation Using An MS-DOS Embedded Controller Can Be Seen As A USB Device By Any Host PCJ.Instrumentation science &technology,2010,38(1).21 Universal Serial Bus Specification Reversion 1.1S.www.usb.org,1998.22 任卫华,叶明.一种基于IDIUSBD12芯片的USB接口实现方案J.仪器仪表标准化与计量,2004.23 王斌,李东升,李德祺.一种USB HOST在嵌入式系统中的研究J.微计算机信息,2003.24 刘益成.USB接口技术(续一)USB体系结构概述J.石油仪器,2002.25 胡曙辉,陈建.几种嵌入式实时操作系统的分析与比较J.单片机与嵌入式系统应用,2007(5).

    注意事项

    本文(基于SIC6008的USB协议栈的设计与实现.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开