freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于dsp的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)(編輯修改稿)

2025-07-23 17:09 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 期寄存器PRDH:PRD,32位的計(jì)數(shù)器寄存器TIMH:TIM,16位的定時(shí)器分頻寄存器TDDRH:TDDR,16位的預(yù)定標(biāo)計(jì)數(shù)寄存器PSCH:PSC。在CPU定時(shí)器工作前,先要根據(jù)實(shí)際的需求,計(jì)算好CPU定時(shí)器的值,然后給PRDH:PRD賦值。當(dāng)啟動(dòng)定時(shí)器開(kāi)始計(jì)數(shù)時(shí),周期寄存器PRDH:PRD裝載進(jìn)定時(shí)器計(jì)數(shù)寄存器TIMH:TIM中,計(jì)數(shù)器寄存器里面的值每隔一個(gè)TIMCLK就減小1,直到減小到0,完成一個(gè)周期的計(jì)數(shù)。完成一個(gè)周期的計(jì)數(shù)后,在下一個(gè)定時(shí)器輸入時(shí)鐘周期開(kāi)始時(shí),周期寄存器PRDH:PRD里面的值重新裝載入計(jì)數(shù)寄存器TIMH:TIM中,周而復(fù)始的循環(huán)下去。一個(gè)CPU定時(shí)器周期所經(jīng)歷的時(shí)間為(PRDH:PRD+1)*TIMCLK。TIMCLK的值是由定時(shí)器分頻器TDDRH:TDDR和定時(shí)器預(yù)定標(biāo)器PSCH:PSC來(lái)控制的。先給定時(shí)器分頻器TDDRH:TDDR賦值,然后裝載入預(yù)定標(biāo)器PSCH:PSC中,每隔一個(gè)SYSCLKOUT脈沖,PSCH:PSC的值減一,當(dāng)PSCH:PSC的值減為0的時(shí)候,就會(huì)輸出一個(gè)TIMCLK,從而TIMH:,TDDRH:TDDR中的值重新裝載入PSCH:PSC中,周而復(fù)始的循環(huán)下去。因此,TIMCLK就等于(TDDRH:TDDR+1)個(gè)系統(tǒng)時(shí)鐘時(shí)間。include struct CPUTIMER_VARS CpuTimer0。 struct CPUTIMER_VARS CpuTimer1。 struct CPUTIMER_VARS CpuTimer2。 void InitCpuTimers(void){ = amp。CpuTimer0Regs。 // 指向定時(shí)器寄存器 = 0xFFFFFFFF。 //初始化CpuTimer0的周期寄存器 = 0。 //初始化定時(shí)器預(yù)定標(biāo)計(jì)數(shù)器 = 0。 = 1。 //停止定時(shí)器 = 1。 //將周期寄存器PRD中的值裝入計(jì)數(shù)器寄存器TIM中 = 0。 //初始化定時(shí)器中斷計(jì)數(shù)器} void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period){ Uint32 temp。 TimerCPUFreqInMHz = Freq。 TimerPeriodInUSec = Period。 temp = (long) (Freq * Period)。 TimerRegsAddr = temp。 //給定時(shí)器周期寄存器賦值 TimerRegsAddr = 0。 //給定時(shí)器預(yù)定標(biāo)寄存器賦值 TimerRegsAddr = 0。 // 初始化定時(shí)器控制寄存器: TimerRegsAddr=1。 //清除中斷標(biāo)志位 TimerRegsAddr = 1。 //停止定時(shí)器 TimerRegsAddr = 1。 //定時(shí)器重裝,將定時(shí)器周期寄存器的值裝入定時(shí)器計(jì)數(shù)器寄存器 TimerRegsAddr = 1。 TimerRegsAddr = 1。 TimerRegsAddr = 1。 //使能定時(shí)器中斷 TimerInterruptCount = 0。 //初始化定時(shí)器中斷計(jì)數(shù)器} F2812 的中斷系統(tǒng) 2812中斷的簡(jiǎn)介2812 的 CPU 能夠支持一個(gè)不可屏蔽中斷 NMI 和 16 個(gè)可屏蔽的中斷 INT1INT1RTOSINT 和 DLOGINT,2812 的 CPU 為了能夠及時(shí)有效的處理好各個(gè)外設(shè)的中斷請(qǐng)求,設(shè)計(jì)了一個(gè)專(zhuān)門(mén)處理外設(shè)中斷的擴(kuò)展模塊(the Peripheral Interrupt Expansion block),叫做外設(shè)中斷控制器 PIE,它能夠?qū)Ω鞣N中斷請(qǐng)求源(例如來(lái)自于外設(shè)或者其他外部引腳的請(qǐng)求)做出判斷以及相應(yīng)的決策。PIE 可以支持 96 個(gè)不同的中斷,這些中斷分成了 12 個(gè)組,每個(gè)組有 8 個(gè)中斷,而且每個(gè)組都被反饋到 CPU 內(nèi)核的 12 條中斷線中的某一條上(INT1INT12)。PIE 目前只使用了 96 個(gè)終端中的 45 個(gè),其他的等待將來(lái)的功能擴(kuò)展。PIE 內(nèi)部的中 斷8列12行,總共有96個(gè)中斷,黃色部分表示已經(jīng)使用的中斷,例如:查看事件管理器 EVA 中定時(shí)器 T1 的周期中斷 T1PINTT1PINT 在行號(hào)為 INT2,列號(hào)為 的位置,也就是說(shuō) T1IPNT對(duì)應(yīng)于 INT2,是 INT2 中的第四個(gè)中斷。 2812 的 3 級(jí)中斷機(jī)制(1)外設(shè)級(jí) 假如在程序的執(zhí)行過(guò)程中,某一個(gè)外設(shè)產(chǎn)生了一個(gè)中斷事件,那么在這個(gè)外設(shè)的某個(gè)寄存器中與該中斷事件相關(guān)的中斷標(biāo)志位(IF=Interrupt Flag)被置為 1。此時(shí),如果該中斷相應(yīng)的中斷使能(IE=Interrupt Flag)已經(jīng)被置位為 1,外設(shè)就會(huì)向 PIE 控制器發(fā)出一個(gè)中斷請(qǐng)求。相反的,如果雖然中斷事件產(chǎn)生了,相應(yīng)的中斷標(biāo)志位也被置 1 了,但是該中斷沒(méi)有被使能(相應(yīng)的使能位為 0),那么外設(shè)就不會(huì)向 PIE 發(fā)出中斷請(qǐng)求,但是值得一提的是,相應(yīng)的中斷標(biāo)志位會(huì)一直保持置位狀態(tài),直到用程序清除它為止。當(dāng)然,在中斷標(biāo)志位保持在 1 的時(shí)候,一旦該中斷被使能了,那么外設(shè)立馬會(huì)向 PIE 發(fā)出中斷申請(qǐng)。 我們用具體的 T1PINT 來(lái)進(jìn)行進(jìn)一步的說(shuō)明。當(dāng)定時(shí)器 T1 的計(jì)數(shù)器寄存器 T1CNT 計(jì)數(shù)到和 T1 周期寄存器 T1PINT 的值匹配時(shí)(相等時(shí)),就產(chǎn)生了一個(gè) T1PINT 事件,即 T1 的周期中斷。這時(shí)候,事件管理器 EVA 的中斷標(biāo)志寄存器 A(EVAIFRA)中的第 7 位 T1PINT FLAG 被置為 1,這時(shí)候如果EVA 的中斷屏蔽寄存器 A(EVAIMRA)中的第 7 位 T1PINT 的使能位是 1,則 EVA 就會(huì)向 PIE 發(fā)出中斷請(qǐng)求,當(dāng)然,如果該位的值是 0,也就是該中斷未被使能(被屏蔽),則 EVA 不會(huì)向 PIE 發(fā)出中斷請(qǐng)求,而且 EVAIFRA 中 T1PINT FLAG 位將一直保持為 1,除非通過(guò)程序?qū)⑵淝宄?。需要注意的是,不管在什么情況下,外設(shè)寄存器中的中斷標(biāo)志位都必須手工清除。2).PIE 級(jí) 當(dāng)外設(shè)產(chǎn)生中斷事件,相關(guān)中斷標(biāo)志位置位,中斷使能位使能之后,外設(shè)就會(huì)把中斷請(qǐng)求提交給我們的 PIE 模塊。PIE 模塊將 96 個(gè)外設(shè)和外部引腳的中斷進(jìn)行了分組,每 8 個(gè)中斷為 1 組,一共是 12 組,分別是 PIE1PIE12。每個(gè)組的中斷被多路匯集進(jìn)入1 個(gè) CPU中斷,例如 DPINDA,PDPINDB,XINT1,XINT2,ADCINT,TINT0,WAKEINT 這 7 個(gè)中斷都在 PIE1 組內(nèi),這些中斷都匯集到 CPU 中斷的 INT1。 和外設(shè)級(jí)類(lèi)似的,PIE 控制器中的每個(gè)組都會(huì)有一個(gè)中斷標(biāo)志寄存器 PIEIFRx 和和中斷使能寄存器 PIEIERx,當(dāng)然 x=1.....12。每個(gè)寄存器的低 8 位對(duì)應(yīng)于 8 個(gè)外設(shè)中斷,高 8 位保留。例如T1PINT 對(duì)應(yīng)于 PIEIFR2 的第 4 位和 PIEIER2 的第4位。PIE 除了每組具有剛才的 PIEIERx,PIEIFRx 寄存器之外,還有一個(gè)PIEACK 寄存器,它的低 12 位分別對(duì)應(yīng)著 12 個(gè)組,即 INT1INT12,高位保留。假如 T1 的周期中斷被響應(yīng)了,則 PIEACK 寄存器的第 2位(對(duì)應(yīng)于 INT2)就會(huì)被置位,并且一直保持直到手動(dòng)清除這個(gè)標(biāo)志位。當(dāng) CPU 在響應(yīng) T1PNT 的時(shí)候,PIEACK 的第 2 位一直是 1,這時(shí)候如果 PIE2 組內(nèi)發(fā)生其他的外設(shè)中斷,則暫時(shí)不會(huì)被 PIE 響應(yīng)送給 CPU,必須等到 PIEACK 的第 2 位被復(fù)位之后,如果該中斷請(qǐng)求還存在,那么立馬由 PIE 控制塊將中斷請(qǐng)求送至 CPU。所以,每個(gè)外設(shè)中斷被響應(yīng)之后,一定要對(duì) PIEACK 的相關(guān)位進(jìn)行手動(dòng)服務(wù),否則同組內(nèi)的其他中斷都不會(huì)被響應(yīng)。(3)CPU 級(jí) CPU 也有 標(biāo)志寄存器 IFR 和使能寄存器 IER。當(dāng)某一個(gè)外設(shè)中斷請(qǐng)求通過(guò) PIE 發(fā)送到 CPU 時(shí),CPU 級(jí)中與 INTx 相關(guān)的中斷標(biāo)志位就會(huì)被置位 。例如,T1 的周期中斷 T1PINT 的請(qǐng)求到達(dá) CPU 這邊時(shí),與其相關(guān)的 INT2 的標(biāo)志位就會(huì)被置位。這時(shí)候,該標(biāo)志位就會(huì)被所存在 IFR 中,這時(shí)候,CPU 不會(huì)馬上去執(zhí)行相應(yīng)的中斷,而是等待 CPU 使能 IER 寄存器的相關(guān)位,并且對(duì) CPU 寄存器 ST1 中的全局中斷屏蔽位做適當(dāng)?shù)氖鼓?。如果IER 中的相關(guān)位被置位了,并且 INTM 的值為 0,則中斷就會(huì)被 CPU 響應(yīng)。在 T1PINT 里,當(dāng) IER 的第 2 位即INT2 被置位,INTM 為 0,則 CPU 就會(huì)響應(yīng)定時(shí)器 T1 的周期中斷。 CPU 接到了中斷的請(qǐng)求,就得暫停正在執(zhí)行的程序,轉(zhuǎn)而去響應(yīng)中斷程序,但是此時(shí),它必須得做一些準(zhǔn)備工作,以便于執(zhí)行完中斷程序之后回過(guò)頭來(lái)還能找到原來(lái)的地方和原來(lái)的狀態(tài)。CPU 會(huì)將相應(yīng)的 IER 和 IFR 位進(jìn)行清除,EALLOW 也被清除,INTM 被置位,就是不能響應(yīng)其他中斷了,CPU 向其他中斷發(fā)出了通知,正在忙,沒(méi)空來(lái)處理你們的請(qǐng)求了,得等到處理完手上的中斷之后才能再來(lái)處理你們的請(qǐng)求。然后,CPU 會(huì)存儲(chǔ)返回地址并自動(dòng)保存相關(guān)的信息,例如將正在處理的數(shù)據(jù)放入堆棧等等,做好這些準(zhǔn)備工作之后,CPU 會(huì)從 PIE 塊中取出對(duì)應(yīng)的中斷向量 ISR,從而轉(zhuǎn)去執(zhí)行中斷子程序。 SCISCI(Serial Communication Interface),即串行通信接口,是一個(gè)雙線的異步串口,即具有接收和發(fā)送兩根信號(hào)線的異步串口,一般可以看作是UART (通用異步接收/ 發(fā)送裝置)。 2812的SCI 模塊支持CPU 與采用NRZ (nonreturntozero 不歸零)標(biāo)準(zhǔn)格式的異步外圍設(shè)備之間進(jìn)行數(shù)字通信。如果設(shè)計(jì)時(shí)我們的SCI 使用的是RS232 串行接口,那么,2812就能和其他使用RS232 接口的設(shè)備進(jìn)行通信。例如2812內(nèi)部的兩個(gè)SCI 之間,或者2812的SCI 和其他DSP 的SCI 之間均能實(shí)現(xiàn)通信。 2812內(nèi)部具有兩個(gè)相同的SCI 模塊,SCIA和SCIB,每一個(gè)SCI 模塊都各有一個(gè)接收器和發(fā)送器。SCI 的接收器和發(fā)送器各具有一個(gè)16級(jí)深度的FIFO(First in fist out 先入先出)隊(duì)列,它們還都有自己獨(dú)立的使能位和中斷位,可以在半雙工通信中進(jìn)行獨(dú)立的操作,或者在全雙工通信中同時(shí)進(jìn)行操作SCI 模塊具有兩個(gè)引腳,SCITXDA 和SCIRXDA,分別實(shí)現(xiàn)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的功能,這兩個(gè)引腳對(duì)應(yīng)于GPIOF 模塊的第4 和第5 位,在編程初始化的
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1