新聞中心

EEPW首頁 > 電源與新能源 > 設計應用 > SSPA電源工作狀態(tài)遠程監(jiān)測系統(tǒng)設計

SSPA電源工作狀態(tài)遠程監(jiān)測系統(tǒng)設計

作者: 時間:2016-12-09 來源:網(wǎng)絡 收藏

固態(tài)功率放大器SSPA(Solid State Power Amplifier)具有體積小、重量輕、工作電壓低、穩(wěn)定性高等優(yōu)點,被廣泛用于各個領域中,在通信系統(tǒng)中也占據(jù)著越來越重要的地位。固態(tài)功率放大器需要將多路功率器件進行合成,這就需要多路電源進行穩(wěn)定供電,在工作中需要對每一路電源的工作狀態(tài)進行監(jiān)測,主要監(jiān)測電源的工作電流。對固態(tài)功率放大器工作時的電源工作狀態(tài)進行監(jiān)測,并通過網(wǎng)絡發(fā)送至遠程主機進行分析和處理,以確保系統(tǒng)能夠正常工作。
1 系統(tǒng)硬件結構
SSPA遠程監(jiān)測系統(tǒng)由電源模塊、模擬開關、嵌入式處理器AT91SAM7X256和DM9161網(wǎng)卡等構成。多路電源的工作電流經(jīng)過電路轉換為電壓,輸入到系統(tǒng)中,系統(tǒng)通過模擬開關的切換實現(xiàn)分時采樣,得到137路電源的工作電流數(shù)據(jù),并將數(shù)據(jù)打包,然后DM9161通過網(wǎng)絡將數(shù)據(jù)發(fā)送至遠程主機,實現(xiàn)了遠程采集和監(jiān)測功能,當采集的工作參數(shù)超過設定值時實現(xiàn)報警,確保系統(tǒng)工作正常。監(jiān)測系統(tǒng)構成如圖1所示。

本文引用地址:http://m.butianyuan.cn/article/201612/328275.htm

