關(guān) 閉

新聞中心

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

USB主機(jī)控制器的設(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://m.butianyuan.cn/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)進(jìn)行排隊,對URB進(jìn)行調(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主機(jī)功能。在開發(fā)板上分別插入USB鍵盤、USB鼠標(biāo)、U盤進(jìn)行測試,內(nèi)核識別信息輸出如圖5所示。


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

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


上一頁 1 2 3 下一頁

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

評論


相關(guān)推薦

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

關(guān)閉