基于μC/OS-Ⅱ的USB OHCI主機(jī)協(xié)議棧的實(shí)現(xiàn)
發(fā)布時(shí)間:2020-12-10 12:44
通用串行總線(USB)是一種計(jì)算機(jī)外圍串行通信接口標(biāo)準(zhǔn),已經(jīng)成為現(xiàn)代計(jì)算機(jī)必備的接口之一。開放主機(jī)控制器接口(OHCI)是一個(gè)在嵌入式系統(tǒng)中得到廣泛應(yīng)用的USB主機(jī)控制器接口規(guī)范。μC/OS-Ⅱ是一個(gè)簡單高效的嵌入式實(shí)時(shí)操作系統(tǒng);讦藽/OS-Ⅱ的USB OHCI主機(jī)協(xié)議棧占用系統(tǒng)資源少,適合應(yīng)用在資源緊張的嵌入式系統(tǒng)中,為產(chǎn)品提供USB設(shè)備接入功能。目前已有的USBOHCI主機(jī)協(xié)議棧在功能、資源占用、成本和可維護(hù)性等方面通常不能滿足商業(yè)化產(chǎn)品的需要。本文在AT91SAM9260硬件平臺(tái)上實(shí)現(xiàn)了一個(gè)較完整的基于μC/OS-Ⅱ操作系統(tǒng)的USB OHCI主機(jī)協(xié)議棧。首先進(jìn)行了總體設(shè)計(jì)和模塊劃分,然后進(jìn)行了主機(jī)控制器驅(qū)動(dòng)模塊、USB驅(qū)動(dòng)模塊和類驅(qū)動(dòng)模塊的設(shè)計(jì)和實(shí)現(xiàn)。在主機(jī)控制器驅(qū)動(dòng)模塊中,通過對(duì)主機(jī)控制器的管理和控制,實(shí)現(xiàn)了USB底層數(shù)據(jù)傳送功能。在USB驅(qū)動(dòng)模塊中,實(shí)現(xiàn)了USB通信功能和USB設(shè)備管理功能。在類驅(qū)動(dòng)模塊中,實(shí)現(xiàn)了大容量存儲(chǔ)類協(xié)議和人機(jī)接口設(shè)備類協(xié)議。最后,搭建了一個(gè)測試平臺(tái),設(shè)計(jì)了一系列測試用例,驗(yàn)證了主機(jī)協(xié)議棧的有效性。實(shí)驗(yàn)結(jié)果表明,該USBOHCI主機(jī)協(xié)議棧的可行性和...
【文章來源】:西安電子科技大學(xué)陜西省 211工程院校 教育部直屬院校
【文章頁數(shù)】:71 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
基于μC/OS-II 的 USB OHCI 主機(jī)協(xié)議棧的實(shí)現(xiàn)控制器驅(qū)動(dòng)首先定位目標(biāo)端點(diǎn)的 ED,然后根據(jù) USB 驅(qū)動(dòng)傳過 TD,插入到 ED 的 TD 隊(duì)列中,最后提交給主機(jī)控制器處理。控制傳送的處理比較簡單,只要把 URB 定義的數(shù)據(jù)分割成多 ED 的 TD 隊(duì)列中就可以了。傳送的情況有些特殊。如圖 4.7 所示,控制傳送分為三個(gè)階段 STATUS。在 SETUP 階段,主機(jī)向設(shè)備發(fā)送一個(gè)控制命令包(備請求)。在可選的 DATA 階段,主機(jī)和設(shè)備之間傳送零個(gè)或TATUS 階段,主機(jī)和設(shè)備之間傳送一個(gè)零字節(jié)的數(shù)據(jù)包,方向據(jù)傳送方向相反(對(duì)于沒有 DATA 階段的情況,方向?yàn)檩斎耄┛梢郧宄乜闯鏊惴▽?duì)控制傳送的處理情況:DATA 階段使用ETUP 階段和 STATUS 階段分別使用一個(gè) TD。
圖 5.4 設(shè)備熱拔插處理流程設(shè)備熱拔插事件的處理過程分為以下幾步:1. 事件檢測:驅(qū)動(dòng)監(jiān)視集線器的狀態(tài),當(dāng)集線器產(chǎn)生狀態(tài)改變事件指向集線器 USB 設(shè)備對(duì)象的指針發(fā)送到消息隊(duì)列。主機(jī)控制器驅(qū)監(jiān)視根集線器,集線器驅(qū)動(dòng)負(fù)責(zé)監(jiān)視所有的普通集線器。2. 事件源確認(rèn):USB 主任務(wù)從消息隊(duì)列中取消息,判斷事件來自于線器設(shè)備。3. 事件處理:USB 主任務(wù)調(diào)用集線器驅(qū)動(dòng)提供的事件處理程序處理設(shè)備產(chǎn)生的“連接狀態(tài)改變”事件,判斷事件類型,如果是“設(shè)事件”,向系統(tǒng)添加設(shè)備,反之,如果是“設(shè)備拔出”事件,則把系統(tǒng)中刪除。4. 重新開始事件檢測:對(duì)于除根集線器之外的其它普通集線器,US務(wù)向其狀態(tài)改變端點(diǎn)提交輪詢 URB,重新啟動(dòng)集線器的事件檢測使集線器驅(qū)動(dòng)繼續(xù)監(jiān)視集線器的狀態(tài)。根集線器的事件檢測通過斷實(shí)現(xiàn),不需要這一步驟。
【參考文獻(xiàn)】:
期刊論文
[1]USB設(shè)備啟動(dòng)過程的分析與實(shí)現(xiàn)[J]. 張國云. 現(xiàn)代電子技術(shù). 2005(23)
[2]Open HCI for USB淺析[J]. 朱良. 計(jì)算機(jī)工程與科學(xué). 2005(09)
[3]基于Mass Storage協(xié)議的USB接口設(shè)計(jì)[J]. 田奕. 電子器件. 2005(03)
碩士論文
[1]USB OHCI主機(jī)協(xié)議棧設(shè)計(jì)及移植[D]. 李大鵬.東北大學(xué) 2009
[2]嵌入式下的USB協(xié)議棧設(shè)計(jì)與實(shí)現(xiàn)[D]. 阮寅.電子科技大學(xué) 2006
本文編號(hào):2908715
【文章來源】:西安電子科技大學(xué)陜西省 211工程院校 教育部直屬院校
【文章頁數(shù)】:71 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
基于μC/OS-II 的 USB OHCI 主機(jī)協(xié)議棧的實(shí)現(xiàn)控制器驅(qū)動(dòng)首先定位目標(biāo)端點(diǎn)的 ED,然后根據(jù) USB 驅(qū)動(dòng)傳過 TD,插入到 ED 的 TD 隊(duì)列中,最后提交給主機(jī)控制器處理。控制傳送的處理比較簡單,只要把 URB 定義的數(shù)據(jù)分割成多 ED 的 TD 隊(duì)列中就可以了。傳送的情況有些特殊。如圖 4.7 所示,控制傳送分為三個(gè)階段 STATUS。在 SETUP 階段,主機(jī)向設(shè)備發(fā)送一個(gè)控制命令包(備請求)。在可選的 DATA 階段,主機(jī)和設(shè)備之間傳送零個(gè)或TATUS 階段,主機(jī)和設(shè)備之間傳送一個(gè)零字節(jié)的數(shù)據(jù)包,方向據(jù)傳送方向相反(對(duì)于沒有 DATA 階段的情況,方向?yàn)檩斎耄┛梢郧宄乜闯鏊惴▽?duì)控制傳送的處理情況:DATA 階段使用ETUP 階段和 STATUS 階段分別使用一個(gè) TD。
圖 5.4 設(shè)備熱拔插處理流程設(shè)備熱拔插事件的處理過程分為以下幾步:1. 事件檢測:驅(qū)動(dòng)監(jiān)視集線器的狀態(tài),當(dāng)集線器產(chǎn)生狀態(tài)改變事件指向集線器 USB 設(shè)備對(duì)象的指針發(fā)送到消息隊(duì)列。主機(jī)控制器驅(qū)監(jiān)視根集線器,集線器驅(qū)動(dòng)負(fù)責(zé)監(jiān)視所有的普通集線器。2. 事件源確認(rèn):USB 主任務(wù)從消息隊(duì)列中取消息,判斷事件來自于線器設(shè)備。3. 事件處理:USB 主任務(wù)調(diào)用集線器驅(qū)動(dòng)提供的事件處理程序處理設(shè)備產(chǎn)生的“連接狀態(tài)改變”事件,判斷事件類型,如果是“設(shè)事件”,向系統(tǒng)添加設(shè)備,反之,如果是“設(shè)備拔出”事件,則把系統(tǒng)中刪除。4. 重新開始事件檢測:對(duì)于除根集線器之外的其它普通集線器,US務(wù)向其狀態(tài)改變端點(diǎn)提交輪詢 URB,重新啟動(dòng)集線器的事件檢測使集線器驅(qū)動(dòng)繼續(xù)監(jiān)視集線器的狀態(tài)。根集線器的事件檢測通過斷實(shí)現(xiàn),不需要這一步驟。
【參考文獻(xiàn)】:
期刊論文
[1]USB設(shè)備啟動(dòng)過程的分析與實(shí)現(xiàn)[J]. 張國云. 現(xiàn)代電子技術(shù). 2005(23)
[2]Open HCI for USB淺析[J]. 朱良. 計(jì)算機(jī)工程與科學(xué). 2005(09)
[3]基于Mass Storage協(xié)議的USB接口設(shè)計(jì)[J]. 田奕. 電子器件. 2005(03)
碩士論文
[1]USB OHCI主機(jī)協(xié)議棧設(shè)計(jì)及移植[D]. 李大鵬.東北大學(xué) 2009
[2]嵌入式下的USB協(xié)議棧設(shè)計(jì)與實(shí)現(xiàn)[D]. 阮寅.電子科技大學(xué) 2006
本文編號(hào):2908715
本文鏈接:http://www.wukwdryxk.cn/kejilunwen/jisuanjikexuelunwen/2908715.html
最近更新
教材專著