位置:51电子网 » 技术资料 » 接口电路

基于SPI的USB控制器接口设计

发布时间:2008/6/3 0:00:00 访问次数:521

电子产品世界

  目前,usb接口的使用越来越广泛,许多设备上都提供了usb接口。传统的usb控制器需要使用包括数据线和控制线在内的十多根线,占用了大量的cpu资源。而现代设备正在向体积小、功能强的方向发展,cpu更是要求表贴封装,功耗低,其自身资源非常有限,所以在扩展接口方面必须要尽可能少地占用已有芯片资源。本文介绍了如何使用max3420进行usb接口扩展。max3420提供了spi接口,只需3~4根线便可实现usb接口。

  1 max3420简介

  max3420是maxim公司推出的一款全速usb外设,包括必要的数字逻辑和模拟电路,支持usb2.o协议。max3420

  内建全速收发器,支持±15kv的esd保护,可以编程控制usb总线的连接和断开;内含的串行接口引擎可以控制底层的usb协议细节,如错误校验和总线重连接。max3420通过spi接口操作其内部寄存器,工作频率为26 mhz,任何支持spi主模式的cpu只使用3~4根线便可增加usb功能。

  2 max3420的外围电路

  作为一款全速usb外设,max3420的外围电路并不复杂,如图1所示,图中采用usb自身供电

  方式,右上角的3.3v稳压器表示产生3.3 v电压、为cpu供电的电压转换芯片,常用的有as2830、lmlll7等。与cpu连接的引脚共有6个,其名称和功能如表l所列。其中,usb配置必需的引脚是sclk、ss和miso三个。芯片的供电电压为0~4 v,可以采用3.3 v供电;采用12 mhz晶振,内部锁相环进行4倍频;还提供了4个通用输出口和4个通用输入口,便于cpu的i/o口扩展。

  带有spi接口的cpu,与max3420的接口十分方便;如果不带spi接口,则也可用i/o口来实现spi的功能。图2为cpu与max3420的接口原理图。

  3 max3420的工作方式

  max3420的spi接口可工作于以下两种工作方式:全双工方式(mosi输入/miso输出)和半双工方式(mosi输入/输出)。

  3.1 全双工方式

  全双工方式下的读操作:

  ①ss为高,max3420未选中,miso为高阻态。

  ②当sclk为静止态时,ss了,低,max3420选中;打开miso输出缓冲,将要发送数据的最高位送到miso输出。

  ③spi主方式下,首先的8个时钟脉冲将命令由mosi发送;miso在sclk上升沿输出usb状态位。

  ④8个时钟脉冲以后,ss为高,max3420停止工作,miso输出高阻态。在sclk下降沿,下一个输出数据的最高位在miso顺序输出。

  全双工方式下的写操作:

  ①spi主方式下设置时钟为静止态,ss为高。

  ②ss为低,将要写的数据的最高位放到mosi输入。

  ③spi主方式下.首先的8个时钟脉冲将命令由mosi发送;miso在sclk上升沿输出usb状态位。

  ④8个时钟脉冲以后,ss为高,max3420停止工作。

  全双工方式下的读/写时序图如图3所示。

  3.2 半双工方式

  半双工方式下miso为高阻态,mosi为双向。由于只有一根线,因此半双工方式下usb状态位不再有效。半双工方式下的读/写操作:

  ①ss为高,max3420未选中,mosi可以为任意值。

  ②当sclk为静止态时,ss为低,max3420选中;将要写的数据的最高位送到mosi输入。

  ③spi主控制器打开输出驱动,首先的8个时钟脉冲将命令在sclk上升沿由mosi发送;8个时钟脉冲后,ss为高。

  ④如果要写spi数据,则spi主控制器保持打开输出驱动,在sclk脉冲下,顺序将数据位送到mosi引脚;如果要读spi数据,则在8个时钟脉冲后,spi主控制器关闭输出驱动,开始从mosi按时钟脉冲读入数据。

  ⑤ss为高.max3420停止工作。

  半双工方式下的读/写时序图如图4所示。

  4 usb程序流程

  max3420共有4个端点,即ep0~ep3。其中:ep0为64字节的双向控制端点;epl为2×64个字节的双缓冲、批处理/中断输出端点;ep2为2×64个字节的双缓冲、批处理/中断输入端点;ep3为64字节的批处理/中断输入端点。epo主要用于枚举过程中发送命令,ep1和ep2主要用于完成大批量数据的收发。如图5所示,usb2.0协议由硬件接入层、中间层及上层应用3部分构成。其中:硬件接入层是与cpu紧密联系的,其他两层是与硬件无关的。硬件接入层主要实现了两个函数outport()和inport()。这两个函数是整个usb协议在硬件上运行

