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