RS232接口转USB接口的通讯方法

发布者:码字徜徉最新更新时间:2015-01-21 来源: eefocus关键字:RS232接口  USB接口  通讯方法 手机看文章 扫描二维码
随时随地手机看文章

一、引言

USB作为一种的PC机互连协议,使外设到计算机的连接更加高效、便利。这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求(IRQs)和直接数据通道(DMAs)等问题。而RS-232是单个设备接入计算机时,常采用的一种接入方式,其硬件实现简单,因此在传统的设备中有很多采用了这种通信方式。一般的IC卡门禁考勤系统也使用RS-232接口与PC机通信。如果将USB技术应用于IC卡门禁考勤系统与PC机之间的数据通信,这样,不仅能使IC卡门禁考勤设备具备USB通信的诸多优点,而且对PC机而言还可以节余1个RS-232串口为其它通信所用。

二、USB系统概述

USB规范描述了总线特性、协议定义、编程接口以及其它设计和构建系统时所要求的特性。USB是一种主从总线,工作时USB主机处于主模式,设备处于从模式。USB系统所需要的唯一的系统资源是,USB系统软件所使用的内存空间、USB主控制器所使用的内存地址空间(I/O地址空间)和中断请求(IRQ)线。USB设备可以是功能性的如显示器、鼠标或者集线器之类。它们可以作低速或者高速设备实现。低速设备最大速率限制在1.5 Mb/s,每一个设备有一些专有寄存器,也就是端点(endpoint)在进行数据交换时,可以通过设备驱动间接访问它。每一个端点支持几种特殊的传输类型,并且有一个唯一的地址和传输方向。不同的是端点0仅用作控制传输,并且其传输可以是双向的。

系统上电后,USB主机负责检测设备的连接与拆除、初始化设备的列举过程,并根据设备描述表安装设备驱动后自动重新配置系统,收集每个设备的状态信息。设备描述表标识了设备的属性、特征,并描述了设备的通信要求。USB主机根据这些信息配置设备、查找驱动,并且与设备通信。

典型的USB数据传输是由设备驱动开始的,当它需要与设备通信时,设备驱动提供内存缓冲区,用来存放设备收到或者即将发送的数据。USB驱动提供USB设备驱动和USB主控制器之间的接口,并将传输请求转化为USB事务,转化时需要与带宽要求及协议结构保持一致。某些传输是由大块数据构成的,这时需要先将它划分为几个事物再进行传输。

具有相似功能的设备可以组成一类,这样便于分享共有的特性和使用共同的设备驱动程序。每个类可以定义其自己的描述符,如:HID类描述符和Report描述符。HID类是由人控制计算机系统的设备组成的,它定义了一个描述HID设备的结构,并且表明了设备的通信要求。HID设备描述符必须支持端点输入中断,固件也必须包括一个报告描述符,表明接收和发送数据的格式。在IC卡门禁考勤系统引入RS-232到USB的接口转换模块后,从系统所具有的特性来看,应该属于HID设备。因此两种特殊的HID类请求必须被支持:SetReport和GetReport.这些请求使设备能接收和发送一般的设备信息给主机。在没有中断输出终端时,SetReport是主机发送数据给HID设备的唯一方式。

三、系统要求

为了实现IC卡门禁考勤系统中RS-232-USB的接口转换,需要1台支持USB的主机,同时还要提供主机上用于与外设通信的驱动,一般由操作系统提供。此外,还需开发在主机上执行的客户端应用程序。在设备端需要提供具有USB接口的主控制器芯片,以及编写主控制器上执行的USB通信代码和用于执行外设功能的相关代码。

1、主机要求

主机必须能够通过设备驱动接收USB数据,并且使这些数据对处理这些请求的应用程序有效。在主机中必须有一个驱动负责处理USB传输、辨识设备、向USB设备收发数据;同时,还需要有一个设备驱动-虚拟化串行口,仿效真实的串口。这个驱动必须能够像真实的串口接收和发送USB数据。

