不要指望从头实现USB协议栈和驱动,这玩意太复杂。千万不要想着用FPGA实现,太浪费时间。
如果对板子没要求,找现成的开发板,能跑Linux的最好,带USB的,淘宝上找,一大堆,然后在Linux里把USB打开(可能已经打开了),插上U盘就可以用。
如果板子已经有了,要增加USB模块,这个就比较麻烦了,有PCI的可以考虑走PCI-USB转接卡,如果没有,建议还是换方案吧,比如把数据存在板子的flash上,或者用SDMMC总线(比USB简单)。