USB_RS232接口转换器的设计与实现外文翻译资料

 2022-12-11 07:12

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


USB_RS232接口转换器的设计与实现

宋浩然

山东交通学院海洋学院,威海,山东,中国

关键词:通用串行总线,RS232接口,单片机,驱动,转换器

摘要:随着计算机的发展,尤其是硬件技术的发展,传统的RS232串行接口显示出越来越多的不足,但是大量的仪器仪表、工控系统、远程数据终端、设备仍在使用RS232串行接口和变种作为主要的通信方式,这和当前流行的主机外部设备接口方式不相适应,本文提出了一种USB接口到RS232接口界面无缝转换的转换装置的设计方案,该方案基于单片机实现,并且可以直接使用其原有的传统设备RS232接口与USB主机总线接口进行双向数据传输。该方案有双缓冲功能,即插即用,使用方便,性价比高。

引言

计算机外围接口经过多年的发展,发生了巨大的变化。传统接口包括两个串行端口和一个并行端口,串行端口RS232C协议的速度范围是0-20kbps,后来扩展到115kbps。串口被用来连接鼠标、调制解调器和其他设备。串口,虽然速度慢,但由于它们线路简单、传输距离远,随着计算机进入工业控制领域,串口被广泛使用。并口主要用于连接打印机,并行8位数据宽度,速度为1Mbps,比串口要快得多。标准后来又扩展到可双向数据传输的EPP和ECP模式并口。但是由于并行线复杂,数据传输易受干扰,它只用于连接主机外围设备,如打印机、扫描仪、绘图仪等。

近年来,计算机和外设的速度大幅提高,品种和数量大幅增加,外设接口对主机的速度、易用性提出了更高要求。随着需求的增长,传统的串行和并行端口不能满足发展的需要。一些主机开始改变原来的设计,其中之一就是添加新的外围接口,如USB,火线总线。另一方面是减少了传统接口的数量或取消,减少串行端口数量至1甚至是取消。但由于RS232串行接口应用广泛,其总线类型有RS485,RS422等,有很多的控制设备,仪器仪表,工业控制系统,远程终端都使用串行接口。串行接口的减少甚至消除,与串口的广泛应用之间存在很大的矛盾。

USB接口的广泛应用,并不能立即消除串行总线接口。一方面USB接口完全不同于传统接口的,它是一种基于软件的总线,具有复杂的数据格式和协议。因此,设备支持USB接口,不仅要进行硬件连接、软件设计,仍然还有很多工作要做。其他方面,RS232串行接口非常好用,接口设备驱动程序由操作系统提供,该程序只需简单地设置位,停止位、数据位,测试传输速率,然后调用适当的系统功能与设备进行通信。

USB通用串行总线协议

USB通用串行总线是一种新型的计算机外围接口总线,它是为传统计算机外部接口不具备即插即用功能、不支持热插拔、速度慢、不支持自动配置等缺点而设计的一种具有自动配置功能、易于扩展、自带电源、传输速度快的新型接口。 USB通用串行总线中的USB总线、USB设备与USB主机之间的连接,是一个集成的系统。USB概念是指数据总线连接在设备和主机之间的传输操作,这包括多方面内容:整个USB总线拓扑结构;设备与主机之间数据传输的具体方法;USB内部分配和响应规则传输模式;USB总线数据流;所有数据传输带宽的调度与分配。

一个USB系统,在任何时候都只能有一个主机。所有操作都由主机发起。但是一台计算机可以有多个USB主机,没有限制。USB主机被称为主机控制器,主机控制器不只是硬件,这个概念还包括软件,它实际上是一个硬件和驱动软件的综合。集成根集线器的主机,用于扩展总线根集线器,可以直接连接到外部设备,也可以连接到其他集线器和集线器连接到其他外部设备。USB主机结构如图1所示。

图1 USB的拓扑结构

USB主机管理USB通道,它需要驱动程序来完成通道管理。系统中有两种驱动程序,USB主机驱动程序负责完全控制主机控制器,它也接受来自上层USB驱动程序的请求,并完成适当的行动。最后,在软件控制下,由主机控制器完成与物理总线数据的交换。

USB总线协议描述了如何完成主机与设备之间的数据传输,并提供了所有的传输细节,这些细节包括主机和设备之间的交互作用如何完成,什么样的语法和协议。此外,USB总线协议也建立了字段、包、服务、传输结构,并定义字段如何构成一个包,包中,什么是一个事务,事务构成转移。

USB-RS232接口转换器电路设计

USB-RS232接口转换器的基本原理是,当主机发送时,转换器从主机USB接口接收数据,然后从RS232接口发送到设备。在发送时间,转换器接收来自RS232接口的数据,然后通过USB接口发送到主机,这就完成了接口转换。在数据流通过转换器的过程中,转换器缓冲数据来协调两个接口的速率不同。

根据USB-RS232接口转换器的功能要求。集成在CPU采用的方案,看门狗电路,复位电路,数据存储,内存等组件微控制器。使用通用接口芯片将USB连接到USB总线接口。该方案具有结构简单、电气连接、系统集成度高,体积小,系统调试比较容易的优点。

