应用笔记 3937

建立Maxim USB库


摘要 : 本应用笔记和应用笔记3936,\"Maxim USB库\"配套使用,应用笔记3936主要描述了一个用于简化内置USB嵌入式主机和外设开发的硬件和软件系统。该系统中,MAX3421E为主机,MAX3420E为外设。本应用笔记解释了如何利用评估板(EV)设置硬件,并给出三种评估软件的方法。

绪论

结合应用笔记3936,"Maxim USB库"说明在同一个基于ARM®的硬件环境下构建USB主机(MAX3421E)和外设(MAX3420E) C程序、Keil™工程文件。该评估系统硬件包括以下部分: 可下载软件。

该应用笔记解释了如何配置本评估板的各种元器件。

其它资料及联络信息

有关MAX3420EMAX3421E的资料可以从Maxim网站下载,可以获得数据资料、关于Maxim USB库程序的其它应用笔记及其它与MAX3420E和MAX3421E相关的应用笔记、申请样品的途径。

如果对MCB2130电路板或Keil Software®、ARM软件的开发工具有疑问,请联系Keil公司:www.keil.com

硬件配置

图1. Maxim MAX3421E EVKIT-1插入Keil MCB2130电路板。
图1. Maxim MAX3421E EVKIT-1插入Keil MCB2130电路板。

图1所示为双板配置,其中蓝色的是Keil MCB2130板,包括一片Philips® LPC2138、ARM7™微控制器。LPC2138提供两个SPI™硬件单元,每个单元连接一个USB控制器。

图1中竖着放置的电路板是MAX3421E EVKIT-1。如图1所示,MAX3420E外围控制器连接到其中一个ARM SPI口,并连接到标有“3420P” (P表示外围)的USB B口(J5)。MAX3421E主机/外设控制器接到另一个ARM SPI口,并连接到标有“3421P” (J2)和“3421H” (J1)的接口(H表示主机)。由于USB库程序将MAX3421E作为主机,所以评估板中间的USB接口(J2)未使用。

MCB2130 (P1)有两个串行接口,主机程序使用其中一个将USB描述信息发送到运行终端仿真程序的PC机。终端程序,如Tera Term Pro,可以仿真终端(VT100),识别由程序发出的特殊的“换码”序列,清除屏幕并将光标移到起始位置。终端程序的设置为38400,N,8,1,没有流控制。

图1中的米色盒子和排线为Keil ULINK® JTAG下载调试器,由Keil µVision®3开发环境支持。MCB2130板带有µVision3评估程序(Keil工具箱的全功能版本)。评估板将程序代码限制在16kB。

在双板配置中有四个USB接口,Keil MCB2130板上的USB接口只接VBUS和地。将该接口插入USB主机即可为双板系统提供5V电源。有些USB集线器可能无法提供驱动板子的足够电流,所以最好直接从PC机的备用USB口上取电。

Maxim评估板上有三个USB接口,如上所述,B口连接到MAX3420E,图1标有3420E P。MAX3421E (即可作为USB主机也可作为外设)连接到两个USB口(3421P和3421H)。这些接口将D+和D-引脚接到一起,并在某一时刻只接通一个。USB库程序不使用中间的USB口(3421P)。

MAX3420E和MAX3421E连接到ARM微控制器两个独立的SPI口。这种配置便于对同时运行同一个程序的主机和外设进行写操作,同时也能提供一个理想的USB训练和调试系统。主机可将USB请求发送给外围设备,外围设备产生响应,主机再对结果进行评估,所有操作都在一个C程序里。图1中黑色的USB线用于连接MAX3420E和MAX3421E。

Keil MCB2130板可以从Keil和其它渠道获得。上述Maxim网页提供了Keil产品的最新信息。

MAX3421E EVKIT-1结构框图

图2. MAX3421E EVKIT-1结构框图,图中椭圆阴影部分为应用程序模块。
图2. MAX3421E EVKIT-1结构框图,图中椭圆阴影部分为应用程序模块。

图2提供了两个USB控制器与USB口的连接方式(J1、J2、J5)。将36引脚插头(J4)插入Keil MCB2310开发板。本设计使用了ARM处理器两个独立的SPI端口,方便对两个USB控制器(U1和U2)独立操作。主机程序以后台方式运行(main{}中的程序),外围程序通过LPC2138 中断EINT0调用。

由于U1以主机方式操作,系统必须给USB A口(J1)提供电源VBUS。通过连接到J3-3的飞线,我们给评估板提供5V电源。该5V电源可以从Keil板上标有“5V IN”的测试点引出,也可以由一个实验室电源提供。U3 (MAX4793)控制VBUS的通断并提供限流。U3通过其GPO-7引脚控制VBUS给J1供电,并可检测出GPIN-0的过流(超过300mA)。

