国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SEP4020剩余電流保護(hù)裝置測(cè)試儀SoC設(shè)計(jì)

2010-04-11 01:04:44姜仲秋
關(guān)鍵詞:宿主機(jī)字節(jié)保護(hù)裝置

姜仲秋

(淮安信息職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與工程系,江蘇淮安223003)

0 引言

為保證我國(guó)城鄉(xiāng)用電的安全,在用戶中安裝剩余電流動(dòng)作保護(hù)裝置是用電系統(tǒng)中一項(xiàng)重要的安全技術(shù)措施,但由于該設(shè)備處于長(zhǎng)期運(yùn)行狀態(tài),其元器件不可避免地會(huì)產(chǎn)生老化或損壞,影響性能指標(biāo)的變化,甚至影響人身與電力設(shè)備的安全。為了及時(shí)檢測(cè)剩余電流,國(guó)內(nèi)外不少生產(chǎn)廠開(kāi)發(fā)出了基于單片機(jī)技術(shù)的測(cè)試儀。但由于單片機(jī)技術(shù)的局限性,其功能簡(jiǎn)單,測(cè)試精度有限,測(cè)試數(shù)據(jù)只能進(jìn)行人工記錄與管理,智能化程度不高。而相對(duì)于GB13955-2005以前的國(guó)家標(biāo)準(zhǔn),國(guó)家對(duì)剩余電流保護(hù)裝置動(dòng)作特性的測(cè)試提出了更高的要求。本文提出一種基于ARM核嵌入式系統(tǒng)的新型剩余電流保護(hù)裝置動(dòng)作特性測(cè)試儀,該設(shè)備采用基于ARM核的嵌入式技術(shù),采用數(shù)字合成技術(shù)產(chǎn)生正弦波的數(shù)控信號(hào)源,作為測(cè)試中所使用標(biāo)準(zhǔn)測(cè)試電流,摒棄了傳統(tǒng)的電阻式剩余電流發(fā)生器,測(cè)試電流穩(wěn)定可靠,控制精度高、便于攜帶,是ARM技術(shù)在智能測(cè)試儀器中新的應(yīng)用方向。

1 新型剩余電流保護(hù)裝置測(cè)試儀SoC模型設(shè)計(jì)

按照新國(guó)標(biāo)GB13955-2005對(duì)剩余電流保護(hù)裝置動(dòng)作特性測(cè)試儀的要求,本文的主要設(shè)計(jì)思想是利用嵌入式系統(tǒng)SoC技術(shù),實(shí)現(xiàn)友好的人機(jī)圖形界面,控制信號(hào)源實(shí)現(xiàn)規(guī)定測(cè)試信號(hào)范圍內(nèi)的多點(diǎn)掃描自動(dòng)測(cè)試剩余電流保護(hù)裝置動(dòng)作特性參數(shù),并對(duì)多個(gè)產(chǎn)品測(cè)試參數(shù)進(jìn)行存儲(chǔ)功能與處理,實(shí)現(xiàn)測(cè)試數(shù)據(jù)的采集、顯示、存儲(chǔ)與處理的智能化。

其系統(tǒng)模型方案如圖1所示,處理器是整個(gè)系統(tǒng)中起核心作用的芯片,它的性能很大程度上會(huì)影響整個(gè)系統(tǒng)的性能,所以在設(shè)計(jì)時(shí)選用目前常用的32位嵌入式處理器ARM core SEP3203,其主頻為75MHz以上,能比較好的滿足控制類(lèi)多任務(wù)管理的要求。外部總線位數(shù)為32位,大部分芯片都能提供靈活的外部總線寬度來(lái)滿足不同的應(yīng)用要求。在片內(nèi)高速存儲(chǔ)器方面,大多數(shù)處理器內(nèi)嵌了片內(nèi)的高速存儲(chǔ)體,結(jié)合代碼分布算法用于實(shí)現(xiàn)關(guān)鍵代碼的運(yùn)行和性能優(yōu)化,SEP3203內(nèi)嵌的20KB的eSram能滿足該項(xiàng)要求。

