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