2 系統(tǒng)軟件設計
2.1
μC/OS-II系統(tǒng)移植
μC/OS-II是一個優(yōu)秀的嵌入式實時操作系統(tǒng),應用中首先應完成系統(tǒng)的移植。所謂移植,就是使一個實時內(nèi)核運行在某個微控制器或微處理器上,并對與處理器相關的代碼進行修改。系統(tǒng)移植主要包括以下幾個內(nèi)容:
(1)在OS_CPU.H頭文件中完成配置和定義。其中主要包括與編譯無關的數(shù)據(jù)類型的定義;OS_ENTER_CRI-TICAL、OS_EXIT_CRITICAL、OS_TASK_SW 3個宏的定義,這3個宏定義分別表示進入中斷、退出中斷和任務切換;還需要完成堆棧生長方向的定義[1]。
(2)編寫OS_CPU_C.C,其中主要的工作是編寫6個C語言的函數(shù)。其中OSTaskStkInit()是任務堆棧初始化函數(shù),這是進行移植時必須重視的函數(shù),其他5個函數(shù)都是Hook函數(shù),供系統(tǒng)內(nèi)核擴展。
(3)編寫OS_CPU_A.ASM,主要需要編寫3個匯編語言函數(shù),分別是高優(yōu)先級就緒任務啟動函數(shù)OSStartHighRdy()、任務級的切換函數(shù)OSCtxSw()和中斷下的任務切換函數(shù)OSIntCtxSw()[2]。
2.2 uIP網(wǎng)絡協(xié)議移植
uIP由瑞典計算機科學學院(網(wǎng)絡嵌入式系統(tǒng)小組)的Adam Dunkels開發(fā),是一種免費的、可實現(xiàn)的、極小的TCP/IP協(xié)議棧。它可以看作是一個代碼庫,通過一系列函數(shù)為系統(tǒng)底層和應用程序之間提供通信,對于系統(tǒng)本身,它內(nèi)部的協(xié)議是透明的,提高了協(xié)議的適用性[3]。
uIP使用前需要進行移植,移植的主要內(nèi)容就是修改網(wǎng)絡驅動部分的內(nèi)容,包括以下幾個步驟:
(1)編寫EMAC網(wǎng)絡接口庫,該庫文件中主要提供了一系列對ARM控制器中EMAC接口進行操作的函數(shù),控制器對網(wǎng)卡的操作都是通過該接口進行,包括了EMAC模塊的初始化工作以及與網(wǎng)卡芯片的通信函數(shù)等。
EMAC_Init(AT91C_ID_EMAC,MacAddress.addr,EMAC_CAF_ENABLE, EMAC_NBC_DISABLE);//初始化EMAC接口
……
(2)編寫網(wǎng)卡芯片DM9161的驅動程序,包括了DM9161的芯片初始化以及數(shù)據(jù)發(fā)送和數(shù)據(jù)接收操作等。
MACB_Init(pMacb, BOARD_EMAC_PHY_ADDR);
//初始化DM9161
……
(3)完成本系統(tǒng)uIP的配置選項,包括數(shù)據(jù)存儲方式、緩存區(qū)大小、IP地址、MAC地址、默認路由、子網(wǎng)掩碼、uIP 1 s時間所需要的中斷數(shù)和一些基本數(shù)據(jù)類型的定義,以及最大連接數(shù)、數(shù)據(jù)包長度以及應用層協(xié)議的支持等[4]。
(4)編寫應用層函數(shù)UIP_APPCALL,uIP協(xié)議在接收到底層數(shù)據(jù)之后,需要上層函數(shù)處理時,會調(diào)用函數(shù)UIP_APPCALL。本系統(tǒng)中通過使用宏定義#define UIP_
APPCALL sample_appcall將該函數(shù)定向到sample_appcall。該函數(shù)通過查詢當前狀態(tài)來實現(xiàn)各種處理機制。當遠程主機建立一個連接后,初始化緩存區(qū)給當前連接使用;有新數(shù)據(jù)到達時讀取數(shù)據(jù)包,分析數(shù)據(jù)包的信息后,返回給遠程主機所需要的信息。當連接輪詢次數(shù)達到設定值時,中止當前連接,當遠程主機發(fā)出斷開連接命令或連接超時后,斷開當前連接[5]。uIP協(xié)議棧通過調(diào)用該函數(shù)實現(xiàn)網(wǎng)絡數(shù)據(jù)的收發(fā)。
2.3 系統(tǒng)任務設計
系統(tǒng)的實際任務有啟動任務AppStartTask()、AD采集任務AD_sampleTask()、網(wǎng)絡主任務Network_MainTask()、網(wǎng)絡周期任務Network_PerioTask()及網(wǎng)絡數(shù)據(jù)包接收任務Network_PollTask(),其優(yōu)先級從高到低。
AppStartTask()是在開始時啟動其他任務以及在系統(tǒng)運行時通過LED" style="color: rgb(229, 0, 20); text-decoration: none; font-weight: bold; ">LED燈指示系統(tǒng)是否正常工作。AD_sample-
Task()是采樣任務,負責各監(jiān)測點數(shù)據(jù)的獲取和處理工作。Network_PollTask()、Network_MainTask()和Network_PerioTask() 3個任務是網(wǎng)絡部分的內(nèi)容,并且使用一個信號量pNetwork_newdata來實現(xiàn)任務之間的通信。
數(shù)據(jù)包接收任務Network_PollTask()是3個網(wǎng)絡任務中優(yōu)先級最低的一個,負責監(jiān)聽在指定的端口上是否有連接請求或數(shù)據(jù)請求,當一個新的請求到達該監(jiān)聽端口后,該任務將收到的數(shù)據(jù)包緩存到uip_buf中,設置數(shù)據(jù)長度變量uip_len,然后該任務會發(fā)送一個信號量pNetwork_newdata給網(wǎng)絡主任務Network_MainTask()。
網(wǎng)絡主任務Network_MainTask()是網(wǎng)絡任務中優(yōu)先級最高的,完成網(wǎng)絡數(shù)據(jù)處理并向應用層分發(fā)。平時一直處于掛起的狀態(tài),當收到數(shù)據(jù)包發(fā)送任務發(fā)送的信號量之后,該任務調(diào)用函數(shù)uip_process()處理數(shù)據(jù)包信息,根據(jù)不同信息完成數(shù)據(jù)包的發(fā)送,然后繼續(xù)被掛起。
Network_PerioTask()則是周期性運行的任務,其優(yōu)先級處于另兩個任務之間,用于對連接的管理,處理連接超時數(shù)據(jù)包重發(fā)。這3個任務互相協(xié)作,實現(xiàn)了網(wǎng)絡的通信[6]。
3 上位機設計
上位機部分是基于VC6.0編寫的,主要運用網(wǎng)絡套接字和多線程編程技術等實現(xiàn)。上位機運行時,首先讀取注冊表中保存的設定值,然后對保存的指定IP的指定端口發(fā)送連接請求,連接建立后,向下位機發(fā)送數(shù)據(jù)請求包,并且在主線程之外創(chuàng)建一個接收線程,接收線程通過Socket套接字接收上傳的網(wǎng)絡數(shù)據(jù),主線程中實現(xiàn)各個監(jiān)測點的數(shù)據(jù)顯示以及報警信息等,并可以發(fā)送相應的功能命令給下位機,以達到一些簡單的控制功能。上位機運行界面如圖2所示。

本系統(tǒng)實現(xiàn)了μC/OS-II操作系統(tǒng)和uIP網(wǎng)絡協(xié)議的結合,并運用到電源監(jiān)測系統(tǒng)中。本系統(tǒng)經(jīng)調(diào)試,軟硬
件工作均正常。實際運行結果證明,本監(jiān)測系統(tǒng)在穩(wěn)定性和實時性方面都有很好的表現(xiàn),完全適用于實際系統(tǒng)的應用。隨著嵌入式技術以及網(wǎng)絡技術的發(fā)展,未來數(shù)據(jù)監(jiān)測系統(tǒng)的發(fā)展和應用將會有更大的空間。
參考文獻
[1] 邵貝貝.μC/OS-II—源代碼公開的實時嵌入式操作系統(tǒng) [M].北京:中國電力出版社,2001.
[2] 趙偉國,李文軍,梁國偉.實時嵌入式操作系統(tǒng)μC/OS-II 在AT91上的移植[J].中國計量學院學報,2005,16(2):137-139.
[3] DUNKELS A.The uIP 1.0 reference manual[D].Swedish:Swedish Institute of Computer Science,2006.
[4] DUNKELS A.uIP-A free small TCP/IP stack[Z].2004.
[5] 張永濤,黃丹丹,李歐.uIP協(xié)議分析及其應用[J].信息工程大學學報,2006,7(2):147-149.
[6] 劉春風,張代遠.?滋C/OS-II下協(xié)議棧uIP的移植與應用[J].計算機技術與發(fā)展,2012,22(9):143-145.

分享到:


關鍵詞: SSPA電源工

評論


技術專區(qū)

關閉