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

正文內(nèi)容

科技學(xué)院本科畢業(yè)論文畢業(yè)設(shè)計(jì)學(xué)位論文范文模板參考資料-電能智能采集終端器設(shè)計(jì)(存儲(chǔ)版)

  

【正文】 剪,可擴(kuò)充和可移植性,可以移植到各種處理器上;較強(qiáng)的實(shí)時(shí)和可靠性,適合嵌入式應(yīng)用。 嵌入式系統(tǒng)的定義 定義可從幾方面來(lái)理解嵌入式系統(tǒng): 嵌入式系統(tǒng)是面向用戶(hù)、面向產(chǎn)品、面向應(yīng)用的,它必須與具體應(yīng)用相結(jié)合才會(huì)具有生命力、才更具有優(yōu)勢(shì)。 實(shí)際上,嵌入式系統(tǒng)本身是一個(gè)外延極廣的名詞,凡是與產(chǎn)品結(jié)合在一起的具有嵌入式特點(diǎn)的控制系統(tǒng)都可以叫嵌入式系統(tǒng),而且有時(shí)很難以給它下一個(gè)準(zhǔn)確的定義。其中實(shí)時(shí)性是第一要求,需要調(diào)度一切可利用的資源完成實(shí)時(shí)控制任務(wù),其次才著眼于提高計(jì)算機(jī)系統(tǒng)的使用效率,重要特點(diǎn)是要滿(mǎn)足對(duì)時(shí)間的限制和要求。 實(shí)時(shí)操作系統(tǒng)的工作狀態(tài) 實(shí)時(shí)系統(tǒng)中的任務(wù)有四種狀態(tài):運(yùn)行( Executing),就緒( Ready),掛起( Suspended),冬眠( Dormant)。目前,采用 ARM 技術(shù)知識(shí)產(chǎn)權(quán)( IP)核的微處理器,即我們通常說(shuō)的 ARM 微處理器,已遍及工業(yè)控制、消費(fèi)類(lèi)電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無(wú)線(xiàn)系統(tǒng)等各類(lèi)產(chǎn)品市場(chǎng),基于 ARM 技術(shù)的微處 理器應(yīng)用約占據(jù)了 32 位 RISC 微處理器 75%以上的市場(chǎng)份額, ARM 技術(shù)正在逐步滲入到我們生活的各方面。 在 64 腳的封裝中,最多可使用 46 個(gè) GPIO。 ? ? 片內(nèi) Boot 裝載程序?qū)崿F(xiàn)在系統(tǒng)編程( ISP)和在應(yīng)用中編程( IAP)。 ? ? 通過(guò)片內(nèi) PLL 可實(shí)現(xiàn)最大為 60MHz 的 CPU 操作頻率。 ? ? 雙電源 ? ? - CPU 操作電壓范圍: ~ V( V+/- %) ? ? - I/O 操作電壓范圍: ~ V( V+/- 10%) LPC2214 包含一個(gè)支持仿真的 ARM7TDMIS CPU、與片內(nèi)存儲(chǔ) 器控制器接口的 ARM7 局部總線(xiàn)、與中斷控制器接口的 AMBA 高性能總線(xiàn)( AHB)和連接片內(nèi)外設(shè)功能的 VLSI 外設(shè)總線(xiàn)( VPB , ARM AMBA 總線(xiàn)的兼容超集)。片內(nèi)外設(shè)與器件管腳的連接由管腳連接模塊控制。 ARM7TDMIS 處理器使用了一個(gè)被稱(chēng)為 THUMB 的獨(dú)特結(jié)構(gòu)化策略,它非常適用于那些對(duì)存儲(chǔ)器有限制或者需要較高代碼密度的大批量產(chǎn)品的應(yīng)用。使用在應(yīng)用編程的應(yīng)用程序也可以在應(yīng)用程序運(yùn)行時(shí)對(duì) FLAH 進(jìn)行擦除和 /或編程,這樣就為數(shù)據(jù)存儲(chǔ)和現(xiàn)場(chǎng)固件的升級(jí)都帶來(lái)了極大的靈活性。通過(guò)對(duì)一個(gè)單元執(zhí)行兩次相同的寫(xiě)操作可保證復(fù)位后數(shù)據(jù)的寫(xiě)入。μ C/OSII 具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn), 最小內(nèi)核可編譯至 2KB 。 任務(wù)管理 uC/OSII 中最多可以支持 64 個(gè)任務(wù),分別對(duì)應(yīng)優(yōu)先級(jí) 0~ 63,其中 0 為最高優(yōu)先級(jí)。但在嵌入式實(shí)時(shí)系統(tǒng)中,多次 這樣的操作會(huì)導(dǎo)致內(nèi)存碎片,且由于內(nèi)存管理算法的原因, malloc和 free 的執(zhí)行時(shí)間也是不確定。 任務(wù)調(diào)度 uC/OSII 采用的是可剝奪型實(shí)時(shí)多任務(wù)內(nèi)核。 調(diào)度工作的內(nèi)容可以分為兩部分:最高優(yōu)先級(jí)任 務(wù)的尋找和任務(wù)切換。包括任務(wù)的建立、刪除、掛起、恢復(fù)等等。主要包括中斷級(jí)任務(wù)切換的底層實(shí)現(xiàn)、任務(wù)級(jí)任務(wù)切換的底層實(shí)現(xiàn)、時(shí)鐘節(jié)拍的產(chǎn)生和處理、中斷的相關(guān) 處理部分等內(nèi)容。而系統(tǒng)模式除了是特權(quán)模式外,其它與用戶(hù)模式一樣,因而可選的給任務(wù)使用的模式只有用戶(hù)模式和系統(tǒng)模式。關(guān)于第 2 點(diǎn)和第 4 點(diǎn)可以參考參考文獻(xiàn) [9]。 同時(shí)支持以上 4 點(diǎn)的 C語(yǔ)言編譯器幾乎不存在,即使存在,移植代碼往往也會(huì)使用部分匯編語(yǔ)言來(lái)提高移植代碼的效率。 關(guān)于頭文件 和 C/OSII 要求所有 .C 文件的都要包含頭文件 ,這樣使得用戶(hù)項(xiàng)目中的每個(gè) .C文件不用分別去考慮它實(shí)際上需要哪些頭文件。根據(jù) ADS 編譯器的特性,這些代碼如 程序清單 所示。 Typedef float FP32。同時(shí),這個(gè)函數(shù)也可以有參數(shù)和返回值,其傳遞規(guī)則與一般函數(shù)一樣。 /* 任務(wù)切換到系統(tǒng) 模式 */ __swi(0x81) void ChangeToUSRMode(void)。根據(jù) 圖 ,很容易寫(xiě)出函數(shù) OSTaskStkInit()的代碼,具體代碼見(jiàn) 程序清單 。 /* pc*/ *stk = (OS_STK) task。 /* r6*/ *stk = 0。 /* 關(guān)中斷計(jì)數(shù)器 OsEnterSum*/ return (stk)。對(duì)比 表 可知,軟中斷的 0、 1 號(hào)功能并沒(méi)有在這里實(shí)現(xiàn)。 (24) case 0x82: if (Regs[0] = OS_LOWEST_PRIO) (25) { ptcb = OSTCBPrioTbl[Regs[0]]。 (35) } } 3. OS_ENTER_CRITICAL() 和 OS_EXIT_CRITICAL() μ C/OSII 使用宏 OS_ENTER_CRITICAL()( 程序清單 (1)~(6)) 和 OS_EXIT_CRITICAL()( 程序清單 (7)~(12)) 分別關(guān)中斷和開(kāi)中斷。 程序清單 OSStartHighRdy()代碼 void OS_StartHighRdy(void) { O_SStartHighRdy()。 前面已經(jīng)說(shuō)明:任務(wù)可以使用 ARM 的兩種指令集的任意一種運(yùn)行,但是任務(wù)建立時(shí)默認(rèn)的只是一種指令集。首先,程序判斷傳遞的參數(shù)(任務(wù)的優(yōu)先級(jí))是否在允許的范圍內(nèi)(程序清單 (25)、 (30))。 然后,程序用功能號(hào)與 1 比較(程序清單 (10)),當(dāng)功能號(hào)無(wú)符號(hào)小于 1 時(shí)就是 0 了,就跳轉(zhuǎn)到任務(wù)切換函數(shù)處(程序清單 (11)),也就是 OS_TASK_SW()。由 程序清單 可知,此時(shí)的堆棧結(jié)構(gòu)如圖 所示。保存 LR,PC (6) STMFDSP!,{R4R12} 。保存 CPSR,OsEnterSum (15) 。獲取 PC (1) LDR R12,[SP,16] 。由 小節(jié)可知, OS_TASK_SW()是使用 SWI 軟件中斷的 0 號(hào)功能實(shí)現(xiàn)的。如果是 Thumb 指令集狀態(tài),則通過(guò) 程序清單 (6)讀取指令,通過(guò) 程序清單 (7)取得指令中的功能號(hào)。函數(shù) TaskIsARM()和 TaskIsTHUMB()使用軟件中斷功能 0x82 和 0x83 實(shí)現(xiàn)。 處理器模式轉(zhuǎn)換函數(shù) ChangeToSYSMode()和 ChangeToUSRMode()使用軟件中斷功能0x80 和 0x81 實(shí)現(xiàn),其中函數(shù) ChangeToSYSMode()(程序清單 (13)~(18))把當(dāng)前任務(wù)轉(zhuǎn)換到系統(tǒng)模式,函數(shù) ChangeToUSRMode()(程序清單 (19)~(24))把當(dāng)前任務(wù)轉(zhuǎn)換到用戶(hù)模式,它們可以在任何情況下使用。 4. OSStartHighRdy μ C/OSII的啟動(dòng)多任務(wù)環(huán)境的函數(shù)叫做 OSStart(),用戶(hù)在調(diào)用 OSStart()之前,必須已經(jīng)建立了一個(gè)或更多任務(wù)。(33) } } break。 (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。 2. 軟件中斷異常 SWI 服務(wù)程序 C 語(yǔ)言部分 軟件中斷的 C語(yǔ)言處理函數(shù)代碼見(jiàn) 程序清單 ,其中參數(shù) SWI_Num 為功能號(hào),而 Regs為指向堆棧中保存寄存器的值的位置。 /* r0, 第一個(gè)參數(shù)使用 R0 傳遞 */ *stk = (USER_USING_MODE|0x00)。 /* r8*/ *stk = 0。作用是避免編譯器警告 */ stk= ptos。 程序清單 定義堆棧增長(zhǎng)方向 define OS_STK_GROWTH 1 編寫(xiě) 文件 1. OSTaskStkInit() 在編寫(xiě)此函數(shù)之前,必須先確定任務(wù)的堆棧結(jié)構(gòu)。 /* 關(guān)中斷 */ __swi(0x03) void OS_EXIT_CRITICAL(void)。不過(guò),用軟中斷作為操作系統(tǒng)的底層接口就需要在 C語(yǔ)言中使用 SWI 指令。 Typedef unsigned int INT32U。 編寫(xiě) 1. 不依賴(lài)于編譯的數(shù)據(jù)類(lèi)型 μ C/OSII不使用 C語(yǔ)言中的 short、 int、 long 等數(shù)據(jù)類(lèi)型的定義,因?yàn)樗鼈兣c處理器類(lèi) 型有關(guān),隱含著不可移植性。時(shí)鐘節(jié)拍中斷服務(wù)程序也沒(méi)有移植,因?yàn)槠渑c芯片和應(yīng)用都緊密相關(guān),需要用戶(hù)自己編寫(xiě),不過(guò)可以通過(guò) 簡(jiǎn)化用戶(hù)代碼的編寫(xiě)。根據(jù)μ C/OSII 的要求,移植μ C/OSII到一個(gè)新的體系結(jié)構(gòu)上需要提供 2 個(gè)或 3 個(gè)文件: ( C語(yǔ)言頭文件)、 ( C 程序源文件)及 (匯編程序源文 件),其中 在某些情況下不需要,但極其罕見(jiàn)。這不單單是閱讀資料就可以實(shí)現(xiàn)的,還需要不斷地實(shí)踐和實(shí)驗(yàn)。 關(guān)于 ARM7 處理器核的詳細(xì)情況參考參考文獻(xiàn)[11]。由于μ C/OSII 是一個(gè)通用性的操作系統(tǒng),所以對(duì)于關(guān)鍵問(wèn)題上的實(shí)現(xiàn),還是需要根據(jù)具體 CPU 的具體內(nèi)容和要求作相應(yīng)的移植。能夠維持系統(tǒng)基本工作的部分都在這里。這種調(diào)度也稱(chēng)為中斷級(jí)的上下文切換。 uC/OSII 中提供了 4種同步對(duì)象,分別是信號(hào)量,郵 箱,消息隊(duì)列和事件。 uC/OSII 要求用戶(hù)在定時(shí)中斷的服務(wù)程序中,調(diào)用系統(tǒng)提供的與時(shí)鐘節(jié)拍相關(guān)的系統(tǒng)函數(shù),例如中斷級(jí)的任務(wù)切換函數(shù),系統(tǒng)時(shí)間函數(shù)。 uC/OSII 以源代碼的形式發(fā)布,但并不意味著它是開(kāi)源軟件。 CPU 硬件相關(guān)部分是用匯編語(yǔ)言編寫(xiě)的、總量約 200 行的匯編語(yǔ)言部分被壓縮到最低限度,為的是便于移植到任何一種其它的 CPU 上。如果發(fā)生芯片復(fù)位,實(shí)際的 SRAM 內(nèi)容將不會(huì)反映最近一次的寫(xiě)請(qǐng)求(即:在一次“熱”芯片復(fù)位后, SRAM 不會(huì)反映最后一次寫(xiě)入的內(nèi)容)。該存儲(chǔ)器可用作代碼和數(shù)據(jù)的存儲(chǔ)。 由于使用了流水線(xiàn)技術(shù),處理和存儲(chǔ)系統(tǒng)的所有部分都可連續(xù)工作。 VPB 外設(shè)也分配了 2M 字節(jié)的地址范圍,從 地址點(diǎn)開(kāi)始。 ? ? 通過(guò)外部中斷將處理器從掉電模式中喚醒。 ? ? 2 個(gè) 32 位定時(shí)器(帶 4 路捕獲和 4 路比較通道)、 PWM 單元( 6 路輸出)、實(shí)時(shí)時(shí)鐘和看門(mén)狗。 128 位寬度接口 /加速器實(shí)現(xiàn)高達(dá) 60MHz 的操作頻率。對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用 16 位 Thumb 模式將代碼規(guī)模降低超過(guò) 30%,而性能的損失卻很小。 ARM 平臺(tái)簡(jiǎn)介 ARM( Adanced RISC Machines),是一個(gè)公司名字,也是一種處理器的通稱(chēng),還可以認(rèn)為是一種技術(shù)名字。 任務(wù)換道時(shí)間( Contextswitching time):任務(wù)之間切換而使用的時(shí)間。根據(jù)操作系統(tǒng)的工作特性,實(shí)時(shí)是指物理進(jìn)程的真實(shí)時(shí)間。所以,如果能 建立相對(duì)通用的軟硬件基礎(chǔ),然后在其上開(kāi)發(fā)出適應(yīng)各種需要的系統(tǒng),是一個(gè)比較好的發(fā)展模式。 在中國(guó)嵌入式系統(tǒng)領(lǐng)域,比較認(rèn)同的嵌入式系統(tǒng)概念是:嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用 系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。確切點(diǎn)說(shuō),這個(gè)時(shí)候的操作系統(tǒng)是一個(gè)實(shí)時(shí)核,這個(gè)實(shí)時(shí)核包含了許多傳統(tǒng)操作系統(tǒng)的特征,包括任務(wù)管理、任務(wù)間通訊、同步與相互排斥、中斷支持、內(nèi)存管理等功能。 作為一個(gè)系統(tǒng),往往是在硬件和軟件交替發(fā)展的雙螺旋的支撐下逐漸趨于穩(wěn)定和成熟,嵌入式系統(tǒng)也不例外。其主要內(nèi)容如下: 。預(yù)計(jì)今后相當(dāng)一段時(shí)間內(nèi) ,電能計(jì)量自動(dòng)抄表系統(tǒng)的終端采集裝置將以機(jī)電脈沖式電能表和電子式電能表兩種儀表為主。 根據(jù)電能表的發(fā)展趨勢(shì),實(shí)現(xiàn)智能采集主要有兩種方式:一是通過(guò)電能表本身來(lái)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1