<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 便攜式功率分析儀設計----功率分析儀軟件設計

便攜式功率分析儀設計----功率分析儀軟件設計

作者: 時(shí)間:2013-08-24 來(lái)源:網(wǎng)絡(luò ) 收藏
軟件設計

4.1軟件設計框架

如下圖4-1所示,其中SED1335是圖形液晶顯示控制器,它集成在液晶顯示屏幕電路中,提供獨立的顯示控制字,可用單片機對其進(jìn)行控制,單片機通過(guò)SED1335將數據送到LCD顯示。通道進(jìn)來(lái)的模擬信號經(jīng)由A/D轉換成數字量,將這些數字量存入緩存器FIFO后,再由ARM讀入進(jìn)行計算處理,我們所選用的ARM LPC2138擁有強大的數據處理能力能完成數據的采集、處理、顯示以及鍵盤(pán)操作功能。經(jīng)過(guò)ARM處理的數據,系統參數等信息都將保存在FLASH中,便于調用。FLASH是非易失性存儲器,可以重復進(jìn)行讀/寫(xiě),讀寫(xiě)時(shí)應按其時(shí)序進(jìn)行。它用于存儲字庫和程序,本設計中使用的FLASH是ARM單片機LPC2138內部FLASH.在這里鍵盤(pán)按鍵操作和控制是直接由ARM來(lái)完成的,利用鍵盤(pán)掃描方式,通過(guò)定時(shí)器不斷對鍵盤(pán)動(dòng)作進(jìn)行掃描,從而達到鍵盤(pán)控制操作的功能。本系統在調試過(guò)程中還提供了串口對外通訊,利用68013將串口轉換為適合與上位機通訊的USB接口,實(shí)現與上位機通訊,達到利用電腦輔助系統調試的目的。

便攜式功率分析儀設計----功率分析儀軟件設計

4.1.1軟件功能設計

便攜式功率分析儀設計----功率分析儀軟件設計

如上圖4-2所示,的軟件部分主要分作數據處理和測量(包含對采樣數據處理、整合、計算以及對信號常用屬性的測量)、液晶屏控制、鍵盤(pán)控制以及校準這幾大部分,聯(lián)機調試部分僅在本設計的試驗、調試階段使用。其中液晶屏控制和鍵盤(pán)控制是軟件部分程序循環(huán)的重要組成部分。

4.1.2開(kāi)發(fā)平臺

本課題設計中采用的是32位ARM7TDMI-S CPU——LPC2138微控制器,程序開(kāi)發(fā)平臺選用了對該系列單片機支持較好的ADS1.2.

ADS1.2是一個(gè)使用方便的集成開(kāi)發(fā)環(huán)境,全稱(chēng)是ARM Developer Suite v1.2。它是由ARM公司提供的專(zhuān)門(mén)用于A(yíng)RM相關(guān)應用開(kāi)發(fā)和調試的綜合性軟件。在功能和易用性上比較SDT都有提高,是一款功能強大又易于使用的開(kāi)發(fā)工具。ADS囊括了一系列的應用,并有相關(guān)的文檔和實(shí)例的支持。使用者可以用它來(lái)編寫(xiě)和調試各種基于A(yíng)RM家族RISC處理器的應用??梢杂肁DS來(lái)開(kāi)發(fā)、編譯、調試采用包括C、C++和ARM匯編語(yǔ)言編寫(xiě)的程序。AXD提供給基于Windows和UNIX使用的ARM調試器。它提供了一個(gè)完全的Windows和UNIX環(huán)境來(lái)調試C,C++,和匯編語(yǔ)言級的代碼。CodeWarriorIDE提供基于Windows使用的工程管理工具。它的使用使源碼文件的管理和編譯工程變得非常方便。但CodeWarriorIDE在UNIX下不能使用。

采用C語(yǔ)言編程具有以下一些特點(diǎn):、

