- 品牌/商標:達泰
如何輕松解決單片機讀寫U盤模塊的選型
關鍵詞:USB讀寫模塊 U盤 SPI UART
近項目中,使用的數據存儲設備:USB118AD模塊。主要功能是將數據通過單片機直接存儲于U盤上,使數據隨身攜帶。
看到有網友關于此款模塊的討論,我也想就我的經歷說點什么。
在網上查找搜索此方面的模塊,發現西安達泰電子的U盤讀寫模塊USB118AD頗受青睞;同時也有別的廠家的模塊價格相對較低。基于成本和性能的考慮,同時購買兩公司產品進行比較。下列出筆者的測試結果供大家參考。
表1 USB118AD與另一款產品性能比較
比較項目 | USB118AD | 另一款 |
使用單片機 | ARM7系列的LPC2468 | 自產芯片 |
PCB板厚 | 1.2mm | 1.0mm |
尺寸 | 51.6mm*43mm | 31mm*36mm |
等級 | 工業 | 民用 |
元器件 | 雙面布件 | 單面布件 |
技術資料 | 提供完整的測試例程 (ASM和C) | 單功能測試程序 (C) |
UART波特率 | 9600/57600/115200bps | 2400/4800/9600 |
SPI速度 | 150kB/s(2Mbps) | 10KB/s |
單次讀寫數據長度 | 4KB | 254B(個數據無效) |
指令長度 | 定長 | 變長 |
從外觀上看:
USB118AD的PCB板制作比較精良,采用的是1.2mm的鍍錫PCB板;板子尺寸51.6mm*43mm;單片機采用的是NXP公司生產的LPC2468;同時有4個狀態指示燈;提供UART、SPI口及5V供電接口。
另一款產品則采用的是1.0的裸銅PCB板。板子尺寸31mm*36mm;采用資產的芯片,提供UART、SPI口及5V供電接口。雖說PCB板質量稍顯差點,但應該也是基于成本考慮,況此公司主要以出售芯片為主,不能算其不足。
其次從串口(UART)進行比較:
USB118AD的串行端口通過跳線選擇波特率以及通信模式(UART/SPI):9600/57600/115200/SPI。
另一款產品的串行端口通過外接管腳選擇波特率:2400/4800/9600;同時通過另一管腳選擇通信模式(UART/SPI)。
USB118AD的串行速度比另一款產品高出許多,同時數據讀寫幾乎不需要延時;而另一款產品每個指令都需要較長的延時,這使筆者程序的時序控制很被動。由于筆者需要的是較快速度的數據讀寫,故轉向SPI的使用,對此也未再做過多的測試,觀點如有不足,請指正。
從SPI口進行比較(此結果為筆者實測):
USB118AD的SPI口可以做到150kB/s,SPI時鐘可達2MHz,不同指令間延時不超過1ms;指令數據間不需延時。單次讀寫數據量可達4kB,
另一款產品的SPI速度可以做到10kB/s,SPI時鐘可達100kHz,但指令數據間需要延時,否則會出現數據錯誤。時鐘80kHz時不需延時;不同指令間會產生幾十ms的延時。單次讀寫數據量可達254B。
后從功能上進行分析:
USB118AD可創建各種文件和文件夾,文件名格式符合DOS規范(8位文件名和3位擴展名)。命令為66字節,應答碼為64字節(read和list指令除外)。雖然USB118AD指令和應答碼比較長,但指令格式比較統一,方便編程。因讀寫數據經常會以中斷形式出現,較長的指令周期可使系統可靠性增強。同時為產品升級留下空間,能更好的向下兼容。
另一款產品可創建各種文件,但不能創建文件夾,文件名格式符合DOS規范。命令長度可變,應答碼為2字節(read和list指令除外),比較簡單。但寫數據時,個數據無效。
表2 SPI讀寫速度對照表
對比項目 | USB118AD耗時 | 另一款產品耗時 |
存儲64kB的文件 | 7.7S(80kbps) | 10.2S(80kbps) |
存儲64kB的文件(速度) | 840mS(2Mbps) | 10S(100kbps,需加延時) |







