0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简化USB嵌入式主机和外设应用的硬件和软件组合

星星科技指导员 来源:ADI 作者:ADI 2023-02-20 11:09 次阅读

本应用笔记是应用笔记3936“Maxim USB实验室”的配套产品,后者介绍了简化USB嵌入式主机和外设应用的硬件和软件组合。MAX3421E是该系统的主机,MAX3420E是外设。本应用笔记解释了如何使用评估(EV)板设置硬件,然后展示了评估软件的三种方法。

介绍

配套应用笔记3936“Maxim USB实验室”描述了C代码和Keil™项目,用于在同一基于ARM®的硬件上实现USB主机(MAX3421E)和外设(MAX3420E)。该套件的硬件包括:

MAX3421E评估板-1板

科尔MCB2130板

该软件可供下载

本应用笔记解释了如何组装和配置该套件的各种组件。

其他阅读和联系信息

有关MAX3420E和MAX3421E的信息,请访问Maxim网站。您可以找到数据资料、描述Maxim USB实验室代码的应用笔记、许多与MAX3420E和MAX3421E相关的应用笔记,以及订购样品的方法。

硬件配置

poYBAGPy5GmAde-HAACOeKjOH4k404.jpg?imgver=1

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

图 1 显示了双板组。蓝色板是Keil MCB2130,其中包含飞利浦® LPC2138,ARM7™微控制器。LPC2138具有两个SPI™硬件单元,每个硬件单元连接到两个USB控制器芯片中的一个。

垂直板为MAX3421E评估板-1。MAX3420E外设控制器连接到ARM SPI端口之一,并连接到图5中标记为“3420P”(P=外设)的USB“B”连接器(J1)。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 板上的 USB 连接器只有 V总线和接地连接。该连接器通过插入任何 USB 主机为电路板集提供 5V 电源。某些 USB 集线器可能无法提供足够的电流为主板供电,因此最好直接从备用 PC USB 端口获取电源。

Maxim评估板有三个USB接口。如上所述,MAX3420E上连接B连接器,图1所示为3420E P。MAX3421E可用作USB外设或主机,连接两个USB连接器3421P和3421H。这些连接器的 D+ 和 D- 引脚连接在一起,并且一次只能连接一个。USB 实验室代码不使用中间 USB 连接器 3421P。

MAX3420E和MAX3421E连接到ARM微控制器上的两个独立的SPI端口。通过此配置,可以轻松编写在同一代码中并发运行的主机和外围应用程序。这也提供了一个理想的USB训练和调试系统。主机可以将 USB 请求分派到外设,外设可以响应,主机可以评估结果,所有这些都在相同的 C 代码中。图1中的黑色USB电缆显示了将MAX3420E和MAX3421E连接在一起的USB电缆。

Keil MCB2130 板可从 Keil 和其他来源获得。上述Maxim网页将提供有关Keil产品可用性的最新信息。

MAX3421E评估板-1原理框图

pYYBAGPy6S2APR1sAACK49OdH_0898.png

图2.MAX3421E评估板框图阴影椭圆是运行应用程序的软件模块。

图 2 显示了两个 USB 控制器如何连接到 USB 连接器 J1、J2 和 J5。连接一个 36 针连接器 (J4) 以插入 Keil MCB2310 开发板。该设计在 ARM 处理器中使用两个独立的 SPI 端口,以提供两个 USB 控制器(U1 和 U2)的独立操作。主机软件在后台运行(此处),而外围代码使用LPC2138中断EINT0调用。main{}

由于 U1 作为主机运行,因此系统必须提供 V总线电源至 USB A 连接器 J1。评估板提供5V电源,使用连接J3-3的飞线供电。这种 5V 电源可以来自 Keil 板“5V IN”上的测试垫,也可以来自实验室电源。U3,MAX4793,开关和限流V。总线电压。U3 控制 V总线使用其 GPO-1 引脚为 J7 供电,并且可以检测其 GPIN-300 引脚上的过流(超过 0mA)情况。

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

准备凯尔 MCB2130 板

poYBAGPy5G2AEkfOAABmeRoH0gA090.jpg?imgver=1

图3.将 36 针公头焊接到红色矩形中显示的位置。

Keil MCB2310 板具有设计用于接受多个 2 引脚和 8 引脚接头的站点(图 3)。Maxim评估板使用单个36引脚接头(包含在电路板中)通过跨越3.3V电源引脚、三个8引脚接头和两个GND引脚连接到Keil板(图3中的红色轮廓)。各种 Keil 连接器站点之间存在空间,因此在安装 36 针接头之前,必须从 <> 针接头中移除某些引脚对。确保从针座上卸下“缺失”的引脚,然后将其焊接到 Keil 板上。

图3显示了电路板右上角的测试点焊盘(红色圆圈)。这是5V电源接入Maxim电路板的地方。此 5V 电源源自 V总线Keil板上USB电源接头的针脚(图4)。

pYYBAGPy5G6ARmeUAACIq9qobwA672.jpg?imgver=1

图4.一根飞线供应 V总线为马克西姆板供电。