从应用的观点,设备驱动必须能收发数据,可以通过使用一个虚拟化的串口或通过转化为USB数据实现。微软提供了一个叫作USB POS的设备驱动,它允许应用程序访问USB设备时,好像它们连接到标准串口上一样。系统大致结构方框图如图1所示。


2、设备要求


在定义即将使用的微控制器时,必须说明一些通信要求,如:通信速率、频率、传输的数据量等。考虑到IC卡门禁考勤系统有效的通信速率,可以把转换器作为一个低速的设备使用,低速设备通信速度可以在10~100 Kb/s的范围变化。考虑到传输的数据量和传输的频率,此系统中使用中断的传输类型,中断传输可以在2个方向进行,但不能同时进行,这种类型的传输要求在规定的时间里完成相当大数据量的传输任务。[page]

对于转换模块,它可以用于PC机的数据收发,操作系统提供了HID驱动,允许使用中断传输模式。对于低速设备的一个事务,中断传输最大的包容量是8字节,如果需要发送大量的数据。则必须把它分割为很多事务。

转换模块要定义的另一个特性是所需端点数。如上所述,端点是微控制器在USB通信过程中所用来发送和接收数据的缓冲区。此系统中,该转换器定义了2个端点:一个端点(端点0)用来控制传输,另一个端点是中断输入端点,定义为发数据给PC机。

根据以上要求,通过研究比较现有的微控制器,考虑到如内存空间、价格和开发包等因素,我们选用Cypress家族的一种8位RISC微控制器CY7C*XX/5XX.它使用哈佛总线结构,是对较高I/O要求的低速应用设备的低价解决方案。



图2为IC卡门禁考勤系统USB通信实现硬件方框原理图。


四、软件设计和执行

系统软件由6部分组成:定义描述符、设备检测和列举、端点中断服务程序、USB数据交换模块、串行口数据交换模块、USB/Serial模块接口。下面简要描述其中部分模块程序的功能和实现思想。

1、描述符定义

描述符是数据结果或信息的格式化块,它可以使主机知道这个设备。每个描述符包含了这个设备整体的信息或者某个元素的信息。所有的USB外设必须响应对标准的USB描述符的请求。

该系统中使用了1个接口和2个终端(控制和中断输入)。由于受Win98的限制还不能使用中断输出终端,因此为了解决这个问题,我们通过在端点0中使用SetReport传输PC机欲送往IC卡门禁考勤设备的数据。

数据接收是在Output Reports中完成的。根据送往IC卡门禁考勤设备最大的数据量,系统定义为16K个8位域。发送数据给主机是在输入报告中完成的,它是8K个8位域。

2、设备检测和列举

当1个USB人机接口类(HID)设备第一次连接到总线,它将被总线供电但仍然非功能性等待1个总线复位。D-端的上拉电阻通知Hub连接上了新的设备,主机也同时知道了新连接的USB设备,并将它复位。紧跟输入包之后,主机发送1个配置包,从缺省地址0处读取设备描述符。读到描述符后,主机将分配一个新的地址给设备,并继续查询关于设备描述、配置描述、人机报告描述的信息,设备将开始对新分配的地址作出反应。根据从设备处返回的信息。主机知道了被设备支持的数据终端的数量,完成列举过程。列举结束后,Windows将把新的设备加入到控制面板的设备管理器中显示。

为此,在微控制器中必须写入访问描述符的代码,这样便于对主机在列举设备时发送的请求作出有效的辨识和响应。在设备方面需要创建一个INF文件,使Windows能够辨识设备,并且为设备找到其驱动。由于操作系统提供了简单的INF文件,因此,开发中只需要编写写入到微控制器中的程序。


3、数据发送和接收过程

发送数据到门禁考勤系统是通过控制端点0中使用SetReport来完成的。主机先向门禁考勤系统请求发送数据,设备响应请求后,主机便开始执行。当有数据到达设备的终端0时,将对设备产生一个中断。此时相应的中断服务程序便将数据复制到数据缓冲区。一旦进入端点0的中断服务程序,所有的中断必须关闭,确保能够正确地复制数据。

微处理器的数据缓冲区编程为可以接收64个字节,这个值是存放在设置包的包头请求信息中。从主机处接收到的最大包大小,是根据它将发送给门禁考勤系统的最大数据量来决定的。

系统还使用了Put_command线程,通过1个I/O端口引脚,向门禁考勤系统串口发送数据。在执行此线程时,根据串口通信协议插入了起始位、停止位以及相应的延时。

从门禁考勤系统接收数据的过程是利用端点1完成的。端点1配置为1个中断输入端点,当有1个起始位到达引脚时,GPIO中断必须打开,并关闭所有其它类型中断。设计中通过使用1个Get_Serial线程来收集I/O引脚发出的串行数据,并把它存入数据缓冲区。同时该线程负责检验接收到的起始位和停止位的正确性。当收到8个字节时,将接收缓冲区中的数据复制到终端1的缓冲区,并且允许微处理器响应中断输入请求。

考虑到一般串行口的有效波特率的范围在300~19 200 bps,我们按处于最大波特率19 200 bps的情况来考虑。传输1个字符需要时间接近0.75ms;而1个输入中断大约每10 ms送1个8字节的数据包,因此设计1个128字节的快速数据缓冲区便可以保证不会丢失数据。

RS-232-USB接口转换模块用于改进我们的IC卡门禁考勤系统,使用效果良好。

关键字:RS232接口  USB接口  通讯方法 引用地址:RS232接口转USB接口的通讯方法

上一篇:一种基于移动基站的无线传感器网络数据收集方法
下一篇:DeviceNet现场总线技术在化工行业的应用

推荐阅读最新更新时间:2024-05-02 23:27

