基于單片機(jī)的嵌入式USB主機(jī)系統(tǒng)的實(shí)現(xiàn)
對(duì)于本課題脫離PC機(jī)的U盤對(duì)拷技術(shù)的研究與設(shè)計(jì),其具體流程為:首先初始化系統(tǒng)各功能模塊,等待源U盤的插入,源U盤插入之后讀取指定文件,并將數(shù)據(jù)暫存在外部RAM中并提示可以拔下源U盤,接著就等待目的U盤的插入,插入之后將外部RAM中的文件數(shù)據(jù)寫到指定的文件中(可以新建文件,也可以將當(dāng)前系統(tǒng)時(shí)間作為當(dāng)前文件的修改時(shí)間等等),第一輪循環(huán)結(jié)束,繼續(xù)以下的循環(huán)。其流程圖如圖3所示。
2.2 協(xié)議的選擇
USB協(xié)議從1.0版本至今,已經(jīng)發(fā)展到2.0版本。在最新的2.0版本中,USB系統(tǒng)開發(fā)商已經(jīng)意識(shí)到USB的發(fā)展瓶頸在于無(wú)法脫離PC機(jī),而對(duì) USB主機(jī)進(jìn)行嵌入又因其協(xié)議的紛繁復(fù)雜而顯得困難重重。因此,系統(tǒng)開發(fā)商推出了OTG版本協(xié)議,其目的就在于實(shí)現(xiàn)USB在嵌入式領(lǐng)域中的應(yīng)用,這與本系統(tǒng)設(shè)計(jì)的出發(fā)點(diǎn)不謀而合。按照USB2.0的補(bǔ)充版本OTG 1.0規(guī)定,符合USB OTG協(xié)議的設(shè)備可以完全脫離PC機(jī)而獨(dú)立運(yùn)行,即它本身即可作主機(jī),也可以作外設(shè),也可以與另一個(gè)符合OTG規(guī)范的設(shè)備進(jìn)行互連[2]。
當(dāng)然,OTG解決方案并非盡善盡美,在很多場(chǎng)合并不要求系統(tǒng)即可作主機(jī)也可作從機(jī),應(yīng)用OTG方案顯得有點(diǎn)多余;其次,由于OTG是新興技術(shù),在其健壯性上還有待驗(yàn)證。最后,開發(fā)符合OTG協(xié)議的設(shè)備在當(dāng)前價(jià)格還比較昂貴,因此,若想將USB設(shè)備(存儲(chǔ)設(shè)備)應(yīng)用于嵌入式系統(tǒng)中,本文中提出的主機(jī)解決方案不失為一種很好的選擇。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論