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

描述

当前市场上有不少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系列MCU USB1是一个高速接口。同样支持OTG功能,它由 USB 2.0 HS控制器和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连接。

接口

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

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。此位可能会导致中断,软件会决定适当的操作。

接口

该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板子:

接口

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

接口

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

接口

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

接口

此外在USB_HostApplicationTask任务函数中,

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

接口

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

接口

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

接口

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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分