當(dāng)前市場(chǎng)上有不少MCU都帶有USB外設(shè),可以用來(lái)支持各種USB應(yīng)用,恩智浦MCXN 系列的HS USB擁有不俗性能,今天帶大家解鎖如何使用MCX high Speed USB存儲(chǔ)輸出PDF文件??靵?lái)看看吧!
MCXN947的USB0全速接口它包括一個(gè)支持OTG協(xié)議的On-The-Go(OTG)雙角色子系統(tǒng)。MCXN947包含兩個(gè)USB 2.0接口。其中USB0是一個(gè)全速接口。USB0控制器中的OTG實(shí)現(xiàn)為全速兼容的外圍設(shè)備提供了一種設(shè)備解決方案,同時(shí)為實(shí)現(xiàn)USB 2.0全速/低速兼容的嵌入式主機(jī)提供了有限的主機(jī)功能。
此外,MCXN系列MCUUSB1是一個(gè)高速接口。同樣支持OTG功能,它由USB 2.0HS控制器和USB 2.0的PHY組成。內(nèi)部創(chuàng)新集成高速USB 2.0 PHY。
同時(shí)USB1符合通用串行總線規(guī)范2.0版和USB 2.0版規(guī)范的OTG和嵌入式主機(jī)補(bǔ)充。USB1 HS框圖顯示了USB1 HS方框圖,USB 2.0 PHY框圖顯示了USB 2.0 PHY方框圖。USB1 HS控制器通過UTMI+接口與USB HS PHY連接。

除此,當(dāng)作為主機(jī)或設(shè)備角色執(zhí)行時(shí),這兩個(gè)接口都可以支持遠(yuǎn)程喚醒功能。
USB控制器塊提供符合通用串行總線規(guī)范的高性能USB功能,2.0版,以及移動(dòng)和嵌入式主機(jī)USB修訂版2.0規(guī)范的補(bǔ)充。
USB控制器由一個(gè)獨(dú)立的USB控制器核心組成:On-The-Go(OTG)控制器核心。每個(gè)控制器核心支持UTMI接口。有關(guān)更多詳細(xì)信息,請(qǐng)參閱功能??刂破骱诵臑閱魏耍琔SBHS僅在SD和OD模式下可用。它在MD模式下不起作用。配置SPC.ACTIVE_CFG[DDCC_VDD_LVL]=SPC.ACTIVE_CFG[CORELDO_VDD_LVL]>=0x2,以確保模塊的正確運(yùn)行。即使在以下情況下,也需要此配置使用PMIC或其他外部電壓源繞過板載核心調(diào)壓器。
在MCXN947 MCU中,USB控制器支持睡眠模式、深度睡眠模式和斷電模式,以節(jié)省功耗。當(dāng)USB子系統(tǒng)在超過3毫秒的時(shí)間內(nèi)檢測(cè)到USB總線上沒有活動(dòng)時(shí),它會(huì)將ISTAT[SLEEP]位設(shè)置為1。此位可能會(huì)導(dǎo)致中斷,軟件會(huì)決定適當(dāng)?shù)牟僮鳌?/p>

該USB 2.0 PHY的SOC包含一個(gè)集成的USBPHY宏單元,能夠在設(shè)備或主機(jī)模式下運(yùn)行。在設(shè)備模式下,它可以以480 Mbit/s的USB高速(HS)速率或12 Mb/s的全速(FS)速率連接到USB主機(jī)系統(tǒng)。在主機(jī)模式下,PHY可以連接到以1.5 Mbit/s的HS、FS或USB 2.0低速(LS)速率運(yùn)行的外圍設(shè)備。集成的USBPHY模塊使用標(biāo)準(zhǔn)UTMI+接口與USB HS控制器通信。PHY包括一個(gè)480 MHz PLL、UTM數(shù)字邏輯和狀態(tài)機(jī)、模擬收發(fā)器電路和一個(gè)用于配置和狀態(tài)報(bào)告。USB_DP和USB_DM引腳直接連接到USB連接器。
并且USBPHY還包含USB設(shè)備充電器檢測(cè)模塊(USBDCD)的數(shù)字和模擬部分,具有USB電池充電規(guī)范1.2版檢測(cè)和信號(hào)功能。集成的480 MHz PLL并且集成了USB設(shè)備充電器檢測(cè)模塊(USBDCD),具有USB電池充電規(guī)范1.2版的功能。
接下來(lái),我們就介紹如何使用MCXN947 FRDM的USB2.0接口存儲(chǔ)PDF文件。
硬件使用FRDM-MCXN947板子:

軟件中間層的調(diào)用順序如下libharu庫(kù)-> Fatfs文件系統(tǒng)-> USB mass storage driver,在hpdf_conf.h中配置使用Fatfs接管相應(yīng)的文件系統(tǒng)的操作函數(shù):

Libharu庫(kù)中文件操作屬性,通過以下hal函數(shù)轉(zhuǎn)換為Fatfs中的對(duì)應(yīng)bmode操作模式:

應(yīng)用層代碼增加如下所示:text_demo.c和grid_sheet.c為應(yīng)用層輸出PDF文檔內(nèi)容的代碼。

此外在USB_HostApplicationTask任務(wù)函數(shù)中,
在其所調(diào)用的USB_HostMsdFatfsTest(msdFatfsInstance); /* test msd device */中,加入在U盤輸出并存儲(chǔ)PDF文件的函數(shù),PDF_Text(&p_name);

在掛載文件系統(tǒng)結(jié)束后,調(diào)用pdf_text(&p_name)來(lái)實(shí)現(xiàn)PDF文檔中相關(guān)文字或者圖片的輸出。所生成的PDF文檔示例內(nèi)容如下所示:

輸出單頁(yè)文檔的時(shí)間如下所示,輸出單個(gè)PDF文檔大約花費(fèi)900ms,比起傳統(tǒng)的USB FS輸出存儲(chǔ)的速度具有革命性的提升。

MCXN所使用的HS USB以其可靠性和高性能,將MCU USB的應(yīng)用提升到了新的高度!
-
mcu
+關(guān)注
關(guān)注
147文章
18924瀏覽量
398013 -
接口
+關(guān)注
關(guān)注
33文章
9519瀏覽量
157015 -
usb
+關(guān)注
關(guān)注
60文章
8438瀏覽量
284444 -
文件
+關(guān)注
關(guān)注
1文章
594瀏覽量
26054 -
PDF
+關(guān)注
關(guān)注
1文章
177瀏覽量
36128
原文標(biāo)題:使用MCX high Speed USB存儲(chǔ)輸出 PDF文件
文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何在MCXN947板的FlexSPI接口接HyperRAM
如何在MCXN947微控制器上配置安全啟動(dòng)和生命周期
恩智浦MCX N23的官方評(píng)估板FRDM-MCXN236詳解
FRDM-MCXN947的純Linux命令行環(huán)境搭建
關(guān)于將Flash寫入FRDM-MCXN947的問題求解
MCXN947使用ADC并編寫代碼,總是報(bào)警告是怎么回事?
MCXN947如何配置和外擴(kuò)PSRAM?
MCXN947怎么驅(qū)動(dòng)FRDM-STBI-A8974三軸陀螺儀?
恩智浦MCX系列MCU的新品MCXN947
《恩智浦FRDM-MCXN947開發(fā)實(shí)踐指南》上線啦
使用VSCode調(diào)試FRDM MCXN947開發(fā)板
MCXN947系列高性能微控制器產(chǎn)品介紹
基于Label CIFAR10 image on FRDM-MCXN947例程實(shí)現(xiàn)鞋和帽子的識(shí)別
使用NXP MCX-N板卡搭建環(huán)境及點(diǎn)燈
如何使用MCXN947 FRDM的USB2.0接口存儲(chǔ)PDF文件
評(píng)論