<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于OHCI 的主機控制器的接口設計

基于OHCI 的主機控制器的接口設計

作者: 時(shí)間:2010-12-12 來(lái)源:網(wǎng)絡(luò ) 收藏
struct ohci_hcca *hcca;//HCCA 結構體

本文引用地址:http://dyxdggzs.com/article/151236.htm

struct ohci_regs *regs;// 操作寄存器結構體

struct usb_device *dev;//USB 設備

U32 hc_control;//控制寄存器的copy

int ohci_int_load[32]; //32 個(gè)中斷鏈使用

ed_t *ed_rm_list[2]; //指向移除的ED 鏈

ed_t *ed_bulktail; //批量傳輸ED 的鏈尾

ed_t *ed_controltail; //控制傳輸ED 的鏈尾

U32 status;//HC 工作狀態(tài)

}ohci_t;

規范中定義了4 個(gè)鏈表:控制傳輸數據鏈表,批量傳輸數據鏈表,完成數據鏈表 和周期性數據鏈表,其中除了完成數據鏈表是一維鏈表外,其他的鏈表都是二維鏈表(如圖 2 所示),主要由數據結構TD 和ED 組成。硬件通過(guò)寄存器訪(fǎng)問(wèn)每個(gè)鏈表來(lái)得到相關(guān)的USB 數據包,并將其發(fā)送到USB 總線(xiàn)上。驅動(dòng)程序則根據實(shí)際的數據傳 輸需要,構建相應的ED 并將要傳輸的數據轉為T(mén)D 格式,所有的同類(lèi)型ED 被連接在一起, 而TD 表述才是最終要在USB 總線(xiàn)上傳輸的數據包,同時(shí)屬于同一個(gè)USB 設備端點(diǎn)的TD 被鏈接在一起,并掛在相應的ED 上。

完成鏈接在相關(guān)鏈表上的TD 后,會(huì )將該TD 從相應的鏈表上取下,并鏈 接到完成數據鏈表上。主機控制器驅動(dòng)程序則通過(guò)對該鏈表的訪(fǎng)問(wèn)來(lái)獲得已經(jīng)傳輸完成的數 據包。此時(shí)HCD 可以將這些返回的數據放入到相應的URB 中,由USBD 向上層傳輸。

4 試驗實(shí)例

由USBD 層初始化URB 結構,并通過(guò)HCD 的函數ohci_submit_urb()傳遞給HCD 層。通過(guò)在S3C2410 實(shí)驗平臺上的實(shí)驗表明主機控制器驅動(dòng)程序能夠很好的向USBD 層提 供服務(wù)并管理HC。

5 結束語(yǔ)

主機控制器是USB 主機系統的硬件核心,主機控制器驅動(dòng)則是USB 系統軟件的最底層實(shí) 現。依據在USB 協(xié)議底層的主機開(kāi)發(fā)的實(shí)踐,詳細介紹了 的主機控制器的規 范,列舉了所構建的數據結構以及函數,實(shí)現了獨立于操作系統的HCD。

本文作者創(chuàng )新點(diǎn):實(shí)現了嵌入式系統中OHCI 的主機控制器驅動(dòng),對整個(gè)USB 協(xié)議棧采 用模塊化分層,開(kāi)發(fā)的HCD 獨立于操作系統,適合于無(wú)系統的單片USB 主機。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 接口 設計 控制器 主機 OHCI 基于

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>