基于嵌入式系統(tǒng)的遠程參數(shù)測量的方法和實現(xiàn)
1. 概述
本文引用地址:http://www.ex-cimer.com/article/264712.htm目前嵌入式系統(tǒng)發(fā)展非常迅速,各類基于 ARM 處理器的應(yīng)用開發(fā)更是如火如荼,這主要是由于嵌入式系統(tǒng)的高性價比和較短的開發(fā)周期短,并且可以實現(xiàn)于多種多樣的應(yīng)用系統(tǒng)中。本文介紹了基于三星公司的 ARM9 嵌入式芯片 S3C2410 構(gòu)建的測量監(jiān)控系統(tǒng),以該 ARM 芯片為主 CPU,實現(xiàn)了交流、直流電壓、電流的測量,本地及附近溫度的測量以及光敏度的測量,將測量的結(jié)果存儲于本地 MIB 數(shù)據(jù)庫中,并通過 IP 網(wǎng)絡(luò)協(xié)議實現(xiàn)遠程訪問監(jiān)控。系統(tǒng)設(shè)計方案先進,集成度較高,在實踐中得到了廣泛的應(yīng)用。
S3C2410X 是三星公司提供的基于 ARM920T 內(nèi)核的 32 位 RISC 處理器,它的低功耗、低價格、高性能設(shè)計特別適合于手持設(shè)備和通用嵌入式應(yīng)用場合,為降低整個系統(tǒng)的成本,它提供了豐富的內(nèi)部設(shè)備,包括分開的 16KB 指令 Cache 和 16KB 數(shù)據(jù) Cache,MMU 虛擬存儲器管理,24bbp 模式下最大 16M 色 TFT LCD 控制器,支持 NAND Flash 系統(tǒng)引導(dǎo),片選邏輯和dram 控制器的系統(tǒng)管理器,3 通道 UART,4 通道 DMA,4 通道 PWM 定時器,117個通用 IO 端口和 24 通道外部中斷源,具有日歷功能的 RTC,8 通道 10 位 ADC 和觸摸屏接口,IIC、IIS 接口,USB 主從設(shè)備,SD&MMC 卡接口,2 通道的 SPI 以及 PLL 時鐘倍頻器。它采用了 AMBA 新型微控制器總線結(jié)構(gòu),極大地提高了數(shù)據(jù)及指令的傳輸速度。其加強的ARM體系結(jié)構(gòu)MMU可用于WinCE和Linux等操作系統(tǒng)的移植, 并支持各種低價格、大容量的 NOR/NAND Flash 或 EEPROM 啟動。最高工作頻率達到 266MHz,并基于小封裝272FBGA。ARM 內(nèi)核具有標準 JTAG 結(jié)構(gòu),為應(yīng)用系統(tǒng)開發(fā)提供了方便的調(diào)試工具。目前市場上具有很多通用的開發(fā)工具可以用于 S3C2410X 的調(diào)試開發(fā)。
由于 S3C2410X 具有豐富的接口和內(nèi)嵌硬件控制器,因此使用其最簡系統(tǒng)即可實現(xiàn)大部分應(yīng)用系統(tǒng)的功能。其最簡系統(tǒng)如圖 1 所示,僅包括 S3C2410X ARM9 芯片、32 位 sdram,價格低廉的大容量 Nand Flash。為了實現(xiàn)串口和網(wǎng)口通信,需增加串口電平轉(zhuǎn)換芯片MAX232 和網(wǎng)絡(luò) MAC 和 PHY 芯片 DM9000(或 LAN9115) 。系統(tǒng)中其他模塊均用于實現(xiàn)各種參數(shù)的測量傳感等功能。
3. 嵌入式測量監(jiān)控系統(tǒng)設(shè)計
本系統(tǒng)需對被測設(shè)備如電力設(shè)備或太陽能的電壓、電流或溫度、光照度等進行測量、參數(shù)采集、存儲,并實現(xiàn)遠程監(jiān)控。數(shù)據(jù)存儲格式為 SNMP 的 MIB 數(shù)據(jù)庫方式,數(shù)據(jù)庫能夠通過系統(tǒng)的NMP 代理被遠方操作員的 SNMP 控制平臺所訪問存取。傳輸協(xié)議為以太網(wǎng)的 IP 協(xié)議。信息同時能夠被本地操作顯示,因此本地附有串行接口,基于以上應(yīng)用需求,實現(xiàn)系統(tǒng)框圖如下圖 1 所示。
圖 1 系統(tǒng)原理框圖(Fig1 System Diagram)
本系統(tǒng)需采集遠端、本地兩個溫度檢測,一個光照度檢測,三個直流 DC 8-130V 電壓檢測,三個直流 DC 0-20A@12VDC 電流檢測,一個交流 AC 105-280V 電壓檢測,一個交流AC 0-20A@120VAC 電流檢測。測量使用原理及所用傳感器件下節(jié)敘述。系統(tǒng)硬件平臺采用3C2410X 標準硬件平臺,主 CPU 帶 sdram 作為主存,NAND Flash 作為程序存儲空間,并從 NAND Flash 進行啟動,其臨時數(shù)據(jù)庫存放于 sdram 中,當?shù)揭欢〞r間間隔,或者接收到命令時,將sdram 中的數(shù)據(jù)庫備份到 Flash 中。測量時通過 ARM9 的 IO 端口測量溫度和光照度, 通過片內(nèi)ADC將交直流電壓電流通過傳感器轉(zhuǎn)變后的輸出電壓進行采樣,然后通過 CPU 計算后存入數(shù)據(jù)庫。
4. 參數(shù)測量實現(xiàn)
各參數(shù)測量是本系統(tǒng)的前端電路,也是最終目的。由于 ARM 系統(tǒng) 3.3V 供電,具有通用IO 接口和內(nèi)置 ADC 電路,因此只要將各測量參數(shù)通過相應(yīng)的傳感設(shè)備轉(zhuǎn)換為 IO 數(shù)據(jù)或0-3.3V 的模擬電壓量,就可通過 ARM 處理器采集,從而轉(zhuǎn)換為數(shù)字信號進而數(shù)字存儲或通過網(wǎng)絡(luò)傳輸。各參數(shù)的測量采集電路見圖 2 所示。
直流電壓的采集可以直接通過電阻分壓取得,因為已知需要采集的直流電壓的范圍,將最大電壓值映射為 3.3V,即可獲得圖 2 中的兩個分壓電阻的值。測量時,將 ARM 采集得到的 ADC 值乘以已知的系數(shù)即可得到當前的直流電壓值。為了對 CPU IO 的保護,電路中加了BAV99雙二極管進行保護。 設(shè)分壓電阻分別是12KΩ和470KΩ, 則Uo = 12/(12+470)×Ui = Ui/40,按照 ARM 10 位 ADC 采樣結(jié)果,如 ADC 采樣值為 Uadc,則采集到的輸入電壓值為:Ui = [ Uadc/1024] ×3.3×40(V)。
交流電壓的采集采用 TV19G_E 系列精密電壓互感器,該器件采用坡膜合金鐵芯,線性度優(yōu)于 0.1%。體積小,直接焊接在電路板。全封閉,抗電強度高。它是一種電流型電壓互感器,不同的輸入電壓通過限流電阻使一次側(cè)流過不同的電流,二次得到一個與一次相同的電流。經(jīng)運算放大器或電阻直接取樣,得到不同的輸出電壓,如圖 2 所示。
此時采集到的電壓值實際上是交流電壓的瞬時值,其實時性好,相位失真小,本文用軟件代替硬件實現(xiàn)交流電壓采集可以使得硬件投資減小,實踐證明,采用該方法并通過算法計算后獲得的電壓、電流、有功功率、功率因數(shù)等電力參數(shù)有著較好的精確度和穩(wěn)定性。
電壓有效值公式為
將其離散化,以一個周期內(nèi)有限個采樣電壓數(shù)字量來代替一個周期內(nèi)連續(xù)變化的電壓函數(shù)值,則
式中 ΔTm為相鄰兩次采樣的時間間隔;um 為第 m-1 個時間間隔的電壓采樣瞬時值;N 為 1 個周期的采樣點數(shù)。若相鄰兩采樣的時間間隔相等,即 ΔTm 為常數(shù) ΔT,考慮到 N=(T/ΔT)+1,則有
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)互感器相關(guān)文章:互感器原理
評論