安装 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:KeilARMRV30BoardsKeilMCB2130Blinkystartup.s

C:KeilARMRV30BoardsKeilMCB2130Blinkyretarget.c

Keil演示项目包括许多版本的“Blinky”。使用与MCB2310板对应的文件非常重要,MCB<>板是Maxim软件使用的板。

如果您有Keil ULINK JTAG调试单元,则还应从Keil网站下载USB驱动程序。Maxim代码已使用Keil网站上的文件3071.zip进行了测试。安装演示μVision开发软件后,双击此文件以安装将μVision3连接到ULINK盒子的USB驱动程序。

安装Keil演示软件后,导航到MaxUSBLab10文件夹并双击文件MaximUSBLab.Uv2。这将打开具有所有正确项目设置的项目。单击“重建所有目标文件”按钮,项目应编译。如果您有ULINK盒并安装了USB驱动程序,则可以单击“启动/停止调试会话”以运行、修改和调试Maxim示例代码。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8651

    浏览量

    361819
  • 嵌入式
    +关注

    关注

    4982

    文章

    18285

    浏览量

    288474
  • usb
    usb
    +关注

    关注

    59

    文章

    7433

    浏览量

    258180
收藏 人收藏

    评论

    相关推荐

    嵌入式硬件调试和软件调试

    相对于软件调试而言,使用硬件调试器可以获得更强大的调试功能和更优秀的调试性能。硬件调试器的基本原理是通过仿真硬件的执行过程,让开发者在调试时可以随时了解到系统的当前执行情况。目前
    发表于 03-10 10:44

    嵌入式硬件软件区别!

    嵌入式分为两大模块吧,一块是基础硬件。也就是根据要求用硬件技术去实现产品的底层电路,这部分一般由电子专业方面的学生来完成。第二大块就是软件部分。 大多数初学者都认为“
    发表于 07-05 09:57

    采用TTL串口的嵌入式USB主机系统设计

    介绍了该系统的设计思路,并给出了硬件设计和USB 主机的底层驱动软件的设计方法。2USB主机工作
    发表于 04-09 07:00

    基于VNC1L MCU器件的嵌入式USB主机系统

    V-EVAL-1,评估套件是一个硬件平台,设计人员可以使用它来开发基于VNC1L器件的嵌入式USB主机系统。 V-Eval板旨在用作硬件平台
    发表于 05-25 08:32

    用于开发基于VNC1L MCU器件的嵌入式USB主机系统

    V-EVAL,评估套件是一个硬件平台,设计人员可以使用它来开发基于VNC1L器件的嵌入式USB主机系统。 V-Eval板旨在用作硬件平台,以
    发表于 05-25 11:32

    嵌入式实时操作系统如何简化应用软件的设计

    嵌入式领域中,嵌入式实时操作系统(RTOS)正得到越来越广泛的应用。采用嵌入式实时操作系统可以更合理、更有效地利用CPU的资源,简化应用软件
    发表于 11-25 06:48

    为什么要开发嵌入式USB主机?如何设计嵌入式USB主机

    为什么要开发嵌入式USB主机?非PC应用领域?如何设计嵌入式USB主机
    发表于 04-26 06:11

    请问怎样去设计一种嵌入式USB主机

    怎样去设计嵌入式USB主机硬件电路?怎样去设计嵌入式USB
    发表于 04-27 06:40

    嵌入式硬件软件哪个好?

    嵌入式硬件软件哪个好? 嵌入式硬件工程师哪个更有前途呢?一起来看看。 嵌入式是分为软
    发表于 12-05 15:17

    基于TTL串口的嵌入式USB主机系统的设计和实现

    本文介绍了一种基于TTL 串口的嵌入式USB 主机系统。介绍了该系统的硬件实现,以及USB 主机
    发表于 08-15 08:23 29次下载

    USB主机硬件软件

     USB的互连支持数据在USB主机USB设备之间的流动。这一章主要讲述为了简化主机
    发表于 11-06 11:54 67次下载

    嵌入式USB主机设计(硬件设计和软件设计)

    嵌入式USB主机设计(硬件设计和软件设计) 嵌入式USB
    发表于 11-26 13:58 1231次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>USB</b><b class='flag-5'>主机</b>设计(<b class='flag-5'>硬件</b>设计和<b class='flag-5'>软件</b>设计)

    嵌入式USB MiniHost系统设计与实现

    设计并实现了一个嵌入式USB主机系统的硬件软件,用于解决USB设备不能脱离PC
    发表于 04-12 15:04 47次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>USB</b> MiniHost系统设计与实现

    基于USB嵌入式主机

    基于USB嵌入式主机
    发表于 10-31 08:52 4次下载
    基于<b class='flag-5'>USB</b><b class='flag-5'>嵌入式</b><b class='flag-5'>主机</b>栈

    嵌入式USB主机系统设计

    本论文设计了一种嵌入式USB主机系统,并完成了该系统的硬件和固件的实现和调试。为了验证系统,实现了打印机IEEE 1284中的SPP模式协议到USB
    发表于 03-27 10:43 1792次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>USB</b><b class='flag-5'>主机</b>系统设计