SCM用来访问外部存储器,访问指示D12。其他相关的控制信号共有5个,由单片机发出的,这些信号是地址锁存,D12ALE、D12CS,读操作/D12RD,写操作/ D12WR,重置/D12RST。接口IC电源是由USB接口提供的5V电源。

D12的信号D12INT是单片机的中断请求信号,当有数据接受或发送时,D12发出这个信号来通知SCM,D12进行USB事务处理。当中断发生时,单片机调用中断服务程序,在程序中D12进行适当的动作,处理USB事务。只要插入USB接口、转换器接口,就会设备枚举。设备枚举时,LED发光二极管将会闪烁,这表明D12连接上了。接口转换器枚举成功后,LED发光二极管将常亮。如果接口转换器正在挂起,这灯会关掉。

图2 USB总线接口电路

USB设备驱动程序设计

固件包括主回路、USB接口芯片中断服务程序、标准USB设备请求处理,串行接口中断处理和加密算法的实现。初始化程序完成单片机内部部分和初始化USB接口芯片。USB中断服务例程,从USB接口芯片处理中断,以USB为主处理。主部件等待中断的到来,根据中断标志输入相应的子程序,单独总线复位、暂停、更改、控制传输操作和数据传输操作。

微处理器固件程序的主要功能是与USB接口芯片通信,解决USB协议请求并与主机USB设备驱动程序,一起完成通信应用,完成枚举和接口转换器的识别,完成数据协议转换工作。

现代操作系统限制了应用程序的行为,来保护操作系统本身。在Windows操作系统中,限制访问应用程序,只有驱动程序可以直接访问接口转换器。因此,应用转换器到接口设备驱动程序,然后由驱动程序访问设备。USB转换器设备驱动程序基于WDM的驱动程序模型来设计。

USB设备和通用硬件设备,USB设备更是一个逻辑设备,USB设备驱动程序不直接控制你的USB设备。USB设备驱动程序,使用以下方法处理用户请求。根据用户要求,建立一个URB(USB请求块),其中包含用户请求的信息。然后URB结构发送到USB总线驱动程序,主机提供USB总线驱动程序,它解析URB,完成URB的操作请求,并于USB硬件设备完成通信。

堆栈结构的设备对象由操作系统即插即用管理器完成,管理器根据驱动程序的要求给它发送决定如何设置设备堆栈的信息。一般工作如下:新设备在系统启动时,总线驱动将连接它的物理枚举设备到总线上。在枚举过程中,找到一个物理设备,将建立相应的设备对象,这些设备被称为PDO物理设备对象。

即插即用管理器加载启动驱动程序。它找到驱动程序文件,就加载系统非分页内存和接口转换器驱动程序中的AddDevice函数来执行。此函数的主要功能是创建对应于接口转换器的设备对象,连接到设备并使用堆栈上的对象。AddDevice函数,也要创建一个符号链接,接口转换器的应用程序表明了系统的驱动接口,系统可以根据这个接口,驱动程序向接口转换器发送请求。

USB总线驱动通过创建一个URB结构,使主机控制器去完成工作。主机控制器通过USB总线转换器向接口发出配置命令,需要选择配置接口转换器,请求由接口转换器在单片机程序中负责处理。应用软件在Windows操作系统中通过句柄对象访问系统,应用软件访问接口转换器,需要建立连接到接口转换器管道系统,并将句柄连接到管道。系统中有两个句柄,当命令发送到设备配置,接口句柄应用程序软件和数据传输过程中使用的接口转换器实现时,配置应用程序使用的句柄。

参考文献

[1] Hazzah Karen. Writing Windows VxDs and Device Drivers Second edition[M]. Ramp;D Books, 1997.87-93.

[2] 王成汝,李颖崴. USB2.0开发原理与工程[M]. 北京:国防工业出版社, 2004.7:125-126

[3] John Shumate. Apraetical Guide to Microsoft 0LAP Server[M]. Addisonwesley. 2000

[4] Gu Yan. 基于数据仓库技术的医院信息系统(HIS)方案研究[J]. 计算机系统应用. 2005

[5] Yi Jing. 数据挖掘技术在医院信息化中的应用与实现[J]. 重庆医学科学院, 2007

[6] Kantardzic M. Data Mining Concept, Models, Methods and Algorithms[M]. IEEE Press. 2002

[7] Bryan Ford, Pyda Srisuresh, and Dan Kegel. Peer-to-Peer Communication Across Network Address Translators. In USENIX Annual Technical Conference, Anaheim, CA, April, 2005.

[8] Rosenberg J, Schulzrinne H.Camarillo, G. Johnston. A. Peterson , J. Sparks, and E. Schooler. SIP:Session Initiation Protocol. RFC 3261, June 2002.

[9] Hill R, Wang J, Nahrstedt K. Quantifying Non-functional Requirements: A Process Oriented Approach[C]. IEEE International Requirements Engineering Conference, Kyoto, Japan, 2004:352-353

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[27458],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。