评估板上的按钮和指示灯接到两个控制器,U1驱动一个7段数码管并连接至4个按钮(PB1-PB4)。U2驱动4个LED并连接到按钮PB5至PB8。

Keil MCB2130板准备工作

图3. 将36引脚插头安装到图中红框所示区域
图3. 将36引脚插头安装到图中红框所示区域

Keil MCB2310板设计了用于安装多个2引脚和8引脚接头的区域(图3)。Maxim评估板通过一个36引脚的插头(板上已附)连接到Keil MCB2310,其中包括3.3V电源引脚、三组8引脚接头和两个GND引脚(图3红线区域所示)。因为Keil板上各接头间有间隙,因此在安装36引脚接头前应该将某些引脚去掉。在确信不需要的引脚已经从接头上拿掉之后再将插头安装到Keil板上。

图3显示有一个检测点(红圈,在板子的右上部分)。从这点可以引出Maxim评估板所需的5V电源。这个5V电源实际来自于Keil板上USB电源接口的VBUS引脚(图4)。

图4. 通过飞线为Maxim评估板提供VBUS。.
图4. 通过飞线为Maxim评估板提供VBUS

Keil软件安装

Keil µVision3 ARM开发软件演示版可从www.keil.com下载,与Maxim软件包一起提供的µVision3工程文件是由可下载Keil文件工具mdk303a.exe创建的。由于有两个工程文件是Keil公司在其开发环境下提供的,因此必须使用这种版本的工程文件(这两个文件并不包含在MaximUSBLab10.zip文件中)。MaximUSBLab工程文件安装在路径C:\Keil下,当安装Keil演示工具箱时,一定使用缺省安装目录C:\Keil,以保证Keil文件正确的路径。

对于Keil中mdk303a.exe工具箱而言,Keil提供的两个文件路径名为:

C:\Keil\ARM\RV30\Boards\Keil\MCB2130\Blinky\startup.s
C:\Keil\ARM\RV30\Boards\Keil\MCB2130\Blinky\retarget.c

Keil演示版工程包括很多版本的“Blinky”。一定要使用和MCB2310板相对应的文件,Maxim的软件使用MCB2310。

如果有Keil ULINK JTAG调试单元,则需要从Keil网站上下载USB驱动。Maxim程序已经使用3071.zip文件(从Keil网站上下载)检测过。在安装了演示版µVision开发软件之后,双击该文件即能安装USB驱动,将µVision3和ULINK单元连接。

安装完演示版Keil软件后,找到MaximUSBLab10文件夹并双击文件MaximUSBLab.Uv2。这样就在正确设置下打开该工程文件。点击“Rebuid All Target Files”按钮,工程文件就能编译。如果有ULINK单元并安装了USB 驱动,可以点击“Star/Stop Debug Session”按钮运行、修改和调试Maxim例程。

运行固件的三种方法

  1. 下载并查看MaximUSBLab.hex
    从Maxim网站可以下载Maxim USB库(hex)文件,它包含在应用笔记3936,"Maxim USB库,是Keil压缩工程文件的一部分。可以通过免费的插件(Flash Magic,图5所示)将hex文件下载到LPC2138闪存内,该插件可以在www.esacademy.com上获得。在使用该插件之前,核对Options/Advanced Options/Hardware Config下的说明部分。

    在Keil板上,运行Flash Magic插件时,使用P2串行接口并将J7接到ISP上。


    注意:移开J7之后S2将不再作为INT1中断源。由于Maxim 应用程序将INT1用于其它目的,可以把J7放在ISP上。


    图5. Flash Magic用于MCB2310的典型设置
    图5. Flash Magic用于MCB2310的典型设置

    图6. 首先设置选项
    图6. 首先设置选项

  2. 调试和修改(受限制)
    如果有Keil ULINK JTAG单元,则可编译Maxim示例代码,通过JTAG接口下载并调试它。也可以设置断点并单步调试代码。这是一种快速学习USB的好方法——研究并修改工作主机和/或外围设备代码,以满足我们的目的。

    用于ARM的演示版Keil µVision3拥有µVision3的全部功能,代码大小被限制在16kB。Maxim USB库工程文件(MaximUSBLab.Uv2)在“Thumb only”模式下编译,以保证该工程代码的容量在限制范围内。

  3. 完全开发
    对于正式开发工作,建议购买全功能版Keil µVision3 ARM工具箱。这样能不受16kB的限制,适用于更广泛的应用程序(高达512kB的LPC2138闪存)。
下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 3937:
应用笔记 3937,AN3937, AN 3937, APP3937, Appnote3937, Appnote 3937