MAX3420E外設(shè)控制器的中斷系統(tǒng),MAX3420E,外設(shè)控制器,中斷系統(tǒng),USB信令_第1頁(yè)
MAX3420E外設(shè)控制器的中斷系統(tǒng),MAX3420E,外設(shè)控制器,中斷系統(tǒng),USB信令_第2頁(yè)
MAX3420E外設(shè)控制器的中斷系統(tǒng),MAX3420E,外設(shè)控制器,中斷系統(tǒng),USB信令_第3頁(yè)
MAX3420E外設(shè)控制器的中斷系統(tǒng),MAX3420E,外設(shè)控制器,中斷系統(tǒng),USB信令_第4頁(yè)
MAX3420E外設(shè)控制器的中斷系統(tǒng),MAX3420E,外設(shè)控制器,中斷系統(tǒng),USB信令_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、    MAX3420E外設(shè)控制器的中斷系統(tǒng),MAX3420E,外設(shè)控制器,中斷系統(tǒng),USB信令MAX3420E可與任何SPI主控制器相連,以構(gòu)成全速USB外設(shè)器件。盡管一般都由MAX3420來(lái)管理底層USB信令,但是需要處理USB事件時(shí),SPI主控制器必須參與處理,當(dāng)MAX3420的INT引腳指示有中斷發(fā)生時(shí),SPI主控制器將讀取14個(gè)中斷請(qǐng)求位,以確定需要服務(wù)的中斷,一般情況下,主要由這些中斷請(qǐng)求(IRQ)位確定MAX3420E的工作過(guò)程,在選擇器件時(shí),SPI主控制器可以是微控制器、DSP、ASIC或具備SPI端口的其他器件,并應(yīng)能提供SCLK信號(hào)。

2、MAX3420EMAX3420E可與任何SPI主控制器相連,以構(gòu)成全速USB外設(shè)器件。盡管一般都由MAX3420來(lái)管理底層USB信令,但是需要處理USB事件時(shí),SPI主控制器必須參與處理,當(dāng)MAX3420的INT引腳指示有中斷發(fā)生時(shí),SPI主控制器將讀取14個(gè)中斷請(qǐng)求位,以確定需要服務(wù)的中斷,一般情況下,主要由這些中斷請(qǐng)求(IRQ)位確定MAX3420E的工作過(guò)程,在選擇器件時(shí),SPI主控制器可以是微控制器、DSP、ASIC或具備SPI端口的其他器件,并應(yīng)能提供SCLK信號(hào)。MAX3420E的中斷邏輯 IRQ位圖1所示為MAX3420E中斷邏輯。陰影部分是可通過(guò)SPI訪問(wèn)的寄存器位,圖中有一個(gè)

3、IRQ位,實(shí)際上,每一個(gè)中斷都有一個(gè)用于鎖存服務(wù)請(qǐng)求的觸發(fā)器。觸發(fā)器的輸出即為IRQ,它出現(xiàn)在MAX3420E寄存器中,IRQ位提供兩種功能:一是讀取一個(gè)IRQ位,然后返回IRQ觸發(fā)器的狀態(tài);二是寫(xiě)入一個(gè)“1”至IRQ位,以清除IRQ觸發(fā)器,而寫(xiě)入“0”至IRQ位,則不改變觸發(fā)器狀態(tài)。事實(shí)上,可以在任意時(shí)刻讀取IRQ位,它反映了IRQ觸發(fā)器的狀態(tài),當(dāng)按照寫(xiě)入1而不是0來(lái)清除所選的IRQ位時(shí),這一過(guò)程不需要讀-修改-寫(xiě)周期,假設(shè)MAX3420E的IRQ位與普通的寄存器位一樣,即寫(xiě)1置位,寫(xiě)0清除,那么,清除USBIRQ寄存器的USESIRQ位的操作代碼如下:#define rUSBIRQ 13