圖1 新型測(cè)試儀系統(tǒng)模型示意圖

1.1 主控系統(tǒng)的整體功能

主控系統(tǒng)的基本要求:在ARM嵌入式技術(shù)支持下,實(shí)現(xiàn)檢測(cè)剩余電流保護(hù)裝置動(dòng)作特性(剩余動(dòng)作電流值、分?jǐn)鄷r(shí)間、極限不驅(qū)動(dòng)時(shí)間)檢測(cè)的自動(dòng)化,具有數(shù)據(jù)存儲(chǔ)與檢測(cè)信息處理機(jī)能,從而實(shí)現(xiàn)專(zhuān)用檢測(cè)儀器的智能化。

采用最新嵌入式微處理器技術(shù),具有結(jié)構(gòu)精巧、圖形彩色液晶顯示、自動(dòng)檢測(cè)、數(shù)據(jù)存儲(chǔ)與處理,觸摸屏操作的特點(diǎn)。可以在線、離線測(cè)試,并有電源同步開(kāi)關(guān)、開(kāi)機(jī)優(yōu)先檔、保護(hù)警示等功能。在性能、攜帶、操作方面適用于一線電工和用電安檢部門(mén)的使用和推廣,同時(shí)滿足剩余電流動(dòng)作保護(hù)裝置生產(chǎn)廠定性測(cè)量的需要。

利用SoC技術(shù),可實(shí)現(xiàn)的具體功能如下:

(1)提高檢測(cè)速度,根據(jù)剩余電流保護(hù)裝置生產(chǎn)廠與供電系統(tǒng)的實(shí)際需要提高檢測(cè)速度,較大幅度提高生產(chǎn)效率與提供方便實(shí)用的功能;

(2)基于ARM技術(shù)系統(tǒng)的設(shè)計(jì),利用ARM的SoC技術(shù)設(shè)計(jì)出高性能、智能化程度高的信號(hào)源掃描控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)分析與存儲(chǔ)系統(tǒng),利用SoC技術(shù)實(shí)現(xiàn)智能化的算法設(shè)計(jì);

(3)設(shè)計(jì)程序可控信號(hào)源,提高其受控性與穩(wěn)定性能;

(4)以ARM核為基礎(chǔ)聯(lián)結(jié)外圍設(shè)備實(shí)現(xiàn)數(shù)據(jù)采集控制、斷電控制、數(shù)據(jù)顯示與數(shù)據(jù)存儲(chǔ)控制等電路的設(shè)計(jì),其中要求將檢測(cè)數(shù)據(jù)保存到Flash中,并通過(guò)與PC機(jī)的USB接口將數(shù)據(jù)傳輸?shù)絇C機(jī)檢測(cè)信息管理的數(shù)據(jù)庫(kù)中進(jìn)行智能化的處理;

(5)采用5~8英寸液晶顯示系統(tǒng)、聲光報(bào)警系統(tǒng)。

利用ASIX OS的圖形界面設(shè)計(jì)方法,根據(jù)實(shí)際測(cè)試功能需求,測(cè)試儀的主控界面設(shè)計(jì)如圖2所示。

圖2 主界面圖

在圖2中,“文件”、“查詢”、“幫助”為觸摸屏 按鈕,可顯示對(duì)應(yīng)菜單,“開(kāi)始測(cè)試”、“信息管理”、“日期校準(zhǔn)”、“關(guān)機(jī)”為實(shí)現(xiàn)相應(yīng)功能的觸摸屏按鈕。

1.2 硬件設(shè)計(jì)模型

系統(tǒng)硬件,以嵌入式處理器芯片SEP3203為核心,利用ARM的SOC技術(shù)設(shè)計(jì)出高性能、智能化程度高的信號(hào)源掃描控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、存儲(chǔ)系統(tǒng),硬件系統(tǒng)模型如圖3所示。

