首页 MB_USB

MB_USB

举报
开通vip

MB_USB 第25卷 2005年 12月 计算机应用 Computer Applications Vol. 25 Dec. 2005 文章编号 1001一9081(2005)12Z-0475-02 基于MicroBlaze系统的USB主机控制器的实现 姚建平’·2,王负松,.2 (1.中国科学院计算技术研究所,4e京100080; 2.中国科学院研究生院,ae京100080) (jpyao@ ict. a...

MB_USB
第25卷 2005年 12月 计算机应用 Computer Applications Vol. 25 Dec. 2005 文章编号 1001一9081(2005)12Z-0475-02 基于MicroBlaze系统的USB主机控制器的实现 姚建平’·2,王负松,.2 (1.中国科学院计算技术研究所,4e京100080; 2.中国科学院研究生院,ae京100080) (jpyao@ ict. ac. cn) 摘 要:虽然USB设备在日常生活中得到了广泛的应用,但它们之间的数据交换却依赖于携带 不便的PC。在文中实现了 OPB接口的 USB主机撞制器,并和其他标准 IP核一起组成一个 MicroBlaze系统。该系统将处理器、总线、片上存储、外设控制器等都集成于一片FPGA内,实现了主 机所需具备的大部分功能,通过它可以使得USB设备间的数据交换变得便捷有效。 关键词:USB主机控制器;MicroBlaze ; OPB ; FPGA ; EDK 中图分类号 二TP303 文献标识码 :A 目前,通用串行总线(USB)是一种很流行的接口,但USB 设备之间的数据交换必须通过主机。而扮演主机角色的通常 是PC,由于PC携带不便,造成数据交换的不便。本文讨论的 主要是如何在一个 FPGA上实现大部分主机的功能 包括 USB主机控制器L, J。通过它使USB设备间的数据交换变得 便捷有效。 1 FPGA上系统的结构— MicroBlaze系统 USB总线较一般的串行总线复杂 它包括硬件部分(USB 主机控制器)和软件部分(USB驱动)。处理器执行用户程 序,并调用 USB驱动来控制和使用USB总线。在本文中处理 器选用的是Mliax的MicroBlaze,与外设交互的总线选用IBM 的片上外围总线(OPB)a FPCA内的整个 MicmBlas。系统的 框架如图to 图1 FPGA内的MicroBl- 系统 下面将对主要部分作介绍: (I) MicroBIaze处理器 MicmBlaze处理器是一个32位Harvard总线RISC结构 软核,可嵌人至Xilinx Spartan和Virtex结构FPCA中。在 Virtex-II Pro上实现时频率可达150MHz,只占用约5万逻辑 门的资源。 它拥有32个通用寄存器 RO一R31和2个特殊寄存器: 程序指针(PC)和处理器状态寄存器(MSR)。指令长度均为 32位,均有3个操作数。指令分成 A和B两种类型。类型 A 的操作数均为寄存器,如ADD Rd, Ra, Rb,即Rd二Ra + Rb, 类型B的操作数分为2个寄存器和1个16位的立即数,如 ADDI Rd, Ra,IMM,即Rd二Ra + IMM. 指令执行是单发射3级流水,分为取指、译码、执行3部 分。对大部分指令来说,每I级只需要1个时钟周期,所以3 个时钟周期后就可以完成。在满负荷流水的情况下,平均一 个时钟周期就可以完成一条指令的执行。但也有一些指令的 执行这一级需要多个时钟周期才能完成,这时紧接着的下一 条指令的执行就会被延迟。 MicmBlaze是一种大头端(Big Em“二)的处理器,数据类 型可分为字、半字和字节三种。更详细的 MicroBlaze处理器 的资料可以参考文献1210 (2) OPB总线[,] MicroBlaze通过OPB总线对外设进行访问。OPB是为了 方便芯片内部的外设控制器之间的连接而设计的。它遵循 IBM CoreConnect总线结构,是完全同步的总线。 OPB总线上可连接多个 master和 slave. Master若要获 得总线需先向。,biter提出请求,arbiter会根据优先判决法则 授权给某个master.该maste:获得允许后就可以通过总线与 某个slave进行数据操作。Slave在操作完成后会以ACK信 号作为响应。Master收到 ACK信号后会 自动放弃总线,由另 一个提出请求的master占用总线。若长期没有收到ACK信 号,如超过 16个时钟周期,arbiter会发出 TIMEOUT信号以终 止master的操作。 每一个master,和slave都会有地址总线、输人,输出数据 总线和控制总线。同一类的总线(如所有。aste:的地址线) 会先通过一个“或门”总线结构做“或],操作(而不是通常的三 态方式)再连接到OPB总线上。所以当一个master或slave 处于非活动状态时,它的输出均应为“0". (3)片上系统的组织方式 MicraBlaze为32位处理器,故寻址空间可达4C。在如图 1的系统 中,存在 2种总线结构。一种是本地 内存总线 (LMB),只需2个时钟周期就可以完成读写,它用于连接 MicroBlam和BRAM(Block RAM),相当于片上内存。如果可 执行的代码量小,如几十K字节,则可以完全存放在DRAM 中,不需要再添加额外片外存储。另一种就是片上外围总线 (OPB),所有外设均连接在 OPB总线上,MicmBlaze作为一个 收稿 日期:2005 -03一29;修订日期 :2005 -06 -09 作者简介:姚建平〔1978一).男.硕士研究生,主要研究方向:嵌入式片上系统;王贞松〔1945一),男,研究员,主要研究方向:实时信号处 理、计算机通信 476 计 算机应 用 2005年 maste:连接到OPB上,控制所有的slave。每一个slave都被 分配了一段独一无二的地址空间,这样可以和别的slave区分 开来。 (4)设计流程 整个 MicroBlazc系统可通过嵌入式开发套件 (Xilinx EDK)进行开发,流程如图20 RxFIFO,再通过OPB总线存人内存。 (5) USB_PHY:这里主要包括串行接 口引擎(SIE ),主要 是功能是 串/并转换、同步、位填充(Bit Stuffing)、反转不归 零编2解码(IVRZI)等。 图2 MicmBl- 系统设计和实现流程 EDK集成了必需的开发调试工具并拥有许多标准的外 设软核,如串口(UART)、时钟(Timer)、 GPIO, Memory控制器 (SDRAM)、调试模块(MDM)等。另外还可以加人一些用户 定制的软核,如LCD控制器和下面将要详细讲到的USB主机 控制器等。 MI-IS和MSS文件都是由用户根据整个系统的要求通过 EDx生成的。其中MHS文件包含对了整个Mi-Blaze系统组织 的描述(包括处理器、总线、外设等),硬件平台生成器(PletGen) 通过它产生整个系统的网表,结合约束文件可最终生成可配置文 件用以卜载。Mss文件包含了所确乡卜设的驱动等信息的描述,库 生成器(LibGen)通过它产生所需的驱动,再由MB-GCC工具对 用户程序进行编译生成可执行程序。如程序量小则可以随配置 文件~块下载至目标FPGA的Block RAM中,程序量大则可通过 调试模块MDM下载至SDRAM中。 2 USB主机控制器的结构设计及应用 这个USB主机控制器是用Verilng代码设计完成的,总线 接口是OPB总线。在软件与硬件的分割上参考OHCf 0i,硬 件部分主要包含以下几个部分(如图3)a (1) OPB slave这部分主要由寄存器和它们的响应处理 器读写控制逻辑组成。这些寄存器都分配有一个独立地址, 可由处理器直接进行访问。主要有控制寄存器、命令状态寄 存器、链表头指针寄存器、中断寄存器等。 (2) OPB master:这部分主要用来与总线上其他slave进 行数据交互。如读取链表信息,读取要传送的数据,将数据写 人内存等。 (3) Control Logic:这是控制器中最重要的部分,负责处 理所有链表的信息,维持设备的状态,产生各种数据包,CRC 产生及校验,各种差错处理等。 (4) FIFO:有 2组 FIFO,为数据发送和数据接收 FIFOo 从内存读回来的数据先送人 TxFIFO,经过处理再通过USB串 行接口引擎送到USB设备。从设备接收到的数据会先存人 图3 USB主机控制器结构 USB主机与 USB设备间的数据交换其实是 USB主机软 件分配的内存空间与USB设备上的端点之间的数据交换。 按照数据交换的方式分成4种传输方式:批量( bulk)传输、控 制(control)传输、中断(interrupt)传输和实时(isochronous)传 输。下面以主机通过批量传输方式向设备传送数据为例,介 绍一下USB系统的工作流程。 每一个 USB设备都有一个端点号为0的默认端点。主 机通过它获得 USB设备的所有信息,包括端点、接口、配置的 描述等。在一个USB系统中最多可以有127个USB设备。 主机将USB系统中所有设备的传输类型相同(如批量传输) 的端点组成一个链表。USB驱动接收到应用程序v0请求后 将要传送的数据地址信息组成队列,将队列头指针置人将要 把数据传送至的端点上。然后设置USB主机控制器中slave 中寄存器信息(包括链表使能位及链表头指针等)。Control logic部分根据slay。中寄存器的值通知master读回链表信息、 队列信息, 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 完后又取回数据放入TxFIFO。然后将TxFIFO 中的数据以一定的顺序打包通过USB一HY发送至USB总线 上,并最终到达USB设备。USB设备接收到数据后,检查数 据有效性,无误则会发送 ACK包至主机。主机接收到 ACK 包后完成本次传输,更新链表信息,并准备下一个传输。如设 备无法接收数据或判断数据无效则会发送 NAK包,主机接收 到这个包后会过一段时间再尝试这次数据的传输。 对一个USB设备来说,设备的驱动提供了访问它的方 法。对大容量存储设备来说,它的驱动都会遵守mass storage 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 [s]。实现了这个协议再加上文件系统就可以实现对设 备上文件的列举、读、写等功能。通过USB协议将一个设备 上的文件数据读人,暂存人SDRAM或OPB RAM,再通过协议 写人另一个设备,这样就实现了设备间数据交换。 3 试验板及调试的情况 该实验板是为了方便USB主机控制器在板上的调试而 设计的。主要有以下几个部分 Xilinx FPGA (XC3 S400 )、配 置用PROM(XCF16P)、1 6 MB的SDRAM、USB transceiver (下转第478页) 478 计算机应 用 2005年 的要求。经过长期网络计费管理和开发经验,对 目前计费方 式进行改进 ,原则是结合基于以太网广播特性的数据采集技 术和基于代理服务器的数据采集的工作方式的原理,充分发 挥两种工作方式的优点,避免其缺点。 个人计舅湘L 图1 计费系统网络拓扑图 整个计费系统包括透明网关、无 源光分路器/韧合器 (POS,Passive Optical Splitter)、中心流量采集机和认证服务 器。认证服务器包含B/S模式认证系统。透明网关采用截 断式接人,可以对数据包按一定的规则作出处理,如转发和丢 弃、中心流量采集机采用监听的方式接人、对流量信息统计存 储。计费系统网络拓扑结构如图I所示。 计费系统流程如下: 1) Intranet用户需要使用网络服务,试图与Internet连网时, 由于第一次连接 Internet,所以透明网关对该 IF处于截断状态。 透明网关通知认证服务器,重定向认证页面给该IP的用户。 2) Intranet用户通过认证页面把账号、密码,IF地址发送 给认证服务器,认证服务器对该用户进行认证。 3)认证通过后,认证服务器向透明网关发送连网消息, 透明网关在控制列表里修改或添加该IF的记录,记录该IF 的连接状态,开放该IF的流量。 4)认证服务器向中心流量采集机发送连网消息,中心流 量采集机首先增加或修改关于该账号的记录,该记录包含IP 地址,使该用户的账号注册使用 IF,以便从该 IF进出的数据 量被统计到该用户的账号上去。 5)中心流量采集机开始对与该IF有关的数据包进行监听。 6)此后有关该 IP发送的数据分组经过透明网关时,打 开IF分组头部查看该 IF地址是否流量放开,如果放开则正 常发送。如果己经注销,则转到 I). 7)用户停止使用网络时,要向认证服务器注销,由认证 服务器向网关和中心流量采集机发送终止使用的消息,这时 透明网关撤销对该IF的使用。 4.2 实现该计费系统的关键技术 计费系统的数据采集模块采用 Linux平台,在GCC下开 发,该模块作为Linux的核心模块,使用inamod命令加载核心 模块,使用-mod 命令卸载模块。采集模块作为 Linux的核 心模块进行数据采集,这样可以提高系统运行的效率。 在体系结构中有可能成为系统瓶颈的是中心流量采集机 “对数据包作处理后存储到数据库中”这步,所以在该 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 实 现时使用多服务窗混合制排队模型对它进行了优化。 采用无源光分路器辐合器(POS,Pmsive Optical Splitter) 可以提高避免传统共享式 HUB对带宽的限制。 在该体系结构中我们采用一个透明网关,它连接内部网 络和外部网络,但是在IF层以上它对于用户和网络设备都是 透明的,在这个透明网关上可以实施一定的规则,规则包括安 全和计费两部分内容:转发时首先检查IF分组中的IF MAC 地址对与预先设置的IF MAC对是否匹配,因而可以阻断IF MAC不匹配的终端与外网的通信。在此基础上,IF地址还与 用户建立关联。用户通过身份认证后才能使用需要缴费的服 务。这种实现方法可以很好地防止IF地址盔用,并将用户使 用的流量信息准确地记录到用户账号上。 数据采集模块作为系统瓶颈,我们采用多线程技术,提高 中心流量采集机系统并行程度和系统的吞吐率 在该计费系统中,采集的数据量非常巨大,并且需要及时 存人数据库中,加之数据库不断进行查找和累加统计流量采 集数据,给计费数据库产生巨大的负荷。由于触发器具有实 时性高、处理速度快、数据一致性好等优点,因此我们采用触 发器技术。 5 结语 本文系统对网络带宽占用小,且不增加路由器的工作负 荷;可以避免用户访问网络时在代理服务器上出现瓶颈;同时 可以对上网用户施加各种控制策略,可管理性较好,很好地解 决了IP盗用问题。另外该系统通用性好,易于扩展,能够为 IP网提供一套实时、高性能、可控制的计费系统。 参考文献: [ I] 王平,李信满,赵宏。等.基于服务质量的网络计费的研究1]l- 小型微型计算机系统,2002,(1). 12] 柴晨阳 基于校园网的网络计费系统的研究与实现[ J1计算计 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 与科学,2002,(5). [31 丁宇波,陈根才一反网络盗用及计费机制的校园网络结构设计 [ JI计算机工程,2003,(3). [ 4] TANENBAUM S. Computer Networks (Fourth Edition) [ M]. Pear- ~ Education. 2004. (上接第476页) (ISP1107),LED和LCD、按钮、48M晶振、MAX232,JTAG等。 整个MicroBlaz。系统的配置文件和控制程序通过JTAG存于 PROM中。上电时FPG、被 自动配置,随后Mi-Blaze开始执 行存于BRAM中的程序。一开始进行外设控制器的初始化, 然后检测 USB设备的连接状态,读人 USB设备的属性信息 等。随后就可以根据用户通过 BUTTON输人的指令进行执 行。如列举文件和目录信息,读文件,写文件等。执行过程中 的信息可以通过LED或LCD显示出来。 4 结语 在利用现有MicmBl.e标准IP core的基础上,通过添加 本文设计的OPB接口USB主机控制器核,使得在一片FPGA 上实现整个主机功能成为可能。通过它使得大容量存储USB 设备之间的数据交换变得非常便捷有效,通过进一步的改进 就可以进人移动领域。 参考文献: [ 1] Universal Serial Bus Specification, Revision 1. 1[ S]. 1998. [2] Mic.Blaae Processor Ref-cc Guide (,4.0)[Z]. 2W4. [3] On-Chip Peripheral Bus Architecture Specifications, Version 2. 1[ S]. [4] Open Host Cantnnllcr Interface Speiification for USB, Release: 1.0a [S]. [51 Universal Serial Bus Mass Storage Class, Bulk-Only Transport Revi- stun 1.0[ S1. 1999.
本文档为【MB_USB】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_045382
暂无简介~
格式:pdf
大小:265KB
软件:PDF阅读器
页数:3
分类:互联网
上传时间:2011-10-09
浏览量:11