测控技术与仪器 毕业论文范文——USBRS232接口转换器设计_第1页
测控技术与仪器 毕业论文范文——USBRS232接口转换器设计_第2页
测控技术与仪器 毕业论文范文——USBRS232接口转换器设计_第3页
测控技术与仪器 毕业论文范文——USBRS232接口转换器设计_第4页
测控技术与仪器 毕业论文范文——USBRS232接口转换器设计_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

USB/RS232接口转换器设计 摘要 在过去的很长时间内,RS232串行接口方式是诸多仪器仪表、控制终端、远程终端等设备的主流通讯方式之一,与现在流行的上位机(如PC等)的USB(UnivesralSerialBus)总线接口方式不相适应。为解决这一矛盾,本文设计了USB-RS232接口转换器。在它的支持下,这些传统的设备能通过其原有的RS232接口与上位机的USB总线接口实现双向数据传输。 本文叙述了开发该USB-RS232接口转换器所涉及到的基础知识,硬件和软件设计,以及性能测试等内容: 1.课题的背景介绍; 2.与本课题相关USB接口规范介绍;3.USB-RS232接口转换器硬件设计细节;4.USB-RS232接口转换器软件设计细节; 本课题附带的效益是,该USB-RS232接口转换器开发中所总结的技术资料以及开发经验. 关键词:USB,RS232,EZ-USBFX2芯片,HID,接口转换USB/RS232 Interface ConverterABSTRACT As one of main eornrnunication modes,RS232 serial interface has been aPPlied in many types of equiPments,such as insurtments,conrtollers aad remotetemrinals,for long time.For these equipmengts could be used in thefuture,this status mangy not match with the popular USB(Universal Serial Bus) bus interface well.In this dissertation,an USB-RS232 conunutator is designed and realized to solve this problem.By using this commutator.those traditional equipments can realize bidirectinal data transmition with USB bus interface through theri existing RS232 interface.This dissertation fucsed on the toPics as:the related knowledges of USB interface specification,hdarware and sotfware desing of the USB-RS232 commutator,and its perofmrnacetests.The dissertation presents the fllowing aspects:1. ntroduction for the bakcground of this task;2. Introduetion forthe USB interafce specification related with this task;3. Detail of the hadrware design of the USB-RS232 commutator;4. Detail of the software design of the Host and Slave; From the Perofomance tests,it is knowm that the design achieves the anticipated objectives.Those technique results and developing experiences,summarized from this USB-RS232 commutator desing,are valubale benefits,such that could be helpful todevelop some new instruments wiht USB interface in the future. Keywards: USB,RS232,EZ-USB FX2 chip,HID,interface transform1 诸论1.1 USB及其应用国内外的研究现状USB是由Compaq、DEC、IBM、Intel、Mcriosotf、NEC和Nohrten Telecom等七家赞助商联合1996年1月提出的计算机串行接口总线标准-USB1.1。1997年开始出现了真正符合USB技术标准的外设。1999年初在Intel的开发者论坛大会上,与会者介绍了USB2.0规范,该规范的支持者除了原有的Compaq、Intel、Mcriosotf和NEC四个成员外,还有惠普、朗讯和飞利浦三个新成员。USB2.0向下兼容USB1.1,数据的传输率将达到12OMbps-240Mbps,还支持宽带宽数字摄像设备及下一代扫描仪、打印机及存储设备。 现在,支持USB的PC及外设越来越多,在软件上USB也已成为Windows98及以上等高版本操作系统的一个关键部件,并很快在Windows2000中得到支持。Apple的操作平台早己提供对USB的支持,预计今后Sun和Digital的平台也将会提供对这一技术的支持。 USB2.0是目前推出的支持USB计算机与外设上普遍采用的标准。USB同时又是一种通信协议,负责主机和USB的外围设备之间的数据传输。全速模式12Mbps,用于连接打印机、扫描仪、交换机和电话等设备;低速模式1.5MbPs,用于连接键盘、鼠标和调制解调器等设备。USB2.0版本规范于2000年4月27日由Compaq、Intel、Mcriosotf、NEC和Philips正式对外发布。USB2.0除兼容UsB1.1外,新增主要规范内容:数据速率可达480Mbps。支持高清晰数字会议系统设备、高速高密存储设备、新一代更高速高分辨率的彩色打印机及扫描仪、宽带ADSL和Cable Modem等。除了需要极高数据量和一些实时性要求特别高的控制设备外,几乎所有的PC外设都可以移植到USB上来。而事实上现在已经做到了这一点。 USB(通用串行总线)自问世到协议规范20版本,USB在不断自我完善,并走向成熟。从普通计算机用户,计算机工程师,到硬件芯片生产厂商,都已经完全认可了USB。厂商对于USB的硬件和软件支持的也越来越完备,现在开发一个USB外设产品,所需要投入的成本和时间大大降低了。但是,这些产品都需要PC的参与。在USB的拓扑结构中居于核心地位的是USB主机,任何一次USB数据的通信都必须由主机来发起和控制,所有的USB设备都只能和主机建立连接。目前,我们日常使用的USB产品,如U盘、USB摄像头等,都是USB设备;绝大多数USB主机功能都集成在各种类型的PC机上,比如台式机,笔记本电脑,服务器等。随着USB应用领域的逐渐扩大,人们对于USB的期望也越来越高,希望USB能应用在各种计算机领域中,尤其是在工业场合中工业接口和USB接口数据通信的实现。常用的工业接口,如RS232,这些接口都是上个世纪七、八十年代设计的。随着USB设备的普及,如何方便的实现RS232接口到USB接口的转换,实现USB到RS232的双向数据通信,就成为当前急需解决的问题。要解决上述问题,首先就需要解决USB主机,因为USB主机是USB系统的核心。在工业场合中,考虑到易用性和成本因素,不可能为每个RS232接口配置一台电脑实现RS232到USB的转换。这种情况下,USB只能应用在没有PC的领域中,这也正是目前USB的一个弱点。解决这一根本问题的办法就是在嵌入式系统中集成USB主机功能,使之能够和USB设备通信;同时系统还要有RS232模块,使系统成为连接USB和RS232的桥梁。1.2 USB技术的产生和发展当今PC上使用的绝大多数设备都是基于接口实现的。在USB出现之前,PC上的接口基本上是20世纪七、八十年代设计的。随着计算机技术的迅猛发展,这些接口已经不能满足PC与外设之间不断提高的传输速度、稳定型和易用性。这一现象,已经大大限制了计算机技术的发展,成为计算机功能扩展的桎梏。为了解决旧接口的缺陷,1994年,Intel,Compaq等七家软硬件全球知名企业为了突破当时PC使用串口和并口传输速度的限制,成立了通用串行总线开发者论坛(USB Implementers Forum,USB IF),并在1994年11月提出了USB 0.7版,到了1998年开始出现了支持USB 1.1的设备,他的高速性(USBl.1支持1.5 Mb/s和12 Mb/s两种速度)。和易用性迅速使之成为PC外设的宠儿。为了对抗1394速度的优势(1394可以达到400 Mb/s),1999年提出了USB 2.0规范的思想,2000年4月USB IF推出USB 2.0,USB 2.0向下兼容1.1,提供3种速度,最高可以达到480 Mb/s。为了增强USB的可移动性,又于2001年12月发布了USB On-The-Go 1.0版本协议作为USB20协议的补充USB OTG协议基本符合USB2.0的规范,所不同的是USB PTG完全抛开了PC,既可以作为Host,也可以作为Slave,而与另一个OTG设备直接实现点对点通信。目前无线USB(WUSB)10版本已经发布这个技术以多频段OFDM(正交频分复用)技术为基础,融合了WiMedia联盟确定的通用超宽带无线电平台技术。目前这项技术还处于早期的定义阶段,并不完善。但是其速度非常惊人,其标准速度可以达到2000Mbps,是目前USB2.0极限速度的近5倍。1.3 开发USB-RS232接口转换器的意义 多年来个人计算机的串口与并口的功能和结构并没有什么变化。串口的出现是在1980年前后,数据传输率是115kbPs-230kbPs,串口一般用来连接鼠标和外置Modem;并口的数据传输率比串口快8倍,标准并口的数据传输率为1Mbps,一般用来连接打印机、扫描仪等。原则上每一个外设必须插在一个接口上,如果所有的接口均被用上了就只能通过添加插卡来追加接口了。串、并口不仅速度有限,而且在使用上很不方便。 传统计算机的外围接口因IRQ、DMA等I/O资源的不足使计算机扩展性受到很大限制。当某数据采集系统采集的数据由采集卡传送到主机中进行存储时,若采用传统的RS-232与主机通讯,由于PC机的限制,RS-232C最高数据传输率不超过115KbPs(基于串口芯片16550,如基于8250,则最高仅有9.6Kbit/s),同时传输的距离也不会超过15米。对于中高速、高精度连续采样系统,其每秒的数据传输量最小为(100Hz采样率,10位采样精度):100Kx10=1000K,若RS-232C以115Kbps与采样系统交换数据,则需约1000K/115K=8.7s的传输时间,采样系统与PC接口速度的瓶颈作用会导致一部分数据的丢失,失去连续采样的意义。而采用并口传输,则由于接口复杂以及主机接口个数有限等一些原因,也不是很理想的解决办法。USB的出现为解决这一问题提供了良好的解决方案。 同传统的接口技术相比,USB总线具有以下的优点: USB是中、低速外设连接的串行总线。它优于已有各种总线的最大特点就是它被设计成即插即拔(热插拔)。USB设备所有的事物处理都是由在主机方的主控制器管理而无需占用系统的内存空间或I/O地址空间。USB是一种新的PC外设总线,USB1.0协议的传输率最高达12Mbps,比标准串口快100倍,比标准并口快10倍,USB2.0协议则更快,最高数据传输率高达480Mbps。 USB实现的成本低廉,可用于实现许多价格便宜的外设。功率不大的外围设备可以直接通过USB数据线供电,而不必外接电源。USB总线最大可以提供5V/500mA电流,并提供节约能源的挂机和唤醒模式。USB用于上行和下行的连接头的机械特性不同还可以防止非法连接。根据USB协议,理论上最多可以同时将127个外设(含HUB)连接在同一台PC机上。 基于USB的数据通信系统,使得采集系统与计算机之间的数据交换具备广泛的适用性。USB是目前计算机的标准配置,采用此方案使得任何一台计算机都可以作为系统使用的计算机。 目前,仍然有许多使用RS232串行接口的控制设备、仪器仪表、远程终端等运行或即将运行在诸多应用领域中。立即将其改造为USB方式显然存在成本及实施方面的问题。为适应USB广泛流行的现实,有必要开发USB-RS232接口转换器。在它的支持下,这些传统的设备无须改造,即可通过其原有的RS232接口与USB总线接口实现双向数据传输。这是实施-“USB-RS232接口转换器设计”的意义之一。 另一方面,USB接口式毫无疑问是今后相当长时间内嵌入式系统的主流通讯接口方式之一。显然,本项目开发中所总结的技术资料以及开发经验,可以作为开发其他需配备USB接口的新型仪器仪表、控制终端、远程终端等设备的参考。 1.4 USB 的特点 USB技术能够得到众多厂家的支持和青睐,是和其本身的优点分不开的。 1.即插即用(PnP)。USB支持热拔插和操作系统自动配置。 2.低功耗。USB有一套独特的电气机制来保证其低功耗。此外USB总线如果连续3ms没有活动USB就会进入自动挂起状态。 3.多种速度模式可供选择。USB提供了3种速度模式。低速为1.5Mbps,全速为12Mbps,高速为480Mbps。满足了不同速度的外设需求。 4.硬件结构简单而且标准化。USB协议定义了2种插头:A型和B型。不论A型还是B型,其引线只有4根:2根数据线,一根电源线,一根地线。 5.总线拓扑结构完备。USB星型总线结构最多可支持127个设备。6.支持的设备种类多。USB支持多达8个设备类。1.5 论文的研究内容 本课题主要完成的是USB主机的设计,实现USB主机和设备功能;其次是设计串口模块,实现USB到RS232的双向数据通信。 设计目标:1.具有独立的USB主机功能,实现USB和RS232之间的数据通信。包括构建USB协议,实现Mass Storage类协议及子命令,构成USB Host。从而完成U盘状态检测,读、写和删除文件等简单的文件操作。2.具有USB设备功能,即有其他USB主机(如PC)参与下的RS232到USB的接口转换,实现USB和RS232之间的数据通信。 论文主要结构: 第一章介绍本课题的背景、意义,以及USB接口的国内外研究状况和预期目标。 第二章主要介绍了与本课题相关的协议的内容。主要介绍了USB通信模型、传输类型。 第三章分析了系统的需要,介绍了系统的总体设计方案。 第四章介绍了系统硬件电路设计。 第五章介绍了系统的软件设计。 第六章是本文的结论和展望。 2 USB总线规范概述 USB是一种电缆总线,支持在主机和各式各样的即插即用的外设之间进行数据传输,由主机预定的标准的协议使各种设备分享USB带宽,当其它设备和机在运行时,总线允许添加、设置、使用以及拆除外设。2.1 USB系统的描述 一个USB系统主要被定义为三个部分:USB的互连;USB的设备;USB的主机。 USB的互连是指USB设备与主机之间进行连接和通信的操作,主要包括以下几方面: 总线的拓扑结构:USB设备与主机之间的各种连接方式; 内部层次关系:根据性能叠置,USB的任务被分配到系统的每一个层次; 数据流模式:描述数据在系统中通过USB从产生方到使用方的流动方式:2.2 USB数据通信结构 数据通信内容是USB协议中最复杂的部分,本节将详细研究这部分内容。USB是以差模串行信号为载体传送二进制代码来传输信号的,而USB的事务处理是主机和USB设备之间数据传输的基本单位,由一系列具有特定格式的信息包组成。根据信息包的种类,可以将一个事务处理分为三个阶段:令牌阶段、数据阶段和握手阶段,如图21所示。各个阶段功能如下: 1.令牌阶段:表示事务处理的开始,并定义传输类型。 2.数据阶段:负责传输相关的数据,长度最大为1024字节。 3.握手阶段:用于报告事务处理的状态,以表明数据接收是否成功。并不是所有的事务处理都必须有这三个阶段,在某些具体情况下(如数据传输失败),事务处理也可能不包含数据包和握手包,但无论如何,所有的事务处理都必须以令牌包开始。2.2.1字段的格式 信息包是USB总线上数据传输的最小单位,包含了进行USB通信所需的全部信息。它由一系列字段组成:同步字段、包标识字段、地址字段、端点字段、帧号字段、数据字段和循环冗余检验(CRC)字段。数据在USB总线上世纪传输时,首先是数据的最低有效位(LSB),最后是最高有效位(MSB)。 1.同步字段 同步字段(Synchronization Sequence简写为SYNC)也称同步序列域。在USB系统中,主机和设备不是共享一个时钟的,所有的信息包都必须以一个同步字符开始以保证主机和设备的同步。 对于低速/全速传输,同步字段长度为8位,数据原型为7个连续的“O”和1个“1”,经NRZI编码后,以“KJKJKJKK”的形式出现在总线上。高速传输同步字段的长度为32位,数据原型为31个连续的“0”和1个“l”,经NRZI编码后, 以“KJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKK(15KJ对个2个KK)的形式出现在总线上。USB集线器中继某个信息包时,最多可丢失同步字段的前4位,且不能破坏同步字段中的其他数据位。也就是说同步字段在经过5个集线器的中继后,可能只剩下12位。 2.包标识字段 包标识字段(Packet Identifier Field简写为PID),也称为包标识域。在USB信息包中,包标识字段紧跟在同步字段之后,并指明该信息包的类型、格式和所采用的差错控制机制。它由4位类型字段和4位校验字段组成。其中校验字段是类型字段的二进制补码,用于保证PID字段译码的可靠性,使信息包的其余部分都能被正确接收。按PID字段的功能可分为4类:令牌(10b)、数据(1lb)、握手(01b)、和专用(00b),并有其字段的前2位(PID)来指明。 主机和USB设备都要对接收到的PID字段进行正确的译码。如果校验字段有错误或者得到为定义的值,则认为该PID字段己被破坏,且应忽略信息包的其余部分。如果USB设备接收到一个其不支持的PID字段,则不予应答,例如IN端点会忽略所有的OUT令牌。 3.地址字段 地址字段(Address Field简写为ADDR),也称地址域。地址字段用于指定USB系统中的一个USB设备,具有唯一性,并且由主机分配地址。其格式包含6个数据位,最多可指定128个设备,其中地址0只能用作缺省地址,不能分配给USB设备。至于USB设备是数据的发送方还是接收方则取决于PID字段的值。 在IN、OUT、SETUP、SPLIT和PING令牌包中都必须含有该地址字段,以指明与其通信的USB设备。如果指定的设备不存在,则该令牌包将被忽略。在USB设备上电和复位时,其将使用缺省地址0来与主机通信。每个设备会由主机给其分配一个唯一的设备地址。4.端点字符 端点字符(Endpoint Field简写为ENDP),也称为端点域。其用于指定USB设备中的一个端点。高速/全速设备最多可含有16个端点,低速设备最多只能含有3个端点。所有的USB设备都必须含有一个0号控制端点,一完成与主机间的配置通信,除了0号端点外,其余的端点都是具体USB设备所特有的。在IN、OUT、SETUP、SPLIT和PING令牌包中都必须是以该端点字段,以指明与其进行数据传输的USB设备端点。如果指定的端点不存在,则该令牌包被忽略;另外,在端点初始化之前就访问该段的令牌包也将被忽略。 5.帧号字段 帧号字段(Frame Field简写为FRAM),也称为帧号域。USB协议中,1帧就是lms。在USB总线上1帧是一个独立的单元,包含了一系列总线动作。帧字段用于指出当前的帧号,每一个帧都有特定的帧号,它仅在每帧/d,帧开始的SOF令牌包中被发送。它的长度为11位,每传1帧,主机就将其内容加1,当达到最大值7FFH时归零。 6.数据字段 数据字段(Data Field简写为DATA),也称为数据域。数据字段包含主机和USB设备间需要传输的数据,其以字节为单位,最大长度为1024字节。在不同的传输类型中,数据字段的长度各不相同,但是必须为整数个字节,每个字节都是最低有效位(LSB)被传输。 7.循环冗余检验字段 循环冗余检验字段(Cyclic Redundancy Checks简写为CRC),也称为循环冗余检验域。为保证数据传输的可靠性,USB在令牌包和数据包中都使用了循环冗余检验,它可以百分之百识别出信息包中的一位或者两位错误。CRC检验失败标识在被保护的信息包中至少有一个字段出错,这时接收方将忽略该字段,但是在大多数情况下是忽略整个信息包。 图2-1 事物处理的3个阶段2.2.2数据传输类型 USB的传输,是USB面向用户的、最高级的数据结构,USB定义了4中数据传输的类型:批量传输、中断传输、同步传输和控制传输。传输由一系列事务组成,任何传输都由:IN、OUT和SETUP 3种事务组成,不同的只是这3种事务的搭配方式。 1.批量传输 批量传输由IN事务和OUT事务2种最基本的事务组成,适用于传输大量的、且对传输时间和传输速率均无要求的数据。当USB总线带宽紧张时,他会为其他传输类型让出自己所占用帧/小帧的时间,而其本身将被延迟,这时批量传输的速率很低、占用的传输时间也很长。当USB总线空闲时,他的传输速率很快、占用时间也很短。所以批量传输可以发送大量数据而不会堵塞USB总线,但是其传输时间和速率不能得到保证。批量传输只能用于高速或全速USB设备,且高速或全速设备可以选择不支持批量传输。适用于硬盘驱动器的接口、光盘刻录机及数码相机等等。 2.中断传输 中断传输由IN事务和OUT事务2种最基本的事务组成,适用于传输少量或中量的且对服务周期有要求的数据。USB为中断传输保留了总线带宽,以保证其能在规定的周期内得到服务。中断传输没有固定的传输速率,低速、全速和高速设备均支持中断传输,只是对传送的数据包的大小要求不同。另外,USB还采用差错控制和重试机制来保证中断传输的正确性。总体来说,中断控制特别适合键盘、鼠标等HID设备的数据传输。 3.同步传输 同步传输同前面叙述的2种传输一样由IN事务和OUT事务2种最基本的事务组成,适用于传输大量的、速率恒定的、且对服务周期有要求的数据。USB为同步传输保留了总线带宽,以保证其能在每帧/小帧中都能得到服务。即同步传输将一直使用准确的传输速率,因此其传输时间是可以预测的。由于同步传输讲究的是数据传输速率的恒定,而对数据的准确性的要求不如批量传输严格。所以,同步传输中没有握手包,不对发送错误的数据进行重试。需要说明的是,与中断传输和批量传输不同的是,对于全速设备,同步传输不支持数据包的交替触发机制,只能以DATA0发送。而高速设备在一定条件下支持触发机制,由于情况复杂,不予讨论。低速设备不支持同步传输,只有全速和高速设备才支持同步传输,但是全速和高速设备可以选择不支持同步传输。总体来说,同步传输特别适用于音频和视频类设备,如CD播放机、扬声器等。 4.控制传输 控制传输是最为复杂的传输类型,也是最重要的传输类型,是USB枚举阶段最主要的数据交换方式。当USB设备除此连接到主机之后,就通过控制传输来交换信息、设备地址和读取设备的描述符,这样其他3种传输方式才可以使用。其核心事务是SETUP事务,适用于传输少量的,且对传输时间和传输速率均无要求,但必须保证传输的数据的场合。USB为控制传输保留了总线带宽,且主机系统软件可以为它动态地调整其所需要的帧/小帧时间,以确保其能够尽快的被传输。控制传输可用于低速、全速或高速设备,并且所以USB设备都必须支持控制传输。具体来说,任何USB设备都必须在其O号端点的缺省管道中支持控制传输,除O号端点外,USB设备还可以拥有其他控制端点。2.3 USB 协议栈设备框架 1.USB描述符 USB设备采用设备构架的概念来描述一个USB设备,它把USB设备看成是一个配置、接口和端点的集合,并采用标准USB描述符来说明它们,其中包括设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符;对于高速设备,还可以包含设备限定描述符和其他速率配置描述符(因本文未研究高速设备,这里将不叙述)。这些设备描述符适用于所以的USB设备,它们都包含有特定功能的字段,以指出USB设备的特性。 除了这些标准USB描述符之外,设备类和供应商也可以自己定义其设备专用的描述符,分别称为设备类定义描述符和供应商自定义描述符,它们可以在标准描述符的格式上进行扩展,也可以使用其他非标准的格式。以上几种描述符,主机都可以用GetDescriptor请求来读取它们。2.4 USB Mass Storage类协议 为了简化USB总线的开发流程,USB-IF将常用的具有相同或者相似功能的设备归为一类。并指定了相关的设备类规范。到目前为止,USB-IF指定的标准类型规范包括:音频设备、芯片/智能卡接口设备、通信设备、人机接口设备(HID)、存储设备、打印设备等等。根据本文的研究内容,这里着重介绍USB大容量存储设备,也就是MassStorage类协议 大容量存储类主要用于软磁盘接口、ATA接口、IDE硬盘接口以及FLASH存储设备建立的USB接口,类代码(bInterface Class字段的值)为0x08。这一类的特点是数据交换量大,有可能直接涉及文件的各种操作,并且支持不同的数据存数载体接口本身的一些操作命令。因此不同的数据存储载体接口就构成了Mass Storage类的子类。2.5 大容量存储设备类支持两个传输协议: 批量单独传送(Bulk-only transport) 控制/批量/中断传输(Control/bulk/interrupt transport,CBI transport)传输协议用来决定主机与设备用来传输数据、命令与状态信息的传输类型。2.6 RS232协议简介 RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0-20000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(Recommended standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。RS-232采取不平衡传输方式,即所谓单端通讯。 RS-232C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS232C标准规定了一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。DB25的串口一般用到的管脚只有2(RXD)、3(TXD)、7(QND)这三个,随着设备的不断改进,现在DB25针很少看到了,代替他的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。因此现在都把RS232接口叫做DB9。在后面的叙述中,所有的RS232接口指的都是DB9。典型的RS232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3+12V与-3-12V。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,发送电平与接收电平的差仅为2V至3V左右,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。同时RS-232是为点对点(即只用一对收、发设备)通讯而设计的,所以RS-232适合本地设备之间的通信。2.7 本章小结 本章首先就USB技术的特点、系统模型和拓扑结构进行了简单的介绍,给出对USB技术的一个总体认识然后,较为详细的介绍了与课题密切相关的部分:USB数据通信结构、USB协议栈框架、USB设备类中的Mass Storage类,并且简要介绍了RS232协议。3 系统的总体设计3.1 USB主机系统结构 USB主机系统总体来说,包括硬件和软件两部分。硬件主要完成物理上的接口和实体功能;软件则管理硬件,实现数据传输和各项功能。PC上的USB主机系统大致构架如图31。PC 主机系统用户软件和USB设备驱动程序 USB 主控器HUB (硬件)USB系统软件(USB核心和主控制驱动程序) 图31 PC体系USB主机系统 根据PC体系上的USB主机系统和USB主机协议,总结得出USB主机系统都可以分为3个层次:USB总线接口、USB系统层和USB用户层。USB总线接口层(USB Bus Interface)主要是指以主机控制器为核心的硬件部分,一般是由USB主控制器芯片,USB HUB控制器芯片,USB端口连接硬件及控制器外围电路等组成。USB主控制器芯片提供USB的收发物理层,实现USB电缆上差模信号与数字信号的转换并提供端点的物理存储机制,还能根据USB的传输机制,自动管理各个端点存储自和数据交换。此外,USB主控制器还需提供与外围控制CPU的接口电路,通过并行或串行的方式连接到CPU的总线上。USB系统层(USB System)是USB主机软件核心驱动程序和USB主控制器功能驱动程序组成。USB核心驱动程序,是整个软件体系的核心部分,也起到了一个中间桥梁的作用,在PC中,它被捆绑到操作系统中,解释USB设备类驱动程序发来的命令并将其划分为一系列的USB事务,然后发送给USB主机控制器以驱动程序。这里,USB核心驱动程序不与USB主控制器硬件直接打交道,而是通过USB主机控制驱动程序这个媒介来与USB主控制器硬件进行通信。USB主控制器驱动程序就负责最底层的驱动任务,控制和管理硬件底层,负责将USB事务发送给USB主控制器芯片,并将串行数据发送到电缆上。USB用户层(USB User)也是基于软件层次的USB主机的组成部分,包括USB设备类驱动程序和用户软件(用户软件是可选的)。综合以上,整个USB的驱动程序分为三个层次,分别是USB设备类驱动程序,USB核心驱动程序和USB主控制器功能驱动程序。USB设备类驱动程序,也叫做用户驱动程序,它把用户要求的USB命令发送给USB的主控制器硬件,同时初始化内存缓冲区,用于存储所有USB通信中的数据。每一种USB类设备都需要设计相应的设备类驱动程序。目前,Windows操作系统对于HID类和Mass Storage类设备的支持比较完备,直接提供了设备类驱动程序。而对大部分的USB设备类,用户和厂商还需自己开发类驱动程序。3.2 系统设计要求及方案选择3.2.1 系统设计要求 本系统要实现2种功能。第一:实现USB主机功能,系统的USB HOST口接U盘或者USB口的移动硬盘,系统的RS232接口接RS232设备(如PC上的RS232口),实现RS232设备和USB设备的数据通信。用户能够通过本系统将RS232端的数据以文件的形式存储到移动存储器中,如U盘、移动硬盘等;也可以将U盘中的资料通过RS232接口读出来。其功能如图32所示。第二:实现USB设备功能,系统的USB SLAVE口接USB主机(如PC上的USB口),RS232接口接RS232设备。实现传统意义上的RS232到USB口的转换。用户可以将RS232设备当作成普通USB设备进行操作。 RS232 设备 如PC 上的 RS232 接口 USB 主机系统 USB HOST 协议栈 RS 232 接口 USB接口 USB 接口移动存储设备 图32系统主机功能示意图 具体设计考虑的要素有: 1.良好的兼容性; 模块要完全遵守USB1.1协议,使之具有良好的兼容性,全面兼容大部分遵守USB规范的移动存储器(包括基于FLASH的,基于SmartMedia等的移动存储器和USB接口的移动硬盘等)。 2.实现USB主机和设备功能 当模块作为USB主机时,要保证其完全实现USB主机功能。包括实现设备的总线枚举和实现大容量存储协议等。模块作为设备使用时,能够完成主机的传输请求。 3.实现USB-RS232的接口转换 本系统主要是完成USB-RS232接口的转换,因此要实现模块作为USB主机和作为USB设备2种模式下的USB协议到RS232协议的转换。 4.要方便用户扩展 系统要留有用户接口,如数据VI、读写控制线、芯片选通线等,方便用户扩展 5.低功耗要求 模块在保证驱动能力的情况下要尽量减少功耗以节省能源 6.成本要求 在保证功能的情况下,尽可能降低成本3.2.2方案选择 目前USB主机系统的方案主要有以下几种: l.传统的USB接口转换芯片 通过采用USB接口转换芯片,如CYGNAL公司的CP2101等,实现传统接与USB接口的转换,但是这需要利用微处理器开发针对所用接口的相应驱动程序和所要支持的类协议,由专用USB控制芯片转换为相应的USB接口的驱动程序,从而驱动相应的USB嵌入式设备,实现USB主机功能。这样的方案严格意义上说并不是USB主机系统,在传输速度以及拓扑结构等方面,根本无法发挥USB的诸多特点,本质上还是传统的总线接口。 2.利用集成USB模块的微处理器此种方案的主要优点是嵌入式系统的硬件和软件设计的可靠性得到保证,实现底层协议栈,应用系统设计工程师只需考虑具体应用需求,完成特定的功能。但缺点是成本比较高,适用于高端应用。 3.利用单片机+USB主机控制器 这种实现的方案,可选用多种型号的微控制器来实现协议栈,并可根据具体要求选用不同速度的单片机作为核心芯片,基本硬件结构大致相同。只是应当考虑到单片机速度是否足够快和内存是否足够大,要想一些办法对协议栈及其设备类协议进行简化和保持最基本的东西,即嵌入式系统加上USB协议栈及其设备类协议转变为具体的系统。该方案的优点,一是不依赖PC机,利用单片机系统直接实现主机,整个系统完全自给自足;二是外围器件可以灵活配置,需要什么可以在基本配置上加上相应的模块就可以了。 3.3 USB接口常用芯片 由于USB被设计成可以用简便有效的方法来与多种类型的外设通信,没有现有接口的局限性和缺点,这样,导致了对USB接口的设计和编程更加复杂。为了降低设计者的开发难度,使用专用的USB控制器己成为研制人员的首选方案。USB控制器必须知道如何检测并对USB端口的事件做出反应。一般的做法是:USB控制器只处理USB通信,由一个外部的微控制器(MCU)来管理USB控制器的寄存器、设备描述符的获取和数据包的交换等,USB控制器使用串行口或并行口与MCU连接。这样,外部接口可能比USB最大速度要慢,使得芯片只适合传送间歇数据。如National Semiconductor公司的USBN9602等芯片。这样设计的好处是系统组成灵活,可根据不同的系统需求,搭配不同的MCU,使其具有很高的性能价格比;但同时也加大了编程设计人员的开发难度,延长了产品的开发。 另一种可行的方法是使用嵌入MCU的USB控制器。这样,CPU只需要访问一系列寄存器和存储器,便可实现USB口的数据传输。从而简化了程序的设计,并且许多供应商还提供许多范例电路和测试代码,使设计者从复杂的协议解释中得到解脱。如基于8051结构的USB控制器有:Intel公司的8X930A、8X93lA;Cyress公司的EZ-USB等。此外,还有基于MITSUBISHI740/7600/M16C的USB芯片;基于MOTORORA HC05系列的USB芯片等。若采用USBN9602芯片,则两片芯片的连接会使结构变复杂,而且速度会有所下降。考虑到数据采集系统的控制程序不是十分的复杂,采用一片内部扩展USB功能的51单片机即可实现方案。基于任务的需求、学习编程的难易程度、性能价格比、可重编程及提供范例代码等几个因素来考虑,本论文采用的是 Cypress公司的EZ-USB系列的芯片。 Cypress推出的带智能USB接口的单片机EZ-USBFX2,极大地降低了USB外设的开发难度,提供了一个性能优良、价格较低的设计方案。同时也大大提高了开发效率,缩短了产品的研发周期。3.4 系统硬件选型 1.单片机和USB主机控制芯片的选型 2.系统模块的规划 系统由6大模块组成: (1)单片机模块系统的核心控制器,实现系统总的调度和控制。 (2)USB主控制器模块USB主机控制器和从设备控制器的硬件部分;实现USB主机和从设备的接口,配置下行USB设备管理USB总线的电源。包括的功能模块有:USB主机控制器(核心逻辑控制部分,实现各种USB主机动作,协调各项功能,与外部主控制器通信),系统寄存器(存放传输的USB数据,设置USB传输特性),外部主控器连接口。 (3)RS232接口模块 在单片机的UART模块和DB9接口之间增加MAX232芯片实现串口电平和1rL电平的转换,实现UART模块和RS232设备的通信。 (4)USB接口模块 USB接口模块主要是连接USB主控制器的USB数据线,以及部分电阻实现USB上行口或者下行口的典型电气特征,方便USB主控制器识别端口类型。 (5)外部RAM模块和RS232的数据传输速率相比,USB的数据传输速率要高的多。因此当数据流是从USB向RS232传输的时候,就必须需要外部RAM来暂时存放一次读取的数据,否则就可能出现RS232还没有把上次的数据传输完成,下一次读取的数据没地方存储。 (6)电源模块 采用外部输入+8-15V直流电,通过7805转换成系统各芯片需要的+5V电压。3.5 软件设计规划 当前的嵌入式系统中,主要是Linux、WINCE和VXWORKS等,这些操作系统的功能已经相当完善了。但是根据本文的设计需求和硬件能力,只需要完成USB相关的设计,功能相对单一,采用上述嵌入式操作系统不仅程序空间需求很大,而且硬件配置要高档很多,这是得不偿失的。因此,采用自己编写USB通信代码、单片机控制程序。主要软件包括USB主机和USB设备功能模块两部分。它们既相互独立,又相互调用,共同完成USB主机的功能。 1.USB主机系统 (1)单片机与USB主控制器通信的实现 这是整个USB体系软件的根基,包括单片机对USB主控制芯片的读、写和设定地址等函数。(2)USB主机最底层数据包发送的实现 这里就是一个发送数据包的函数,参数包括发送数据的长度、发送数据的地址指针和发送端点类型,如N端点、OUT端点和SETUP端点等等。 (3)USB标准请求命令的实现主要是实现USB协议的各种标准设备请求。3.6 本章小结 本章主要介绍了现有的几种USB主机的方案,并且选择最适合本课题的方案。粗略的介绍了本系统所具有的硬件功能和所要实现的软件功能。4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论