硬件系統(tǒng)中,圍繞SEP3203處理器采用如下硬件設(shè)計(jì):

(1)5-8英寸液晶觸摸屏顯示系統(tǒng);

(2)數(shù)控信號(hào)源系統(tǒng);

(3)實(shí)時(shí)數(shù)據(jù)采集系統(tǒng);

(4)32MB Flash程序存儲(chǔ)系統(tǒng)與檢測(cè)數(shù)據(jù)存儲(chǔ)系統(tǒng);

(5)32MB SDRAM工作存儲(chǔ)器;

(6)USB接口與PC機(jī)實(shí)現(xiàn)數(shù)據(jù)交換;

(7)聲光報(bào)警系統(tǒng)。

圖3 新型剩余電流保護(hù)裝置動(dòng)作特性測(cè)試儀硬件設(shè)計(jì)方案

1.3 系統(tǒng)軟件設(shè)計(jì)模型

測(cè)試儀軟件系統(tǒng)采用自主設(shè)計(jì)的嵌入式實(shí)時(shí)操作系統(tǒng)平臺(tái)ASIX OS,實(shí)現(xiàn)嵌入式系統(tǒng)中任務(wù)管理、內(nèi)存管理、界面管理、通信管理等。系統(tǒng)軟件由十個(gè)模塊組成,如圖4所示,每個(gè)模塊主要功能如下:

(1)系統(tǒng)初始化模塊實(shí)現(xiàn)系統(tǒng)的初始加載;

(2)LCD顯示模塊實(shí)現(xiàn)8寸液晶彩色圖形顯示的驅(qū)動(dòng);

(3)觸摸屏管理實(shí)現(xiàn)友好的人機(jī)界面;

(4)信號(hào)源控制模塊驅(qū)動(dòng)程序可控信號(hào)源產(chǎn)生所需的測(cè)試信號(hào);

(5)數(shù)據(jù)采集模塊獲取剩余電流保護(hù)裝置相關(guān)動(dòng)作信號(hào);

(6)文件管理模塊利用Flash實(shí)現(xiàn)檢測(cè)數(shù)據(jù)的保存;

圖4 軟件設(shè)計(jì)方案

系統(tǒng)保護(hù)模塊判斷用戶的錯(cuò)誤操作與異常情況產(chǎn)生相應(yīng)的保護(hù)動(dòng)作;

(7)功耗管理模塊利用SEP3203低功耗工作模式,實(shí)現(xiàn)停電或野外操作所需的低功耗要求;

(8)聲光報(bào)警模塊報(bào)告系統(tǒng)的狀態(tài)。

檢測(cè)信息管理系統(tǒng)檢取測(cè)試儀中數(shù)據(jù)并轉(zhuǎn)入數(shù)據(jù)庫(kù),根據(jù)用戶對(duì)信息的需求實(shí)現(xiàn)智能化的數(shù)據(jù)管理。

2 主控系統(tǒng)調(diào)試平臺(tái)的架構(gòu)

2.1 交叉開(kāi)發(fā)環(huán)境的建立

圖5為交叉開(kāi)發(fā)環(huán)境。交叉開(kāi)發(fā)是在一臺(tái)PC機(jī)上進(jìn)行軟件的編輯與編譯,然后由調(diào)試通道JTAG下載到嵌入式設(shè)備中進(jìn)行運(yùn)行調(diào)試。PC可運(yùn)行通用的Windows或Unix操作系統(tǒng),開(kāi)發(fā)用的PC機(jī)一般稱為宿主機(jī),嵌入式系統(tǒng)設(shè)備稱為目標(biāo)機(jī)。

圖5 交叉開(kāi)發(fā)系統(tǒng)示意圖

