可重用嵌入式USB主機(jī)驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-05-08 07:55
【摘要】: USB是一種“主從”(主機(jī)/外設(shè))結(jié)構(gòu)的通用串行總線技術(shù),具有簡(jiǎn)單靈活、高帶寬、可靠性強(qiáng)、易于擴(kuò)展和熱插拔等優(yōu)點(diǎn),傳統(tǒng)的USB主機(jī)大都位于PC上,USB設(shè)備只能連接PC進(jìn)行應(yīng)用。隨著消費(fèi)類電子產(chǎn)品的飛速發(fā)展,越來(lái)越多的嵌入式系統(tǒng)中集成了USB主機(jī)控制器,這就要求在嵌入式設(shè)備上實(shí)現(xiàn)一套USB主機(jī)驅(qū)動(dòng)程序。 傳統(tǒng)意義上的USB驅(qū)動(dòng)程序開發(fā)都是針對(duì)USB外設(shè)驅(qū)動(dòng)的開發(fā),主控制器驅(qū)動(dòng)大部分由操作系統(tǒng)來(lái)提供。在USB主機(jī)開發(fā)領(lǐng)域中,基于桌面的兩大主流操作系統(tǒng)中,Windows不公開源碼而Linux的代碼卻不方便移植;而在嵌入式操作系統(tǒng)中,諸如μCOS,VxWorks和QNX等OS的USB主機(jī)協(xié)議棧也是不公開的。因此,對(duì)于芯片設(shè)計(jì)和方案提供廠商來(lái)說(shuō),自主實(shí)現(xiàn)一整套通用性強(qiáng)且方便移植的USB主機(jī)驅(qū)動(dòng)程序?qū)?huì)有更大的意義。 另外,在大多數(shù)自行開發(fā)的嵌入式USB系統(tǒng)軟件中,底層驅(qū)動(dòng)程序、操作系統(tǒng)和應(yīng)用程序的界線往往是不清晰的,這樣增加了軟件的耦合度,一旦硬件和操作系統(tǒng)發(fā)生變更時(shí),維護(hù)成本和風(fēng)險(xiǎn)大大增加,更降低了代碼的可重用性。 在這種背景下,本文提出通過(guò)對(duì)現(xiàn)在較新版本Linux中的USB主機(jī)驅(qū)動(dòng)程序進(jìn)行裁減和移植,結(jié)合嵌入式系統(tǒng)的特點(diǎn),設(shè)計(jì)出一套可重用性高,通用性強(qiáng)的嵌入式USB主機(jī)驅(qū)動(dòng)程序。 本文先學(xué)習(xí)了USB主機(jī)系統(tǒng)的軟硬件結(jié)構(gòu),在此基礎(chǔ)上研究了Linux中USB的主機(jī)驅(qū)動(dòng)架構(gòu),對(duì)移植的難度進(jìn)行了分析。然后基于可重用的思想設(shè)計(jì)出了嵌入式系統(tǒng)中USB主機(jī)驅(qū)動(dòng)的軟件架構(gòu)。接下來(lái)本文通過(guò)裁減和修改核心數(shù)據(jù)結(jié)構(gòu),替換OS接口等方法對(duì)Linux中USB主機(jī)驅(qū)動(dòng)進(jìn)行移植。 最后本文將USB主機(jī)驅(qū)動(dòng)應(yīng)用在一個(gè)高性能的嵌入式系統(tǒng)機(jī)頂盒中,實(shí)現(xiàn)對(duì)于大容量存儲(chǔ)設(shè)備的支持。并通過(guò)測(cè)試給出了此USB主機(jī)驅(qū)動(dòng)在可重用性、功能性和穩(wěn)定性上的驗(yàn)證結(jié)論。
【圖文】:
圖 3-4 USB 主機(jī)驅(qū)動(dòng)的軟件目錄結(jié)構(gòu). 3-4 Software Tree Structure of USB Host D看到,,/usb 位于/bus 下,說(shuō)明 USB 是目錄:/host_base 對(duì)應(yīng)于主機(jī)驅(qū)動(dòng)部分 USB 主機(jī)系統(tǒng)部分與硬件無(wú)關(guān)的代存放 OTG 驅(qū)動(dòng)與設(shè)備無(wú)關(guān)的代碼(O設(shè)備的實(shí)現(xiàn)協(xié)議[17]);/peripheral_base使用),相應(yīng)的存放外設(shè)驅(qū)動(dòng)與設(shè)備 USB 控制器,存放于 USB 主機(jī)控制 下,/device、 /usbd 、/hcd 分別對(duì)應(yīng)目中為了支持 USB 大容量存儲(chǔ)設(shè)備立/mass_stor 用于存放對(duì)應(yīng)于這種類存放 usb 總線驅(qū)動(dòng)程序,是整個(gè) USB于不同類型(OHCI 等)的 USB 主機(jī)控制體硬件寄存器級(jí)的操作無(wú)關(guān),所有硬件
【學(xué)位授予單位】:上海交通大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2007
【分類號(hào)】:TP336
本文編號(hào):2654366
【圖文】:
圖 3-4 USB 主機(jī)驅(qū)動(dòng)的軟件目錄結(jié)構(gòu). 3-4 Software Tree Structure of USB Host D看到,,/usb 位于/bus 下,說(shuō)明 USB 是目錄:/host_base 對(duì)應(yīng)于主機(jī)驅(qū)動(dòng)部分 USB 主機(jī)系統(tǒng)部分與硬件無(wú)關(guān)的代存放 OTG 驅(qū)動(dòng)與設(shè)備無(wú)關(guān)的代碼(O設(shè)備的實(shí)現(xiàn)協(xié)議[17]);/peripheral_base使用),相應(yīng)的存放外設(shè)驅(qū)動(dòng)與設(shè)備 USB 控制器,存放于 USB 主機(jī)控制 下,/device、 /usbd 、/hcd 分別對(duì)應(yīng)目中為了支持 USB 大容量存儲(chǔ)設(shè)備立/mass_stor 用于存放對(duì)應(yīng)于這種類存放 usb 總線驅(qū)動(dòng)程序,是整個(gè) USB于不同類型(OHCI 等)的 USB 主機(jī)控制體硬件寄存器級(jí)的操作無(wú)關(guān),所有硬件
【學(xué)位授予單位】:上海交通大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2007
【分類號(hào)】:TP336
【引證文獻(xiàn)】
相關(guān)碩士學(xué)位論文 前2條
1 韓超;基于ARM的嵌入式USB/以太網(wǎng)轉(zhuǎn)換器的設(shè)計(jì)與實(shí)現(xiàn)[D];安徽大學(xué);2010年
2 王鳳林;基于WCDMA的無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用研究[D];蘇州大學(xué);2010年
本文編號(hào):2654366
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2654366.html
最近更新
教材專著