06.08 乾貨|NXP IoT Module 評測(2)

乾貨|NXP IoT Module 評測(2)

EEWORLD

電子資訊 犀利解讀

技術乾貨 每日更新

干货|NXP IoT Module 评测(2)

感謝NXP提供OM40006: IoT Module Base Board,使得玩家可以進一步評測OM40007:LPC54018 IoT Module for the LPC540xx family of MCUs。

OM40007 IoT模塊的初步評測參見《NXP IoT Module評測》。OM40006 名號為IoT模塊基板,作用便是將OM40007 的hirose板間平行連接插件引出的200個引腳擴展到基板上來,引出到各功能器件,以供更全面的使用OM40007 模塊。為了便於說明方面,以下稱OM40006 和OM40007 一起為IoT系統,如需單獨說明其中一個部件,會使用OMxxx作為目標。

本次評測主要來看一看IoT系統的硬件部分。按照慣例首先應該是實景開箱圖,與預期的一樣,實景圖遠不如NXP官網的效果圖來的漂亮。

干货|NXP IoT Module 评测(2)
干货|NXP IoT Module 评测(2)干货|NXP IoT Module 评测(2)
干货|NXP IoT Module 评测(2)

一塊巨大的4.3寸TFT LCD顯示屏首先映入眼簾。這塊屏來自晶鴻電子的RK043FN02H-CT,屏幕分辨率為272x480,控制接口使用的傳統I2C,背光控制採用了一顆來自Diodes的AP5724WG-7。LPC54018提供的LCD功能並沒有比之前版本的LPC MCU提供更高調的功能。所以如果產品中有涉及到LCD,那麼過去積累的NXP產品線設計經驗可以平滑的過渡到這款新MCU上;如果沒有NXP的積累經驗,可以參考NXP的AN12027,這是一份很詳細的說明,即便不是使用NXP的MCU,這份文檔也可以當作一份很好的通用LCD原理與背景參考。

所有的接口和其他功能,都被安排在了另一面。但是奇怪的是功能按鍵、接口的絲印確是兩面都有,諸如LED,KEY,,難道翻過來之後還能按下ISP0等按鍵嗎?

干货|NXP IoT Module 评测(2)干货|NXP IoT Module 评测(2)

背面安排了arduino標準接口,PMOD接口,語音輸出,語音輸入,全功能USB接口,SD卡槽,RJ45以太網接口,CMSIS-DAP調試接口,外接SWD調試接口,數字拾音器,加速度模塊,還有一些其他跳線。如此將顯示LCD和接口的雙面佈局,好像有點不太方便兩者同時使用。不過如果LCD和接口都放在一面的話,這塊板子的佈局上會有一些難度吧,畢竟OM40006只是做為設計參考板來使用。

這塊IoT系統的LPC54018 MCU處理部件和NOR FLASH兩大關鍵部件佈置在OM40007上。OM40007上搭載了一顆來自宏旺電子Macronix的128 Mb串行Nor Flash,不過宏旺電子對這顆器件標註為“新設計不建議使用”。如此佈局的目的自然是方便用戶可以將BASE BOARD和IoT Module分開使用,結果之一卻成了OM40006不配合OM40007就無法單獨使用,OM40007不配合OM40006又不能全面評估LPC54018的絕大部分功能。參考另一塊LPC54018開發板OM40003,IoT系統看起來只是多了一個SPI接口的Longsys GT1216 WiFi模塊。如果考慮將WiFi模塊單獨成模塊,配合OM40003多引出一個SPI接口的話,既可以獨立出MCU開發板的評估功能,又可以更多的評估大部分SPI接口的WiFi模塊。NXP作為獨立器件大廠是不可能預測到客戶未來會採用哪一款WiFi搭配,為本廠的MCU器件提供更多的評測方案應該符合原廠期望,何況NXP的基礎方案應該沒有這個必要與高通的WiFi綁定在一起。

為何說LPC54018MCU和NOR FLASH是兩大關鍵部件?這顆芯片內部並沒有配置常見的SoC Flash,翻譯成人話說LPC54018內部沒有為用戶刷寫提供非易失性存儲空間,這和絕大部分常見的MCU不同。MCU內部配置360K SRAM,同時還提供外部存儲控制器:EMC,用於擴展內存空間。OM40007上搭載了一顆華邦Winbond的256Mb SDRAM。