交叉開(kāi)發(fā)環(huán)境運(yùn)行于宿主機(jī)上的軟件最少必須包含編譯調(diào)試模塊,另外還應(yīng)包括已移植μClinux及μC/OS-Ⅱ并提供源代碼、串口調(diào)試工具M(jìn)TTTY、主板功能評(píng)估軟件源代碼。其中編譯器為交叉編譯器,將用戶編寫(xiě)和匯編語(yǔ)言程序或C語(yǔ)言程序處理為目標(biāo)程序。編譯后的目標(biāo)代碼必須在ARM體系結(jié)構(gòu)的目標(biāo)機(jī)上運(yùn)行,這就是所謂的交叉編譯。宿主機(jī)上編譯好的目標(biāo)代碼通過(guò)宿主機(jī)到目標(biāo)機(jī)的調(diào)試通道將代碼下載到目標(biāo)機(jī),然后由運(yùn)行于宿主機(jī)的調(diào)試軟件控制代碼在目標(biāo)機(jī)上進(jìn)行調(diào)試。為了方便調(diào)試開(kāi)發(fā),交叉開(kāi)發(fā)軟件一般為一個(gè)整合編輯、編譯、匯編、鏈接、調(diào)試、工程管理及函數(shù)庫(kù)等功能模塊的集成開(kāi)發(fā)環(huán)境IDE(Integrated Development Environment)。本文采用ARM公司的ADS1.2以及南京博芯電子有限公司提供的ASIX OS。

2.2 基于SEP3203微處理器嵌入式系統(tǒng)的調(diào)試平臺(tái)

針對(duì)SEP3203微處理器的特性,本文利用南京博芯電子技術(shù)有限公司提供的GE01MB嵌入式系統(tǒng)開(kāi)發(fā)裝置搭建設(shè)備所需的液晶屏、觸摸屏、USB通信、外部存儲(chǔ)器(SDRAM和FLASH等),如圖7所示。實(shí)現(xiàn)利用SEP3203微處理器中的LCD控制器來(lái)控制在黑白(彩色)液晶屏上的數(shù)據(jù)以及利用SEP3203微處理器的SPI通信模塊采集觸摸屏的數(shù)據(jù);利用SEP3203微處理器的USB通信模塊來(lái)實(shí)現(xiàn)通過(guò)USB來(lái)和PC機(jī)進(jìn)行同步以及在檢測(cè)儀和PC機(jī)之間進(jìn)行數(shù)據(jù)同步的硬件電路的設(shè)計(jì);利用SEP3203微處理器的外部存儲(chǔ)器的管理功能來(lái)驗(yàn)證硬件存儲(chǔ)電路的設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)從Nand Flash啟動(dòng),保存數(shù)據(jù)到Flash中或SDRAM中。

根據(jù)SEP3203微處理器的特性設(shè)計(jì)搭建好硬件電路后,下一步即考慮如何在設(shè)計(jì)好的硬件平臺(tái)上實(shí)現(xiàn)嵌入式操作系統(tǒng)的移植,本文采用國(guó)家專(zhuān)用集成電路與系統(tǒng)工程技術(shù)研究中心自主研究與設(shè)計(jì)的ASIC OS操作系統(tǒng)。嵌入式操作系統(tǒng)在硬件平臺(tái)上的移植最大的工作量在于與硬件相關(guān)的底層代碼的移植,如系統(tǒng)的啟動(dòng)代碼、各個(gè)外設(shè)的驅(qū)動(dòng)程序、文件下載到實(shí)驗(yàn)板上的SDRAM中或者燒錄到Flash中、如何調(diào)試實(shí)驗(yàn)板的代碼。

3 調(diào)試過(guò)程

3.1 內(nèi)核加載方式

嵌入式操作系統(tǒng)內(nèi)核可以在Flash上直接運(yùn)行,也可以加載到內(nèi)存中運(yùn)行。Flash的運(yùn)行方式,是把內(nèi)核的可執(zhí)行映像燒寫(xiě)到Flash上,系統(tǒng)啟動(dòng)時(shí)從Flash的某個(gè)地址開(kāi)始執(zhí)行。這種方法實(shí)際上是很多嵌入式系統(tǒng)所采用的方法。內(nèi)核加載方式是把內(nèi)核的壓縮文件存放在Flash上,系統(tǒng)啟動(dòng)時(shí)讀取壓縮文件在內(nèi)存里解壓,然后開(kāi)始執(zhí)行。這種方式相對(duì)復(fù)雜一些,但是運(yùn)行速度可能更快,因?yàn)镽AM的存取速率要比Flash高。由于嵌入式系統(tǒng)的內(nèi)存管理機(jī)制,嵌入式操作系統(tǒng)對(duì)用戶程序采用靜態(tài)鏈接的形式。在嵌入式系統(tǒng)中,應(yīng)用程序和操作系統(tǒng)內(nèi)核代碼編譯、鏈接生成一個(gè)二進(jìn)制影像文件來(lái)運(yùn)行。

3.2 嵌入式系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù)

相對(duì)于在Windows環(huán)境下的開(kāi)發(fā)應(yīng)用程序,嵌入式系統(tǒng)開(kāi)發(fā)有著很多的不同。不同的硬件平臺(tái)和操作系統(tǒng)帶來(lái)了許多附加的開(kāi)發(fā)復(fù)雜性。

在嵌入式開(kāi)發(fā)過(guò)程中有宿主機(jī)和目標(biāo)機(jī)的角色之分:宿主機(jī)是執(zhí)行編譯、鏈接、定址過(guò)程的計(jì)算機(jī);目標(biāo)機(jī)指運(yùn)行嵌入式軟件的硬件平臺(tái)。首先須把應(yīng)用程序轉(zhuǎn)換成可以在目標(biāo)機(jī)上運(yùn)行的二進(jìn)制代碼。這一過(guò)程包含三個(gè)步驟:編譯、鏈接、定址。編譯過(guò)程由交叉編譯器實(shí)現(xiàn)。所謂交叉編譯器就是運(yùn)行在一個(gè)計(jì)算機(jī)平臺(tái)上并為另一個(gè)平臺(tái)產(chǎn)生代碼的編譯器。常用的交叉編譯器有GNU C/C++(gcc)。編譯過(guò)程產(chǎn)生的所有目標(biāo)文件被鏈接成一個(gè)目標(biāo)文件,稱為鏈接過(guò)程。定址過(guò)程會(huì)把物理存儲(chǔ)器地址指定給目標(biāo)文件的每個(gè)相對(duì)偏移處。該過(guò)程生成的文件就是可以在嵌入式平臺(tái)上執(zhí)行的二進(jìn)制文件。嵌入式開(kāi)發(fā)過(guò)程中另一個(gè)重要的步驟是調(diào)試目標(biāo)機(jī)上的應(yīng)用程序。嵌入式調(diào)試采用交叉調(diào)試器,一般采用宿主機(jī)-目標(biāo)機(jī)的調(diào)試方式,它們之間由串行口線或以太網(wǎng)或BDM線相連。交叉調(diào)試有任務(wù)級(jí)、源碼級(jí)和匯編級(jí)的調(diào)試,調(diào)試時(shí)需將宿主機(jī)上的應(yīng)用程序和操作系統(tǒng)內(nèi)核下載到目標(biāo)機(jī)的RAM中或直接燒錄到目標(biāo)機(jī)的ROM中。目標(biāo)監(jiān)控器是調(diào)試器對(duì)目標(biāo)機(jī)上運(yùn)行的應(yīng)用程序進(jìn)行控制的代理(Debugger Agent),事先被固化在目標(biāo)機(jī)的Flash、ROM中,在目標(biāo)機(jī)上電后自動(dòng)啟動(dòng),并等待宿主機(jī)方調(diào)試器發(fā)來(lái)的命令,配合調(diào)試器完成應(yīng)用程序的下載、運(yùn)行和基本的調(diào)試功能,將調(diào)試信息返回給宿主機(jī)。

3.3 字節(jié)順序

由于軟件開(kāi)發(fā)模式是先在PC機(jī)上編寫(xiě)軟件,再進(jìn)行嵌入式平臺(tái)軟件的移植工作。在PC機(jī)上編寫(xiě)軟件時(shí),要注意軟件的可移植性,選用具有較高移植性的編程語(yǔ)言(如C語(yǔ)言),盡量少調(diào)用操作系統(tǒng)函數(shù),注意屏蔽不同硬件平臺(tái)帶來(lái)的字節(jié)順序、字節(jié)對(duì)齊等問(wèn)題。字節(jié)順序是指占內(nèi)存多于一個(gè)字節(jié)類(lèi)型的數(shù)據(jù)在內(nèi)存中的存放順序,通常有小端、大端兩種字節(jié)順序。小端字節(jié)序指低字節(jié)數(shù)據(jù)存放在內(nèi)存低地址處,高字節(jié)數(shù)據(jù)存放在內(nèi)存高地址處;大端字節(jié)序是高字節(jié)數(shù)據(jù)存放在低地址處,低字節(jié)數(shù)據(jù)存放在高地址處。基于X86平臺(tái)的PC機(jī)是小端字節(jié)序的,而有的嵌入式平臺(tái)則是大端字節(jié)序的。因而對(duì)int、uint16、uint32等多于1字節(jié)類(lèi)型的數(shù)據(jù),在這些嵌入式平臺(tái)上應(yīng)該變換其存儲(chǔ)順序。字節(jié)對(duì)齊是因?yàn)橛械那度胧教幚砥鞯膶ぶ贩绞經(jīng)Q定了在內(nèi)存中占2字節(jié)的int16、uint16等類(lèi)型數(shù)據(jù)只能存放在偶數(shù)內(nèi)存地址處,占4字節(jié)的int32、uint32等類(lèi)型數(shù)據(jù)只能存放在4的整數(shù)倍的內(nèi)存地址處;占8字節(jié)的類(lèi)型數(shù)據(jù)只能存放在8的整數(shù)倍的內(nèi)存地址處;而在內(nèi)存中只占1字節(jié)的類(lèi)型數(shù)據(jù)可以存放在任意地址處。由于這些限制,在這些平臺(tái)上編程時(shí)有很大的不同。首先,結(jié)構(gòu)體成員之間會(huì)有空洞,如這樣一個(gè)結(jié)構(gòu):

結(jié)構(gòu)TEST在單字節(jié)對(duì)齊的平臺(tái)上占內(nèi)存三個(gè)字節(jié),而在以上所述的嵌入式平臺(tái)上有可能占三個(gè)或四個(gè)字節(jié),視成員a的存儲(chǔ)地址而定。當(dāng)a存儲(chǔ)地址為偶數(shù)時(shí),該結(jié)構(gòu)占四個(gè)字節(jié),在a與b之間存在一個(gè)字節(jié)的空洞。對(duì)于通信雙方都是對(duì)結(jié)構(gòu)成員操作的,這種情況不會(huì)出錯(cuò),但如果有一方是逐字節(jié)讀取內(nèi)容的,就會(huì)錯(cuò)誤地讀到其它字節(jié)的內(nèi)容。其次,若對(duì)內(nèi)存中數(shù)據(jù)以強(qiáng)制類(lèi)型轉(zhuǎn)換的方式讀取,字節(jié)對(duì)齊的不同會(huì)引起數(shù)據(jù)讀取的錯(cuò)誤。因?yàn)榧偃缰羔樦冈诨鶖?shù)內(nèi)存地址處,我們?nèi)〉谜純?nèi)存兩個(gè)字節(jié)的數(shù)據(jù)存放在uint16型的變量中,強(qiáng)制類(lèi)型轉(zhuǎn)換的結(jié)果是取得了該指針?biāo)傅刂放c前一地址處的數(shù)據(jù),并沒(méi)有按照我們的要求取該指針?biāo)傅刂放c后一地址處的數(shù)據(jù),這樣就導(dǎo)致了數(shù)據(jù)讀取的錯(cuò)誤。解決字節(jié)對(duì)齊有許多方法,比如可以在GCC的項(xiàng)目管理文件Make-File中增加編譯選項(xiàng)-pack-struct;但這種方法只能去除結(jié)構(gòu)中的空洞,并不能解決強(qiáng)制類(lèi)型轉(zhuǎn)換引起的錯(cuò)誤。為了增強(qiáng)軟件的可移植性以及和同類(lèi)其它平臺(tái)產(chǎn)品的互通性。

