<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > SSPA電源工作狀態(tài)遠(yuǎn)程監(jiān)測(cè)系統(tǒng)設(shè)計(jì)

          SSPA電源工作狀態(tài)遠(yuǎn)程監(jiān)測(cè)系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2016-12-09 來(lái)源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/201612/328275.htm

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

          本系統(tǒng)實(shí)現(xiàn)了μC/OS-II操作系統(tǒng)和uIP網(wǎng)絡(luò)協(xié)議的結(jié)合,并運(yùn)用到電源監(jiān)測(cè)系統(tǒng)中。本系統(tǒng)經(jīng)調(diào)試,軟硬
          件工作均正常。實(shí)際運(yùn)行結(jié)果證明,本監(jiān)測(cè)系統(tǒng)在穩(wěn)定性和實(shí)時(shí)性方面都有很好的表現(xiàn),完全適用于實(shí)際系統(tǒng)的應(yīng)用。隨著嵌入式技術(shù)以及網(wǎng)絡(luò)技術(shù)的發(fā)展,未來(lái)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)的發(fā)展和應(yīng)用將會(huì)有更大的空間。
          參考文獻(xiàn)
          [1] 邵貝貝.μC/OS-II—源代碼公開的實(shí)時(shí)嵌入式操作系統(tǒng) [M].北京:中國(guó)電力出版社,2001.
          [2] 趙偉國(guó),李文軍,梁國(guó)偉.實(shí)時(shí)嵌入式操作系統(tǒng)μC/OS-II 在AT91上的移植[J].中國(guó)計(jì)量學(xué)院學(xué)報(bào),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é)議分析及其應(yīng)用[J].信息工程大學(xué)學(xué)報(bào),2006,7(2):147-149.
          [6] 劉春風(fēng),張代遠(yuǎn).?滋C/OS-II下協(xié)議棧uIP的移植與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(9):143-145.

          分享到:


          關(guān)鍵詞: SSPA電源工

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();