基于單片機的嵌入式USB主機系統(tǒng)的實現(xiàn)
2.3 軟件層次劃分
從嵌入式USB主機的軟件層次劃分來看,系統(tǒng)軟件主要包括主控制器驅(qū)動程序、USB核心驅(qū)動程序,以及用戶軟件;從功能劃分來看,系統(tǒng)軟件可分為以下幾個部分:
1.主CPU與各系統(tǒng)模塊的初始化程序設計
實現(xiàn)主CPU及各系統(tǒng)模塊的初始化,包括實現(xiàn)I2C接口的LED顯示、鍵盤、時鐘芯片以及主CPU與USB主機控制芯片之間的數(shù)據(jù)通信功能。
主要完成核心驅(qū)動程序的功能,具體來說就是實現(xiàn)USB的4種基本數(shù)據(jù)的傳輸方式,實現(xiàn)USB設備的枚舉過程,并獲取USB設備的描述符等。這些功能都可以通過讀寫主控制器寄存器來完成。因此,系統(tǒng)中只需分別定義一個讀寄存器函數(shù)和寫寄存器函數(shù),然后以此函數(shù)為基礎來構(gòu)成各功能子函數(shù),實現(xiàn)數(shù)據(jù)傳輸、設備枚舉以及獲取描述符等各種操作。
3.Mass Storage類協(xié)議的程序設計
實現(xiàn)Mass Storage設備類中Bulk-Only傳輸協(xié)議和Mass Storage類中UFI子類的各種請求命令,對設備進行各種訪問和讀寫操作。
4.應用程序設計
主要實現(xiàn)FAT文件系統(tǒng)??筛鶕?jù)FAT文件系統(tǒng)的基本體系,通過Mass Storage類協(xié)議中的UFI子類命令和標準的設備請求命令與設備的Flash閃存建立連接關系,并在USB主機系統(tǒng)中建立磁盤的空間結(jié)構(gòu),定義 MBR, DBR的數(shù)據(jù)結(jié)構(gòu),建立FAT表,F(xiàn)DT表,實現(xiàn)對文件系統(tǒng)進行讀取等操作功能即可。
系統(tǒng)的軟件設計即可按照上述的4個功能模塊來依次構(gòu)建。
3結(jié)束語
本設計建立了基于單片機的嵌入式USB主機系統(tǒng),該系統(tǒng)實現(xiàn)了USB協(xié)議中的Mass Storage類協(xié)議和精簡的FAT文件系統(tǒng),能夠?qū)盤中的文件數(shù)據(jù)進行讀寫,完成相應的文件操作等各種功能。結(jié)果表明:利用該嵌入式USB主機系統(tǒng)對具體U盤中的文件進行讀操作時,平均速度為60~80KB/S,對之進行寫操作時,平均速度為40~50KB/S。該系統(tǒng)真正實現(xiàn)了便攜式,擺脫了PC機對USB設備的控制,無需PC主機即可對USB設備進行讀寫操作,具有廣闊的應用前景。程序主要采用C語言編寫,因此它可以很方便地移植到其它處理器中。
本文創(chuàng)新之處:目前,市場上脫離PC對U盤操作的單純產(chǎn)品很少,而且有些此功能的產(chǎn)品都有一定的應用背景。本設計開發(fā)了U盤對拷器,留有擴展口,可作U盤對拷器用,也可在此基礎上作二次開發(fā)。
參考文獻
[1] 王成儒.USB 2.0原理與工程開發(fā)[M].北京:國防工業(yè)出版社,2004.1
[2] 伊勇,王洪成.單片機開發(fā)環(huán)境uVision2使用指南及USB固件編程與調(diào)試[M]. 北京:北京航空航天大學出版社,2004.11
[3] 李群芳 張士軍編.單片微型計算機與接口技術(shù)(第2版)[M].西安:電子工業(yè)出版社,2005.1
[4] 郭文彬 孫智權(quán)等. 基于NiosⅡ的usb接口模塊設計[J].微計算機信息,2006,10-2:278-279。
評論