基於OHCI的USB主機 暫存器(其它)

2021-09-21 22:14:34 字數 681 閱讀 4025

usb

埠關電 對

usb埠進行關電處理的目的主要有兩個,一是安全拔下

u盤,防止帶電插拔造成資料丟失或錯誤,另乙個是為了再次開電,對

u盤內部程式進行復位。

/*** 

斷開usb

埠的供電

*/shortohciharddisable(void)

清除中斷狀態

該程式在中斷程式中被呼叫,在

ohci

規範中,設定中斷是通過

hcinterruptenable

暫存器來完成的,而產生中斷以後,中斷狀態暫存器(

hcinterruptstatus

)的對應位就會被設定為

1,通過查詢該暫存器的內容可以得知當前中斷產生的原因。

但是如果中斷狀態暫存器的資料不清除的話,

am9200

就不會產生新的中斷,因此在中斷處理程式中需要呼叫本函式清除中斷狀態:

/*** 

清除中斷狀態暫存器的內容,以便能夠產生新的中斷

*/shortohciclearintrstatus(void)

說明:按照

ohci

規範,在中斷狀態暫存器的相應位寫

1,就可以清除對應的中斷狀態。

基於OHCI的USB主機 暫存器(裝置連線)

讀取usb 裝置連線狀態 讀取hcrhportstatus 暫存器可以得到相應 usb埠是否有裝置連線,但是在嵌入式系統中,為了增強系統的穩定性,要有適當的演算法保證在一段時間內,連續讀到裝置連線或斷開,則才能確定裝置的連線狀態,下面的函式在定時中斷中被呼叫,用來檢測 usb裝置的連線狀況 讀取us...

USB主機控制器的OHCI暫存器

usb主機控制器的ohci暫存器可以分為4種 1 控制及狀態組 2 儲存器指標組 3 幀控制組 4 邏輯根集線器 root hub 組 控制及狀態組 包括hcrevision,hccontrol,hccommandstatus,hcinterruptstatus,hcinterruptenable,...

基於OHCI的USB主機 中斷暫存器初始化

在 am9200 中,中斷暫存器分為 2個層次,乙個是用來設定某個功能允許哪些中斷產生,另乙個是 aic中斷暫存器,用來設定是否允許該功能產生中斷。當 aic對應的中斷產生時,需要讀取相應功能的中斷狀態暫存器,以判斷產生中斷的具體原因。對於usb介面,首先需要設定 uhp hcinterrupten...