作為優秀工程師的你,已身經百戰、閱板無數!請先醒醒,新的項目來了,這是一個既要、又要、還要的產品需求,一個處理器怎么能實現這么豐富的外圍接口?躊躇之際,你偶閱此文。于是,“潘多拉”的魔盒打開了! 沒錯,USB資源就是你打開新世界得鑰匙,它能做哪些擴展呢? 1.1 USB擴網口通用ARM處理器大多帶兩路網口,如果項目中有多路網路接口的需求,一般會選擇在主板外部加交換機/路由器。當然,出于成本考慮,也可以將Switch芯片集成到ARM核心板或底板上,如KSZ9897、YT9215等。但是,如果你需要擴展的網口完全獨立MAC,且成本可控,那通過USB擴展也將是個不錯的選擇。 圖1 多網口板卡 常見的USB擴網口芯片有LAN9730、AX88179、RTL8211等,可根據情況選擇USB2.0或USB3.0擴展出百兆、千兆網口。 1.2 USB擴WIFI這是比較常見的使用方法了。常見的WIFI模塊預留的通信接口有USB、SDIO、UART/SPI,對于有些SDIO資源局促的芯片,通過USB擴展WIFIT功能顯得順理成章,且USB能滿足更高的通信速率。RTL8821、RTL8188等相關型號。 圖 2 常見的WIFI模塊 1.3 USB擴SATA大多數中低端處理器不支持SATA或PCIE總線,如果需要大容量的外部存儲,就需要考慮擴展實現。是的,通過外部插入TF卡能滿足大部分使用要求,但如果你對通信速率稍有要求、對存儲容量有較大要求,請關注下使用USB擴展SATA方案,如SPIF225A、JM20329、PL-2571。需要注意的是,受制于芯片先擇和電路設計,該方案的傳輸速率仍舊有限。 這種需求在工業領域也比較常見,像數據采集器、通信管理機等產品上多有10個以上的RS232/RS484的需求。除了常見的SPI擴展UART的思路,通過USB對其擴展也是一個不錯的路線。CH9344、CH348、FE1.1S等都比較常用,可根據需求數量合理選擇。 這個擴展方式對于MPU來說可能并不常用,對于大多少場景來說,SPI/IIC的資源數是夠用的。如果有此需求,推薦參考CH347,高速USB轉接芯片,可實現USB轉SPI、USB轉I2C、USB轉JTAG等功能。 1.6 USB擴USB顯然,USB這么好用,定有數量不足的情形。擴展USB就是常見的USBHUB方案了,如4/6/8口的HUB芯片。此外,HUB芯片也很容易實現級聯擴展。使用HUB方案進行多口擴展時,務必留意速率瓶頸。此處可參考USB2514、FE1.1、USB5744等。 像4G模組、USB攝像頭、觸摸屏信號等也都是通過USB通信實現交互。由此可見,USB接口真是我們工控領域的擴展能手。不過,在成本預算充足的情況下,還是建議您選擇外設資源豐富的處理器。畢竟,原生的資源才最能保證穩定和性能。 我們專注于嵌入式ARM軟硬件的設計與生產,歡迎廣大開發工程師隨時溝通交流! |