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

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

3天内不再提示

如何使用MCXN947 FRDM的USB2.0接口存储PDF文件

恩智浦MCU加油站 ? 来源:恩智浦MCU加油站 ? 2025-07-22 11:12 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

当前市场上有不少MCU都带有USB外设,可以用来支持各种USB应用,恩智浦MCXN 系列的HS USB拥有不俗性能,今天带大家解锁如何使用MCX high Speed USB存储输出PDF文件。快来看看吧!

MCXN947的USB0全速接口它包括一个支持OTG协议的On-The-Go(OTG)双角色子系统。MCXN947包含两个USB 2.0接口。其中USB0是一个全速接口。USB0控制器中的OTG实现为全速兼容的外围设备提供了一种设备解决方案,同时为实现USB 2.0全速/低速兼容的嵌入式主机提供了有限的主机功能。

此外,MCXN系列MCUUSB1是一个高速接口。同样支持OTG功能,它由USB 2.0HS控制器和USB 2.0的PHY组成。内部创新集成高速USB 2.0 PHY。

同时USB1符合通用串行总线规范2.0版和USB 2.0版规范的OTG和嵌入式主机补充。USB1 HS框图显示了USB1 HS方框图,USB 2.0 PHY框图显示了USB 2.0 PHY方框图。USB1 HS控制器通过UTMI+接口与USB HS PHY连接。

70b3f61c-62ec-11f0-a6aa-92fbcf53809c.png

除此,当作为主机或设备角色执行时,这两个接口都可以支持远程唤醒功能。

USB控制器块提供符合通用串行总线规范的高性能USB功能,2.0版,以及移动和嵌入式主机USB修订版2.0规范的补充。

USB控制器由一个独立的USB控制器核心组成:On-The-Go(OTG)控制器核心。每个控制器核心支持UTMI接口。有关更多详细信息,请参阅功能。控制器核心为单核,USBHS仅在SD和OD模式下可用。它在MD模式下不起作用。配置SPC.ACTIVE_CFG[DDCC_VDD_LVL]=SPC.ACTIVE_CFG[CORELDO_VDD_LVL]>=0x2,以确保模块的正确运行。即使在以下情况下,也需要此配置使用PMIC或其他外部电压源绕过板载核心调压器。

在MCXN947 MCU中,USB控制器支持睡眠模式、深度睡眠模式和断电模式,以节省功耗。当USB子系统在超过3毫秒的时间内检测到USB总线上没有活动时,它会将ISTAT[SLEEP]位设置为1。此位可能会导致中断,软件会决定适当的操作。

70ca46ec-62ec-11f0-a6aa-92fbcf53809c.png

该USB 2.0 PHY的SOC包含一个集成的USBPHY宏单元,能够在设备或主机模式下运行。在设备模式下,它可以以480 Mbit/s的USB高速(HS)速率或12 Mb/s的全速(FS)速率连接到USB主机系统。在主机模式下,PHY可以连接到以1.5 Mbit/s的HS、FS或USB 2.0低速(LS)速率运行的外围设备。集成的USBPHY模块使用标准UTMI+接口与USB HS控制器通信。PHY包括一个480 MHz PLL、UTM数字逻辑和状态机、模拟收发器电路和一个用于配置和状态报告。USB_DP和USB_DM引脚直接连接到USB连接器

并且USBPHY还包含USB设备充电器检测模块(USBDCD)的数字和模拟部分,具有USB电池充电规范1.2版检测和信号功能。集成的480 MHz PLL并且集成了USB设备充电器检测模块(USBDCD),具有USB电池充电规范1.2版的功能。

接下来,我们就介绍如何使用MCXN947 FRDM的USB2.0接口存储PDF文件。

硬件使用FRDM-MCXN947板子:

70db8c9a-62ec-11f0-a6aa-92fbcf53809c.png

软件中间层的调用顺序如下libharu库-> Fatfs文件系统-> USB mass storage driver,在hpdf_conf.h中配置使用Fatfs接管相应的文件系统的操作函数:

70ed31f2-62ec-11f0-a6aa-92fbcf53809c.png

Libharu库中文件操作属性,通过以下hal函数转换为Fatfs中的对应bmode操作模式:

70ff632c-62ec-11f0-a6aa-92fbcf53809c.png

应用层代码增加如下所示:text_demo.c和grid_sheet.c为应用层输出PDF文档内容的代码。

711877b8-62ec-11f0-a6aa-92fbcf53809c.png

此外在USB_HostApplicationTask任务函数中,

在其所调用的USB_HostMsdFatfsTest(msdFatfsInstance); /* test msd device */中,加入在U盘输出并存储PDF文件的函数,PDF_Text(&p_name);

71296b90-62ec-11f0-a6aa-92fbcf53809c.png

在挂载文件系统结束后,调用pdf_text(&p_name)来实现PDF文档中相关文字或者图片的输出。所生成的PDF文档示例内容如下所示:

713e5f96-62ec-11f0-a6aa-92fbcf53809c.png

输出单页文档的时间如下所示,输出单个PDF文档大约花费900ms,比起传统的USB FS输出存储的速度具有革命性的提升。

7167f068-62ec-11f0-a6aa-92fbcf53809c.png

MCXN所使用的HS USB以其可靠性和高性能,将MCU USB的应用提升到了新的高度!

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

    关注

    146

    文章

    18001

    浏览量

    367970
  • 接口
    +关注

    关注

    33

    文章

    9019

    浏览量

    153828
  • usb
    usb
    +关注

    关注

    60

    文章

    8207

    浏览量

    273543
  • 文件
    +关注

    关注

    1

    文章

    583

    浏览量

    25403
  • PDF
    PDF
    +关注

    关注

    1

    文章

    173

    浏览量

    34550

原文标题:使用MCX high Speed USB存储输出 PDF文件

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在MCXN947板的FlexSPI接口接HyperRAM

    MCXN947芯片是一款高度集成的微控制器,具有强大的处理能力、丰富的外设支持和高级安全特性,适用于多种复杂应用。其中有个非常重要的外设为FlexSPI。
    的头像 发表于 06-04 09:39 ?1079次阅读
    如何在<b class='flag-5'>MCXN947</b>板的FlexSPI<b class='flag-5'>接口</b>接HyperRAM

    如何在MCXN947微控制器上配置安全启动和生命周期

    本文档旨在介绍如何在MCXN947微控制器上配置安全启动和生命周期,以确保产品在量产阶段的安全性,防止代码被窃取和篡改,并且能够安全地升级更新固件。通过本应用笔记,开发者可以更好地理解和实施安全启动和固件更新的最佳实践。
    的头像 发表于 06-26 09:49 ?1203次阅读
    如何在<b class='flag-5'>MCXN947</b>微控制器上配置安全启动和生命周期

    恩智浦MCX N23的官方评估板FRDM-MCXN236详解

    ,想必大家早已有所耳闻,NXP为以前的Kinetis系列以及最新的MCX系列都推出了FRDM板子,比如MCX系列的FRDM-MCXN947, FRDM-MCXA153,今天为大家介绍
    的头像 发表于 11-14 09:43 ?1742次阅读
    恩智浦MCX N23的官方评估板<b class='flag-5'>FRDM-MCXN</b>236详解

    FRDM-MCXN947的纯Linux命令行环境搭建

    10000-commandfile /mnt/MyNAS/walker/work/rt-thread/bsp/nxp/mcx/mcxn/frdm-mcxn947/flash.jlink\' 编写flash.jlink烧录文件
    发表于 07-28 22:55

    关于将Flash写入FRDM-MCXN947的问题求解

    这次我想问一个关于使用 MCXN947 将 Flash 写入另一个板的问题。 我尝试使用 FRDM-MCXN947 的写入方法作为参考写入此板,但发生了错误。 下面是当时控制台的内容。 NXP
    发表于 03-17 06:29

    MCXN947使用ADC并编写代码,总是报警告是怎么回事?

    我使用 MCXN947,我想使用 ADC 并编写代码,但警告总是发生。然后我创建了一个新项目进行调试,它仍然发生了。 我试着打扫,但还是没用。 警告:无法将 \'main\' 从主机编码 (CP1252) 转换为 UTF-32。 这通常不会发生,请提交 bug 报告。
    发表于 03-20 08:17

    MCXN947如何配置和外扩PSRAM?

    mcxn947自带的ram太小了,无法满足需求,想外扩一块psram,比如乐鑫的esp-psram64芯片,这个需求有哪个案例可以参考吗?
    发表于 03-31 06:54

    MCXN947怎么驱动FRDM-STBI-A8974三轴陀螺仪?

    MCXN947怎么驱动FRDM-STBI-A8974三轴陀螺仪
    发表于 04-14 10:50

    USB2.0 接口控制演示实验

    USB2.0 接口控制演示实验 一. 实验目的掌握基于I2C 总线器件ZLG7290、PCF8563 常用器件的应用;学习使用ISP1581 USB2.0 接口芯片设计US
    发表于 09-26 16:05 ?1551次阅读
    <b class='flag-5'>USB2.0</b> <b class='flag-5'>接口</b>控制演示实验

    恩智浦MCX系列MCU的新品MCXN947

    鉴于 N54x 是 N94x 的简配版,我们今天主要聊 MCXN947 这个型号。老规矩先来看一下 MCXN947 内部模块框图,它搭载了两个 Arm Cortex-M33 内核,主频可达 150MHz,此外还为 CM33 配备了 DSP 协处理器(PowerQuad)。
    的头像 发表于 12-21 12:57 ?2702次阅读

    《恩智浦FRDM-MCXN947开发实践指南》上线啦

    ,完成了电子书《恩智浦FRDM-MCXN947开发实践指南》,希望能够给大家提供一些支持。《恩智浦FRDM-MCXN947开发实践指南》包含的内容以及对应的贡献者
    的头像 发表于 05-13 18:19 ?1965次阅读
    《恩智浦<b class='flag-5'>FRDM-MCXN947</b>开发实践指南》上线啦

    使用VSCode调试FRDM MCXN947开发板

    想必关注MCXN947系列MCU的朋友们已经知道板载MCXN947FRDM开发板已经正式和大家见面了。
    的头像 发表于 05-16 11:16 ?1315次阅读
    使用VSCode调试<b class='flag-5'>FRDM</b> <b class='flag-5'>MCXN947</b>开发板

    MCXN947系列高性能微控制器产品介绍

    基于Arm? Cortex?-M33的双核边缘人工智能新品MCXN947系列,搭配功能强大且完全开源的AWTK GUI框架,可轻松令产品方案实现成本与性能的完美平衡。
    的头像 发表于 08-06 16:14 ?1922次阅读
    <b class='flag-5'>MCXN947</b>系列高性能微控制器产品介绍

    基于Label CIFAR10 image on FRDM-MCXN947例程实现鞋和帽子的识别

    前言 ? ? 恩智浦“ FRDM-MCXN947 ”评测活动由安富利和与非网协同举办。本篇内容由与非网用户发布,已授权转载许可。原文可在与非网(eefocus)工程师社区查看。 PART 0 1
    的头像 发表于 01-13 09:18 ?716次阅读
    基于Label CIFAR10 image on <b class='flag-5'>FRDM-MCXN947</b>例程实现鞋和帽子的识别

    使用NXP MCX-N板卡搭建环境及点灯

    FRDM-MCXN947开发板是一个基于MCXN947器件的低成本设计的评估板。MCXN947器件将两个Arm Cortex-M33微控制器和神经处理单元(NPU)集成在一个封装中。恩智浦对
    的头像 发表于 02-12 09:07 ?779次阅读
    使用NXP MCX-N板卡搭建环境及点灯