另外,LPC54018的Power Domain,並沒有為電池應用提供特別支持。電流消耗只有在最低級的深度關閉模式(deep power-down)達到nA級別,功能器件和其他Power模式的電流基本都在兩位數uA級別,甚至EMC器件在全速180Mhz時的電流消耗在所有耗能部件中僅次於Cortex Core的35mA,達到8mA。

綜合考慮LPC54018芯片的Flash、S(D)RAM配置策略、Power控制和功耗情況,玩家應該不難猜測NXP將這顆芯片定位為下一代物聯網應用提供大量資源存儲與訪問的外部不斷電通訊/控制的應用場景。提取三個點:1、大量資源;2、外部不斷電;3、面向通訊/控制。

那麼目標就清晰了,針對上面的應用場景,我們來看功能器件是如何滿足(或不滿足)場景設定的。

物聯網典型應用中節點被大量部署,通常環境下IoT節點始終運行在低功耗或休眠模式。從LPC54018的Power控制和功耗情況看,它被設計成外部不斷電,所以功能器件的功耗、處理功耗等常見設計便不需要出現在這顆芯片中。很多低功耗MCU器件中常見的預處理、事件、路由、喚醒協處理等降低內核功耗的部件放在這顆芯片裡倒顯得很是多餘了。

通常在提供web服務的IoT節點上會佔用大量資源,比如web頁面上的圖片,html文件(js,css,html等),處理邏輯,嵌入式web服務器等。這些資源相對傳統的Flash尺寸來說很容易就變得很大,所以可擴展的Nor Flash對大量資源來說是必須滿足的。然而,個人認為如果MCU內部可以配置一定數量的內部Flash資源,可以更好的滿足成本、可用性、易用性場景。如果應用上只有很小的資源需求,那麼就可以省去外部Flash的空間和成本要求。同時,很多應用場景中會有升級需要,如果把內部Flash和外部Flash分開,將系統放在內部flash,將資源放在外部Flash,那麼升級的時候就可以分步進行升級:或者單獨升級系統內核,或者單獨升級外部資源。另外,大量Flash IAP升級應用確實都只針對單一內部Flash,在這種應用場景中積累了大量經驗,並且LPC54018的內部ROM API也提供了相應支持。然而相對的,針對外部Nor Flash的升級經驗並沒被大量積累,NXP也沒有提供相應工具進行Nor Flash的bin文件封裝,目前可以知道的手段只有在編譯工程的時候通過整體打包的形式產生。這種統一打包的形式為以上升級需求場景增加了用戶介入的難度。MCU上配備有SD操作外設,大量的外部資源也可以通過SD設備提供,這使得Nor Flash的唯一性與SD的存在似乎有一絲矛盾的地方。

所以針對上面這個問題,建議NXP可以在MCU中配置適量Flash,並且提供一個專用的Bin工具用來封裝系統內核和資源文件,或者乾脆取消Nor Flash的唯一性,用SD來替代資源空間。

針對通訊和控制,LPC54018配置了大量常見外設:GPIO,外部IO中斷,DMA,ADC,SCTimer/PWM,各種時鐘和計數功能,Flexcomm(USART,I2C,I2S,SPI),DMIC,SD,LCD,CAN,Ethernet,USB全速和高速設備等等。OM40006上同時也配置了NXP的加速度傳感器MMA8652FCR1和樓氏電子的SPH0641LM4H,以供玩家更多的評測。這些外設僅從名字上就可以看出大部分外設都屬於NXP傳統產線上的外設功能。除了Flexcomm和SCTimer屬於NXP這幾年的新外設之外,其他外設對NXP MCU的老用戶來說應該對它們都不會感到陌生。筆者前面有評測文章說過現在各MCU廠的一個趨勢是將傳統線制串口通訊集成在一個模塊,通過功能配置完成不同功能的使用,所以NXP也不例外。Flexcomm絕對是LPC獨創外設,非常超前,非常有特色,非常易用,具體請參考用戶手冊,也可參考AN12127。SCTimer/PWM倒是一個有意思的模塊,將狀態機封裝在裡面,提供了另一種定時輸出的手段。狀態機應該對MCU用戶不陌生,但是傳統PWM的使用模式和狀態機的使用模式確實有實質上的差異,可以參考AN11538,也可以參考筆者前面的分析文章1和2。

從上面的評測和說明可以看出,LPC54018應用於“下一代物聯網應用提供大量資源存儲與訪問的外部不斷電通訊/控制的應用場景”在外設配置上大家都說絕對合適,非常適用,紛紛表示再貴都要上,沒錢借錢也要上。


分享到:


相關文章: