当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 通用串行总线控制器技术

通用串行总线控制器技术 时间:2018-12-11      来源:未知

通用串行总线Universal Serial Bus,缩写为USB,是一个标准的外部总线标准。在计算机领域,它是已经获得广泛使用的技术,常用的电子设备上几乎都有USB接口。USB最初用于规范个人电脑PC与外部设备之间的连接与通讯,一般由PC来充当host端,各种外部设备作为device端,所有的通信都必须在host与device之间进行,各device之间无法进行直接通信。随着USB技术的不断广泛应用,各种带USB接口的电子设备不断涌现,形成了现成遍地开花的局面。这样一来没有PC就无法使用USB进行通信,显得十分不方便。于是USB OTG技术开始出现。USB OTG是USB On-The-Go的缩写,是近年发展起来的技术,主要应用于各种不同的设备或移动设备间的联接,进行数据交换,特别是PAD、移动电话、消费类设备。

在以前传统的通信方式中,例如以前个人计算机的串口和并口。以前的RS232串行通信,因为每次仅能传送一个bit的数据,波特率也无法获得更进一步的提高,数据传输速率很低。相比串行通信,并行通信能同时传送多个比特位,可以显著加快数据通信速率。然而并行通信,需要多根数据线来同时传送数据的各bit位,如果传输距离稍长,通信线路的成本明显增加,不太适合距离稍远的数据传输。然而不管是串行还是并行通信,由于它们直接使用电平的高低来表示二进制的01信号,使得电信号在传输过程中抗干扰能力差,随着通信距离的增加,信号衰减快。要想提高通信距离,同时提高通讯速率,就需要采用差分线来传输数据。USB就是基于这一原理,通信过程中仅需要D+,D-这一对差分数据线,使得通信线路简单,通信速率有了巨大的提高,同时抗干扰能力强。USB接口还能供电,支持热插拔。自从该技术在PC中应用以来,就受到了广泛欢迎。

USB接口可以进行供电,这样小型的设备就不需要单独供电,简化了设备的供电设计。于是各种小型的电子设备都特别喜欢使用USB接口。嵌入式设备中,经常都需要该设备充当device的角色。下面以device的设计为例,讨论一下USB接口的软硬件设计。比如一个简单的基于单片机的USB数据采集器,可以如下设计:

通用串行总线控制器技术,嵌入式学科

这是一个基于AVR单片机的通用USB数据采集器,使用了一款经典的USB接口芯片PDIUSBD12,单片机与PDIUSBD12之间直接利用传统的数据、地址和控制三总线方式连接,有利于最大化数据传输。PDIUSBD12芯片引出差分数据线D+,D-与USB插头相连。

软件开发上,需要实现USB协议栈,按传统的软件分层设计方法来进行设计即可,比如该数据采集器的软件层次结构如下:

通用串行总线控制器技术,嵌入式学科

当USB检测到device插入后,就会自动和设备进行前期的多次对话,完成必要的初始化和加载任务,我们设计device时,就需要不断地向host返回相应的信息,例如:

通用串行总线控制器技术,嵌入式学科

利用传统的单片机前后台程序设计方法就可以完成。该数据采集器是个通用的USB device设计模块,其它USB设备只需在其基础上做相应的软硬件修改即可实现。

上一篇:红外感应器工作原理

下一篇:STM32单片机如何编程

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部