語(yǔ)言簡(jiǎn)潔,使用方便靈活。C語(yǔ)言的關(guān)鍵字很少,ANSI C標準一共只有32的關(guān)鍵字,9種控制語(yǔ)句,壓縮一切不必要的成分。C語(yǔ)言的書(shū)寫(xiě)形式比較自由,表示方法簡(jiǎn)潔。

可移植性好。C語(yǔ)言是通過(guò)編譯來(lái)得到可執行代碼,便于移植。

表達能力強。C語(yǔ)言具有豐富的數據結構類(lèi)型和多種運算符,可以根據需要采用整型、浮點(diǎn)型、字符型、數組類(lèi)型、指針類(lèi)型、結構類(lèi)型、聯(lián)合類(lèi)型等各種數據類(lèi)型來(lái)實(shí)現各種其它高級語(yǔ)言難以實(shí)現的復雜數據的結構運算。

表達方式靈活。利用C語(yǔ)言提供的多種運算符,可以組成各種表達式,還可以采用各種方法來(lái)獲得表達式的值,從而使用戶(hù)在程序設計中具有更大的靈活性。C語(yǔ)言的語(yǔ)法規則不太嚴格,程序設計的自由度比較大,程序的書(shū)寫(xiě)格式自由靈活。

本設計軟件方案包括兩個(gè)部分:本機程序和聯(lián)機調試程序。本機程序是基于A(yíng)RM Developer Suite v1.2軟件編寫(xiě)的,聯(lián)機調試程序是基于C++ Builder 6.0編寫(xiě)的。ARM主程序運行流程如下圖4-3:

便攜式功率分析儀設計----功率分析儀軟件設計

ARM主程序主要分為以下幾個(gè)模塊:

a)數據采集、處理:通道每個(gè)采樣循環(huán)采集1K數據,ARM讀取通道數據,在顯示數據之前對采集數據進(jìn)行相應處理、計算。

一個(gè)正常采樣處理循環(huán)的主要流程如下圖4-4所示:

便攜式功率分析儀設計----功率分析儀軟件設計

b)數據顯示:將數據處理后的數據和采集到溫度值顯示在液晶顯示屏中(如果為調試方式,應同時(shí)將顯示的數據傳送給上位機)。

c)鍵盤(pán)掃描處理:采用陣列掃描。定時(shí)掃描方式,有按鍵輸入則進(jìn)行相應處理。

d)校準處理:主要包括通道校準、功率測量校準、頻率測量校準、功率頻響校準。

e)通訊模塊:與上位機調試程序的接口。上層發(fā)送的校準表數據、參數等都是通過(guò)這個(gè)模塊進(jìn)行相應處理。該模塊主要在調試階段使用。

4.2軟件算法

4.2.1功率測量算法

根據AD8318器件的原理,其采用了對數放大器電路技術(shù),經(jīng)過(guò)平方單元輸出的電壓值和輸入信號的功率實(shí)現一一對應,從而實(shí)現峰值測量,使測量結果基本上與波形無(wú)關(guān)。在功率計算中,關(guān)鍵部分是測量脈沖調制信號的峰值功率值。為了得到準確的峰值,脈沖信號的觸發(fā)電平的選擇直接影響的峰值測量的精度。在該設計中,觸發(fā)電平的選擇采用了預采樣的原理。其思想為,在固定的小觸發(fā)電平環(huán)境下獲得粗略的峰值500個(gè)。對粗采到的峰值功率進(jìn)行排序,選擇其中的最大的前20個(gè)值進(jìn)行平均。以平均值的1/2作為實(shí)際采樣的觸發(fā)電平的大小。在粗采樣獲得觸發(fā)電平后,進(jìn)行接下來(lái)的精采樣。精采樣以粗樣采得到的觸發(fā)電平作為觸發(fā)值,同樣采到500個(gè)功率值,并以粗采得到的功率值的4/5作為門(mén)限值,去掉低的上升沿和下降沿中的信號。將得到的信號再選取其中的3/5作為最后的峰值,進(jìn)行平均為最終獲得的功率值。

