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

正文內容

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

2025-07-23 17:09 本頁面
 

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