MAX3420E中斷系統(tǒng)
出處:乘風(fēng) 發(fā)布于:2007-04-29 09:28:16
MAX3420E中斷系統(tǒng)
引言
MAX3420E可與任何SPI主控制器相連,構(gòu)成全速USB外設(shè)器件。盡管由MAX3420管理底層USB信令,但是需要處理USB事件時,SPI主控制器必須參與處理。MAX3420的INT引腳指示有中斷發(fā)生,SPI主控制器讀取14個中斷請求位,確定需要服務(wù)的中斷。主要由這些中斷請求(IRQ)位確定MAX3420E的工作過程。
注意:SPI主控制器可以是微控制器、DSP、ASIC或者任何具備SPI端口的器件,并能提供SCLK信號。本文檔使用的術(shù)語“SPI主控制器”和“微控制器”含義相同。
MAX3420E中斷邏輯
圖1所示為MAX3420E中斷邏輯。陰影部分是可通過SPI訪問的寄存器位。
IRQ位
每一個中斷源都有一個用于鎖存服務(wù)請求的觸發(fā)器。觸發(fā)器的輸出即為IRQ,它出現(xiàn)在MAX3420E寄存器中。IRQ位提供兩種功能:
讀取一個IRQ位,將返回IRQ觸發(fā)器的狀態(tài)。
寫入一個“1”至IRQ位,將清除IRQ觸發(fā)器,寫入“0”至IRQ位,不改變觸發(fā)器狀態(tài)。
可以在任意時刻讀取IRQ位,它反映了IRQ觸發(fā)器的狀態(tài)。按照上面第2條,寫入1而不是0來清除所選的IRQ位,這一過程不需要讀-修改-寫周期。舉例說明,假設(shè)MAX3420E的IRQ位與普通的寄存器位一樣,寫1置位,寫0清除。現(xiàn)在,我們想要清除USBIRQ寄存器的URESIRQ位。圖2所示為實(shí)現(xiàn)該操作的代碼。
14個MAX3420E中斷的每一個都有相應(yīng)的中斷使能(IEN)位。IEN位和IRQ觸發(fā)器輸出進(jìn)行“與”操作,決定是否向INT引腳傳送中斷請求(圖1)。14個IRQ觸發(fā)器通過門控電路后,進(jìn)行“或”操作,形成一個內(nèi)部中斷請求信號,傳送至中斷引腳邏輯模塊。
注意,無論IEN位的狀態(tài)如何,IRQ位都指示中斷懸掛狀態(tài)。這樣,即使中斷不觸發(fā)INT引腳,固件仍可以檢查該懸掛中斷。如果您的程序需要檢查一個IRQ寄存器“是否懸掛中斷”,一個簡單的方法是讀取IRQ和IEN寄存器,對它們進(jìn)行“與”操作,檢查現(xiàn)在指示“等待和被使能的IRQ”位。零值表示沒有使能的中斷處于懸掛狀態(tài)。
IE位
SPI主控制器通過IE位使能或者禁止INT引腳。由于該位影響到所有的中斷,因此通常稱之為全局中斷使能。不論IRQ或者IEN位的狀態(tài)如何,當(dāng)IE = 0時,INT引腳無效。
中斷引腳邏輯
兩個寄存器位INTLEVEL (參考下面的討論)和POSINT控制INT引腳的工作方式。在設(shè)置IE = 1之前,應(yīng)先設(shè)置這兩個配置位。
電平模式,INTLEVEL = 1
某些微控制器系統(tǒng)使用低電平有效中斷。采用這種配置時,MAX3420E采用一個開漏極晶體管驅(qū)動INT引腳至地。由于引腳只能驅(qū)動為低電平,因此,需要在INT引腳和邏輯電源之間接一個上拉電阻。該模式支持多個芯片的INT引腳輸出(每個均為開漏輸出)連接在一起,并使用單個上拉電阻。由于任何一個芯片輸出都可將該引腳拉低,因此這種邏輯有時也稱為“線或”。對于這種類型的系統(tǒng),設(shè)置INTLEVEL = 1。
邊沿模式,INTLEVEL = 0 (缺省值)
MAX3420E INT引腳也可以驅(qū)動邊沿有效的中斷系統(tǒng),此時微控制器在其中斷輸入引腳上檢查0-1或者1-0跳變。這是MAX3420E的缺省模式,INTLEVEL = 0。SPI主控制器通過第二個POSINT位設(shè)置邊沿極性。當(dāng)POSINT = 1時,MAX3420E為懸掛中斷輸出一個0-1跳變。當(dāng)POSINT = 0 (缺省值)時,MAX3420E為懸掛中斷輸出一個1-0跳變。
在圖1中,請注意以下幾方面:
如果一個IRQ位置位,而其對應(yīng)的IEN位清零,則IRQ不會影響INT輸出引腳。但是,中斷仍處于懸掛狀態(tài)。永遠(yuǎn)可以讀取IRQ位以獲得其狀態(tài),可向?qū)?yīng)的寄存器位寫1,將IRQ位清零。
懸掛中斷(IRQ位是1)的IEN位出現(xiàn)0-1跳變時將產(chǎn)生中斷
INT引腳可連接至微控制器的中斷系統(tǒng)。此外,微控制器可以輪詢INT引腳,以確定MAX3420E是否有中斷處于懸掛狀態(tài)。適合輪詢的模式是電平模式(INTLEVEL = 1),這是因?yàn)樵谶呇啬J街校琁NT引腳輸出的脈沖可能太窄,微控制器無法探測到(參考下面的討論)。請注意,電平模式需要在INT引腳和VL之間連接一個上拉電阻。
INT引腳波形
電平模式
發(fā)生一個中斷請求,使MAX3420E INT引腳置低。
SPI主控制器完成中斷服務(wù)后,向IRQ位寫入1,將其清零。INT引腳返回至靜態(tài)高電平。(a)和(b)之間的間隔是中斷置位其IRQ位和SPI主控制器清除IRQ位之間的時間。
產(chǎn)生另一個中斷請求,將INT引腳拉低。
當(dāng)個中斷請求處于懸掛狀態(tài)時,產(chǎn)生了第二個中斷請求。INT電平?jīng)]有變化,因?yàn)橹辽儆幸粋€中斷處于懸掛狀態(tài)。(實(shí)際上,此刻有兩個中斷處于懸掛狀態(tài)。)
SPI主控制器完成一個中斷服務(wù)后,向IRQ位寫入1,將其清零。由于仍有一個中斷處于懸掛狀態(tài),INT引腳保持低電平。
SPI主控制器處理完剩下的中斷請求,向IRQ位寫入1,將其清零。沒有中斷處于懸掛狀態(tài),因此INT引腳返回至靜態(tài)高電平。
注意:如果一個中斷的IRQ觸發(fā)器(圖1)置位,則認(rèn)為該中斷處于懸掛狀態(tài)。
這種邏輯可以很好地處理INT引腳輪詢。如果MAX3420E的任何部分需要服務(wù),并且其中斷已被使能,那么INT引腳變?yōu)榈碗娖?。在微控制器清除一個懸掛IRQ位之前,INT引腳一直保持低電平。
邊沿模式
圖5所示為兩種極性邊沿模式下的MAX3420E INT引腳波形,極性由POSINT位控制。波形與電平模式的相似,但有兩處不同。在兩種條件下,INT引腳產(chǎn)生邊沿跳變:一個IRQ位變?yōu)橛行顟B(tài)(其IRQ觸發(fā)器產(chǎn)生0-1跳變)。
處理器清除一個IRQ位(向其寫入1),其他IRQ處于懸掛狀態(tài)。
第二個條件確保還有中斷需要服務(wù)時處理器能夠檢測到邊沿跳變。
除了產(chǎn)生邊沿跳變外,與電平模式一樣,INT引腳也具有有效和無效狀態(tài)。INT引腳的無效狀態(tài)取決于POSINT位設(shè)置的邊沿極性。在這點(diǎn)上,邊沿模式與電平模式相似,查看INT引腳的狀態(tài)就可以知道是否有中斷處于懸掛狀態(tài):
在負(fù)極性邊沿模式下,如果沒有懸掛中斷,INT引腳為高電平;如果有懸掛中斷,則為低電平。
在正極性邊沿模式下,如果沒有懸掛中斷,INT引腳為低電平;如果有懸掛中斷,則為高電平。
以下說明解釋了INT引腳的有效和無效狀態(tài)。有效狀態(tài)意味著至少有一個中斷處于懸掛狀態(tài);無效狀態(tài)是指沒有中斷處于懸掛狀態(tài)。假設(shè)中斷已被使能,將出現(xiàn)以下事件。(下面標(biāo)有字母的條目對應(yīng)圖5中相同字母標(biāo)出的事件。)
產(chǎn)生一個中斷請求時,MAX3420E INT引腳出現(xiàn)一個邊沿跳變。邊沿的極性取決于POSINT位的設(shè)置。由于中斷仍處于懸掛狀態(tài),INT引腳保持其有效狀態(tài)。
SPI主控制器完成中斷服務(wù)后,向IRQ位寫入1,將其清零。MAX3420E INT引腳返回至無效狀態(tài)。圖中(a)和(b)之間的間隔(1)是產(chǎn)生中斷和SPI主控制器清除IRQ位之間的時間。
產(chǎn)生另一個中斷請求時,MAX3420E INT引腳產(chǎn)生一個邊沿跳變,并保持其有效狀態(tài)。
當(dāng)個中斷請求處于懸掛狀態(tài)時,又產(chǎn)生了第二個中斷請求。MAX3420E INT引腳必須產(chǎn)生另一個邊沿跳變,因此該引腳在無效和有效狀態(tài)之間產(chǎn)生跳變脈沖,從而提供正確的邊沿極性。在MAX3420E中,該脈沖的寬度固定為10.67μs。由于還有中斷處于懸掛狀態(tài),INT引腳保持在有效狀態(tài)。
SPI主控制器完成一個懸掛中斷服務(wù)后,向其IRQ位寫入1,將其清除。與第(d)步一樣,INT引腳產(chǎn)生另一個邊沿跳變。
SPI主控制器處理完剩下的中斷請求,向其IRQ位寫入1,將其清除。沒有中斷處于懸掛狀態(tài),因此,INT引腳返回至無效狀態(tài)。
中斷寄存器
表1. 陰影部分的MAX3420E寄存器位控制中斷系統(tǒng)
表2. 14個MAX3420E中斷源
表2說明了14個中斷控制位,MAXQ3420E內(nèi)部邏輯何時對它們進(jìn)行置位,以及SPI主控制器怎樣清除它們。
中斷請求位
BAV位
三個緩沖區(qū)就緒(BAV) IRQ位指示SPI主控制器可以裝入一個IN端點(diǎn)FIFO。芯片復(fù)位或者IN數(shù)據(jù)由端點(diǎn)緩沖區(qū)成功地發(fā)送給主機(jī)后,MAX3420E置位這些IRQ位。該IRQ通知SPI主控制器緩沖區(qū)可以裝入新數(shù)據(jù)。
圖6所示為IN傳輸?shù)目偩€過程,主機(jī)從MAX3420E申請數(shù)據(jù)。在數(shù)據(jù)包7145到達(dá)前,SPI主控制器先將字節(jié)00 00 08裝入端點(diǎn)3-IN FIFO (EP3INFIFO)。然后,SPI主控制器將數(shù)值3寫入EP3INBC (端點(diǎn)3 IN字節(jié)計數(shù))寄存器。寫入字節(jié)計數(shù)寄存器,可完成以下三項功能:
通知MAX3420E當(dāng)IN請求到達(dá)時有多少字節(jié)要發(fā)送。
使端點(diǎn)為傳輸數(shù)據(jù)做好準(zhǔn)備(而不是非應(yīng)答)。
清除EP3INBAV IRQ位。
MAX3420E以數(shù)據(jù)包7146響應(yīng)以端點(diǎn)3為地址的IN數(shù)據(jù)包。主機(jī)發(fā)送應(yīng)答(ACK)數(shù)據(jù)包7147,響應(yīng)接收到的無誤碼數(shù)據(jù)。當(dāng)MAX3420E檢測到主機(jī)ACK包后,設(shè)置EP3INBAV中斷請求位,通知SPI主控制器端點(diǎn)FIFO可以裝入新數(shù)據(jù)。
如果在SPI主控制器準(zhǔn)備好端點(diǎn)之前到達(dá)IN數(shù)據(jù)包,MAX3420E會響應(yīng)一個NAK握手信號(圖7)。NAK握手信號通知主機(jī)稍后重發(fā)IN請求。
如果在IN數(shù)據(jù)傳輸至主機(jī)過程中出現(xiàn)誤碼,當(dāng)主機(jī)重發(fā)IN請求時,MAX3420E自動重發(fā)數(shù)據(jù)(以及相同的數(shù)據(jù)觸發(fā)DATA0/DATA1)。只有接收到來自主機(jī)的ACK握手信號后,MAX3420E才會置位端點(diǎn)的BAV IRQ位,指示緩沖區(qū)準(zhǔn)備好接收新數(shù)據(jù)。
重要提示:與所有的MAX3420E IRQ位一樣,也可以通過寫入1來三個清除BAV IRQ位。千萬不要這樣做。相反,應(yīng)采用上面列出的方法:通過寫入IN端點(diǎn)的字節(jié)計數(shù)寄存器來清除BAV IRQ位。這是因?yàn)镸AX3420E使用一個IN端點(diǎn)的BAV中斷請求位作為鎖定機(jī)制。該機(jī)制確保SPI主控制器和MAX3420E的串行接口引擎(SIE)不會同時使用端點(diǎn)緩沖區(qū)。例如,如果清除BAV位,然后以兩條單獨(dú)指令裝入字節(jié)計數(shù)器,那么當(dāng)您更新字節(jié)計數(shù)寄存器時,可能開始了數(shù)據(jù)包傳輸,從而導(dǎo)致數(shù)據(jù)出錯。
BAV IRQ缺省值
三個BAV IRQ位(見表2 Default列中的1)的缺省值為1。這表明,上電或者復(fù)位后SPI主控制器將讀取到EPIRQ = 0x19。如果任何一個對應(yīng)的IEN位置位,INT引腳將指示中斷處于懸掛狀態(tài)。
雙緩沖端點(diǎn)EP2-IN
MAX3420E EP2-IN端點(diǎn)為雙緩沖結(jié)構(gòu)。這表明它有兩組64字節(jié)FIFO和字節(jié)計數(shù)寄存器。雙緩沖提高了傳輸帶寬,這是因?yàn)樵谘b入另一個數(shù)據(jù)包之前,SPI主控制器不需要等待數(shù)據(jù)包傳輸至主機(jī)。采用雙緩沖結(jié)構(gòu),SPI主控制器可以在一個IN FIFO向主機(jī)傳輸其IN數(shù)據(jù)的同時裝入另一個IN FIFO。當(dāng)您裝載EP2INBC寄存器時,兩個緩沖區(qū)“自動輪換”。這將另一個FIFO (第二組)和字節(jié)計數(shù)寄存器提供給SPI主控制器使用。這種雙緩沖機(jī)制對固件來說是透明的。
雙緩沖機(jī)制使我們能夠觀察到的影響出現(xiàn)在初始化過程中。上電或者芯片復(fù)位時,IN2BAVIRQ位置位。一般情況下,初始化程序把數(shù)據(jù)裝入EP2IN FIFO,然后裝載EP2INBC寄存器,為傳輸做好準(zhǔn)備,同時清除了IN2BAVIRQ位。這樣做時,您會很奇怪地發(fā)現(xiàn)MAX3420E立即重新置位IN2BAVIRQ位。這表明第二個緩沖區(qū)已經(jīng)準(zhǔn)備就緒,允許SPI主控制器裝入第二個數(shù)據(jù)包。
DAV中斷請求位
OUT端點(diǎn)的數(shù)據(jù)就緒(DAV) IRQ位指示已經(jīng)從主機(jī)接收到了新數(shù)據(jù)。MAX3420E自動處理總線重試操作,只有當(dāng)接收到的數(shù)據(jù)無誤碼時,才會產(chǎn)生中斷請求。當(dāng)SPI主控制器收到DAV中斷請求時,它將讀取端點(diǎn)字節(jié)計數(shù)寄存器,確定有效數(shù)據(jù)的大小。然后SPI主控制器從端點(diǎn)的OUTFIFO讀取相應(yīng)數(shù)目的字節(jié)。SPI主控制器以向OUTDAV IRQ位寫入1的正常方式對其清零。這樣,使端點(diǎn)再次準(zhǔn)備好接收下一個OUT數(shù)據(jù)包。
在圖8中,主機(jī)發(fā)送一個OUT PID和四個字節(jié)的數(shù)據(jù),MAX3420E將其傳送至EP1OUT FIFO。當(dāng)MAX3420E驗(yàn)證傳送無誤碼后,將更新其EP1OUTBC寄存器,指示四個字節(jié),向主機(jī)發(fā)送ACK包,并置位EP1OUTDAV IRQ,通知SPI主控制器可以提取端點(diǎn)1 FIFO內(nèi)已經(jīng)準(zhǔn)備好的數(shù)據(jù)。
雙緩沖端點(diǎn)EP1-OUT
MAX3420E EP1-OUT端點(diǎn)為雙緩沖結(jié)構(gòu),這表明它具有兩組64字節(jié)FIFO和字節(jié)計數(shù)寄存器。雙緩沖意味著SPI主控制器對OUT1DAVIRQ清零后,如果有另一個主機(jī)數(shù)據(jù)包在等待,它可以立即重新置位。
SUDAV中斷請求位
當(dāng)主機(jī)向MAX3420E發(fā)送一個CONTROL傳輸時,MAX3420E在一個8字節(jié)FIFO中存儲8個SETUP字節(jié),SPI主控制器可從SUDFIFO寄存器中讀取該數(shù)據(jù)。由于外設(shè)總是從該緩沖區(qū)中接收主機(jī)數(shù)據(jù),SUDAVIRQ的作用類似一個OUT端點(diǎn)FIFO,當(dāng)主機(jī)來的新數(shù)據(jù)接收完畢后,MAX3420E置位其SUDAV IRQ。一個SETUP數(shù)據(jù)包總是包含8個字節(jié),因此,SETUP數(shù)據(jù)不需要字節(jié)計數(shù)寄存器。
OSCOK中斷請求位
當(dāng)MAX3420E上電、芯片復(fù)位完畢、或者退出關(guān)電狀態(tài)時,需要時間來啟動內(nèi)部振蕩器和PLL,以達(dá)到穩(wěn)定。振蕩器就緒(OSCOK) IRQ指示MAX3420E已經(jīng)準(zhǔn)備好工作。
圖9所示為實(shí)例代碼,采用CHIPRES寄存器位復(fù)位MAX3420E。由于芯片復(fù)位將停止內(nèi)部振蕩器工作,代碼設(shè)置CHIPRES=0清除復(fù)位信號后,在使用MAX3420E之前應(yīng)該等待振蕩器穩(wěn)定下來。
RWUDN中斷請求位
處于掛起狀態(tài)時,USB外設(shè)可以發(fā)出遠(yuǎn)程喚醒(RWU)信號,通知主機(jī)恢復(fù)總線工作。USB規(guī)范定義了一個1ms至15ms K-state的遠(yuǎn)程喚醒信號。SPI主控制器通過設(shè)置遠(yuǎn)程喚醒信號(SIGRWU)位等于1,來觸發(fā)RWU信號。
當(dāng)SPI主控制器置位SIGRWU位時,MAX3420E等待5ms,驅(qū)動K-state 10ms,然后置位遠(yuǎn)程喚醒完成中斷請求(RWUDNIRQ)位。5ms延時保證符合另一USB要求:在外設(shè)發(fā)出恢復(fù)信號前,總線必須至少空閑(J-state) 5ms。
圖10所示為發(fā)送遠(yuǎn)程喚醒的實(shí)例代碼。注意,MAX3420E實(shí)現(xiàn)信號定時,完成后置位IRQ。MAX3420E對于所有的定時USB事件均這樣處理,完成時產(chǎn)生一個中斷,因此SPI主控制器不需要定時控制信號間隔。圖10中的代碼置位SIGRWU位,然后循環(huán)等待RWUDNIRQ置位,以確定持續(xù)10ms信號時間。然后,SPI主控制器設(shè)置SIGRWU = 0,并清除IRQ位。一般地,在多任務(wù)SPI主控制器中,應(yīng)響應(yīng)RWUDNIRQ中斷請求,而不要浪費(fèi)時間直接檢查IRQ位。
接收到RWUDNITQ中斷后的5ms內(nèi),SPI主控制器應(yīng)關(guān)閉SIGRWU位。如果沒有這樣做,MAX3420E將啟動另一個10ms K-state,重復(fù)這一過程(等待5ms, 然后10ms K-state),直到SIGRWU = 0。在RWU信號處理過程中設(shè)置SIGRWU = 0,不會終止RWU信號。
如果SPI主控制器設(shè)置SIGRWU = 1時MAX3420E正處于關(guān)電狀態(tài)(PWRDOWN = 1),那么MAX3420E會自動重新啟動振蕩器,等待其達(dá)到穩(wěn)定,然后開始發(fā)送RWU信號。在這種情況下,SPI主控制器不需要檢查OSCOK IRQ。
BUSACT中斷請求位
當(dāng)MAX23420E探測到在USB數(shù)據(jù)包的開始位置有SYNC模式時,置位BUSACT IRQ位。USB總線復(fù)位過程不是總線活動狀態(tài),因此不會觸發(fā)BUSACK中斷請求。
URES和URESDN中斷請求位
USB主機(jī)通過至少保持50ms的單端零(SE0)狀態(tài)(D+和D-同時驅(qū)動至低電平),來復(fù)位外設(shè)。探測到2.5μs的SE0狀態(tài)后,MAX3420E置位USB復(fù)位IRQ (URESIRQ)。然后,當(dāng)主機(jī)完成復(fù)位后,MAX3420E置位USB復(fù)位完成IRQ (URESDNIRQ)。
由于SPI主控制器需要監(jiān)視USB總線復(fù)位事件,在總線復(fù)位期間,MAX3420E不會清除URESIE、URESDNIE或IE中斷使能位。但在總線復(fù)位期間它會清除EPIEN和USBIEN寄存器中的所有其他中斷使能位。
SUSP中斷請求位
當(dāng)MAX3420E探測到總線停止工作3ms (持續(xù)J-state)后,它產(chǎn)生掛起中斷請求(SUSPIRQ)。如果使用MAX3420E的外設(shè)是由總線供電的,它必須進(jìn)入低功耗狀態(tài),以降低從VBUS上吸收的電流。在這種情況下,SPI主控制器應(yīng)關(guān)斷消耗功率的外設(shè),然后設(shè)置PWRDOWN = 1,使MAX3420E進(jìn)入低功耗模式。這樣一來,MAX3420E振蕩器停止工作,并進(jìn)入功耗狀態(tài)。
需要注意下面兩條編程提示:
清除SUSPIRQ位不能阻止3ms后中斷重新產(chǎn)生??偩€掛起時,為避免產(chǎn)生重復(fù)的掛起中斷,在總線恢復(fù)工作之前,應(yīng)清除掛起IEN位。
內(nèi)部掛起定時器邏輯由MAX3420E的內(nèi)部振蕩器提供時鐘。因此,如果您將器件置為關(guān)斷模式(設(shè)置PWRDOWN = 1),然后試圖向SUSPIRQ位寫入1來清除該位,MAX3420E將不會清除該位。MAX3420E離不開現(xiàn)在已停止工作的內(nèi)部時鐘。
VBUS和NOVBUS中斷請求位
一個自供電外設(shè)可以探測自己是否插入USB接口,利用這些中斷進(jìn)行上電。內(nèi)部VBUS比較器觸發(fā)這些中斷,它比較VBCOMP引腳電壓和內(nèi)部基準(zhǔn)電壓。它們均為邊沿觸發(fā),當(dāng)VBUS電壓(VBUSIRQ)進(jìn)行供電或者停止供電(NOVBUSIRQ)時置位。
總線供電的外設(shè)不需要探測VBUS,因?yàn)樗蒝BUS供電。這樣,可以釋放VBCOMP引腳,用作通用輸入。在這種應(yīng)用中,VBCOMP引腳沒有內(nèi)部上拉電阻,因此,應(yīng)在VBCOMP引腳和VL之間連接一個上拉電阻。
編程提示
清除IEN位
芯片復(fù)位
芯片復(fù)位期間,所有IE位被清除。出現(xiàn)以下情況時,芯片復(fù)位:
VL電源為MAX3420E供電(上電復(fù)位)。
MAX3420E RES#引腳置低。
SPI主控制器設(shè)置CHIPRES = 1。
總線復(fù)位
當(dāng)MAX3420E探測到一個USB總線復(fù)位(總線暫停3ms)后,除了三個IE位外,其他IE位全部清零。SPI主控制器可能需要處理總線復(fù)位中斷,以監(jiān)視總線復(fù)位信號的狀態(tài)。因此,總線復(fù)位不會影響以下IE位:
URESIE
URESDNIE
IE (全局中斷使能)
由于USB總線復(fù)位清除大部分IE位,當(dāng)總線完成復(fù)位后,控制固件應(yīng)重新使能所需的中斷。
清除BAV和DAV IRQ位
請注意,DAV IRQ位以正常的寫1方式進(jìn)行清除。BAV位(用于IN端點(diǎn))的清除方式不同,采用的方法是寫入字節(jié)計數(shù)寄存器。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04









