计算机USB口与单片机之间的通信

时间:2022-09-20 06:08:49

计算机USB口与单片机之间的通信

摘 要 对计算机USB接口与51系列单片机的串行口的特点进行了研究,重点阐述了USB口与单片机的串行口之间的通信过程,为计算机和单片机在工业控制自动化等系统中的应用提供理论依据。

关键词 计算机USB口 单片机串口 通信协议

近年来,由于计算机优越的性能价格比和丰富的软件资源,在许多领域内有着广泛的应用;而MCS-51系列微型控制器(单片机)也因其价格低廉、功能集成度高、抗干扰能力强等优点已经应用到了各个领域,尤其是在数据采集和过程控制等方面显示出了强大的生命力。但是单片机毕竟存在着功能简单难于管理的缺点,因而在大多数场合中都是将单片机和计算机两者结合起来组成集散控制的网络系统。前者负责对象的控制;后者负责对单片机进行集中监控管理以及数据处理。在这种情况下,当然产生了一个新命题:即如何解决两台或两台以上机器之间通信的问题。如何实现计算机USB接口与51系列单片机的串行口异步通信。

目前普遍采用的USB1.1主要应用在中低速外部设备上,它提供的传输速度有低速1.5Mbps和全速12Mbps两种,低速的USB带宽(1.5Mbps)支持低速设备,例如显示器、调制解调器、键盘、鼠标、扫描仪、打印机、光驱、磁带机、软驱等。全速的USB带宽(12Mbps)将支持大范围的多媒体设备。USB之所以能得到广泛支持和快速普及,是因为它具备下列的很多特点:

一、使用方便

使用USB接口可以连接多个不同的设备,支持热插拔,在软件方面,为USB设计的驱动程序和应用软件可以自动启动,无需用户干预。USB设备也不涉及IRQ冲突等问题,它单独使用自己的保留中断,不会同其它设备争用PC机有限的资源,为用户省去了硬件配置的烦恼。USB设备能真正做到“即插即用”。

二、连接灵活

USB接口支持多个不同设备的串列连接,一个USB口理论上可以连接127个USB设备。连接的方式也十分灵活,既可以使用串行连接,也可以使用中枢转接头(Hub),把多个设备连接在一起,再同PC机的USB口相接。在USB方式下,所有的外设都在机箱外连接,不必打开机箱;允许外设热插拔,而不必关闭主机电源。USB采用“级联”方式,即每个USB设备用一个USB插头连接到一个外设的USB插座上,而其本身又提供一个USB插座供下一个USB外设连接用。通过这种类似链式的连接,一个USB控制器可以连接多达127个外设,而每个外设间距离(线缆长度)可达5米。USB还能智能识别USB链上设备的接入或拆卸。

三、独立供电

普通使用串口、并口的设备都需要单独的供电系统,而USB设备则不需要,因为USB接口提供了内置电源。USB电源能向低压设备提供5V的电源,因此新的设备就不需要专门的交流电源了,从而降低了这些设备的成本并提高了性价比。

四、支持多媒体

USB提供了对电话的两路数据支持,USB可支持异步以及等时数据传输,使电话可与PC集成,共享语音邮件及其它特性。USB还具有高保真音频。由于USB音频信息生成于计算机外,因而减少了电子噪音干扰声音质量的机会,从而使音频系统具有更高的保真度。

五、 USB存在的问题

尽管在理论上,USB可以实现高达127个设备的串列连接,但是在实际应用中,也许串联3到4个设备就可能导致一些设备失效。而且大多数USB产品,只有一个输入口,根本无法再连接下一个USB设备。另外,尽管USB本身可以提供500mA的电流,但一旦碰到高电耗的设备,就会导致供电不足。解决这些问题的办法是使用USBHub,但Hub的价格目前还太贵了点。

USB接口中的+5V电源不但可以为外接设置提供小电流供应,并且还起着检测功能。当USB设置插入USB接口后,主机的+5V电源就会通过USB边线与USB设备相通。USB外设的控制芯片会通过两只10K的电阻来检查USB设备是否接入了主机的USB端口。如果这两个引脚一个为高电平,一个为低电平时就表示USB外设已经正常确连入USB接口,这时外设的控制芯片开始工作,并通过DATA+,DATA-向外送出数据。这时主机接收数据后,就会提示发现新硬件,并开始安装新硬件驱动。在USB外设向外送出数据时,其中就包括设备自身的设备名及型号等相关参数,主机就是根据这些信息在显示器上显示出所发现的新硬件的名称型号的。

51单片机有一个全双工的串行通讯口,所以单片机和计算机USB接口之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件, 两者之间必须用专用芯片电平的转换。最简单的办法就是去买一块USB转UART的模块,它的作用就是让单片机的串口能通过USB口与计算机进行通讯。在电脑上安装相应的驱动(不同的板子所使用的转换芯片不同,根据你的板子上的芯片型号找相应驱动),在成功识别板子后找到USB转UART板在计算机上占有的串口号,利用串口助手之类的软件就能实现单片机与计算机之间的通讯了。

通过上述操作,就可以将其通讯应用于工业控制自动化系统。其中包括门禁、售饭、监控、楼宇对讲 停车场系统、考勤等系统中。

上一篇:浅谈如何培养体校学生学习英语的主动性 下一篇:培养学习兴趣,提高生物教学质量