电子产品世界

  目前,usb接口的使用越来越广泛,许多设备上都提供了usb接口。传统的usb控制器需要使用包括数据线和控制线在内的十多根线,占用了大量的cpu资源。而现代设备正在向体积小、功能强的方向发展,cpu更是要求表贴封装,功耗低,其自身资源非常有限,所以在扩展接口方面必须要尽可能少地占用已有芯片资源。本文介绍了如何使用max3420进行usb接口扩展。max3420提供了spi接口,只需3~4根线便可实现usb接口。

  1 max3420简介

  max3420是maxim公司推出的一款全速usb外设,包括必要的数字逻辑和模拟电路,支持usb2.o协议。max3420

  内建全速收发器,支持±15kv的esd保护,可以编程控制usb总线的连接和断开;内含的串行接口引擎可以控制底层的usb协议细节,如错误校验和总线重连接。max3420通过spi接口操作其内部寄存器,工作频率为26 mhz,任何支持spi主模式的cpu只使用3~4根线便可增加usb功能。

  2 max3420的外围电路

  作为一款全速usb外设,max3420的外围电路并不复杂,如图1所示,图中采用usb自身供电

  方式,右上角的3.3v稳压器表示产生3.3 v电压、为cpu供电的电压转换芯片,常用的有as2830、lmlll7等。与cpu连接的引脚共有6个,其名称和功能如表l所列。其中,usb配置必需的引脚是sclk、ss和miso三个。芯片的供电电压为0~4 v,可以采用3.3 v供电;采用12 mhz晶振,内部锁相环进行4倍频;还提供了4个通用输出口和4个通用输入口,便于cpu的i/o口扩展。

  带有spi接口的cpu,与max3420的接口十分方便;如果不带spi接口,则也可用i/o口来实现spi的功能。图2为cpu与max3420的接口原理图。

  3 max3420的工作方式

  max3420的spi接口可工作于以下两种工作方式:全双工方式(mosi输入/miso输出)和半双工方式(mosi输入/输出)。

  3.1 全双工方式

  全双工方式下的读操作:

  ①ss为高,max3420未选中,miso为高阻态。

  ②当sclk为静止态时,ss了,低,max3420选中;打开miso输出缓冲,将要发送数据的最高位送到miso输出。

  ③spi主方式下,首先的8个时钟脉冲将命令由mosi发送;miso在sclk上升沿输出usb状态位。

  ④8个时钟脉冲以后,ss为高,max3420停止工作,miso输出高阻态。在sclk下降沿,下一个输出数据的最高位在miso顺序输出。

  全双工方式下的写操作:

  ①spi主方式下设置时钟为静止态,ss为高。

  ②ss为低,将要写的数据的最高位放到mosi输入。

  ③spi主方式下.首先的8个时钟脉冲将命令由mosi发送;miso在sclk上升沿输出usb状态位。

  ④8个时钟脉冲以后,ss为高,max3420停止工作。

  全双工方式下的读/写时序图如图3所示。

  3.2 半双工方式

  半双工方式下miso为高阻态,mosi为双向。由于只有一根线,因此半双工方式下usb状态位不再有效。半双工方式下的读/写操作:

  ①ss为高,max3420未选中,mosi可以为任意值。

  ②当sclk为静止态时,ss为低,max3420选中;将要写的数据的最高位送到mosi输入。

  ③spi主控制器打开输出驱动,首先的8个时钟脉冲将命令在sclk上升沿由mosi发送;8个时钟脉冲后,ss为高。

  ④如果要写spi数据,则spi主控制器保持打开输出驱动,在sclk脉冲下,顺序将数据位送到mosi引脚;如果要读spi数据,则在8个时钟脉冲后,spi主控制器关闭输出驱动,开始从mosi按时钟脉冲读入数据。

  ⑤ss为高.max3420停止工作。

  半双工方式下的读/写时序图如图4所示。

  4 usb程序流程

  max3420共有4个端点,即ep0~ep3。其中:ep0为64字节的双向控制端点;epl为2×64个字节的双缓冲、批处理/中断输出端点;ep2为2×64个字节的双缓冲、批处理/中断输入端点;ep3为64字节的批处理/中断输入端点。epo主要用于枚举过程中发送命令,ep1和ep2主要用于完成大批量数据的收发。如图5所示,usb2.0协议由硬件接入层、中间层及上层应用3部分构成。其中:硬件接入层是与cpu紧密联系的,其他两层是与硬件无关的。硬件接入层主要实现了两个函数outport()和inport()。这两个函数是整个usb协议在硬件上运行

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!