一种SPI芯片的USB控制器接口设计_第1页
一种SPI芯片的USB控制器接口设计_第2页
一种SPI芯片的USB控制器接口设计_第3页
一种SPI芯片的USB控制器接口设计_第4页
一种SPI芯片的USB控制器接口设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【Word版本下载可任意编辑】 一种SPI芯片的USB控制器接口设计 MAX3420是Maxim公司近年来新推出的一款USB外设。该器件采用SPI接口方式,相对于传统的并行接口方式,大大减少了芯片引脚,且其工作速率仍可到达26 MHz。本文介绍了使用MAX3420作为USB控制器,并通过SPI接口开展数据换。 1 MAX3420简介 MAX3420是Maxim公司推出的一款全速USB外设,包括必要的数字逻辑和模拟电路,支持USB2.O协议。MAX3420内建全速收发器,支持15kV的ESD保护,可以编程控制USB总线的连接和断开;内含的串行接口引擎可以控制底层的USB协议细节,如错误校验和总线

2、重连接。MAX3420通过SPI接口操作其内部存放器,工作频率为26 MHz,任何支持SPI主模式的CPU只使用34根线便可增加USB功能。 2 MAX3420的外围电路 作为一款全速USB外设,MAX3420的外围电路并不复杂,如图1所示,图中采用USB自身供电方式,右上角的3.3V稳压器表示产生3.3 V电压、为CPU供电的电压转换芯片,常用的有AS2830、LMlll7等。与CPU连接的引脚共有6个,其名称和功能如下表l所列芯片的供电电压为04 V,可以采用3.3 V供电;采用12 MHz晶振,内部锁相环开展4倍频;还提供了4个通用输出口和4个通用输入口,便于CPU的IO口扩展。 带有S

3、PI接口的CPU,与MAX3420的接口十分方便;如果不带SPI接口,则也可用IO口来实现SPI的功能。图2为CPU与MAX3420的接口原理图。 3 MAX3420的工作方式 全双工即Full duplex Communication,是指在通信的任意时刻,线路上存在A到B和B到A的双向信号传输。在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传送。全双工方式无需开展方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线传送数据信

4、号。 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

5、主方式下设置时钟为静止态,SS为高。 SS为低,将要写的数据的位放到MOSI输入。 SPI主方式下。首先的8个时钟脉冲将命令由MOSI发送;MISO在SCLK上升沿输出USB状态位。 8个时钟脉冲以后,SS为高,MAX3420停止工作。 全双工方式下的读写时序图如图3所示。 3.2 半双工方式 半双工(Half Duplex)数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。例如,在一个局域网上使用具有半双工传输的技术,一个工作站可以在线上发送数据,然后立即在线上接收数据,这些数据来自数据刚刚传输的方向。像全双工传输一样,半双工包含一个双向线路(线路可以在两个方向上传递数据)

6、。 半双工方式下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为

7、高。MAX3420停止工作。 半双工方式下的读/写时序图如图4所示。 4 USB程序流程 MAX3420共有4个端点,即EP0EP3。如图5所示,USB2.0协议由硬件接入层、中间层及上层应用3部分构成。其中:硬件接入层是与CPU严密联系的,其他两层是与硬件无关的。硬件接入层主要实现了两个函数outport()和inport()。这两个函数是整个USB协议在硬件上运行的根底,只要在硬件接入层针对不同的CPU和MAX3420实现了这两个函数,便可以保证USB接口的正常工作。 本文以PICl8F2520和MAX3420为例,在全双工方式下说明以上两个函数的示意性代码。 void outport(u

8、nsigned char port,unsigned char value) 使能CPU的SPI模式; 设置CUP的SPI为主共和方式,MAX3420的SPI为从工作方式; 使能CPU的SPI模式; 设置CPU的SPI为主工作方式,MAX3420的SPI为从工作方式; USB2.0协议规定USB接口工作于被开工作方式,协议中间层主要包括总线重连接、EP0收发和中断处理等几部分,其工作流程如图6所示。协议上层应用程序由程序员按照规范根据具体需要编写。 USB传输只能由HOST发起,HOST需要向Device发送一个OUT令牌包。在这个包里指定了承受数据的设备地址、端点。然后将数据包发送到USB总线上。不是目的接收器件的USB设备不会响应该数据包,目的接收设备如果能接收该数据包,则以ACK握手包响应,如果不能接收该数据包,则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论