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

正文內容

科技學院本科畢業(yè)論文畢業(yè)設計學位論文范文模板參考資料-電能智能采集終端器設計(留存版)

2025-02-01 17:28上一頁面

下一頁面
  

【正文】 切換到用戶模式 */ __swi(0x82) void TaskIsARM(INT8U prio)。 /* lr*/ *stk = 0。 } 堆棧中有一個程序 OsEnterSum 比較特別,它不是 CPU 的寄存器,而是筆者定義的一個全局變量,主要是用它來保存關中斷的次數(shù),這樣關中斷和開中斷就可以嵌套了。(26) if (ptcb != NULL) (27) { ptcb OSTCBStkPtr[1] amp。 } 由 小節(jié)可知,這是調用軟中斷的 1 號功能。然后獲取任務的任務控制塊 (tcb)的地址(程序清單 (26)、 (31)),接著判斷指針是否有效(程序清單 (27)、(32)),有效則改變指定任務的堆棧中存儲的 CPSR 的 T位 (程序清單 (28)、 (33)),至于為 何這樣寫參考 小節(jié)和 ARM 相關文檔,這兩個函數(shù)僅在任務建立時使用。同時, R3 保存著 SPSR。獲取 OsEnterSum (13) LDR R2,[R1](14) STMFD SP!,{R2, R3} 。另一個函數(shù) OSIntExit()被用來在 ISR 使得更高優(yōu)先級任務處于就緒狀態(tài)時,執(zhí)行任務切換功能,它最終調用 OSIntCtxSw()執(zhí)行任務切換。此時,解決的方法有三種: (1) 高優(yōu)先級任務使用默認的指令集; (2) 改變函數(shù) OSTaskCreateHook()使任務默認不是處于就緒狀態(tài),建立任務后調用函數(shù) OSTaskResume()來使任務進入就緒狀態(tài); (3) 建立任務時禁止任務切換,調用函數(shù) TaskIsARM()或 TaskIsTHUMB()后再允許任務切換。改變這些位使用嵌入?yún)R編實現(xiàn),代碼很簡單,不再說明。 (6) case 0x03: if (OsEnterSum == 0) (7) { __asm (8) { MRS R0,SPSR (9) BIC R0,R0,NoInt (10) MSR SPSR_c,R0 (11) } } break。 /* r1*/ *stk = (unsigned int) pdata。 沒有使用。 /* 運行優(yōu)先級最高的任務 */ __swi(0x02) void OS_ENTER_CRITICAL(void)。 Typedef signed short INT16S。實際上,還有一個文件很重要,它就是 ,它定義了一個匯編宏,它是 μ C/OSII for ARM7 通用的中斷服務程序的匯編 與 C 函數(shù)接口代碼。 因此,在移植μ C/OSII 到 ARM7 時,我們必須先把上面幾個方面的知識了解得比較透徹。 5) 與 CPU 的接口部分 是指μ C/OSII針對所使用的 CPU 的移植部分。 2) 高優(yōu)先級的任務因為時鐘節(jié)拍到來,在時鐘中斷的處理程序中,內核發(fā)現(xiàn)高優(yōu)先級任務獲得了執(zhí)行條件 (如休眠的時鐘到時 ),則在中斷態(tài)直接切換到高優(yōu)先級任務執(zhí)行。中斷發(fā)生的時間間隔是固定不變的,該中斷也成為一個時鐘節(jié)拍。 μ C/OS 和μ C/OSII 是專門為計算機的嵌入式應用設計的, 絕大部分代碼 是用 C語言編寫的。 片內 FLASH 程序存儲器 LPC2214 集成了 256K 的 FLASH 存儲器系統(tǒng)。 AHB 到 VPB 的橋將 VPB 總線與 AHB 總線相 連。 ? ? 4/8 路( 64/144 腳封裝) 10 位 A/D 轉換器,轉換時間低至 。 128 位寬度的存儲器接口和獨特的加速結構使 32 位代碼能夠在最大時鐘速率下運行。 實時操作系統(tǒng)中的重要概念 系統(tǒng)響應時間( System response time):系統(tǒng)發(fā)出處理要求到系統(tǒng)給出應答信號的時間。 嵌入式系統(tǒng)必須根據(jù)應用需求對軟硬件進行裁剪,滿足應用系統(tǒng)的功能、可靠性、成本、體積等要求。 從 80年代早期開始,嵌入式系統(tǒng)的程序員開始用商業(yè)級的“操作系統(tǒng)”編寫嵌入式應用軟件,這使得可以獲取更短的開發(fā)周期,更低的開發(fā)資金和更高的開發(fā)效率,“嵌入式系統(tǒng)”真正出現(xiàn)了。 本論文主要研究的工作 本文是對電能采集行業(yè)進 行了廣泛調研,參閱了大量的國內外文獻資料基礎上,設計并實現(xiàn)了電能智能采集終端器的設計。所以,由數(shù)據(jù)采集終端,經電力線傳輸,將各種終端的數(shù)據(jù)送至集中器,再利用 GPRS 數(shù)據(jù)通道,傳輸至管理中心的總站,即將電能計量數(shù)據(jù)和電網采集數(shù)據(jù)自動采集、傳輸和處理的電能計量自動抄表系統(tǒng)會克服傳統(tǒng)管理模式的低效率和不確定性,這必將大大推進電能管理現(xiàn)代化的發(fā)展進程,是一種很有前景的發(fā)展方向。 本文結合嵌入式系統(tǒng)技術和網絡技術,研究并設計了一套基于 arm7 處理器,μC/OSII 嵌入式操作系統(tǒng)。本系統(tǒng)的硬件部分采用了 PHILIPS 的 LPC2214 作為中央處理器, LPC2214 處理器是一款 16/32 位 RISC 微處理器,采用 ARM 公司的 ARM7TDMIS內核。 根據(jù)電能表的發(fā)展趨勢,實現(xiàn)智能采集主要有兩種方式:一是通過電能表本身來解決。其主要內容如下: 。確切點說,這個時候的操作系統(tǒng)是一個實時核,這個實時核包含了許多傳統(tǒng)操作系統(tǒng)的特征,包括任務管理、任務間通訊、同步與相互排斥、中斷支持、內存管理等功能。所以,如果能 建立相對通用的軟硬件基礎,然后在其上開發(fā)出適應各種需要的系統(tǒng),是一個比較好的發(fā)展模式。 任務換道時間( Contextswitching time):任務之間切換而使用的時間。對代碼規(guī)模有嚴格控制的應用可使用 16 位 Thumb 模式將代碼規(guī)模降低超過 30%,而性能的損失卻很小。 ? ? 2 個 32 位定時器(帶 4 路捕獲和 4 路比較通道)、 PWM 單元( 6 路輸出)、實時時鐘和看門狗。 VPB 外設也分配了 2M 字節(jié)的地址范圍,從 地址點開始。該存儲器可用作代碼和數(shù)據(jù)的存儲。 CPU 硬件相關部分是用匯編語言編寫的、總量約 200 行的匯編語言部分被壓縮到最低限度,為的是便于移植到任何一種其它的 CPU 上。 uC/OSII 要求用戶在定時中斷的服務程序中,調用系統(tǒng)提供的與時鐘節(jié)拍相關的系統(tǒng)函數(shù),例如中斷級的任務切換函數(shù),系統(tǒng)時間函數(shù)。這種調度也稱為中斷級的上下文切換。由于μ C/OSII 是一個通用性的操作系統(tǒng),所以對于關鍵問題上的實現(xiàn),還是需要根據(jù)具體 CPU 的具體內容和要求作相應的移植。這不單單是閱讀資料就可以實現(xiàn)的,還需要不斷地實踐和實驗。時鐘節(jié)拍中斷服務程序也沒有移植,因為其與芯片和應用都緊密相關,需要用戶自己編寫,不過可以通過 簡化用戶代碼的編寫。 Typedef unsigned int INT32U。 /* 關中斷 */ __swi(0x03) void OS_EXIT_CRITICAL(void)。作用是避免編譯器警告 */ stk= ptos。 /* r0, 第一個參數(shù)使用 R0 傳遞 */ *stk = (USER_USING_MODE|0x00)。 (12) case 0x80: __asm (13) { MRS R0,SPSR (14) BIC R0,R0,0x1f (15) ORR R0,R0,SYS32Mode (16) MSR SPSR_c,R0 (17) } break。 4. OSStartHighRdy μ C/OSII的啟動多任務環(huán)境的函數(shù)叫做 OSStart(),用戶在調用 OSStart()之前,必須已經建立了一個或更多任務。函數(shù) TaskIsARM()和 TaskIsTHUMB()使用軟件中斷功能 0x82 和 0x83 實現(xiàn)。由 小節(jié)可知, OS_TASK_SW()是使用 SWI 軟件中斷的 0 號功能實現(xiàn)的。保存 CPSR,OsEnterSum (15) 。由 程序清單 可知,此時的堆棧結構如圖 所示。首先,程序判斷傳遞的參數(shù)(任務的優(yōu)先級)是否在允許的范圍內(程序清單 (25)、 (30))。 程序清單 OSStartHighRdy()代碼 void OS_StartHighRdy(void) { O_SStartHighRdy()。 (24) case 0x82: if (Regs[0] = OS_LOWEST_PRIO) (25) { ptcb = OSTCBPrioTbl[Regs[0]]。 /* 關中斷計數(shù)器 OsEnterSum*/ return (stk)。 /* pc*/ *stk = (OS_STK) task。 /* 任務切換到系統(tǒng) 模式 */ __swi(0x81) void ChangeToUSRMode(void)。 Typedef float FP32。 關于頭文件 和 C/OSII 要求所有 .C 文件的都要包含頭文件 ,這樣使得用戶項目中的每個 .C文件不用分別去考慮它實際上需要哪些頭文件。關于第 2 點和第 4 點可以參考參考文獻 [9]。主要包括中斷級任務切換的底層實現(xiàn)、任務級任務切換的底層實現(xiàn)、時鐘節(jié)拍的產生和處理、中斷的相關 處理部分等內容。 調度工作的內容可以分為兩部分:最高優(yōu)先級任 務的尋找和任務切換。但在嵌入式實時系統(tǒng)中,多次 這樣的操作會導致內存碎片,且由于內存管理算法的原因, malloc和 free 的執(zhí)行時間也是不確定。μ C/OSII 具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴展性強等特點, 最小內核可編譯至 2KB 。使用在應用編程的應用程序也可以在應用程序運行時對 FLAH 進行擦除和 /或編程,這樣就為數(shù)據(jù)存儲和現(xiàn)場固件的升級都帶來了極大的靈活性。片內外設與器件管腳的連接由管腳連接模塊控制。 ? ? 通過片內 PLL 可實現(xiàn)最大為 60MHz 的 CPU 操作頻率。 在 64 腳的封裝中,最多可使用 46 個 GPIO。 實時操作系統(tǒng)的工作狀態(tài) 實時系統(tǒng)中的任務有四種狀態(tài):運行( Executing),就緒( Ready),掛起( Suspended),冬眠( Dormant)。 實際上,嵌入式系統(tǒng)本身是一個外延極廣的名詞,凡是與產品結合在一起的具有嵌入式特點的控制系統(tǒng)都可以叫嵌入式系統(tǒng),而且有時很難以給它下一個準確的定義。這些嵌入式操作系統(tǒng)都具有嵌入式的典型特點:它們均采用占先式的調度,響應的時間很短,任務執(zhí)行的時間可以確定;系統(tǒng)內核很小,具有可裁剪,可擴充和可移植性,可以移植到各種處理器上;較強的實時和可靠性,適合嵌入式應用。 (軟件部分)。目前,世界上大多數(shù)國家都以后者的發(fā)展為主。 論文主要研究基于 ARM處理器和μ C/OSII操作系統(tǒng)的嵌入式電能智能采集終端設計,主要包括以下幾方面: 數(shù)據(jù)采集:電能表數(shù)據(jù)采集,狀態(tài)量采集; 數(shù)據(jù)處理:實時數(shù)據(jù),歷史日數(shù)據(jù),歷史月數(shù)據(jù),電能表運行狀態(tài),電能質量統(tǒng)計; 參數(shù)設置和查詢: 時鐘召測和對時, TA、 TV 和電表脈沖常數(shù),控制參數(shù),終端參數(shù); 控制:主站遠方控制; 事件記錄:一般事件記錄,重要事件記錄; 數(shù)據(jù)傳輸:與主站通訊,與電表通訊; 本地功能:顯示相關信息,用戶數(shù)據(jù)接口; 終端維護:自檢自恢復,終端初始化;
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1