事件管理器捕獲單元FIFO堆棧的使用
發(fā)布時(shí)間:2009/1/8 0:00:00 訪問(wèn)次數(shù):1643
每個(gè)捕獲單元有一個(gè)專(zhuān)用的2級(jí)深的fifo堆棧,頂部堆棧包括capififo、cap2fifo和cap3fifo(eva)或 cap4fifo、capsfifo和 capgfifo(evb)。 底部堆棧包括caplfbot、capzfbot和cap3fbot(eva)或cap4fbot、cap5fbot和capgfbot(evb)。所有fifo堆棧的頂層堆棧寄存器是只讀寄存器,它存放相應(yīng)捕獲單元捕獲到的最早的計(jì)數(shù)值,因此讀取捕獲單元fifo堆棧時(shí)總是返回堆棧中最早的計(jì)數(shù)值。當(dāng)讀取fifo堆棧的頂層寄存器的計(jì)數(shù)值時(shí),堆棧底層寄存器的新計(jì)數(shù)值(如果有)將被壓人頂層寄存器。
如果需要,也可以讀取fifo堆棧的底層寄存器。讀訪問(wèn)可使fifo的狀態(tài)位變?yōu)?1(如果先前是1o或11)。如杲原來(lái)fifo狀態(tài)位是01,讀取底層fifo寄存器時(shí),fifo的狀態(tài)位變?yōu)?0(即為空)。
。1)第一次捕獲
當(dāng)捕獲單元的輸入引腳出現(xiàn)跳變時(shí),捕獲單元將使用的通用定時(shí)器的計(jì)數(shù)值寫(xiě)入到空的fifo堆棧的頂層寄存器,同時(shí)相應(yīng)的狀態(tài)位置為01。如果在下一次捕獲操作之前,讀取了fifo堆棧,則fifo狀態(tài)位被復(fù)位為00。
。2)第二次捕獲
如果在前一次捕獲計(jì)數(shù)值被讀取之前產(chǎn)生了另一次捕獲,新捕獲到的計(jì)數(shù)值送至底層的寄存器,同時(shí)相應(yīng)的寄存器狀態(tài)位置為1o。如果在下一次捕獲操作之前對(duì)fifo堆棧進(jìn)行了讀操作,底層寄存器中新的計(jì)數(shù)值就會(huì)被壓人到頂層寄存器,同時(shí)相應(yīng)的狀態(tài)位被設(shè)置為01。第二次捕獲使相應(yīng)的捕獲中斷標(biāo)志位置位,如果中斷未被屏蔽,則產(chǎn)生一個(gè)外設(shè)中斷請(qǐng)求。
。3)第三次捕獲
如果捕獲發(fā)生時(shí),fifo堆棧已有捕獲到的2個(gè)計(jì)數(shù)值,則在頂層寄存器中最早的計(jì)數(shù)值將被彈出并丟棄,而堆棧底層寄存器的值將被壓入到頂層寄存器中,新捕獲到的計(jì)數(shù)值將被壓入到底層寄存器中,并且fifo的狀態(tài)位被設(shè)置為ii以表明1個(gè)或更多舊的捕獲計(jì)數(shù)值已被丟棄。第三次捕獲使相應(yīng)的捕獲中斷標(biāo)志位置位。如果中斷未被屏蔽,則產(chǎn)生一個(gè)外設(shè)中斷請(qǐng)求。
3.捕獲中斷
當(dāng)捕獲單元完成一個(gè)捕獲時(shí),在fifo中至少有一個(gè)有效的值(cap=fifo位顯示不等于0),如果中斷未被屏蔽,中斷標(biāo)志位置位,產(chǎn)生一個(gè)外設(shè)中斷請(qǐng)求。因此,如果使用了中斷,則可用中斷服務(wù)子程序讀取到一對(duì)捕獲的計(jì)數(shù)值。如果不希望使用中斷,則可通過(guò)查詢(xún)中斷標(biāo)志位或堆棧狀態(tài)位來(lái)確定是否發(fā)生了2次捕獲事件,若已發(fā)生,則捕獲到的計(jì)數(shù)值可以被讀出。
歡迎轉(zhuǎn)載,信息來(lái)源維庫(kù)電子市場(chǎng)網(wǎng)(www.dzsc.com)
每個(gè)捕獲單元有一個(gè)專(zhuān)用的2級(jí)深的fifo堆棧,頂部堆棧包括capififo、cap2fifo和cap3fifo(eva)或 cap4fifo、capsfifo和 capgfifo(evb)。 底部堆棧包括caplfbot、capzfbot和cap3fbot(eva)或cap4fbot、cap5fbot和capgfbot(evb)。所有fifo堆棧的頂層堆棧寄存器是只讀寄存器,它存放相應(yīng)捕獲單元捕獲到的最早的計(jì)數(shù)值,因此讀取捕獲單元fifo堆棧時(shí)總是返回堆棧中最早的計(jì)數(shù)值。當(dāng)讀取fifo堆棧的頂層寄存器的計(jì)數(shù)值時(shí),堆棧底層寄存器的新計(jì)數(shù)值(如果有)將被壓人頂層寄存器。
如果需要,也可以讀取fifo堆棧的底層寄存器。讀訪問(wèn)可使fifo的狀態(tài)位變?yōu)?1(如果先前是1o或11)。如杲原來(lái)fifo狀態(tài)位是01,讀取底層fifo寄存器時(shí),fifo的狀態(tài)位變?yōu)?0(即為空)。
。1)第一次捕獲
當(dāng)捕獲單元的輸入引腳出現(xiàn)跳變時(shí),捕獲單元將使用的通用定時(shí)器的計(jì)數(shù)值寫(xiě)入到空的fifo堆棧的頂層寄存器,同時(shí)相應(yīng)的狀態(tài)位置為01。如果在下一次捕獲操作之前,讀取了fifo堆棧,則fifo狀態(tài)位被復(fù)位為00。
。2)第二次捕獲
如果在前一次捕獲計(jì)數(shù)值被讀取之前產(chǎn)生了另一次捕獲,新捕獲到的計(jì)數(shù)值送至底層的寄存器,同時(shí)相應(yīng)的寄存器狀態(tài)位置為1o。如果在下一次捕獲操作之前對(duì)fifo堆棧進(jìn)行了讀操作,底層寄存器中新的計(jì)數(shù)值就會(huì)被壓人到頂層寄存器,同時(shí)相應(yīng)的狀態(tài)位被設(shè)置為01。第二次捕獲使相應(yīng)的捕獲中斷標(biāo)志位置位,如果中斷未被屏蔽,則產(chǎn)生一個(gè)外設(shè)中斷請(qǐng)求。
。3)第三次捕獲
如果捕獲發(fā)生時(shí),fifo堆棧已有捕獲到的2個(gè)計(jì)數(shù)值,則在頂層寄存器中最早的計(jì)數(shù)值將被彈出并丟棄,而堆棧底層寄存器的值將被壓入到頂層寄存器中,新捕獲到的計(jì)數(shù)值將被壓入到底層寄存器中,并且fifo的狀態(tài)位被設(shè)置為ii以表明1個(gè)或更多舊的捕獲計(jì)數(shù)值已被丟棄。第三次捕獲使相應(yīng)的捕獲中斷標(biāo)志位置位。如果中斷未被屏蔽,則產(chǎn)生一個(gè)外設(shè)中斷請(qǐng)求。
3.捕獲中斷
當(dāng)捕獲單元完成一個(gè)捕獲時(shí),在fifo中至少有一個(gè)有效的值(cap=fifo位顯示不等于0),如果中斷未被屏蔽,中斷標(biāo)志位置位,產(chǎn)生一個(gè)外設(shè)中斷請(qǐng)求。因此,如果使用了中斷,則可用中斷服務(wù)子程序讀取到一對(duì)捕獲的計(jì)數(shù)值。如果不希望使用中斷,則可通過(guò)查詢(xún)中斷標(biāo)志位或堆棧狀態(tài)位來(lái)確定是否發(fā)生了2次捕獲事件,若已發(fā)生,則捕獲到的計(jì)數(shù)值可以被讀出。
歡迎轉(zhuǎn)載,信息來(lái)源維庫(kù)電子市場(chǎng)網(wǎng)(www.dzsc.com)
熱門(mén)點(diǎn)擊
- 通用定時(shí)器計(jì)數(shù)模式
- 貼片機(jī)的貼裝頭運(yùn)動(dòng)
- 通用定時(shí)器
- 通用定時(shí)器控制寄存器(TxCON)
- IIS音頻總線
- 事件管理器捕獲單元FIFO堆棧的使用
- PoP裝配SMT工藝的的控制
- 貼片機(jī)供料器選擇
- 線性相位FIR濾波器
- 貼裝精度
推薦技術(shù)資料
- 羅盤(pán)誤差及補(bǔ)償
- 造成羅盤(pán)誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開(kāi)
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門(mén)信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究