通用串行总线在分组无线网中的应用
分组无线网(PRN)是一种新型的无线通信网络,是利用分组交换技术共享无线信道的数字通信网络。它采用先进的网络通信协议、动态的网络拓扑组织,使网络具有信道利用率高、组建方便和多跳转换覆盖面广等特点。分组无线网与一般计算机通信网、广域分级无线网和传统的局域网相比,具有机动灵活、组网迅速和抗毁能力强等特点。分组无线网络控制单元(PRU)是分组无线网中的核心设备,它与计算机(数据终端)相连接,进行收发数据交换。计算机可以向PRU发送网络控制命令,也可以设置或查看设备与网络的状态。传统的方法是采用RS-232口进行通信,传输速度十分有限,难以对高速、批量的数据进行快速响应,这使分组无线网的发展受到了限制。随着通用串行总线(Universal Serial Bus)技术的不断完善,使得在计算机与PRU之间建立高速且通畅的通信线路成为可能。采用USB接口来替换RS-232接口,从而使上述问题得以有效解决,并为以后PRN与IP网互联时的大量数据
高速传送奠定了基础。
1 USB接口的特点
USB(Universal Serial Bus)即“通用串行总线”,是一种应用在PC领域的表型总线接口技术,由Intel、Microsoft、NEC等公司共同提出。这是一种新规格的外接串联口,提出该规格的厂商希望用USB来取代现有的外接设备接口,它还具备连接单一化、软件自动侦测以及热插拔的功能,即插即用。它具有以下特点:
(1)使用方便。使用USB接口可以连接多个不同的设备,所以外设都在机箱外连接,允许外设热插拔。USB智能能识别USB链上外围设备的接入或拆卸。在软件方面,为USB设备的驱动程序可以自启动,无需用户干预,USB设备能真正做到“即插即用”。
(2)速度更快。USB接口的数据传输速度有全速(12Mbps)和低速(1.5Mbps)两种,在最新版本的标准USB2.0中定义的接口传输速率已达480Mbps。
(3)独立供电。USB接口提供了内置电源,采用总线供电的USB设备可获得5V电压和最大500mA的电流。这对一些耗电较小的设备非常有利,可以省去相对庞大的电源系统。
基于以上特点,尤其是速度方面的显著优势,USB得到了越来越广泛的应用。现在,大多数新PC都装备有两个USB端口,并且已经在PC机的多种外设上得到应用。
2 USB工作原理
2.1 USB通信模块分层结构
USB通信模块的基本流图如图1所示。
从图1中可以看出,主机到设备的连接由多层链接组成。USB总线接口层提供了主机与设备之间物理/信令/包的连接;系统软件基于USB设备层来完成对设备的一般操作;功能层通过相应的客户软件向主机提供一些附加功能。USB设备层和功能层各自的内部通信是逻辑上的,它们实际的物理通信都是通过USB总线接口层完成的。
2.2 数据传输方式
数据通过USB在主机与设备之间传送。USB规范极据不同数据的特点规定了USB支持的四种数据传输方式:
(1)控制传输方式。该方式用来进行外设与主机之间的控制、状态、配置等信息的传输,为外设与主机之间提供一个控制通道。每种外设都支持控制传输类型,这样主机PC与外设之间就可以传送配置和命令/状态信息。
(2)等时传输方式。该方式用来连接需要连续传输的数据,且对数据的正确性要求不高而对时间极为敏感的外部设备,如麦克风、电话等。以固定的传输速率,连续不断地在主机与USB之间传输数据。在传送数据发生错误时,USB并不处理这些错误,而是继续传送新的数据。
(3)中断传输方式。该方式传送的数据数量很小,但这些数据需要及时算是,以达到实时效果。此方式主要用在键盘、鼠标以及操纵杆等设备上。
(4)批传输方式。该方式用于传输要求正确无误但无带宽和时间要求的数据。通常打印机、扫描仪和数字相机以这种方式与主机联接。
USB设备的各个端点可以在设备开发时根据需要设置为相应的传输方式。分组无线网络控制单元(PRU)与计算机之间的通信要求大量数据的无差错传输,对时间间隔没有严格要求,所以选用批传输方式。
3 USB接口技术在分组无线网络控制单元(PRU)上的应用
为了将PRU与计算机通过USB连接,需要为PRU添加一个USB接口。目前可选用的USB接口产品有两种:一种是集成了USB接口的单片机,采用它开发成本较高;另一种是不带单片机的USB接口芯片。笔者选用NATIONAL SEMICONDUCTOR公司的USB接口芯片USBN9602,结合PRU本身的8051单片机,采用8051的编程语言编写接口程序,成功而又方便地实现了PRU的USB接口。
3.1 接口芯片USBN9602
USBN9602是一个集成的USB节点控制器,它支持USB标准的1.0和1.1版本。在这个芯片上集成了带有3.3V电压调节器的USB收发器、串行接口引擎(SIE)、USB端点FIFO、多功能8位并行接口、MICROWIRE/PLUS接口和一个可编程的时钟发生器。共有7个FIFO寄存器支持不同的USB消息:一个双向的FIFO(8字节)支持命令控制端点EP0,其余六个单向的FIFO支持中断、等时和批方式的数据传输。8位并行接口支持复用和非复用方式的CPU数据/地址总线。可编程中断输出设置允许设备根据不同中断信号的需要进行配置。串行接口引擎包含了物理层接口(PHY)和媒体接入控制器(MAC)。其中物理层接口包括了一个EOP(包结尾)检测电路,它可以根据总线通信协议判断出一个包的结束;媒体接放控制器用来完成包格式化、CRC校验码的生成和检测、端点地址检测等功能,而且还为发送NAK、ACK、STALL等握手包提供必要的控制。
同时NATIONAL SEMICONDUCTOR公司还提供了USBN9603和USBN9604两种芯片可供选择。这两种芯片除了时钟产生电路的复位机制有所不同外,其他部分完全相同。而这个区别使得它们分别适用于不同的供电方式:自供电(self-powered)和总线供电(bus-powered)。USBN9603/4比USBN9602在功能方面更加完善,它们的主要区别有两点:①USBN9603/4的晶体振荡频率为24MHz,USBN9602为48MHz;②USBN9603/4的6个单向FIFO均为64字节,USBN9602的6个单向FIFO分别为4个32字节和2个64字节。
评论