RS232接口转USB接口的通信方法
RS3接口转USB接口的通信方法
RS232接口转USB接口地通信方法摘要:USB通用串行总线是计算机外设接口地发展趋势,将逐渐取代PC机上地RS232协议串口,因此很多传统地 RS232 接口设备都将面临一个向 USB 接口转换地问题 .本文以 IC 卡门禁考勤系统为例 ,提出一种方案,使传统地 RS232 接口转化为 USB 接口后直接通过 USB 总线接入 PC,同时使 IC 卡门禁考勤设备增加了 USB 总线具有地热插拔、自动配置和智能电源管理等功能;着重剖析USB 通信内核,探讨系统软硬件设计方案 .关键词: USB 终端人机接口设备 <HID)列举引言USB作为一种新地PC机互连协议,使外设到计算机地连接更加高效、便利.这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔地特点,还能同时连接多达 127个设备,解决了如资源冲突、中断请求vIRQs)和直接数据通道<DMAs )等问题.因此,越来越多地开发者欲在自己地产品中使用这种标准接口 .而RS232是单个设备接入计算机时,常采用地一种接入方式,其硬件实现简单,因此在传统地设备中有很多采用了这种通信方式.一般地IC卡门禁考勤系统也使用 RS232接口与PC机通信.如果将USB技术应用于IC卡门禁考勤系统与PC 机之间地数据通信,这样,不仅能使IC卡门禁考勤设备具备 USB通信地诸多优点,而且对PC机而言还可以节余1个RS232串口为其它通信所用.b5E2RGbCAP1USB 系统概述USB 规范描述了总线特性、协议定义、编程接口以及其它设计和构建系统时所要求地特性.USB 是一种主从总线,工作时 USB 主机处于主模式,设备处于从模式 .USB 系统所需要地唯一地系统资源是,USB 系统软件所使用地内存空间、 USB主控制器所使用地内存地址空间 vI/O地址空间)和中断请求 vIRQ )线. USB 设备可以是功能性地,如显示器、鼠标或者集线器之类 .它们可以作低速或者高速设备实现 .低速设备最大速率限制在1.5 Mb/s,每一个设备有一些专有寄存器,也就是端点vendpoint).在进行数据交换时,可以通过设备驱动间接访问它 .每一个端点支持几种特殊地传输类型,并且有一个唯一地地址和传输方向 .不同地是端点 0 仅用作控制传输,并且其传输可以是双向地 .p1EanqFDPw系统上电后,USB 主机负责检测设备地连接与拆除、初始化设备地列举过程,并根据设备描述表安装设备驱动后自动重新配置系统,收集每个设备地状态信息 .设备描述表标识了设备地属性、特征并描述了设备地通信要求 .USB 主机根据这些信息配置设备、查找驱动,并且与设备通信 .DXDiTa9E3d典型地USB数据传输是由设备驱动开始地,当它需要与设备通信时,设备驱动提供内存缓冲区,用来存放设备收到或者即将发送地数据 .USB 驱动提供 USB 设备驱动和 USB 主控制器之间地接口,并将传输请求转化为USB 事务,转化时需要与带宽要求及协议结构保持一致.某些传输是由大块数据构成地,这时需要先将它划分为几个事物再进行传输.RTCrpUDGiT具有相似功能地设备可以组成一类,这样便于分享共有地特性和使用共同地设备驱动程序 .每个类可以定义其自己地描述符,如: HID类描述符和Report描述符.HID类是由人控制计算机系统地设备组成地,它定义了一个描述 HID 设备地结构,并且表明了设备地通信要求 .HID 设备描述符必须支持端点输入中断,固件也必须包括一个报告描述符,表明接收和发送数据地格式•在IC卡门禁考勤系统引入 RS232到USB地接口转换模块后 ,从系统所具有地特性来看 ,应该属于 HID 设备.因此,两种特殊地 HID 类请求必须被支持: Set Report 和 GetReport .这些请求使设备能接收和发送一般地设备信息给主机.在没有中断输出终端时 ,SetRepor t 是主机发送数据给 HID 设备地唯一方式 .5PCzVD7HxA2系统要求为了实现 IC 卡门禁考勤系统中 RS232-USB 地接口转换 ,需要 1台支持 USB 地主机 ,同时还要提供主机上用于与外设通信地驱动 ,一般由操作系统提供 .此外 ,还需开发在主机上执行地客户端应用程序.在设备端,需要提供具有 USB 接口地主控制器芯片 ,以及编写主控制器上执行地 USB 通信代码和用于执行外设功能地相关代码 .jLBHrnAILg2.1主机要求主机必须能够通过设备驱动接收USB 数据 ,并且使这些数据对处理这些请求地应用程序有效.在主机中必须有一个驱动负责处理 USB 传输、辨识设备、向 USB 设备收发数据;同时 , 还需要有一个设备驱动-虚拟化串行口 ,仿效真实地串口 .这个驱动必须能够像真实地串口接收和发送USB 数据 .xHAQX74J0X从应用地观点 ,设备驱动必须能收发数据 ,可以通过使用一个虚拟化地串口或通过转化为USB 数据实现 .微软提供了一个叫作 USB POS 地设备驱动 ,它允许应用程序访问 USB 设备时 ,好像它们连接到标准串口上一样 .系统大致结构方框图如图 1 所示 .LDAYtRyKfE2.2设备要求在定义即将使用地微控制器时 ,必须说明一些通信要求 ,如:通信速率、频率、传输地数据量等. 考虑到 IC 卡门禁考勤系统有效地通信速率 ,可以把转换器作为一个低速地设备使用,低速设备通信速度可以在 10~100 Kb/s 地范围变化 .考虑到传输地数据量和传输地频率 , 此系统中使用中断地传输类型 .中断传输可以在2 个方向进行 ,但不能同时进行 ,这种类型地传输要求在规定地时间里完成相当大数据量地传输任务.Zzz 6ZB2Ltk对于转换模块,它可以用于PC机地数据收发,操作系统提供了 HID驱动,允许使用中断传输模式. 对于低速设备地一个事务 ,中断传输最大地包容量是 8 字节 ,如果需要发送大量地数据 ,则必须把它分割为很多事务 .dvzfvkwMI1转换模块要定义地另一个特性是所需端点数.如上所述,端点是微控制器在 USB 通信过程中所用来发送和接收数据地缓冲区 .此系统中,该转换器定义了 2个端点:一个端点<端点 0)用来控制传输,另一个端点是中断输入端点,定义为发数据给 PC 机. rqyn14ZNXI根据以上要求,通过研究比较现有地微控制器,考虑到如内存空间、价格和开发包等因素,我们选用Cypress家族地一种8位RISC微控制器CY7C634XX/5XX.它使用哈佛总线结构,是对较高I/O要求地低速应用设备地低价解决方案 .EmxvxOtOco图 2为 IC 卡门禁考勤系统 USB 通信实现硬件方框原理图 .3软件设计和执行系统软件由 6 部分组成:定义描述符、设备检测和列举、端点中断服务程序、 USB 数据交换模块、串行口数据交换模块、 USB/Serial 模块接口 . 下面简要描述其中部分模块程序地功能和实现思想.SixE2 yXPq53.1 描述符定义描述符是数据结果或信息地格式化块,它可以使主机知道这个设备 .每个描述符包含了这个设备整体地信息或者某个元素地信息.所有地 USB 外设必须响应对标准地 USB 描述符地请求 .6ewMyirQFL该系统中使用了 1 个接口和 2 个终端(控制和中断输入 >.由于受 Win98 地限制还不能使用中断输出终端,因此为了解决这个问题,我们通过在端点0中使用SetReport传输PC机欲送往IC卡门禁考勤设备地数据 .kavU42VRUs数据接收是在Output Reports中完成地.它根据送往IC卡门禁考勤设备最大地数据量,系统定义为16K 个8位域.发送数据给主机是在输入报告中完成地,它是8K个8位域.y6v3ALoS893.2设备检测和列举当1个USB人机接口类<HID )设备第一次连接到总线,它将被总线供电但仍然非功能性等待 1 个总线复位.D-端地上拉电阻通知 Hub连接上了新地设备,主机也同时知道了新连接地USB设备,并将它复位.紧跟输入包之后,主机发送 1 个配置包,从缺省地址 0处读取设备描述符 .读到描述符后,主机将分配一个新地地址给设备,并继续查询关于设备描述、配置描述、人机报告描述地信息,设备将开始对新分配地地址作出反应 .根据从设备处返回地信息,主机知道了被设备支持地数据终端地数量,完成列举过程 .列举结束后,Windows 将把新地设备加入到控制面板地设备管理器中显示.M2ub6vSTnP为此,在微控制器中必须写入访问描述符地代码,这样便于对主机在列举设备时发送地请求作出有效地辨识和响应 .在设备方面需要创建一个 INF 文件,使 Windows 能够辨识设备,并且为设备找到其驱动 . 由于操作系统提供了简单地 INF 文件,因此,开发中只需要编写写入到微控制器中地程序.0YujCfmUCw3.3数据发送和接收过程发送数据到门禁考勤系统是通过控制端点0中使用SetReport来完成地.主机先向门禁考勤系统请求发送数据,设备响应请求后,主机便开始执行 . 当有数据到达设备地终端 0时,将对设备产生一个中断 .此时,相应地中断服务程序便将数据复制到数据缓冲区. 一旦进入端点 0地中断服务程序,所有地中断必须关闭确保能够正确地复制数据 .eUts8ZQVRd微处理器地数据缓冲区编程为可以接收 64个字节,这个值是存放在设置包地包头请求信息中.从主机处接收到地最大包大小,是根据它将发送给门禁考勤系统地最大数据量来决定地.sQsAEJkW5T系统还使用了 Put_command线程,通过1个I/O端口引脚,向门禁考勤系统串口发送数据.在执行此线程时,根据串口通信协议插入了起始位、停止位以及相应地延时.GMsIasNXkA从门禁考勤系统接收数据地过程是利用端点 1 完成地 .端点 1 配置为 1 个中断输入端点,当有 1 个起始位到达引脚时,GPIO中断必须打开,并关闭所有其它类型中断.设计中通过使用1个Get_Serial线程来收集 I/O 引脚发出地串行数据,并把它存入数据缓冲区 . 同时该线程负责检验接收到地起始位和停止位地正确性 .当收到 8 个字节时 ,将接收缓冲区中地数据复制到终端 1 地缓冲区 ,并且允许微处理器响应中断输入请求 .TIrRGchYzg考虑到一般串行口地有效波特率地范围在 300~19 200 bps, 我们按处于最大波特率 19 200 bps 地情况来考虑,传输1个字符需要时间接近 0.75 ms;而1个输入中断大约每10 ms送1个8字节地数据包,因此,设计 1 个 128字节地快速数据缓冲区便可以保证不会丢失数据.7EqZcWLZNXRS232-USB 接口转换模块用于改进我们地 IC 卡门禁考勤系统,使用效果良好 .。
USB TO RS232 485 TTL 用户手册说明书
USB TO RS232/485/TTL用户手册产品概述简介USB TO RS232/485/TTL是一款工业级USB转RS232/485/TTL隔离型转换器,采用原装FT232RL,内置电源隔离、ADI磁耦隔离和TVS等保护电路,铝合金外壳设计。
USB TO RS232/485/TTL操作简单,零延时自动收发转换,具有通信速度快、稳定、可靠、安全等特点,可适用于各种通信要求较高的工控设备或应用。
产品特性⚫支持USB转RS232、USB转RS485、USB转TTL(UART)通信⚫采用原装FT232RL,高速通信稳定、可靠、兼容性好⚫板载一体式电源隔离,可提供稳定的隔离电压,隔离端无须额外供电⚫板载一体式ADI磁耦隔离,可进行信号隔离,可靠性高、抗干扰强、功耗低⚫板载TVS(瞬态电压抑制管),可有效抑制电路中的浪涌电压和瞬态尖峰电压,防雷防静电⚫板载自恢复保险丝和保护二极管,可确保电流和电压稳定输出,防过流过压,抗冲击能力强⚫板载零延时自动收发转换电路,确保USB端与不同接口能快速稳定通信、互不干扰⚫板载TTL串口3.3V和5V电平转换电路,用户可通过开关切换TTL通信电平⚫铝合金外壳,氧化磨砂处理,CNC数控开孔,牢固耐用、工艺精美⚫外置3个LED指示灯,方便查看电源和信号收发状态⚫高品质USB-B和RS232接口材料,插拔顺畅,坚固可靠产品参数⚫产品类型:工业级光电隔离型转换器⚫通信速率:300-921600bps⚫主机接口:USB⚫设备接口: RS485/RS232/TTL⚫USB接口:◼工作电平:5V◼接口形式:USB-B型接口◼接口保护:200mA自恢复保险丝,隔离输出◼传输距离:约5米⚫RS485接口:◼接口形式:接线端子◼接口引脚:A+、B-、GND◼方向控制:硬件自动判别和控制数据传输方向◼接口保护:提供600W防雷、浪涌和15KV静电保护(预留120R平衡电阻焊盘) ◼传输距离:约1200米◼传输模式:点对多(至多32个节点,16个节点以上建议加中继器)⚫RS232接口:◼接口形式:DR9 公口◼接口保护:TVS管保护,浪涌和静电保护◼传输距离:约15米◼传输模式:点对点◼TTL(UART)接口:◼工作电平:3.3V或5V◼接口形式:接线端子◼接口引脚:TXD、RXD、GND◼接口保护:提供钳位保护二极管,防过压负压,抗冲击干扰◼传输模式:点对点⚫指示灯:◼PWR:电源指示灯,接入USB,检测到电压则亮红灯◼TXD:发送指示灯,有数据从USB口发出时亮绿灯◼RXD:接收指示灯,有数据从设备接口发回时亮蓝灯⚫使用环境:◼温度范围:-15℃~ 70℃◼湿度范围:5%RH ~ 95%RH⚫操作系统:Windows 10 / 8.1 / 8 / 7 / XP备注:RS485(板载预留120R平衡电阻焊盘,客户可以根据通讯数量考虑是否加入,建议在起止端加入也就是主机和最后一个设备上面各加一个120Ω的匹配电阻。
最新-RS232接口转USB接口的通信方法 精品
RS232接口转USB接口的通信方法摘要通用串行总线是计算机外设接口的发展趋势,将逐渐取代机上的232协议串口,因此很多传统的232接口设备都将面临一个向接口转换的问题。
本文以卡门禁考勤系统为例,提出一种方案,使传统的232接口转化为接口后直接通过总线接入,同时使卡门禁考勤设备增加了总线具有的热插拔、自动配置和智能电源管理等功能;着重剖析通信内核,探讨系统软硬件设计方案。
关键词终端人机接口设备列举引言作为一种新的机互连协议,使外设到计算机的连接更加高效、便利。
这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求和直接数据通道等问题。
因此,越来越多的开发者欲在自己的产品中使用这种标准接口。
而232是单个设备接入计算机时,常采用的一种接入方式,其硬件实现简单,因此在传统的设备中有很多采用了这种通信方式。
一般的卡门禁考勤系统也使用232接口与机通信。
如果将技术应用于卡门禁考勤系统与机之间的数据通信,这样,不仅能使卡门禁考勤设备具备通信的诸多优点,而且对机而言还可以节余1个232串口为其它通信所用。
1系统概述规范描述了总线特性、协议定义、编程接口以及其它设计和构建系统时所要求的特性。
是一种主从总线,工作时主机处于主模式,设备处于从模式。
系统所需要的唯一的系统资源是,系统软件所使用的内存空间、主控制器所使用的内存地址空间地址空间和中断请求线。
设备可以是功能性的,如显示器、鼠标或者集线器之类。
它们可以作低速或者高速设备实现。
低速设备最大速率限制在15,每一个设备有一些专有寄存器,也就是端点。
在进行数据交换时,可以通过设备驱动间接访问它。
每一个端点支持几种特殊的传输类型,并且有一个唯一的地址和传输方向。
不同的是端点0仅用作控制传输,并且其传输可以是双向的。
系统上电后,主机负责检测设备的连接与拆除、初始化设备的列举过程,并根据设备描述表安装设备驱动后自动重新配置系统,收集每个设备的状态信息。
PL2303HX芯片的USB转串口方法
圈
2011
03
l电于箭E-57
万方数据
PL2303HX芯片的USB转串口方法
作者: 作者单位: 刊名: 英文刊名: 年,卷(期): 李胜铭
电子制作 ELECTRONICS DIY 2011(3)
本文链接:/Periodical_dzzz201103013.aspx
52I
2011
03●w~elel∞…
万方数据
日疆皿衄
HANDS ON PROJECTS
点击端口设置中的高级按钮,出现COM口高级设 置窗n.里面就有端口号的设置下拉列表【如图7所 示).有时候COM编号会被其他驱动占用f显示为使 用中).可以不管这个选项.从而占用此COM口.不 过不要;十突系统的自带串口C例如台式机上的COMl 和正在真正使用的其他串13:3,否则会导致工作不正常I 笔者建议使用COM4口。 对于一些单片机可以通过串1:3进行在线下载程序. 如STC、NXP等公司的单片机。现以通过PL,303HX
的USB转串口电路烧写本实验板上的STC89052
为倒进行舟绍。
RC
采用USE口进行连接下藏时。除了连接好USB线 外.还学对学习板进行一些跳线设置.如图8所示。
其中跳线帽从左至右如图8短接含义分别为:
1地连接,其实板上已经共地.这样留出地线的 原因是在于还可吼单独完整的使用学习板上的USB转
图8采用USBI:3进行连接Fra bibliotek载口方法.并将其应用到计算机与羊片机通信中。
如图1所示.PL2303HX的USB转串口电路很 简单,这是园为PL2303HX内置USB功能控制器、
USB收发器、振荡器和带有全部调制解谓器控制信号 的UART,只需外接几只电容兢可实现USB信号与
数控机床RS232接口转USB接口的方法探讨
RS232自1969年由美国电气工业协会(EIA)推荐以来,由于接口和通信协议比较简单,因而在计算机串行通信领域得到了广泛的应用,开发出了大量的以RS232为接口的各类产品。
但随着USB总线规范的推出,使得外设到计算机的连接更加高效、便利,USB是目前计算机的标准配置,但是目前多数数控机床等设备仍在使用RS232串行接口,立即将其改造为USB方式显然存在成本及实施方面的问题。
为适应USB广泛流行的现实,有必要开发USB-RS232接口转换卡,在它的支持下,这些传统的设备无须改造,即可通过其原有的RS232接口与USB总线接口实现数据传输。
1USB-RS232转换卡的组成及其工作原理组成USB-RS232转换卡的设计原理框图如图1所示,由USB接口模块、UART接口模块、数据缓冲区和协议控制单元组成。
各部分功能如下:USB接口模块主要提供与USB总线的连接,它需要实现一般USB设备接口的所有功能,以实现与USB主机的数据传输。
UART接口模块实现标准的RS232接口的所有功能,以实现与标准RS232接口的连接。
协议控制单元通过接收USB接口的命令,对UART接口进行配置(如配置通信波特率、数据位、校验位、停止位、数据量控制信号等)。
数据缓冲区用来临时保存双方数据传输过程中的数据。
图1工作原理下面以计算机与外设的数据传输为例,介绍USB-RS232转换卡的工作原理:当USB-RS232转换卡连接到USB总线上时,计算机检测到设备的连接后对设备进行初始化配置并启动相关的客户驱动程序;驱动程序给设备发送配置命令以设置RS232接口的数据传输特性;最后,在数据传输时,计算机上的驱动程序首先将数据包传输给USB接口, USB接口读出实际的有效数据并保存在数据缓冲区中,UART接口则从数据缓冲区中将数据取走并发送给设备。
2USB-RS232转换卡的设计2.1协议转换模块的设计根据原理框图,选择恰当的协议转换模块是设计该卡的关键。
RS232与USB接口的转换设计
2003年9月第20卷第5期培训与研究——湖北教育学院学报TrajnjngandResearchJo啪alofHubeiUniVers毋0fEducationSep.2003V01.20No.5RS一232与USB接口的转换设计龚义建1陈锋敏2(1.湖北教育学院计算机科学系,湖北武汉430060;2.湖北经济学院教育技术部,湖北武汉430077)摘要:Rs一232和usB各有特点,两个不同的标准之间也存在着较大的差异,但是在微机接口的应用和设计中,常常需要在不同接口的设备之间进行数据通讯和接口转换。
本文结合对这两种串行接口标准的特点的分析和比较,介绍了一种采用专用转换芯片来实现UsB和Rs一232接口的转换方案,并对方案的设计方法及其特点进行了分析和说明。
关键词:Rs一232;uSB;接口转换中图分类号:TP336文献标识码:A文章编号:1007—1687(2003)05一0021一03作者简介:龚义建(1955一),男,湖北教育学院计算机科学系,副教授。
0引言Rs一232是由美国电子工业联合会(EIA)与BELL等公司一起开发的并于1969年公布的串行通信接口标准,是为远程通讯连接数据终端设备DTE(DataTeminalEquipment)与数据通讯设备DcE(DataCo姗uninationEquipment)定义的物理接口。
由于制造厂商都生产与Rs一232兼容的通信设备,而且其接口和通信协议比较简单,通信设备厂商开发出了大量的以RS一232为接口的各类产品,因而在计算机串行通信领域采用最为普遍,已成为微机串行通信接口中广泛采用的一种标准。
usB(universalserialBus)通用串行总线是由康柏等7家大厂商共同开发制定的一种新型的外设接口标准,1996年公布了usBl.0版本。
usB总线规范推出后,由于usB总线的速度快、用户安装方便等优点对RS一232总线产生了冲击,usB技术和设备在电脑中已得到较为广泛的应用,现在的台式Pc机和笔记本电脑基本上都带有一到两个UsB接口,很多计算机外设都采用uSB接口,各种带usB接口的芯片以及uSB设备也在市场上不断涌现。
RS232接口转USB接口的通信方法
RS232接口转USB接口的通信方法(2)RS232接口转USB接口的通信方法2.1 主机要求主机必须能够通过设备驱动接收USB数据,并且使这些数据对处理这些请求的应用程序有效。
在主机中必须有一个驱动负责处理USB传输、辨识设备、向USB设备收发数据;同时,还需要有一个设备驱动-虚拟化串行口,仿效真实的串口。
这个驱动必须能够像真实的串口接收和发送USB数据。
从应用的观点,设备驱动必须能收发数据,可以通过使用一个虚拟化的串口或通过转化为USB 数据实现。
微软提供了一个叫作USB POS的设备驱动,它允许应用程序访问USB设备时,好似它们连接到标准串口上一样。
系统大致结构方框图如图1所示。
2.2 设备要求在定义即将使用的微控制器时,必须说明一些通信要求,如:通信速率、频率、传输的数据量等。
考虑到IC卡门禁考勤系统有效的通信速率,可以把转换器作为一个低速的设备使用,低速设备通信速度可以在10~100 Kb/s的范围变化。
考虑到传输的数据量和传输的频率,此系统中使用中断的传输类型。
中断传输可以在2个方向进行,但不能同时进行,这种类型的传输要求在规定的时间里完成相当大数据量的传输任务。
对于转换模块,它可以用于PC机的数据收发,操作系统提供了HID驱动,允许使用中断传输模式。
对于低速设备的一个事务,中断传输最大的包容量是 8字节,如果需要发送大量的数据,那么必须把它分割为很多事务。
转换模块要定义的另一个特性是所需端点数。
如上所述,端点是微控制器在USB通信过程中所用来发送和接收数据的缓冲区。
此系统中,该转换器定义了2个端点:一个端点(端点0)用来控制传输,另一个端点是中断输入端点,定义为发数据给PC机。
根据以上要求,通过研究比拟现有的微控制器,考虑到如内存空间、价格和开发包等因素,我们选用Cypress家族的一种8位RISC微控制器CY7C634XX/5XX。
它使用哈佛总线结构,是对较高I/O要求的低速应用设备的低价解决方案。
cp2104使用手册
cp2104使用手册CP2104是一款USB转串口芯片,常用于将USB接口转换为TTL或RS232电平的串口通信接口。
以下是CP2104的使用手册,供您参考:一、概述CP2104是一款USB转串口芯片,可以将USB接口转换为TTL或RS232电平的串口通信接口。
它具有体积小巧、使用方便、兼容性好等优点,广泛应用于各种需要USB转串口通信的场合。
二、工作原理CP2104的工作原理是通过USB总线与计算机进行通信,将USB信号转换为TTL或RS232电平的串口信号。
在USB信号转换为串口信号的过程中,CP2104内部集成了电平转换器、数据缓冲区、FIFO存储器等电路,以确保数据传输的稳定性和可靠性。
三、使用方法1.连接电路将CP2104的TTL或RS232接口通过电缆连接到需要通信的设备上,同时将CP2104的USB接口通过USB线连接到计算机上。
2.安装驱动程序在连接电路后,需要在计算机上安装CP2104的驱动程序。
驱动程序可以在芯片厂商的官方网站上下载,也可以在相关的操作系统上自动识别并安装。
3.配置串口参数在安装驱动程序后,可以在计算机上打开串口调试工具,如串口监视器、串口调试助手等,配置串口参数,如波特率、数据位、停止位、校验位等。
4.进行通信在配置好串口参数后,可以在计算机上通过串口调试工具向CP2104发送数据,同时也可以接收CP2104发送过来的数据。
四、注意事项1.在使用CP2104时,需要保证USB供电稳定,以免影响数据传输的稳定性。
2.在连接电路时,需要注意TTL或RS232接口的电平匹配问题,以免造成电路损坏。
3.在配置串口参数时,需要根据实际需要进行设置,以免影响数据传输的正确性。
4.在进行通信时,需要注意数据的传输速率和传输量,以免造成数据丢失或传输延迟。
USB转串口原理及应用
USB转串口原理及应用USB转串口是指将USB接口转换成串口(或称为RS232接口)的方式。
USB(Universal Serial Bus,通用串行总线)是一种用于计算机之间连接和通信的通用接口。
而串口是一种用于计算机和外部设备之间进行异步串行通信的接口。
USB转串口的原理是通过内部的芯片实现的。
USB接口通常由USB控制器芯片和USB插座构成,而串口通常由UART(Universal Asynchronous Receiver and Transmitter,通用异步收发器)芯片实现。
所以,USB转串口的内部芯片实际上是将USB信号转换成UART信号,实现USB和串口之间的通信转换。
当计算机通过USB接口连接到USB转串口设备时,计算机会通过USB驱动程序与USB控制器芯片进行通信。
USB控制器芯片会将USB信号转换成串口信号,并通过UART芯片传送到串口接口上。
然后,外部设备可以通过串口接口与计算机进行通信,如串口打印机、串口调试工具等。
1.串口设备连接:许多传统的外部设备,如打印机、调制解调器、控制设备等,仍然使用串口进行通信。
通过USB转串口,这些设备可以与计算机连接,实现数据的传输和控制。
2.串口调试工具:在嵌入式系统和电子产品开发过程中,串口通常被用作调试接口。
通过USB转串口,开发人员可以使用计算机来进行调试和控制。
3.机器人控制:一些机器人和无人机使用串口进行通信。
通过USB转串口,计算机可以与这些设备进行通信,实现控制和数据传输。
4.工业自动化:在工业自动化领域,串口通常用于连接各种传感器、执行器和控制设备。
通过USB转串口,这些设备可以与计算机或控制系统进行通信,实现数据采集和控制。
5.特殊设备接口:有些特殊设备可能不直接支持USB接口,但支持串口接口。
通过USB转串口,可以将这些设备连接到计算机,实现数据传输和控制。
总之,USB转串口是一种将USB接口转换成串口接口的方式,通过内部芯片实现信号转换。
USB转RS232原理
USB转RS232原理USB转RS232原理USB转RS232是一种常见的串口转换器,它可以将USB接口转换为RS232接口,使得计算机可以通过USB端口与串口设备进行通信。
下面我们来详细了解一下USB转RS232的原理。
首先,我们需要了解一下USB和RS232的基本原理。
USB (Universal Serial Bus)是一种用于连接计算机和外部设备的通信协议,它采用主从式结构,通过控制传输、同步传输和批量传输等方式实现数据传输。
而RS232则是一种串行通信协议,它采用单向或双向通信方式,通过发送和接收数据位来实现通信。
在USB转RS232的过程中,需要使用一个芯片来实现两种不同协议之间的转换。
这个芯片叫做UART芯片(Universal Asynchronous Receiver/Transmitter),它是一种集成电路芯片,用于在计算机与外部设备之间进行异步串行数据传输。
UART芯片包括发送端和接收端两个部分,在发送端将并行数据转换为串行数据,并通过TXD引脚输出到外部设备;在接收端将串行数据转换为并行数据,并通过RXD 引脚输入到计算机。
具体地说,在USB转RS232中,UART芯片会将从计算机接收到的USB数据转换为串行数据,并通过TXD引脚输出到RS232设备;同时,它也会将从RS232设备接收到的串行数据转换为USB数据,并通过USB接口输入到计算机。
这样,计算机就可以通过USB端口和RS232设备进行通信了。
需要注意的是,在使用USB转RS232时,需要先安装相应的驱动程序。
驱动程序会将计算机中的串口驱动程序与UART芯片进行匹配,从而实现数据传输。
同时,还需要注意选择合适的波特率、数据位、停止位和校验位等参数,以确保通信正常。
总之,USB转RS232是一种方便实用的串口转换器,它可以帮助计算机与外部设备之间进行通信。
其原理是通过UART芯片将USB和RS232两种不同协议之间进行转换,并通过相应的驱动程序实现数据传输。
RS232与USB通讯
RS232接口转USB接口的通信方法USB作为一种新的PC机互连协议,使外设到计算机的连接更加高效、便利。
这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求(IRQs)和直接数据通道(DMAs)等问题。
因此,越来越多的开发者欲在自己的产品中使用这种标准接口。
而RS232是单个设备接入计算机时,常采用的一种接入方式,其硬件实现简单,因此在传统的设备中有很多采用了这种通信方式。
一般的IC卡门禁考勤系统也使用RS232接口与PC机通信。
如果将USB技术应用于IC卡门禁考勤系统与PC机之间的数据通信,这样,不仅能使IC卡门禁考勤设备具备USB 通信的诸多优点,而且对PC机而言还可以节余1个RS232串口为其它通信所用。
1 USB系统概述USB规范描述了总线特性、协议定义、编程接口以及其它设计和构建系统时所要求的特性。
USB是一种主从总线,工作时USB主机处于主模式,设备处于从模式。
USB系统所需要的唯一的系统资源是,USB系统软件所使用的内存空间、USB主控制器所使用的内存地址空间(I/O地址空间)和中断请求(IRQ)线。
USB设备可以是功能性的,如显示器、鼠标或者集线器之类。
它们可以作低速或者高速设备实现。
低速设备最大速率限制在1.5 Mb/s,每一个设备有一些专有寄存器,也就是端点(endpoint)。
在进行数据交换时,可以通过设备驱动间接访问它。
每一个端点支持几种特殊的传输类型,并且有一个唯一的地址和传输方向。
不同的是端点0仅用作控制传输,并且其传输可以是双向的。
系统上电后,USB主机负责检测设备的连接与拆除、初始化设备的列举过程,并根据设备描述表安装设备驱动后自动重新配置系统,收集每个设备的状态信息。
设备描述表标识了设备的属性、特征并描述了设备的通信要求。
USB主机根据这些信息配置设备、查找驱动,并且与设备通信。
典型的USB数据传输是由设备驱动开始的,当它需要与设备通信时,设备驱动提供内存缓冲区,用来存放设备收到或者即将发送的数据。
详述rs232规程及数据收发原理
RS232规程及数据收发原理随着科技的迅猛发展,数据通信技术也日新月异。
RS232作为一种最基础的串口通信协议,被广泛应用于各种设备之间的数据交互,其规程和数据收发原理显得尤为重要。
本文将对RS232的规程及数据收发原理做详细的探讨,以期为读者带来更深入的了解。
一、RS232规程1. RS232的概念RS232是一种在计算机和外部设备之间传输数据的标准接口,它定义了数据通信时的电气特性和连接器的排列方式。
RS232接口最早应用于调制解调器和终端设备之间,后来被广泛用于个人电脑通信和打印机连接。
2. RS232的特点RS232接口采用串行通信,每次只能传输一位数据。
它采用负逻辑电平表示数据位(1为-3V至-25V,0为+3V至+25V),通常使用DB9接口。
RS232的数据传输速率取决于波特率,常见的波特率有9600bps、xxxbps等。
3. RS232的连接方式RS232接口采用点对点连接方式,即一对一连接。
在实际应用中,需要通过串口转换器等设备实现多个设备之间的通信。
4. RS232的工作原理RS232接口工作原理主要包括数据发送和接收两个过程。
发送端将要传输的数据转换成电平信号发送至接收端,接收端将接收到的电平信号还原成数据。
而RS232接口中数据传输的时序和协议也有严格的要求,通常采用起始位、数据位、校验位和停止位组成一个完整的数据帧。
二、RS232数据收发原理1. RS232数据发送原理(1)串行并行转换:发送端将并行数据流转换成串行数据流,通过串行发送至接收端。
(2)波特率设定:根据通信双方的协商确定通信的波特率。
(3)数据格式设置:设置数据位、校验位、停止位等发送端参数。
(4)数据传输:通过发送端进行数据传输,发送端将数据转换成电平信号,发送至接收端。
2. RS232数据接收原理(1)电平转换:接收端将接收到的电平信号转换成逻辑电平。
(2)数据解析:根据通信双方的约定解析接收到的数据信息。
RS232到USB无线转接器说明书
Transceptor universal inalámbrico de RS232 a USBU D ispositivo paracomunicación inalámbrica 232, convierte cualquier RSU I nterfaz inalámbrica USB directamente a PC U U n módulo receptor inalámbrico opera múltiples módulos transmisores inalámbricos U (GHz 2,4ISM) Soporte para transceptor de RF U R ango de RF: Hasta 40 m (130') en interiores/urbano [hasta 120 m (400') en exteriores/línea de visión]Los transmisores inalámbricos de la Serie WRS232 le permiten convertir una conexión RS232 estándar para que funcione inalámbricamente. Es un sistema de dos partes, el WRS232 convierte la señal RS232 estándar en una inalámbrica, mientras el receptor WUSB convierte la señal inalámbrica en una conexión USB estándar.Especificaciones Transmisor inalámbrico I nterfaz del dispositivo : Conector RS232 de RJ12 a DB9 incluido Comunicación RS232: Soporte para transmisor 9600 BPSRF:ISM 2,4 GHz, espectroensanchado por secuencia directa Paquete de datos RF estándar: Arquitectura de comunicación abierta IEEE 802.15.4Salida de alimentación RF:10 dBm (10 mW)Transmisor inalámbrico WRS232. Adaptador CA UNIV-AC-100/240opcional, se vende por separado.Receptor inalámbrico WUSB.Ambos modelos se muestran en su tamaño realC o nv i e r t ed e m a n er ai n al ám b r i c ad e R S 232 a U S B W WRS232-USBUsando el transceptor inalámbrico RS232 a USBNota: Debido a las normas de frecuencia de transmisión, este producto únicamente puede ser utilizado en Estados Unidos, Canadá y Europa Completo de serie con software y manual del operador.Ejemplo de pedido: Módulos transmisores y receptores inalámbricos WRS232-USB , cable RS232 con conector RJ12 a DB9,conector macho/macho DB9 y cable USB.Opción de comunicación inalámbrica RS232 para regulador de temperatura iSeries.Voltaje de suministro: Directamente del instrumento central, mediante conexión RJ12 o adaptador CA opcionalCorriente de suministro: 60 mAAdaptador CA: 100 a 240 Vca, 50 a 60 HzTensión de salida: 9 Vcc @ 1,7 AClavija de salida (hembra): Centro positivo, coax. 2,0/5,5/10 mmReceptor inalámbricoInterfaz de PC: Compatible con USB 1.1 y USB 2.0Tipo de cable: USB 4P(A) macho a mini 5P(B) macho 1,8 m (6') de largo incluidoRango de RF: Hasta 40 m (130'): E n interiores/urbano H asta 120 m (400'): E n exteriores/línea de visión Condiciones de entorno operativo: 0 a 50 °C, 0 a 90% de HR (sin condensado)Dimensiones: 70 de largo x 51 de ancho x 20 mm de altura (2,75 x 2 x 0,80")Termómetro infrarrojo manual Serie OS533 con opción inalámbrica RS232.Transmisor inalámbrico PATENTEPATENTADORegistrador de gráfico circular Serie CTXLReceptor Transmisor inalámbricoTM。
RS232 接口的U盘读写器 使用说明
一、功能说明:
此读写器使用 RS232 接口,用户通过 RS232 总线将要保存的数据传输给读 写器,读写器以文件的格式写入 U 盘;或者从 U 盘已存在的文件中读出数据, 通过 RS232 总线发送给用户。主要作为外挂一个海量存储器开发使用。 使用简单的串口三线连接,波特率 57600b/s。 全面兼容 FAT16 和 FAT32 的 U 盘文件格式,自动识别、自动切换。
1 结果
2~5 0
(8)获得磁盘剩余空间:
命令格式: 命令字节 内容 1 0x07 2~37 无意义
命令说明: 获得磁盘的剩余空间。 命令应答: 应答字节 内容
1 结果
2~5 返回的数据长度(4)
4 个字节 磁盘的剩余空间(以字节为单位)
(9)检测 U 盘是否准备好:
命令格式: 命令字节 内容 1 0x08 2~37 无意义
(12)返回上一级目录:
命令格式: 命令字节 内容 1 0x0b 2~37 无意义
命令说明: 返回到当前目录的上一级目录中。 命令应答: 应答字节 1 2~5 内容 结果 0 注:正确返回上一级目录后,以后的操作都是在该目录下进行的,除非使用命令 跳转到其他子目录或根目录。
(12)返回到根目录:
命令格式: 命令字节 内容 1 0x0c 2~37 无意义
第5页 共 13 页
注意:在写入过程中 U 盘指示灯会快速闪烁,此时不可拔下 U 盘,否 则会丢失数据甚至损坏文件。
(7)删除文件或目录:
命令格式: 命令字节 内容 1 0x06 2~5 无意义 6~16 11 个字节的文件名或目录名 17~37 无意义
命令说明: 删除文件或目录。 注:在删除目录前请先删除该目录下的文件和子目录,包括其子目录中的 文件和目录。 命令应答: 应答字节 内容
CP系列PLC通讯口USBRS RS 的正确使用
C P系列P L C通讯口U S B R S R S的正确使用 Revised final draft November 26, 2020CP1系列PLC通讯口(USB、RS232、RS485/422)的正确使用USB、RS232、RS485、RS422 是CP1 系列的主要通信接口,在现场调试、设备连接中应用广泛。
(1)USB 口通讯的正确使用①通讯电缆:请使用可靠屏蔽、且带磁环的通讯电缆,防止电磁或噪音干扰。
②连接:避免在通信时插拔USB 电缆,且插拔时避免手直接触碰USB 口上的金属面,防止静电。
(2)RS232 口的正确使用①适配器选择:CP1 系列PLC 中CP1H、CP1L 以及CP1E-E 型无内置RS232 通讯口,所以对这些产品,如果要使用RS232 通讯,那么需要选择RS232 通讯适配器 CP1W-CIF01,如下图。
②制作通讯电缆时请使用屏蔽线。
③自行制作通讯电缆时,确保针脚连接正确,CP1W-CIF01 针脚定义如下图。
主要针脚:2 是发送,3 是接收,9 是信号地。
④焊接时引脚请套上绝缘套管,避免虚焊或短路。
⑤避免在通讯时插拔电缆,避免在PLC 通电时插拔通讯适配器(CP1W-CIF01)。
(3)RS485/422 口的正确使用① CP1系列PLC在使用RS485/422通讯时,需要选用通讯适配器CP1W-CIF11/CIF12,如下图。
②制作通讯电缆时请使用屏蔽线。
③连接通信电缆时注意针脚定义,避免连接错误,拧紧螺丝扭矩控制在0.28N.M。
④通信电缆接头处避免线头毛刺引起短路,如下图。
⑤ RS485/422 通讯时的拨码设置RS485 通讯时,CP1W-CIF11/12 的拨码开关23 为ON。
RS422 通讯时,CP1W-CIF11/12 的拨码开关23 为OFF。
⑥避免在通讯状态下插拔电缆,避免在PLC 通电状态下插拔通信适配器(CP1W-CIF01)。
(4)未正确使用通讯口会引起如下故障①带电热插拔或强静电导致USB 口通讯回路烧毁,导致无法通讯,如下图。
usb rs232
usb rs232USB RS232摘要USB RS232是一种用于串行通信的接口规范,通过USB接口将RS232信号转换为串行数据进行传输。
本文将介绍USB RS232的定义、工作原理、接口规范及应用领域,并讨论其优点和局限性。
1. 引言RS232是一种常用的串行通信协议,广泛应用于计算机和电子设备之间数据传输的领域。
然而,现代计算机逐渐放弃了RS232接口,转而采用USB接口。
为了兼容RS232设备和新一代计算机,出现了USB RS232接口。
2. 定义USB RS232是将RS232信号转换为USB信号的装置,使得RS232设备可以通过USB接口与计算机进行通信。
它通常包含一个USB转串口芯片和相关电路,用于进行信号转换和适配。
3. 工作原理USB RS232的工作原理主要分为两个步骤:信号转换和数据传输。
信号转换:USB RS232首先将计算机发送的USB信号转换为RS232信号,以便与RS232设备进行通信。
这是通过USB转串口芯片内部的逻辑电路实现的。
芯片可以识别USB信号的数据包,并将其转换为RS232协议的串行数据。
数据传输:转换后的RS232数据通过串口线传输给RS232设备。
在传输过程中,USB RS232负责控制数据的方向和速率,并维护通信的稳定性和可靠性。
同样地,当RS232设备发送数据时,转换器将其转换为USB信号并通过USB接口发送到计算机。
4. 接口规范USB RS232接口遵循USB接口规范,并根据RS232标准定义了通信协议。
常见的USB RS232接口规范包括USB 1.1、USB 2.0和USB 3.0,它们分别支持不同的数据传输速率和功耗标准。
此外,USB RS232接口还包含若干标准的串口参数,如数据位数、停止位数、奇偶校验等。
这些参数需要与RS232设备相匹配,以确保数据的正确传输。
5. 应用领域USB RS232广泛应用于各种领域,特别是工业控制、通信设备和计算机外围设备等。
RS232-RS485-USB转换器
RS232、RS485、USB转换器笔者在一家企业从事电气技术工作,由于工作关系经常接触RS232、RS485接口,如PLC、变频器、工控仪表等,而时下无论台式机还是笔记本电脑,都难觅RS232的踪影,基本上是USB一统天下,因此萌生了制作一个RS232、RS485、USB转换器的想法,好在这方面的资料也并不难找,经过两天的努力,终于取得成功,现介绍给大家,供和我有同样需求的朋友参考。
一、电路原理图1、RS232—TTL见图1,这里采用分立元件电路,也可以采用专门的MAX232、MAX202集成块。
2、RS485—TTL见图2,采用SN75176,也可以用MAX485、MAX487直接代换。
3、USB—TTL见图3,采用PL-2303HX,需从网上下载相应的驱动程序。
二、转换这个转换器是基于TTL层面的,为简单起见,笔者采用了插针方式(CJ1、CJ2、CJ3),通过跳线帽来实现三者间的转换,见图4,原则是:两者的TXD X—RXD X交叉连接。
例如RS232—RS485转换的连接为:TXD232—RXD485、RXD232—TXD485,具体跳线帽见图5,RS232—USB、RS485—USB转换同理。
电源供应既可以采用USB电源,也可以通过2PIN由独立的5V电源供应,通过插针CJ4,用跳线帽来选择。
电路还增加了一个TTL输出插口CJ5,用于与单片机连接,实现单片机与RS232、RS485、USB的通讯转换,方便单片机爱好者,一机多用。
此外,转换器的RS232、RS485采用的是DB9公座和USB插座,还应准备一根RS232交叉线、一根3、5、8直通线(即西门子PLC与触摸屏的连接线)、一根USB直通线,用于PC、转换器、目标设备间的连接。
三、调试这款转换器由于电路简单,笔者直接用洞洞板搭接而成,读者也可以自行设计印刷电路板,只要元件完好,制作无误,几乎不需调试就可以投入使用,但为避免一些初学者走弯路,觉得还是有必要介绍一下调试的技巧。
rs232驱动,USB
rs232 驱动,USB
一般的USB 转串口设备插上电脑后会自动安装驱动,但有时候会遇
到安装不成功的情况,这时就得手动安装驱动了。
但有时候会发现自动安装
的驱动会造成数据收发不稳定的情况,这时也需要更新一下驱动。
USB-RS232 电缆是通过将电脑的USB 口模拟成传统的串行口,在使用USB 编程电缆之前确认你的电脑是IBM PC 兼容型并具备以下最低系统要求:●Intel 兼容586DX4-100MHz 中央处理器或更高●一个标准的USB 接口(4-pin A 型插座)。
驱动程序的安装
驱动程序的安装非常简单,只需按提示进行即可,以Windows XP 为例,按以下步骤进行:
1、打开电脑主机,插入驱动程序光盘。
2、将USB-RS232 电缆插入电脑的USB 接口,Windows 将检测到设。
STM32串口通讯实现——USB转串口
STM32串⼝通讯实现——USB转串⼝⼀、RS232,TTL简介RS232是个⼈计算机的通讯接⼝之⼀,⼀般会有两组RS323接⼝,分别为COM1和COM2,电平标准为+12V为逻辑负,-12为逻辑正。
TTL电平为5V为逻辑正,0为逻辑负,这样的数据通信及电平规定⽅式,被称做TTL(晶体管-晶体管逻辑电平)信号系统。
这是计算机处理器控制的设备内部各部分之间通信的标准技术。
⼆、串⼝通讯原理了解了RS232和TTL两种通信标准后,就可以开始了解串⼝通信USART了。
UART :通⽤异步收发传输器,它将要传输的资料在串⾏通信与并⾏通信之间加以转换。
作为把并⾏输⼊信号转成串⾏输出信号的芯⽚。
同样它是串⾏通信接⼝ UART只有数据线收和发,并⽆时钟线,故为异步串⾏通信接⼝,可以实现全双⼯传输和接收;在嵌⼊式中,常⽤与上位机与外设通信。
串⼝通信的概念⾮常简单,串⼝按位发送和接收字节。
尽管⽐按字节的并⾏通信慢,但是串⼝可以在使⽤⼀根线发送数据的同时⽤另⼀根线接收数据。
它很简单并且能够实现远距离通信。
⼀般来说有3种串⼝通讯⽅式。
1. 两设备通过232标准通讯⽤控制器发出TTL电平,然后经过电平转换芯⽚转换为RS232电平,然后通过D89接⼝进⾏通讯2. ⽤USB转串⼝进⾏通讯⽤控制器发出TTL电平,然后经过电平转换芯⽚转换,然后通过USB接⼝和USB转串⼝进⾏通讯,需要安装CH340驱动。
本博客就主要针对这种⽅式进⾏串⼝通讯。
3. TTL电平之间直接通讯不需要控制器和转换芯⽚,直接使⽤TTL电平进⾏通讯。
三、⽣成⽂件1.建⽴⼯程打开Keil5软件,新建⼀个⼯程,然后添加⼀个.s⽂件,点击魔法棒选择Output选项,勾选Creat Hex File。
2.输⼊代码在.s⽂件当中输⼊以下代码,代码是在别⼈的博客当中复制的。
;RCC寄存器地址映像RCC_BASE EQU 0x40021000RCC_CR EQU(RCC_BASE +0x00)RCC_CFGR EQU(RCC_BASE +0x04)RCC_CIR EQU(RCC_BASE +0x08)RCC_APB2RSTR EQU(RCC_BASE +0x0C)RCC_APB1RSTR EQU(RCC_BASE +0x10)RCC_AHBENR EQU(RCC_BASE +0x14)RCC_APB2ENR EQU(RCC_BASE +0x18)RCC_APB1ENR EQU(RCC_BASE +0x1C)RCC_BDCR EQU(RCC_BASE +0x20)RCC_CSR EQU(RCC_BASE +0x24);AFIO寄存器地址映像AFIO_BASE EQU 0x40010000AFIO_EVCR EQU(AFIO_BASE +0x00)AFIO_MAPR EQU(AFIO_BASE +0x04)AFIO_EXTICR1 EQU(AFIO_BASE +0x08)AFIO_EXTICR2 EQU(AFIO_BASE +0x0C)AFIO_EXTICR3 EQU(AFIO_BASE +0x10)AFIO_EXTICR4 EQU(AFIO_BASE +0x14);GPIOA寄存器地址映像GPIOA_BASE EQU 0x40010800GPIOA_CRL EQU(GPIOA_BASE +0x00)GPIOA_CRH EQU(GPIOA_BASE +0x04) GPIOA_IDR EQU(GPIOA_BASE +0x08)GPIOA_ODR EQU(GPIOA_BASE +0x0C) GPIOA_BSRR EQU(GPIOA_BASE +0x10) GPIOA_BRR EQU(GPIOA_BASE +0x14) GPIOA_LCKR EQU(GPIOA_BASE +0x18);GPIO C⼝控制GPIOC_BASE EQU 0x40011000GPIOC_CRL EQU(GPIOC_BASE +0x00) GPIOC_CRH EQU(GPIOC_BASE +0x04) GPIOC_IDR EQU(GPIOC_BASE +0x08)GPIOC_ODR EQU(GPIOC_BASE +0x0C) GPIOC_BSRR EQU(GPIOC_BASE +0x10) GPIOC_BRR EQU(GPIOC_BASE +0x14) GPIOC_LCKR EQU(GPIOC_BASE +0x18);串⼝1控制USART1_BASE EQU 0x40013800USART1_SR EQU(USART1_BASE +0x00) USART1_DR EQU(USART1_BASE +0x04) USART1_BRR EQU(USART1_BASE +0x08) USART1_CR1 EQU(USART1_BASE +0x0c) USART1_CR2 EQU(USART1_BASE +0x10) USART1_CR3 EQU(USART1_BASE +0x14) USART1_GTPR EQU(USART1_BASE +0x18);NVIC寄存器地址NVIC_BASE EQU 0xE000E000NVIC_SETEN EQU(NVIC_BASE +0x0010);SETENA寄存器阵列的起始地址NVIC_IRQPRI EQU(NVIC_BASE +0x0400);中断优先级寄存器阵列的起始地址NVIC_VECTTBL EQU(NVIC_BASE +0x0D08);向量表偏移寄存器的地址NVIC_AIRCR EQU(NVIC_BASE +0x0D0C);应⽤程序中断及复位控制寄存器的地址SETENA0 EQU 0xE000E100SETENA1 EQU 0xE000E104;SysTick寄存器地址SysTick_BASE EQU 0xE000E010SYSTICKCSR EQU(SysTick_BASE +0x00) SYSTICKRVR EQU(SysTick_BASE +0x04);FLASH缓冲寄存器地址映像FLASH_ACR EQU 0x40022000;SCB_BASE EQU(SCS_BASE +0x0D00)MSP_TOP EQU 0x20005000;主堆栈起始值PSP_TOP EQU 0x20004E00;进程堆栈起始值BitAlias_BASE EQU 0x22000000;位带别名区起始地址Flag1 EQU 0x20000200b_flas EQU(BitAlias_BASE +(0x200*32)+(0*4)) ;位地址b_05s EQU(BitAlias_BASE +(0x200*32)+(1*4))DlyI EQU 0x20000204DlyJ EQU 0x20000208DlyK EQU 0x2000020CSysTim EQU 0x20000210;常数定义Bit0 EQU 0x00000001Bit1 EQU 0x00000002Bit2 EQU 0x00000004Bit3 EQU 0x00000008Bit4 EQU 0x00000010Bit5 EQU 0x00000020Bit6 EQU 0x00000040Bit7 EQU 0x00000080Bit8 EQU 0x00000100Bit9 EQU 0x00000200Bit10 EQU 0x00000400Bit11 EQU 0x00000800Bit12 EQU 0x00001000Bit13 EQU 0x00002000Bit14 EQU 0x00004000Bit15 EQU 0x00008000Bit16 EQU 0x00010000Bit17 EQU 0x00020000Bit18 EQU 0x00040000Bit19 EQU 0x00080000Bit20 EQU 0x00100000Bit21 EQU 0x00200000Bit22 EQU 0x00400000Bit23 EQU 0x00800000Bit24 EQU 0x01000000Bit25 EQU 0x02000000Bit26 EQU 0x04000000Bit27 EQU 0x08000000Bit28 EQU 0x10000000Bit29 EQU 0x20000000Bit30 EQU 0x40000000Bit31 EQU 0x80000000;向量表AREA RESET, DATA, READONLYDCD MSP_TOP ;初始化主堆栈DCD Start ;复位向量DCD NMI_Handler ;NMI HandlerDCD HardFault_Handler ;Hard Fault Handler DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD SysTick_Handler ;SysTick HandlerSPACE 20;预留空间20字节;代码段AREA |.text|, CODE, READONLY;主程序开始ENTRY;指⽰程序从这⾥开始执⾏Start;时钟系统设置ldr r0,=RCC_CRldr r1,[r0]orr r1, #Bit16str r1,[r0];开启外部晶振使能;启动外部8M晶振ClkOkldr r1,[r0]ands r1, #Bit17beq ClkOk;等待外部晶振就绪ldr r1,[r0]orr r1,#Bit17str r1,[r0];FLASH缓冲器ldr r0,=FLASH_ACRmov r1, #0x00000032str r1,[r0];设置PLL锁相环倍率为7,HSE输⼊不分频ldr r0,=RCC_CFGRldr r1,[r0]orr r1, #(Bit18 :OR: Bit19 :OR: Bit20 :OR: Bit16 :OR: Bit14) orr r1, #Bit10str r1,[r0];启动PLL锁相环ldr r0,=RCC_CRldr r1,[r0]orr r1, #Bit24str r1,[r0]PllOkldr r1,[r0]ands r1, #Bit25beq PllOk;选择PLL时钟作为系统时钟ldr r0,=RCC_CFGRldr r1,[r0]orr r1, #(Bit18 :OR: Bit19 :OR: Bit20 :OR: Bit16 :OR: Bit14) orr r1, #Bit10orr r1, #Bit1str r1,[r0];其它RCC相关设置ldr r0,=RCC_APB2ENRmov r1, #(Bit14 :OR: Bit4 :OR: Bit2)str r1,[r0];IO端⼝设置ldr r0,=GPIOC_CRLldr r1,[r0]orr r1, #(Bit28 :OR: Bit29);PC.7输出模式,最⼤速度50MHz;PC.7通⽤推挽输出模式str r1,[r0];PA9串⼝0发射脚ldr r0,=GPIOA_CRHldr r1,[r0]orr r1, #(Bit4 :OR: Bit5);PA.9输出模式,最⼤速度50MHzorr r1, #Bit7and r1, #~Bit6;10:复⽤功能推挽输出模式str r1,[r0]ldr r0,=USART1_BRRmov r1, #0x271str r1,[r0];配置波特率->115200ldr r0,=USART1_CR1mov r1, #0x200cstr r1,[r0];USART模块总使能发送与接收使能;710200002c 200000;AFIO 参数设置;Systick 参数设置ldr r0,=SYSTICKRVR;Systick装初值mov r1, #9000str r1,[r0]ldr r0,=SYSTICKCSR;设定,启动Systickmov r1, #0x03str r1,[r0];NVIC;ldr r0,=SETENA0;mov r1,0x00800000;str r1,[r0];ldr r0,=SETENA1;mov r1, #0x00000100;str r1,[r0];切换成⽤户级线程序模式ldr r0,=PSP_TOP;初始化线程堆栈msr psp, r0mov r0, #3msr control, r0;初始化SRAM寄存器mov r1, #0ldr r0,=Flag1str r1,[r0]ldr r0,=DlyIstr r1,[r0]ldr r0,=DlyJstr r1,[r0]ldr r0,=DlyKstr r1,[r0]ldr r0,=SysTimstr r1,[r0]mainldr r0,=Flag1ldr r1,[r0]tst r1, #Bit1;SysTick产⽣0.5s,置位bit 1beq main ;0.5s标志还没有置位;0.5s标志已经置位ldr r0,=b_05s;位带操作清零0.5s标志mov r1, #0str r1,[r0]bl LedFlasmov r0, #'H'bl send_a_charmov r0, #'e'bl send_a_charmov r0, #'l'bl send_a_charmov r0, #'l'bl send_a_charmov r0, #'o'bl send_a_charmov r0, #' 'bl send_a_charmov r0, #'w'bl send_a_charmov r0, #'o'bl send_a_charmov r0, #'r'bl send_a_charmov r0, #'l'bl send_a_charmov r0, #'d'bl send_a_charmov r0, #'\n'bl send_a_charb main;⼦程序串⼝1发送⼀个字符send_a_charpush {r0 - r3}ldr r2,=USART1_DRstr r0,[r2]b1ldr r2,=USART1_SRldr r2,[r2]tst r2, #0x40;发送完成(Transmission complete)等待pop {r0 - r3}bx lr;⼦程序 led闪烁LedFlaspush {r0 - r3}ldr r0,=Flag1ldr r1,[r0]tst r1, #Bit0;bit0 闪烁标志位beq ONLED ;为0打开led灯;为1关闭led灯ldr r0,=b_flasmov r1, #0str r1,[r0];闪烁标志位置为0,下⼀状态为打开灯;PC.7输出0ldr r0,=GPIOC_BRRldr r1,[r0]orr r1, #Bit7str r1,[r0]b LedExONLED;为0打开led灯ldr r0,=b_flasmov r1, #1str r1,[r0];闪烁标志位置为1,下⼀状态为关闭灯;PC.7输出1ldr r0,=GPIOC_BSRRldr r1,[r0]orr r1, #Bit7str r1,[r0]LedExpop {r0 - r3}bx lr;异常程序NMI_Handlerbx lrHardFault_Handlerbx lrSysTick_Handlerldr r0,=SysTimldr r1,[r0]add r1, #1str r1,[r0]cmp r1, #500bcc TickExitmov r1, #0str r1,[r0]ldr r0,=b_05s;⼤于等于500次清零时钟滴答计数器设置0.5s标志位;位带操作置1mov r1, #1str r1,[r0]TickExitbx lrALIGN;通过⽤零或空指令NOP填充,来使当前位置与⼀个指定的边界对齐END3.⽣成.hex⽂件输⼊代码编译后就会在⼯程⽬录下⽣成⼀个.hex⽂件四、烧录程序打开mcuisp软件,然后选择⽣成的.hex⽂件进⾏烧录,记得进⾏设置,如图所⽰五、运⾏调试烧录完成后复位,打开串⼝调试助⼿,找到⽣成的.hex⽂件,然后将参数设置好,因为都是默认的,所以这⾥不需要设置,然后点击打开串⼝就完成了六、波形观测同样的,我们可以通过Keil5进⾏仿真,⽤逻辑分析仪观测波形,不需要接⼊硬件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RS232接口转USB接口的通信方法摘要:USB通用串行总线是计算机外设接口的发展趋势,将逐渐取代PC机上的RS232协议串口,因此很多传统的RS232接口设备都将面临一个向USB接口转换的问题。
本文以IC卡门禁考勤系统为例,提出一种方案,使传统的RS232接口转化为USB接口后直接通过US B总线接入PC,同时使IC卡门禁考勤设备增加了USB总线具有的热插拔、自动配置和智能电源管理等功能;着重剖析USB通信内核,探讨系统软硬件设计方案。
关键词:USB 终端人机接口设备(HID)列举引言USB作为一种新的PC机互连协议,使外设到计算机的连接更加高效、便利。
这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求(IRQs)和直接数据通道(DMAs)等问题。
因此,越来越多的开发者欲在自己的产品中使用这种标准接口。
而RS232是单个设备接入计算机时,常采用的一种接入方式,其硬件实现简单,因此在传统的设备中有很多采用了这种通信方式。
一般的IC 卡门禁考勤系统也使用RS232接口与PC机通信。
如果将USB技术应用于IC卡门禁考勤系统与PC机之间的数据通信,这样,不仅能使IC卡门禁考勤设备具备USB通信的诸多优点,而且对PC机而言还可以节余1个RS232串口为其它通信所用。
1 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卡门禁考勤系统引入RS232到USB的接口转换模块后,从系统所具有的特性来看,应该属于HID设备。
因此,两种特殊的HID类请求必须被支持:SetReport和GetReport 。
这些请求使设备能接收和发送一般的设备信息给主机。
在没有中断输出终端时,SetReport是主机发送数据给HID设备的唯一方式。
2 系统要求为了实现IC卡门禁考勤系统中RS232-USB的接口转换,需要1台支持USB的主机,同时还要提供主机上用于与外设通信的驱动,一般由操作系统提供。
此外,还需开发在主机上执行的客户端应用程序。
在设备端,需要提供具有USB接口的主控制器芯片,以及编写主控制器上执行的USB通信代码和用于执行外设功能的相关代码。
2.1 主机要求主机必须能够通过设备驱动接收USB数据,并且使这些数据对处理这些请求的应用程序有效。
在主机中必须有一个驱动负责处理USB传输、辨识设备、向USB设备收发数据;同时,还需要有一个设备驱动-虚拟化串行口,仿效真实的串口。
这个驱动必须能够像真实的串口接收和发送USB数据。
从应用的观点,设备驱动必须能收发数据,可以通过使用一个虚拟化的串口或通过转化为USB 数据实现。
微软提供了一个叫作U SB POS的设备驱动,它允许应用程序访问USB设备时,好像它们连接到标准串口上一样。
系统大致结构方框图如图1所示。
2.2 设备要求在定义即将使用的微控制器时,必须说明一些通信要求,如:通信速率、频率、传输的数据量等。
考虑到IC卡门禁考勤系统有效的通信速率,可以把转换器作为一个低速的设备使用,低速设备通信速度可以在10~100 Kb/s的范围变化。
考虑到传输的数据量和传输的频率,此系统中使用中断的传输类型。
中断传输可以在2个方向进行,但不能同时进行,这种类型的传输要求在规定的时间里完成相当大数据量的传输任务。
对于转换模块,它可以用于PC机的数据收发,操作系统提供了HID驱动,允许使用中断传输模式。
对于低速设备的一个事务,中断传输最大的包容量是 8字节,如果需要发送大量的数据,则必须把它分割为很多事务。
转换模块要定义的另一个特性是所需端点数。
如上所述,端点是微控制器在USB通信过程中所用来发送和接收数据的缓冲区。
此系统中,该转换器定义了2个端点:一个端点(端点0)用来控制传输,另一个端点是中断输入端点,定义为发数据给PC机。
根据以上要求,通过研究比较现有的微控制器,考虑到如内存空间、价格和开发包等因素,我们选用Cypress家族的一种8位RI SC微控制器CY7C634XX/5XX。
它使用哈佛总线结构,是对较高 I/O要求的低速应用设备的低价解决方案。
图2为IC卡门禁考勤系统USB通信实现硬件方框原理图。
3 软件设计和执行系统软件由6部分组成:定义描述符、设备检测和列举、端点中断服务程序、USB数据交换模块、串行口数据交换模块、USB/Ser ial模块接口。
下面简要描述其中部分模块程序的功能和实现思想。
3.1 描述符定义描述符是数据结果或信息的格式化块,它可以使主机知道这个设备。
每个描述符包含了这个设备整体的信息或者某个元素的信息。
所有的USB外设必须响应对标准的USB描述符的请求。
该系统中使用了1个接口和2个终端(控制和中断输入)。
由于受Win98的限制还不能使用中断输出终端,因此为了解决这个问题,我们通过在端点0中使用SetReport传输PC机欲送往IC卡门禁考勤设备的数据。
数据接收是在Output Reports中完成的。
它根据送往IC卡门禁考勤设备最大的数据量,系统定义为16K个8位域。
发送数据给主机是在输入报告中完成的,它是8K个8位域。
3.2 设备检测和列举当1个USB 人机接口类(HID)设备第一次连接到总线,它将被总线供电但仍然非功能性等待1个总线复位。
D-端的上拉电阻通知Hub连接上了新的设备,主机也同时知道了新连接的USB设备,并将它复位。
紧跟输入包之后,主机发送1个配置包,从缺省地址0处读取设备描述符。
读到描述符后,主机将分配一个新的地址给设备,并继续查询关于设备描述、配置描述、人机报告描述的信息,设备将开始对新分配的地址作出反应。
根据从设备处返回的信息,主机知道了被设备支持的数据终端的数量,完成列举过程。
列举结束后,Windows将把新的设备加入到控制面板的设备管理器中显示。
为此,在微控制器中必须写入访问描述符的代码,这样便于对主机在列举设备时发送的请求作出有效的辨识和响应。
在设备方面需要创建一个INF文件,使Windows能够辨识设备,并且为设备找到其驱动。
由于操作系统提供了简单的INF文件,因此,开发中只需要编写写入到微控制器中的程序。
3.3 数据发送和接收过程发送数据到门禁考勤系统是通过控制端点0中使用SetReport 来完成的。
主机先向门禁考勤系统请求发送数据,设备响应请求后,主机便开始执行。
当有数据到达设备的终端0时,将对设备产生一个中断。
此时,相应的中断服务程序便将数据复制到数据缓冲区。
一旦进入端点0的中断服务程序,所有的中断必须关闭,确保能够正确地复制数据。
微处理器的数据缓冲区编程为可以接收64个字节,这个值是存放在设置包的包头请求信息中。
从主机处接收到的最大包大小,是根据它将发送给门禁考勤系统的最大数据量来决定的。
系统还使用了Put_command线程,通过1个 I/O端口引脚,向门禁考勤系统串口发送数据。
在执行此线程时,根据串口通信协议插入了起始位、停止位以及相应的延时。
从门禁考勤系统接收数据的过程是利用端点1完成的。
端点1配置为1个中断输入端点,当有1个起始位到达引脚时,GPIO中断必须打开,并关闭所有其它类型中断。
设计中通过使用1个Get_S erial线程来收集I/O引脚发出的串行数据,并把它存入数据缓冲区。
同时该线程负责检验接收到的起始位和停止位的正确性。
当收到8个字节时,将接收缓冲区中的数据复制到终端1的缓冲区,并且允许微处理器响应中断输入请求。
考虑到一般串行口的有效波特率的范围在300~19 200 bps,我们按处于最大波特率19 200 bps 的情况来考虑, 传输1个字符需要时间接近0.75 ms;而1个输入中断大约每10 ms送1个8字节的数据包,因此,设计1个128字节的快速数据缓冲区便可以保证不会丢失数据。
RS232-USB接口转换模块用于改进我们的IC卡门禁考勤系统,使用效果良好。
参考文献1 陈逸. USB大全. 北京:中国电力出版社,20012 Axelson J. Usbhidio-Universal Serial Bus Human Interface Device Input/Output(I/O) Application. http: //3 Axelson J. USB Complete-Everything You Need to Develop C ustom USB Peripherals. Madison:Lakeview Research , 1999。