4、/register 13#definebmURESIRQ 0x08 /URESIRQ is bit4,bm means“bit mask”unsigned char dum;dum=rreg(rUSBIRQ); /read the registerdum=dum&bmURESIRQ; /chear one bitwreg(Rusbirq,dum); /write it back由于SPI主控制器可通過(guò)寫(xiě)1來(lái)清除一個(gè)MAX3420E IRQ位,而寫(xiě)0則不改變其他寄存器位,因此,SPI主控制器可直接寫(xiě)入位屏蔽值以清除URESIRQ位。這樣,上述代碼中的最后三條語(yǔ)句便可由下面的單條語(yǔ)

5、句所替代:wreg(rUSBIRQ,bmURESIRQ);/1 cheras an IRQ bit,0 leaves it alone IEN位14個(gè)MAX3420E中斷的每一個(gè)都有相應(yīng)的中斷使能(IEN)位,IEN位和IRQ觸發(fā)器輸出進(jìn)行“與”操作,可決定是否向INT引腳傳送中斷請(qǐng)求。14個(gè)IRQ觸發(fā)器通過(guò)門(mén)控電路后再進(jìn)行“或”操作,也會(huì)形成一個(gè)內(nèi)部中斷請(qǐng)求信號(hào),并傳送至中斷引腳邏輯模塊。實(shí)際上,無(wú)論IEN位的狀態(tài)如何,IRQ位都指示中斷懸掛狀態(tài),這樣,即使中斷不觸發(fā)INT引腳,固件仍可以檢查該懸掛中斷,如果您的程序需要檢查一個(gè)IRQ寄存器“是否懸掛中斷”,比較簡(jiǎn)單的方法是讀取IRQ和IEN

6、寄存器,并對(duì)它們進(jìn)行“與”操作,然后檢查“等待和被使能的IRQ”位,零值表示沒(méi)有使能的中斷,系統(tǒng)處于懸掛狀態(tài)。 IE位SIP主控制器通過(guò)IE位來(lái)使能或者禁止INT引腳,由于該位影響到所有的中斷,因此通常稱之為全局中斷使能,不論IRQ或者IEN位的狀態(tài)如何,當(dāng)IE為0時(shí),INT引腳均無(wú)效??捎脙蓚€(gè)寄存器位INTLEVEL(參考下面的討論)和POSINT來(lái)控制INT引腳的工作方式,在設(shè)置IE為1之間,應(yīng)先設(shè)置這兩個(gè)配置位。其操作如下:(1)電平模式某些微控制器系統(tǒng)使用低電平有效中斷。當(dāng)采用這種配置時(shí),MAX3420E采用一個(gè)開(kāi)漏極晶體管驅(qū)動(dòng)INT引腳至地,由于引腳只能驅(qū)動(dòng)低電平,因此,需要在INT

7、引腳和邏輯電源之間接一個(gè)上拉電阻,該模塊支持多個(gè)芯片的INT引腳輸出(每個(gè)均為開(kāi)漏輸出)連接在一起,并使用單個(gè)上拉電阻。由于任何一個(gè)芯片輸出都可將引腳拉低,因此這種邏輯有時(shí)也稱為“線或”。對(duì)于這種類(lèi)型的系統(tǒng),可設(shè)置INTLEVEL為1。(2)邊沿模式MAX3420E的INT引腳可以驅(qū)動(dòng)邊沿有效的中斷系統(tǒng),此時(shí),微控制器在其中中斷輸入腳上將檢查0到1或者1到0跳變,INTLEVEL為0是MAX3420E的缺省模式。SPI主控制器通過(guò)第二個(gè)POSINT位設(shè)置邊沿極性,POSINT為1時(shí),MAX3420E為懸掛中斷輸出一個(gè)0到1的跳變。POSINT為0(缺省值)時(shí),MAX3420為懸掛中斷輸出一個(gè)1

