<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > USB主機控制器的設(shè)計

          USB主機控制器的設(shè)計

          作者: 時間:2010-04-02 來源:網(wǎng)絡(luò) 收藏

          這里在EZ-Host主控制器驅(qū)動中定義一個結(jié)構(gòu)體structusb hcd c67x00_hcd,用于描述EZ-Host的基本信息、硬件資源、狀態(tài)描述,定義struct hc_driver c67x00_hc_driver來描述用于操作的鉤子函數(shù),其結(jié)構(gòu)體如圖4所示。

          本文引用地址:http://www.ex-cimer.com/article/202547.htm


          c67x00_hub_start()啟動HCD主控制器,c67x00_hub_irq()實現(xiàn)其中斷控制處理,c67x00_hub_status_data(),c67x00_hub_control()實現(xiàn)對虛擬根集線器的控制,c67x00_hub_enqueue(),c67x00_hub_dequeue()實現(xiàn)對請求(URB)進行排隊,對URB進行調(diào)度。根據(jù)hcd和endp-oint的信息,安排URB的schedule到e67x00,該URB的傳輸完成后,會調(diào)用urb->complete()通知D。

          4 測試結(jié)果
          在ML405開發(fā)板上實現(xiàn)了的開發(fā),使系統(tǒng)具有USB主機功能。在開發(fā)板上分別插入USB鍵盤、USB鼠標、U盤進行測試,內(nèi)核識別信息輸出如圖5所示。


          從圖5中可看出,系統(tǒng)可以方便與大容量存儲類(MassStorage類)USB接口、人機接口類HID(Human Interfaee Device)USB接口進行通信,進行正常讀寫操作,實現(xiàn)了系統(tǒng)的SB接口擴展。

          5 結(jié)束語
          詳細介紹在SoPC平臺上進行USB的硬、軟件設(shè)計。針對EZ-Host器件,詳細介紹其USB主控制器的Linux驅(qū)動開發(fā)過程及主要的接口設(shè)計,對于USB的主機控制器的驅(qū)動開發(fā)有一定參考價值。設(shè)計的重點和難點主要集中在主機控制器器件的驅(qū)動程序開發(fā)的環(huán)節(jié)上,但Linux作為開源系統(tǒng),在開發(fā)設(shè)備驅(qū)動程序時有著其他嵌入式系統(tǒng)不可比擬的優(yōu)勢,大量的開放源碼無疑可以大大加快開發(fā)的進程并使得其應(yīng)用更加的廣泛。因此,USB作為一種新型的高速外設(shè)總線,在嵌入式Linux領(lǐng)域有著廣闊的應(yīng)用前景。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: USB 主機控制器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();