便攜式功率分析儀設(shè)計----功率分析儀軟件設(shè)計(一)
第四章功率分析儀軟件設(shè)計
本文引用地址:http://2s4d.com/article/175056.htm4.1軟件設(shè)計框架
如下圖4-1所示,其中SED1335是圖形液晶顯示控制器,它集成在液晶顯示屏幕電路中,提供獨立的顯示控制字,可用單片機對其進行控制,單片機通過SED1335將數(shù)據(jù)送到LCD顯示。通道進來的模擬信號經(jīng)由A/D轉(zhuǎn)換成數(shù)字量,將這些數(shù)字量存入緩存器FIFO后,再由ARM讀入進行計算處理,我們所選用的ARM LPC2138擁有強大的數(shù)據(jù)處理能力能完成數(shù)據(jù)的采集、處理、顯示以及鍵盤操作功能。經(jīng)過ARM處理的數(shù)據(jù),系統(tǒng)參數(shù)等信息都將保存在FLASH中,便于調(diào)用。FLASH是非易失性存儲器,可以重復(fù)進行讀/寫,讀寫時應(yīng)按其時序進行。它用于存儲字庫和程序,本設(shè)計中使用的FLASH是ARM單片機LPC2138內(nèi)部FLASH.在這里鍵盤按鍵操作和控制是直接由ARM來完成的,利用鍵盤掃描方式,通過定時器不斷對鍵盤動作進行掃描,從而達(dá)到鍵盤控制操作的功能。本系統(tǒng)在調(diào)試過程中還提供了串口對外通訊,利用68013將串口轉(zhuǎn)換為適合與上位機通訊的USB接口,實現(xiàn)與上位機通訊,達(dá)到利用電腦輔助系統(tǒng)調(diào)試的目的。
4.1.1軟件功能設(shè)計
如上圖4-2所示,功率分析儀的軟件部分主要分作數(shù)據(jù)處理和測量(包含對采樣數(shù)據(jù)處理、整合、計算以及對信號常用屬性的測量)、液晶屏控制、鍵盤控制以及校準(zhǔn)這幾大部分,聯(lián)機調(diào)試部分僅在本設(shè)計的試驗、調(diào)試階段使用。其中液晶屏控制和鍵盤控制是軟件部分程序循環(huán)的重要組成部分。
4.1.2開發(fā)平臺
本課題設(shè)計中采用的是32位ARM7TDMI-S CPU——LPC2138微控制器,程序開發(fā)平臺選用了對該系列單片機支持較好的ADS1.2.
ADS1.2是一個使用方便的集成開發(fā)環(huán)境,全稱是ARM Developer Suite v1.2。它是由ARM公司提供的專門用于ARM相關(guān)應(yīng)用開發(fā)和調(diào)試的綜合性軟件。在功能和易用性上比較SDT都有提高,是一款功能強大又易于使用的開發(fā)工具。ADS囊括了一系列的應(yīng)用,并有相關(guān)的文檔和實例的支持。使用者可以用它來編寫和調(diào)試各種基于ARM家族RISC處理器的應(yīng)用??梢杂肁DS來開發(fā)、編譯、調(diào)試采用包括C、C++和ARM匯編語言編寫的程序。AXD提供給基于Windows和UNIX使用的ARM調(diào)試器。它提供了一個完全的Windows和UNIX環(huán)境來調(diào)試C,C++,和匯編語言級的代碼。CodeWarriorIDE提供基于Windows使用的工程管理工具。它的使用使源碼文件的管理和編譯工程變得非常方便。但CodeWarriorIDE在UNIX下不能使用。
采用C語言編程具有以下一些特點:、
語言簡潔,使用方便靈活。C語言的關(guān)鍵字很少,ANSI C標(biāo)準(zhǔn)一共只有32的關(guān)鍵字,9種控制語句,壓縮一切不必要的成分。C語言的書寫形式比較自由,表示方法簡潔。
可移植性好。C語言是通過編譯來得到可執(zhí)行代碼,便于移植。
表達(dá)能力強。C語言具有豐富的數(shù)據(jù)結(jié)構(gòu)類型和多種運算符,可以根據(jù)需要采用整型、浮點型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)類型、聯(lián)合類型等各種數(shù)據(jù)類型來實現(xiàn)各種其它高級語言難以實現(xiàn)的復(fù)雜數(shù)據(jù)的結(jié)構(gòu)運算。
表達(dá)方式靈活。利用C語言提供的多種運算符,可以組成各種表達(dá)式,還可以采用各種方法來獲得表達(dá)式的值,從而使用戶在程序設(shè)計中具有更大的靈活性。C語言的語法規(guī)則不太嚴(yán)格,程序設(shè)計的自由度比較大,程序的書寫格式自由靈活。
本設(shè)計軟件方案包括兩個部分:本機程序和聯(lián)機調(diào)試程序。本機程序是基于ARM Developer Suite v1.2軟件編寫的,聯(lián)機調(diào)試程序是基于C++ Builder 6.0編寫的。ARM主程序運行流程如下圖4-3:
ARM主程序主要分為以下幾個模塊:
a)數(shù)據(jù)采集、處理:通道每個采樣循環(huán)采集1K數(shù)據(jù),ARM讀取通道數(shù)據(jù),在顯示數(shù)據(jù)之前對采集數(shù)據(jù)進行相應(yīng)處理、計算。
一個正常采樣處理循環(huán)的主要流程如下圖4-4所示:
b)數(shù)據(jù)顯示:將數(shù)據(jù)處理后的數(shù)據(jù)和采集到溫度值顯示在液晶顯示屏中(如果為調(diào)試方式,應(yīng)同時將顯示的數(shù)據(jù)傳送給上位機)。
c)鍵盤掃描處理:采用陣列掃描。定時掃描方式,有按鍵輸入則進行相應(yīng)處理。
d)校準(zhǔn)處理:主要包括通道校準(zhǔn)、功率測量校準(zhǔn)、頻率測量校準(zhǔn)、功率頻響校準(zhǔn)。
e)通訊模塊:與上位機調(diào)試程序的接口。上層發(fā)送的校準(zhǔn)表數(shù)據(jù)、參數(shù)等都是通過這個模塊進行相應(yīng)處理。該模塊主要在調(diào)試階段使用。
接地電阻相關(guān)文章:接地電阻測試方法
評論