8、到0的跳變。需要說(shuō)明的是:如果一個(gè)IRQ位置位,而其對(duì)應(yīng)的IEN位清零,則IRQ將不會(huì)影響INT輸出引腳,但是,中斷仍處于懸掛狀態(tài),永遠(yuǎn)可以讀取IRQ位以獲得其狀態(tài),可向?qū)?yīng)的寄存器位寫(xiě)1,并將IRQ位清零。懸掛中斷(IRQ位是1)的IEN位出現(xiàn)0到1跳變時(shí)將產(chǎn)生中斷。INT引腳可連接至微控制器的中斷系統(tǒng),此外,微控制器可以輪詢INT引腳,以確定MAX3420E是否有中斷處于懸掛狀態(tài),最適合輪詢的模式是電平模式(INTLEVEL=1),這是因?yàn)樵谶呇啬J街?,INT引腳輸出的脈沖可能太窄,微控制器無(wú)法探測(cè)到(參考下面的討論)。請(qǐng)注意,電平模式需要在INT引腳和V1之間連接一個(gè)上拉電阻。INT引腳

9、狀態(tài)與波形 電平模式圖2所示為電平模式下的MAX3420E的INT引腳波形。INT引腳靜態(tài)為高電平(上拉至VL)。假設(shè)圖中兩個(gè)中斷的IEN位均置為1,全局IE位也置1,那么將發(fā)生一個(gè)中斷請(qǐng)求,使MAX3420EINT引腳置低,實(shí)際上,盡管MAX3420E中斷輸出引腳被稱為INT引腳,它有時(shí)也是負(fù)極性(例如在電平模式下)。SPI主控制器完成中斷服務(wù)后將向IRQ位寫(xiě)入1,并將其清零,并使INT引腳返回至靜態(tài)高電平。(a)和(b)之間的間隔是中斷置位其IRQ位和SPI主控制器清除IRQ位之間的時(shí)間,當(dāng)系統(tǒng)產(chǎn)生另一個(gè)中斷請(qǐng)求,會(huì)將INT引腳拉低,而當(dāng)?shù)谝粋€(gè)中斷請(qǐng)求處于懸掛狀態(tài)時(shí),系統(tǒng)可能產(chǎn)生第二個(gè)中斷

10、請(qǐng)求,而此時(shí)INT電平?jīng)]有變化,因此至少有一個(gè)中斷處于懸掛狀態(tài)(實(shí)際上,此刻有兩個(gè)中斷處于懸掛狀態(tài)。)當(dāng)SPI主控制器完成一個(gè)中斷服務(wù)向IRQ位寫(xiě)入1并將其清零后,由于仍有一個(gè)中斷處于懸掛狀態(tài),INT引腳將保持低電平,此后SIP主控制器處理完剩下的中斷請(qǐng)求,并向IRQ位寫(xiě)入1,在將其清零,此后由于沒(méi)有中斷處于懸掛狀態(tài),因此,INT引腳將返回至靜態(tài)高電平。這種邏輯可以很好地處理INT引腳輪詢,如果MAX3420E的任何部分需要服務(wù),并且其中斷已被使能,那么INT引腳將變?yōu)榈碗娖剑谖⒖刂破髑宄詈笠粋€(gè)懸掛IRQ位之前,INT引腳一直保持低電平。 邊沿模式圖3所示為兩種極性邊沿模式下MAX3420

11、E的INT引腳波形,極性由POSINT位控制。該波形與電平模式相似,但有兩處不同,在兩種條件下,INT引腳將產(chǎn)生邊沿跳變:第一是一個(gè)IRQ位變?yōu)橛行顟B(tài)(其IRQ觸發(fā)器產(chǎn)生0到1跳變),此時(shí)處理器將清除一個(gè)IRQ位(向其寫(xiě)入1),其他IRQ處于懸掛狀態(tài),第二個(gè)條件是在確保還有中斷需要服務(wù)時(shí),處理器能夠檢測(cè)到邊沿跳變。除了產(chǎn)生邊沿跳變外,與電平模式一樣,INT引腳也具有有效和無(wú)效狀態(tài),INT引腳的無(wú)效狀態(tài)取決于POSINT位設(shè)置的邊沿極性,在這一點(diǎn)上,邊沿模式與電平模式相似,察看INT引腳的狀態(tài)就可以知道是否有中斷處于懸掛狀態(tài),當(dāng)在負(fù)極性邊沿模式下如果沒(méi)有懸掛中斷,INT引腳為高電平,如果有懸掛

