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...