您的位置 首页 IOT

RS232接口怎么转成USB接口通讯

一、引言USB作为一种新的PC机互连协议,使外设到计算机的连接更加高效、便利.这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔…

一、导言

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个方向进行,但不能一起进行,这种类型的传输要求在规则的时刻里 完结相当大数据量的传输使命.

  关于转化模块,它能够用于PC机的数据收发,操作体系供给了HID驱动, 答应运用中止传输形式.关于低速设备的一个业务,中止传输最大的包容量是 8字节,假如需求发送许多的数据.则有必要把 它分割为许多业务.

  转化模块要界说的另一个特性是所需端点数.如上所述, 端点是微操控器在USB通讯进程中所用来发送和接纳数据的缓冲区.此体系中,该转化器界说了2个端点:一个端点(端点0)用来操控 传输,另一个端点是中止输入端点,界说为发数据给PC机.

  依据以上要求,经过研讨比较现有的微操控器,考虑到如内存空间、价格和开发包等要素,咱们选用 Cypress宗族的一种8位RISC微操控器CY7C634XX/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接口转化模块用于改善咱们的%&&&&&%卡门禁考勤体系,运用作用杰出.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/238605.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部