12、中斷,則為低電平,而在正極性邊沿模式下,如果沒(méi)有懸掛中斷,INT引腳為低電平,如果有懸掛中斷,則為高電平。INT引腳的有效狀態(tài)意味著至少有一個(gè)中斷處于懸掛狀態(tài),無(wú)效狀態(tài)是指沒(méi)有中斷處于懸掛狀態(tài),假設(shè)中斷已被使能,那么,系統(tǒng)將出現(xiàn)以下事件;(1)產(chǎn)生一個(gè)中斷請(qǐng)求時(shí),MAX3420E INT引腳出現(xiàn)一個(gè)邊沿跳變,邊沿的極性取決于POSINT位的設(shè)置,由于中斷仍處于懸掛狀態(tài),INT引腳保持其有效狀態(tài)。(2)SPI主控制器完成中斷服務(wù)后,并向IRQ位寫(xiě)入1,并將其清零。MAX3420E INT引腳返回至無(wú)效狀態(tài),圖中(a)和(b)之間的間隔(1)是產(chǎn)生中斷和SPI主控制器清除IRQ位之間的時(shí)間。(3)

13、產(chǎn)生另一個(gè)中斷請(qǐng)求時(shí),MAX3420E INT引腳產(chǎn)生一個(gè)邊沿跳變,并保持其有效狀態(tài)。(4)當(dāng)?shù)谝粋€(gè)中斷請(qǐng)求處于懸掛狀態(tài)時(shí),系統(tǒng)又將產(chǎn)生第二個(gè)中斷請(qǐng)求,由于MAX3420E INT引腳必須產(chǎn)生另一個(gè)邊沿跳變。因此,該引腳將在無(wú)效和有效狀態(tài)之間產(chǎn)生跳變脈沖,從而提供正確的邊沿極性,在MAX3420E中,該脈沖的寬度固定為10.67s,由于還有中斷處于懸掛狀態(tài),INT引腳可保持在有效狀態(tài)。(5)SPI主控制器完成一個(gè)懸掛中斷服務(wù)后,向其IRQ位寫(xiě)入1,將其清除。與第(d)步一樣,INT引腳產(chǎn)生另一個(gè)邊沿跳變。(6)SPI主控制器處理完剩下的中斷請(qǐng)求,并向其IRQ位寫(xiě)入1,將其清除。由于此時(shí)已沒(méi)有中

14、斷處于懸掛狀態(tài),因此,INT引腳返回至無(wú)效狀態(tài)。中斷寄存器表1是MAX3420E寄存器控制位,其中陰影部分可用于控制USB中斷系統(tǒng)。MAX3420E具有兩類(lèi)USB中斷,可由表1中陰影部分的寄存器控制,中斷位分為兩類(lèi):一是位于EPIRQ(R11)和EPIEN(R12)寄存器的端點(diǎn)控制,二是位于USBIRQ(R13)和USBIEN(R14)寄存器的USB控制,全局IE位在CPUCTL寄存器中。中斷請(qǐng)求位BAV該器件的三個(gè)緩沖區(qū)就緒(BAV)IRQ位可用于指示是否可以將SPI主控制器裝入一個(gè)IN端點(diǎn)FIFO,芯片復(fù)位或者IN數(shù)據(jù)由端點(diǎn)緩沖區(qū)成功地發(fā)送給主機(jī)后,MAX3420將置位這些IRQ位,此后該IRQ將通知SPI主控制器緩沖區(qū)可以裝入新數(shù)據(jù)。與所有的MAX3420E IRQ位一樣,也可以通過(guò)寫(xiě)入1來(lái)三個(gè)清除BAV I

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論