本站小編為你精心準(zhǔn)備了通信電源信息收集程序探索參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
作者:鄒海東錢良單位:中國(guó)衛(wèi)星海上測(cè)控部
軟件平臺(tái)采用WindowsCE系統(tǒng),WindowsCE是一個(gè)可移植的、實(shí)時(shí)的、模塊化操作系統(tǒng),具有多線程、多任務(wù)和確定性的實(shí)時(shí)、完全搶占式優(yōu)先級(jí)的操作系統(tǒng)。硬件開發(fā)部分采用標(biāo)準(zhǔn)ARM開發(fā)板,配合適當(dāng)?shù)膮?shù)采集模塊,布局設(shè)計(jì)簡(jiǎn)單;應(yīng)用軟件部分采用模塊化設(shè)計(jì)的思想,可以使得整個(gè)系統(tǒng)的應(yīng)用設(shè)計(jì)顯得簡(jiǎn)潔、高效。
系統(tǒng)硬件設(shè)計(jì)
1基于ARM處理器的采集系統(tǒng)
通信電源參數(shù)采集系統(tǒng)是基于ARM處理器的應(yīng)用系統(tǒng),其基本任務(wù)是實(shí)現(xiàn)對(duì)模擬電壓、電流量的采集與A/D轉(zhuǎn)換,并能夠通過(guò)系統(tǒng)內(nèi)部的軟件進(jìn)行適當(dāng)處理,便于傳輸至遠(yuǎn)端進(jìn)行集中處理。因此,在具體實(shí)現(xiàn)上,需要解決電壓、電流模擬參數(shù)的采集、強(qiáng)參數(shù)到弱參數(shù)的轉(zhuǎn)換、多路信號(hào)的同時(shí)采集與轉(zhuǎn)換等技術(shù)性問(wèn)題。在開發(fā)系統(tǒng)的硬件選擇上,重點(diǎn)需要關(guān)注系統(tǒng)的A/D轉(zhuǎn)換模塊的基本性能。一般而言,分辨率、轉(zhuǎn)換速率和量化誤差3項(xiàng)指標(biāo)就決定了整個(gè)系統(tǒng)的轉(zhuǎn)換精度,這個(gè)需要根據(jù)實(shí)際應(yīng)用進(jìn)行取舍。圖2顯示了標(biāo)準(zhǔn)的ARM6410開發(fā)板的連接關(guān)系圖,其中包括復(fù)位電路、LCD屏幕、以太網(wǎng)接口與RS-485串口模塊、JTAG調(diào)試模塊、標(biāo)準(zhǔn)電源模塊、鍵盤以及A/D轉(zhuǎn)換模塊(AD7715)等。
2電源參數(shù)處理
本采集系統(tǒng)有兩種類型的采集對(duì)象:1mA~5A電流信號(hào)與-15~24V電壓信號(hào),這也是通信設(shè)備電源中最常見的信號(hào)。對(duì)于大電流信號(hào)(>50mA),需要先通過(guò)電流互感器將大電流轉(zhuǎn)換成小電流(≤50mA),然后再用采樣電阻將所采集的電流信號(hào)轉(zhuǎn)換成系統(tǒng)可以處理的電壓信號(hào)(0~1V),接入到單通道A/D轉(zhuǎn)換器的模擬輸入正、負(fù)端口(IN+,IN-);而對(duì)于小電流信號(hào)(≤50mA),則可以直接接入采樣電阻進(jìn)行轉(zhuǎn)換接入,如圖3(a)所示。對(duì)于-15~24V的電壓信號(hào)可以直接通過(guò)采樣電阻進(jìn)行適當(dāng)降壓,然后再接入到A/D轉(zhuǎn)換器的模擬輸入端口,如圖3(b)、(c)所示。圖4顯示了16位模數(shù)轉(zhuǎn)換芯片AD7715的A/D轉(zhuǎn)換器的基本接口原理圖。其中INP、INN端口為模擬信號(hào)的輸入正、負(fù)端,系統(tǒng)開發(fā)應(yīng)用的關(guān)鍵端口為CS(芯片選擇信號(hào))、SCLK(系統(tǒng)串行時(shí)鐘信號(hào))、DIN(串行數(shù)據(jù)輸入)、DOUT(串行數(shù)據(jù)輸出)以及DRDY(邏輯輸出信號(hào),高電平可讀)等5個(gè)端口。
系統(tǒng)軟件設(shè)計(jì)
1A/D轉(zhuǎn)換處理流程
在WindowsCE系統(tǒng)中,對(duì)外圍設(shè)備的控制與數(shù)據(jù)獲取,需要通過(guò)驅(qū)動(dòng)軟件的流接口函數(shù)[5-6],來(lái)調(diào)用A/D轉(zhuǎn)換模塊中的寄存器來(lái)實(shí)現(xiàn)。對(duì)于本系統(tǒng)的A/D轉(zhuǎn)換模塊而言,驅(qū)動(dòng)軟件需要使用如下幾種流接口函數(shù)。1)AD_Init():初始化A/D轉(zhuǎn)換模塊;2)AD_Open():打開A/D轉(zhuǎn)換模塊,應(yīng)用程序通過(guò)CreateFile()函數(shù)來(lái)調(diào)用該函數(shù);3)AD_Close():關(guān)閉A/D轉(zhuǎn)換模塊;4)AD_Read():從A/D轉(zhuǎn)換模塊中讀取數(shù)據(jù);5)AD_Write():向A/D轉(zhuǎn)換模塊中寫入數(shù)據(jù)。當(dāng)A/D轉(zhuǎn)換模塊工作時(shí),操作系統(tǒng)可以通過(guò)調(diào)用入口點(diǎn)函數(shù),完成驅(qū)動(dòng)軟件的初始化工作。之后,應(yīng)用程序先通過(guò)執(zhí)行CreateFile()函數(shù),調(diào)用AD_Open()來(lái)打開模塊;然后通過(guò)執(zhí)行函數(shù)ReadFile()來(lái)調(diào)用AD_Read()。在函數(shù)AD_Read()中,通過(guò)傳輸函數(shù)來(lái)實(shí)現(xiàn)對(duì)所采集數(shù)據(jù)的讀取。一般A/D轉(zhuǎn)換模塊中的寄存器配置均遵從I2C總線協(xié)議,因此,對(duì)應(yīng)于讀寫操作均可以按照標(biāo)準(zhǔn)流程來(lái)進(jìn)行。圖5顯示了一個(gè)完整的數(shù)據(jù)采集操作流程。
2數(shù)據(jù)緩存池設(shè)計(jì)
由于串口模塊的工作頻率與CPU的工作頻率并不一致,因此需要設(shè)計(jì)一個(gè)數(shù)據(jù)緩存池來(lái)匹配二者之間的差異。當(dāng)串口端以串行方式給CPU發(fā)送數(shù)據(jù)時(shí),系統(tǒng)先將其逐一存入數(shù)據(jù)緩存池,待存滿設(shè)定數(shù)量的數(shù)據(jù)后,再一并按照“先入先出”的順序?qū)⑵渌徒oCPU進(jìn)行集中處理,以提高處理效率。另外,出于對(duì)系統(tǒng)效率的考慮,需要區(qū)分CPU端對(duì)發(fā)送數(shù)據(jù)與接收數(shù)據(jù)的操作差異,故在系統(tǒng)內(nèi)存設(shè)計(jì)兩個(gè)數(shù)據(jù)緩存池,數(shù)據(jù)緩存池的數(shù)據(jù)結(jié)構(gòu)按照環(huán)隊(duì)列方式設(shè)計(jì)。圖6為數(shù)據(jù)緩存池的設(shè)計(jì)示意圖。而對(duì)于其大小的設(shè)計(jì),也需要根據(jù)實(shí)際情況進(jìn)行具體設(shè)定,一方面減少串行數(shù)據(jù)丟失的概率,同時(shí)能夠避免過(guò)多的浪費(fèi)系統(tǒng)存儲(chǔ)空間。
結(jié)論
文中提出一種基于ARM平臺(tái)的通信電源參數(shù)采集系統(tǒng)研究,可以應(yīng)用于通信電源電壓、電流以及工作溫度等各種電子參數(shù)的數(shù)據(jù)采集與監(jiān)視,同時(shí)通過(guò)RS485接口或者以太網(wǎng)接口將所采集的數(shù)據(jù)傳送至遠(yuǎn)程監(jiān)測(cè)服務(wù)器;系統(tǒng)采用了ARM處理器,不僅功耗低,成本低,而且可以運(yùn)行WindowsCE、μC/OS-II、VxWorks等嵌入式實(shí)時(shí)操作系統(tǒng),應(yīng)用拓展性強(qiáng),能夠?yàn)橄到y(tǒng)的大型應(yīng)用提供保證。