USB转RS232通讯接口原理介绍
一、引言 USB作为一种新的PC机互连协议,使外设到计算机的连接更加高效、便利。这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求(IRQs)和直接数据通道(DMAs)等问题。因此,越来越多的开发者欲在自己的产品中使用这种标准接口。而RS-232是单个设备接入计算机时,常采用的一种接入方式,其硬件实现简单,因此在传统的设备中有很多采用了这种通信方式。 二、USB系统概述 USB是一种主从总线,工作时USB主机处于主模式,设备处于从模式。USB系统所需要的唯一的系统资源是,USB系统软件所使用的内存空间、USB主控制器所使用的内存地址空间(I/O地址空
[嵌入式]
USB接口的数字摄像系统设计
    摘要: 讨论了基于USB(Universal Serial Bus)接口的数字摄像系统的实现。该系统使用CYPRESS公司的EZ_USB系列芯片,并利用其开发板来实现数字摄像系统。该系统完全符合USB1.1协议,是一个新型的多媒体设备。     关键词: USB 摄像系统 I2C总线 固件 USB作为一种新的扩展接口,主要致力于计算机-电话一体化和应用类消费产品。它的数据传输率比标冲串/并口高。USB总线具有时分复用的特点,多个不同速度的USB外设可以通过集线器同时连接到同一台计算机的同一个USB口上,在USB总线带宽允许的情况下,多个外设可以同时工作而不相互影响。USB传输速率适用于中、低速外
[应用]
无线USB接口键盘控制器的设计方案
  引言   在目前的多媒体演示环境中,缺少远距离可操控计算机的设备。讲授者只能站在讲台上来操作计算机,这样限制了演讲者与观众面对面的交流。   为有效地解决这个问题,本文设计了一种可远距离操控计算机的无线通讯键盘控制器设备,通过把USB接口与无线发送、接收模块整合,设计出一种智能化、简便化的无线通讯键盘控制器。系统主要包括USB模块、无线发送模块和无线接收模块。   1 总体方案   本设计方案以无线发送/接收器为基础,用户通过所设计的"键盘控制器"上的按键,触动无线发射模块,SC2262发送指令数据,位于主机端连接卡上的无线接收器SC2272接收到数据后。将数据传给微控制器MC68HC05JB4,经过MC68H
[嵌入式]
USB接口介绍(上)
通用串行总线(Universal Serial Bus, USB)通用串行总线是连接外部设备的一个串口总线标准,在计算机上使用广泛,但也可以用在机顶盒和游戏机上,补充标准(On-The-Go)使其能够用于在便携设备之间直接交换数据。USB由Intel、Microsoft、Compaq、IBM、NEC等几家大厂商发起。 起因 Intel公司开发的通用串行总线架构(USB)的目的主要基于以下三方面考虑: (一)计算机与电话之间的连接 (二)易用性 (三)端口扩充   简介 USB最初是由英特尔与微软公司倡导发起,其最大的特点是支持热插拔(Hot plug)和即插即用 (Plug&Play)。当设备插入时,主机
[嵌入式]
三招技巧防止USB接口泄漏秘密
  现在的USB存储设备(如闪存盘、MP3、移动硬盘等)可是非常流行的,通过电脑的USB接口拷贝数据,不仅速度快、操作方便,而且存储也更加可靠。但在你不经意地暂时离开时,重要数据有可能被别人从USB接口拷贝出去。想对自己电脑的USB接口进行有效灵活的控制吗?使用“USB安全存储专家”(以下简称为USSE)吧。它提供了对USB存储设备存取文件较细程度的控制,能让你比较方便的工作,同时又阻止他人用USB存储设备非法拷贝你的数据,保证数据的安全。    想阻止所有的USB存储设备,让USB存储设备插入时不被系统识别吗?进入“USB存储安全设置” “安全设置”窗口,点击“确定”进入如图1所示的窗口,勾选“启用USB存储设备过滤”,再选择
[嵌入式]
基于VoIP处理器与USB接口的IP电话设计
引言     随着VoIP的普及,IP电话的通话质量有了明显改善,与传统电话相比,已基本没有差别。另外,它具有传统电话无可比拟的价格优势,吸引了越来越多的用户使用IP电话进行通信。目前,有很多厂商开发了软IP电话终端,但是用它打电话必须使用耳麦,不符合人们打电话的习惯,而且长时间通话无论从语音质量还是从用户舒适度上都远不及传统电话机,对于操作电脑不甚熟练的用户则更感困难。因此大多数人都更愿意用电话机而不是电脑来打电话。根据这种需要,就出现了一些与主机的通信接口相联的IP电话机。其中以USB接口的IP电话最为普遍。     通用串行总线(USB)是一种新型接口技术。它是由Intel等公司研发与规划的一种串行通信标准。USB具
[嵌入式]
基于USB接口设备的固件程序设计
  一、 引言      USB是应用在PC领域中的新型接口技术,它由三部分组成:具有USB接口的PC系统,能够支持USB的系统软件和使用USB接口的设备。它的提出是基于采用通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展PC连接外设范围的目地。它的最显著优点是支持热插拔,当用户插入USB外设后,计算机能够自动识别接入的外设,而不需要重新启动系统。 二、USB设备硬件结构    为了提高系统的可扩展性,也便于选择高性能的单片机,以实现更多的功能,我们使用较为广泛的Philip公司的单纯的接口芯片 PDIUSBD12 。下面介绍USB设备硬件的相关情况。 1. PDIUSBD12 芯片的内
[嵌入式]
基于USB接口的数据通信演示板的软硬件实现方案
前言 在开发USB设备时最难的就是固件和驱动程序的开发,要想成功的开发这两部分必须完全熟悉USB协议,而这至少需要五到六个月的时间。南京沁恒公司的CH371芯片是一块屏蔽了USB协议的接口芯片,该芯片固化了设备驱动程序和单片机程序中的协议处理部分,因此不需要去了解复杂的设备驱动程序和USB协议,大大减少了开发周期,也降低了开发难度。本文介绍的演示板就是基于该公司的CH371和CH451芯片的一个简单USB外设,通过这块演示板,不仅可以了解基于USB接口的基本结构,而且还可以熟悉基于这种接口的PC和单片机通信的单片机控制程序和计算机应用程序的编写。 芯片介绍 USB接口芯片CH371 CH371是一个USB 总线的通
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved