新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > USBN9604及其在USB接口设计中的应用

USBN9604及其在USB接口设计中的应用

作者:时间:2012-03-13来源:网络收藏
引言

USB通用串行总线是近年兴起的一种通信方式。USB协议1.1版规定了低速(1.5Mb/s)和全速(12Mb/s)两种速率,目前大部分USB器件支持该协议。2000年USB2.0白皮书出台后,其速度最高可达480Mb/s。该总线是由Compaq、Intel、Microsoft、NEC四公司共同提出,并得到了众多厂商的支持。具有安装方便、高速、灵活、低成本、易扩展,支持热插拔等优点,已经逐渐成为现代数据传输的发展趋势。

2

是NatiONalSemiconductor公司设计生产的一款较新型的专用USB通信控制芯片,是US-BN9602的改进产品,同时在时钟产生电路的复位机制上又较USBN9603有所改进。支持全速传输,可满足USBl.0和1.1协议。它具有8位并行接口,可支持DMA、MICROWIRE/PLUS。图1是US-BN9604的结构框图。其主要特点如下:

  • 工作频率为48MHz,但外部只需接24MHz晶振,因为芯片内部有倍频电路,因而可得到48MHz时钟。
  • 可由编程时钟发生器编程产生不同的频率时钟,以作为外部器件(如CPU)的时钟信号。
  • 带有串行引擎接口(SⅢ),可实现USB物理层和信号层协议的转换,主要有CRC校验/产生、PID校验/产生、位填充/解除填充、地址识别、握手评估/产生、并串转换等。
  • 带有7个端点的USB功能控制器,每个端点对应一个FIFO。其中端点0是双向控制端点(FIFO 8字节深),另有3个发送端点:EPl(16)、EP3(16)和EP5(64)以及3个接收端点EP2(16)、EP4(16)和EP6(64)。

    USBN9604内部有64个映射到内存的寄存器,主要有主控制寄存器(MCNTRL)、时钟配置寄存器(CCONF)、主事件寄存器(MAEV)、转换事件寄存器ALteV)、接收发送事件寄存器(RXEV、TXEV)以及各端点的控制寄存器和收发数据及状态寄存器等。固件的大部分功能就是完成对此寄存器组的读写,实现对接口的配置、接口状态的转换以及数据在外设和计算机之间的传输等。


    3 的硬件实现

    51单片机与USBN9604的并行连接有两种方式,即非复用方式和复用方式。它们可通过设置引脚MODE0、MODEl来选择。在非复用方式时,可用控制引脚CS、RD、WR、地址引脚A0和双向数据线D[7:0]实现相应的地址读写。而在复用方式时,则使用控制引脚CS、RD、WR、地址锁存信号ALE和双向数据线D[7:01实现其地址读写。本设计采用复用方式进行数据交换。

    图2所示是89C51单片机和USBN9604的接口电路,该电路由一片89C51单片机、USBN9604、时钟振荡电路以及相应的外围电路组成。其中USBN9604通过外部中断INT0与89C51单片机进行通信。

    4 的软件实现

    设备固件是设备运行的核心,可采用C语言设计。其主要功能是控制USBN9604接受并处理USB驱动程序的请求(如各种标准请求)、接收/_k传数据。当主程序完成CPU和USBN9604的初始化后,可用while循环等待外部中断。中断处理程序可在给出中断人口后跳出中断。所有的USB事物处理都在函数USB-ISR中完成。图3所示是USB-ISR程序框图。在USB-ISR中,通过程序可读取USBN9604中的主事件寄存器(MAEV),并判断中断原因,包括收发事件的发生、总线状态的改变以及握手信号的产生等,同时可根据不同原因进入相应函数。另外也可通过函数具体实现各种USB标准的请求、端点0的接收和发送以及其它端点的收发和总线状态的改变等。


    上一页 1 2 下一页

    关键词: USBN9604 USB接口

    评论


    相关推荐

    技术专区

    关闭