此時(shí)捕捉到的峰值僅僅是A/D采樣得到的十六進(jìn)制表示的電壓值。通過(guò)此時(shí)電壓和功率的對應關(guān)系擬合出電壓值和功率值的曲線(xiàn)。擬合曲線(xiàn)根據不同衰減擋位進(jìn)行擬合。同時(shí)為了方便用戶(hù)能夠自主調整示波顯示,如前文所述,我們在通道中利用TLC5620向通道送入直流偏置調節,使用戶(hù)可以通過(guò)鍵盤(pán)調整顯示波形在顯示屏的位置。所以為了不影響我們對AD8318輸出電壓的測量,所以根據TLC5620電壓輸出:

便攜式功率分析儀設計----功率分析儀軟件設計

其中VREF是參考電平,按前文圖解所示,VREF =2.5V;RNG為D/A輸出范圍選擇,恒為0.按照以上公式在計算功率之前先將A/D采樣得到的電壓值減掉其中直流偏置調節部分,才得到真實(shí)的信號輸入電壓值并進(jìn)入功率計算部分。

在功率測量中,我們經(jīng)常用dBm來(lái)表示功率,由于我們使用的是50歐姆的匹配網(wǎng)絡(luò ),所以,由峰值檢波出來(lái)的電壓值和dBm的轉換關(guān)系滿(mǎn)足下面的等式:

便攜式功率分析儀設計----功率分析儀軟件設計

所以,通過(guò)等式可以以dBm的形式表示信號的功率值。

4.2.2頻率測量算法

頻率計數器程序包括兩部分,一部分是頻率計算。從計數器得到的頻率為二進(jìn)制表示的25位數。由于計數的門(mén)長(cháng)是一秒。頻率記數模塊提供一個(gè)計數結束標志信號,ARM程序不斷取檢查該標志信號,當標志信號有效(為高)證明記數完成,再進(jìn)行實(shí)際頻率值的計算,避免出現記數過(guò)程與頻率計算過(guò)程時(shí)序錯誤,造成測量值錯誤的情況。但由于計數門(mén)長(cháng)(1s)相對于FPGA其他部分動(dòng)作速度,顯得過(guò)長(cháng),為使系統工作效率提高,故在軟件設計中加入一個(gè)1s定時(shí)器,在測頻開(kāi)始后啟動(dòng)定時(shí)器,當定時(shí)結束時(shí)再搜索計數結束標志信號。如果使用直接搜索標志方式,所造成的整個(gè)系統暫停1s,等待標志信號出現。這勢必造成對信號響應緩慢,不能滿(mǎn)足即時(shí)響應的要求。通過(guò)頻率計數器得到的數據通過(guò)四次讀操作將頻率值讀入存儲器中,通過(guò)公式

便攜式功率分析儀設計----功率分析儀軟件設計

得到計數值。其中,fdata_1是計數器中的低8位字節,fdata_2是計數器中的中間8位字節,fdata_3為計數器的高8位字節,fdata_4為計數器的最高1位字節。計算得到的freq僅僅是計數器計數的結果值。由于信號在計數前經(jīng)過(guò)了預分頻,故,需要將freq乘以分頻比N得到的是最終的頻率值。

4.2.3參數測量

本系統中設計在精確測量計算射頻脈沖峰值功率的同時(shí),要將經(jīng)檢波輸出的電壓變化曲線(xiàn)想示波器一樣,顯示在液晶顯示屏幕上供用戶(hù)觀(guān)測和分析。所以在參數測量部分我們很大程度上借鑒了示波器設計原理。將波形特征參數計算并且按需要把參數的值顯示于屏幕菜單顯示區,這些參數有峰峰值、平均值、有效值、周期,載波頻率以及溫度等。計算幅度類(lèi)參數的基本依據是通道量程,計算時(shí)間類(lèi)參數的基本依據是時(shí)基。每


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>