| ||
作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,arm核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!
没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?
通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、YT9215等。但是,如果你需要扩展的网口完全独立MAC,且成本可控,那通过USB扩展也将是个不错的选择。
图1 多网口板卡
常见的USB扩网口芯片有LAN9730、AX88179、RTL8211等,可根据情况选择USB2.0或USB3.0扩展出百兆、千兆网口。
这是比较常见的使用方法了。常见的WIFI模块预留的通信接口有USB、SDIO、UART/SPI,对于有些SDIO资源局促的芯片,通过USB扩展WIFIT功能显得顺理成章,且USB能满足更高的通信速率。RTL8821、RTL8188等相关型号。
图 2 常见的WIFI模块
大多数中低端处理器不支持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等功能。
显然,USB这么好用,定有数量不足的情形。扩展USB就是常见的USBHUB方案了,如4/6/8口的HUB芯片。此外,HUB芯片也很容易实现级联扩展。使用HUB方案进行多口扩展时,务必留意速率瓶颈。此处可参考USB2514、FE1.1、USB5744等。
像4G模组、USB摄像头、触摸屏信号等也都是通过USB通信实现交互。由此可见,USB接口真是我们工控领域的扩展能手。不过,在成本预算充足的情况下,还是建议您选择外设资源丰富的处理器。毕竟,原生的资源才最能保证稳定和性能。
我们专注于嵌入式ARM软硬件的设计与生产,欢迎广大开发工程师随时沟通交流!