2011年5月5日 星期四

DIY - PIC:PIC18F4550 USB 通用串列匯流排寄存器 (六十四)

DIY - PICPIC18F4550 USB 通用串列匯流排寄存器 (十四)

Microchip(美國微芯科技公司)的 PIC18F4550 單片機內置 USB 模組也是很複雜的,需要化時間來理解,但是值得!USB 模組的操作是通過三個控制寄存器配置和管理。除此之外,實際上共使用了 22 個寄存器管理USB通信。

這些寄存器為: 
USB 控制寄存器(UCON
USB 配置寄存器(UCFG
USB 傳輸狀態寄存器(USTAT
USB 設備位址寄存器(UADDR
幀編號寄存器(UFRMH:UFRML
端點使能寄存器0 15 UEPn 

USB 控制寄存器(UCON 
USB 控制寄存器包含控制模組在傳輸過程中行為的位。 此寄存器包含控制以下行為的配置位元: 
使能主 USB 外設 
乒乓(Ping-Pang)緩衝器指針復位 
掛起模式控制 
禁止包傳輸 

此外,USB 控制寄存器包含一個狀態位元 SE0UCON<5>),它用於表示匯流排上是否出現了單端零電平。當使能了 USB 模組時,應該監視此位元以確定差分數據線是否出現了單端零電平。 這有助於區別初始上電狀態和 USB 重定信號。USB 模組的整體操作由 USBEN 位(UCON<3>)控制。將此位置1 可以啟動模組並將緩衝描述符表中的所有 PPBI 位復位為 0。此位也可以啟動片上穩壓器並啟用內部上拉電阻(如果使能)。 因此,此位元可以實現用軟體控制與 USB 的連接/ 斷開。 雖然當此位被清零時,所有的狀態和控制位元都被忽略,但在將此位置1 前還是需要預先對此模組進行全面的配置。 
▲18F4550 USB 控制寄存器(UCON
PPBRST 位(UCON<6>)用於控制使用雙向緩衝模式(乒乓緩衝)時的重定模式。 PPBRST 位被置1 時,所有乒乓緩衝器指標都被設置為指向偶數緩衝器。 必須用固件清零 PPBRST 位。 在不使用乒乓緩衝的模式中,此位被忽略。 

PKTDIS 位(UCON<4>)是表示 SIE 禁止包傳輸和接收的標誌位元。 當接收到 SETUP 權杖時,此位被 SIE 1,以允許設置處理。 單片機不能將此位置 1,只能將此位清零,以允許 SIE 繼續發送和/或接收。 緩衝描述符表中的任何待處理事件都仍然可用,這些事件由 USTAT 寄存器的 FIFO 緩衝器指示。 

RESUME 位(UCON<2>)允許外設通過執行恢復信令來進行遠端喚醒。 要進行有效的遠端喚醒,固件必須將 RESUME 位置1 並保持此狀態 10 ms,然後清零此位。 

SUSPND 位元(UCON<1>)將模組和支援電路(即穩壓器)置於低功耗模式。 SIE 的輸入時鐘也被禁止。 回應 IDLEIF 中斷時,此位元必須由軟體置 1 在產生 ACTVIF 中斷之後,由單片機固件將此位復位。 當此位有效時,設備與匯流排處於連接狀態,但是收發器輸出處於空閒狀態。 VUSB 引腳上的電壓根據此位元值的不同而變化。 IDLEIF 請求之前將此位置1,將導致不可預料的匯流排行為。 

USB 配置寄存器(UCFG 
在通過 USB 通信之前,必須對與模組相關的內部和/ 或外部硬體進行配置。 大部分配置是使用 UCFG 寄存器進行的。 獨立的 USB 穩壓器也是通過配置寄存器控制。UFCG 寄存器中的控制位元可用於控制 USB 模組的絕大部分系統級行為,包括: 
總線速度(全速和低速) 
片上上拉電阻使能 
片上收發器使能 
乒乓緩衝器的使用 

UCFG 寄存器也包含兩個位,用於輔助模組測試、調試和 USB 認證。 這些位元控制輸出使能狀態監視和產生監控模式。




 資料來源:Microchip 18F4550 系列數據手冊 

2011 05 05 天氣報告
氣溫:24.4 @ 22:00 
相對濕度:百分之91% 
天氣:大致多雲

沒有留言:

張貼留言