3.4 代碼優(yōu)化

嵌入式系統(tǒng)對(duì)應(yīng)用軟件的質(zhì)量要求更高,因而在嵌入式開(kāi)發(fā)中尤其須注意對(duì)代碼進(jìn)行優(yōu)化,盡可能地提高代碼的效率,減少代碼的大小。雖然現(xiàn)代C和C++編譯器都提供了一定程度的代碼優(yōu)化,但大部分由編譯器執(zhí)行的優(yōu)化技術(shù)僅涉及執(zhí)行速度和代碼大小的平衡,不可能使程序既快又小,因而必須在編寫(xiě)嵌入式軟件時(shí)采取必要的措施。

(1)提高代碼的效率

①switch-case語(yǔ)句。在程序中經(jīng)常會(huì)使用switch-case語(yǔ)句,每一個(gè)由機(jī)器語(yǔ)言實(shí)現(xiàn)的測(cè)試和跳轉(zhuǎn)僅僅是為了決定下一步要做什么,就浪費(fèi)了處理器時(shí)間。為了提高速度,可以把具體的情況按照它們發(fā)生的相對(duì)頻率排序,即把最可能發(fā)生的情況放在第一,最不可能發(fā)生的情況放在最后,這樣會(huì)減少平均的代碼執(zhí)行時(shí)間。

②全局變量。使用全局變量比向函數(shù)傳遞參數(shù)更加有效率,這樣做去除了函數(shù)調(diào)用前參數(shù)入棧和函數(shù)完成后參數(shù)出棧的需要。當(dāng)然,使用全局變量會(huì)對(duì)程序有一些負(fù)作用。

(2)減小代碼的大小

嵌入式系統(tǒng)編程應(yīng)避免使用標(biāo)準(zhǔn)庫(kù)例程,因?yàn)楹芏啻蟮膸?kù)例程設(shè)法處理所有可能的情況,所以占用了龐大的內(nèi)存空間,因而應(yīng)盡可能地減少使用標(biāo)準(zhǔn)庫(kù)例程。

(3)避免內(nèi)存泄漏

用戶內(nèi)存空間(堆)為RAM中全局?jǐn)?shù)據(jù)和任務(wù)堆??臻g都分配后的剩余空間,為了使程序能有足夠的內(nèi)存運(yùn)行,必須在申請(qǐng)的內(nèi)存不用后及時(shí)地將其釋放,以確保再次申請(qǐng)時(shí)能有空間。如果程序中存在內(nèi)存泄漏(即申請(qǐng)內(nèi)存后沒(méi)有及時(shí)釋放)的情況,程序最終會(huì)因?yàn)闆](méi)有足夠的內(nèi)存空間而無(wú)法運(yùn)行。

4 結(jié)論

本文采用嵌入式處理器芯片SEP3203為核心,基于嵌入式SoC技術(shù),設(shè)計(jì)了一種新型的剩余電流保護(hù)裝置動(dòng)作特性測(cè)試儀。通過(guò)嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái),以SEP3203內(nèi)核為基礎(chǔ),完成了應(yīng)用程序框架的設(shè)計(jì),將ASIX OS成功地移植到目標(biāo)板上,將此系統(tǒng)用于NC信號(hào)源控制,對(duì)剩余電流保護(hù)裝置動(dòng)作特性參數(shù)進(jìn)行測(cè)量,測(cè)量結(jié)果保存在Flash內(nèi)指定的文本文件中。同時(shí),為了方便廠家或供電系統(tǒng)對(duì)大量檢測(cè)數(shù)據(jù)進(jìn)行管理,用VB.NET開(kāi)發(fā)了檢測(cè)信息管理系統(tǒng),通過(guò)USB通信接口對(duì)檢測(cè)儀的檢測(cè)結(jié)果文件內(nèi)容進(jìn)行處理并轉(zhuǎn)存至PC機(jī)的數(shù)據(jù)庫(kù)中,根據(jù)工作需要進(jìn)行分類(lèi)統(tǒng)計(jì)、按需查詢、形成報(bào)表。本設(shè)計(jì)具有系統(tǒng)人機(jī)界面友好、測(cè)試響應(yīng)速度快、操作簡(jiǎn)單等優(yōu)點(diǎn),可廣泛應(yīng)用于城鄉(xiāng)用電保護(hù)器的檢測(cè)領(lǐng)域。

[1]王田苗.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開(kāi)發(fā)——基于ARM微處理器與μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)[M].北京:清華大學(xué)出版社,2002.

[2]俞建新.嵌入式應(yīng)用程序開(kāi)發(fā)綜合實(shí)驗(yàn)9例——基于博創(chuàng)ARM300教學(xué)平臺(tái)和各類(lèi)手持設(shè)備[M].北京:清華大學(xué)出版社,2004.

[3]顧詠楓,陳章龍.嵌入式Linux裁剪方法[J].小型微型計(jì)算機(jī)系統(tǒng),2003,24(9):1697 -1700.

[4]王煌.創(chuàng)新是推進(jìn)實(shí)驗(yàn)教學(xué)與實(shí)驗(yàn)室建設(shè)的密鑰[J].實(shí)驗(yàn)室研究和探索,2004,23(4):1 -4.

[5]呂向陽(yáng),陳明義.嵌入式系統(tǒng)創(chuàng)新實(shí)驗(yàn)室建設(shè)[J].實(shí)驗(yàn)室研究與探索,2005,24(5):32 -33.

[6]馬寒,曹玲芝.開(kāi)放式電子創(chuàng)新實(shí)驗(yàn)室的運(yùn)行管理模式初探[J].實(shí)驗(yàn)室科學(xué),2006(1):99-101.

猜你喜歡
宿主機(jī)字節(jié)保護(hù)裝置
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室在農(nóng)村職校計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
嵌入式計(jì)算機(jī)軟件測(cè)試關(guān)鍵技術(shù)的思考
簡(jiǎn)談MC7字節(jié)碼
電力系統(tǒng)微機(jī)保護(hù)裝置的抗干擾措施
翻車(chē)機(jī)人行通道光電安全保護(hù)裝置
嵌入式計(jì)算機(jī)軟件測(cè)試關(guān)鍵技術(shù)研究
火電廠熱控自動(dòng)化保護(hù)裝置的維護(hù)策略初探
河南科技(2014年5期)2014-02-27 14:08:33
基于單片機(jī)的低壓馬達(dá)保護(hù)裝置
文成县| 平远县| 鲁甸县| 宣武区| 武夷山市| 威海市| 阜南县| 昌吉市| 方正县| 江安县| 句容市| 易门县| 东台市| 九龙坡区| 新昌县| 平果县| 额济纳旗| 泸溪县| 靖西县| 高平市| 金平| 且末县| 天柱县| 福泉市| 泸州市| 新泰市| 珲春市| 松原市| 黄陵县| 乌鲁木齐市| 磴口县| 涞水县| 轮台县| 姜堰市| 牟定县| 黑龙江省| 疏附县| 辽阳市| 商城县| 雅安市| 昭觉县|