?
摘要: 由于嵌入式系統(tǒng)性價比高開發(fā)周期短等優(yōu)點目前得到了迅猛發(fā)展。本文介紹了
基于三星嵌入式ARM9芯片S3C2410X的遠程參數(shù)包括電壓電流、溫度、光敏度等的測量監(jiān)
控系統(tǒng),敘述了系統(tǒng)的軟硬件開發(fā)技術,以及參數(shù)測量傳感器應用。測量參數(shù)以SNMP的
MIB數(shù)據(jù)庫存儲,并可通過IP網(wǎng)絡遠程訪問控制。系統(tǒng)設計方案先進,產(chǎn)品在實際生活
中也得到了廣泛的應用。
?
關鍵詞: 嵌入式系統(tǒng),S3C2410X,參數(shù)測量,網(wǎng)絡遠程監(jiān)控
?
Method and Realization of Measuring Remote Parameters
Based on Embedded System
YUAN San-nan?? WANG Shao-xu
(Shanghai University of Electric Power?? Department of C.S. & INFO.? Shanghai?
200090)
?
ABSTRACT: The embedded system has got rapidly development because of its high
performance price ratio and short developing period. This paper introduced a
remote measurement and monitoring system based on Samsung’s ARM920T processor
S3C2410X. The parameters included AC and DC voltage and current, temperature
and luminous flux, they were stored in SNMP MIB database, and can be accessed
through IP network. This paper described hardware and software development
technology, the application of measurement sensors. The system had advanced
technology, and was widely used in practice.
?
KEYWORDS:Embedded System, S3C2410X, Parameter Measurement, Network Remote
Monitoring
?
1. 概述
?
目前嵌入式系統(tǒng)發(fā)展非常迅速,各類基于 ARM 處理器的應用開發(fā)更是如火如荼,這主要
是由于嵌入式系統(tǒng)的高性價比和較短的開發(fā)周期短,并且可以實現(xiàn)于多種多樣的應用系
統(tǒng)中。本文介紹了基于三星公司的 ARM9 嵌入式芯片 S3C2410 構建的測量監(jiān)控系統(tǒng),以
該 ARM 芯片為主 CPU,實現(xiàn)了交流、直流電壓、電流的測量,本地及附近溫度的測量以
及光敏度的測量,將測量的結果存儲于本地 MIB 數(shù)據(jù)庫中,并通過 IP 網(wǎng)絡協(xié)議實現(xiàn)遠
程訪問監(jiān)控。系統(tǒng)設計方案先進,集成度較高,在實踐中得到了廣泛的應用。??
?
?2. 嵌入式 ARM9 S3C2410X 簡介
?
S3C2410X 是三星公司提供的基于 ARM920T 內(nèi)核的 32 位 RISC 處理器,它的低功耗、低價
格、高性能設計特別適合于手持設備和通用嵌入式應用場合,為降低整個系統(tǒng)的成本,
它提供了豐富的內(nèi)部設備,包括分開的 16KB 指令 Cache 和 16KB 數(shù)據(jù) Cache,MMU 虛擬
存儲器管理,24bbp 模式下最大 16M 色 TFT LCD 控制器,支持 NAND Flash 系統(tǒng)引導,片
選邏輯和 sdram 控制器的系統(tǒng)管理器,3 通道 UART,4 通道 DMA,4 通道 PWM 定時器,117
個通用 IO 端口和 24 通道外部中斷源,具有日歷功能的 RTC,8 通道 10 位 ADC 和觸摸屏
接口,IIC、IIS 接口,USB 主從設備,SD&MMC 卡接口,2 通道的 SPI 以及 PLL 時鐘倍頻
器。它采用了 AMBA 新型微控制器總線結構,極大地提高了數(shù)據(jù)及指令的傳輸速度。其
加強的ARM體系結構MMU可用于WinCE和Linux等操作系統(tǒng)的移植, 并支持各種低價格、
大容量的 NOR/NAND Flash 或 EEPROM 啟動。最高工作頻率達到 266MHz,并基于小封裝
272FBGA。ARM 內(nèi)核具有標準 JTAG 結構,為應用系統(tǒng)開發(fā)提供了方便的調(diào)試工具。目前
市場上具有很多通用的開發(fā)工具可以用于 S3C2410X 的調(diào)試開發(fā)。
?
由于 S3C2410X 具有豐富的接口和內(nèi)嵌硬件控制器,因此使用其最簡系統(tǒng)即可實現(xiàn)大部
分應用系統(tǒng)的功能。其最簡系統(tǒng)如圖 1 所示,僅包括 S3C2410X ARM9 芯片、32 位 sdram,
價格低廉的大容量 Nand Flash。為了實現(xiàn)串口和網(wǎng)口通信,需增加串口電平轉換芯片
MAX232 和網(wǎng)絡 MAC 和 PHY 芯片 DM9000(或 LAN9115) 。系統(tǒng)中其他模塊均用于實現(xiàn)各種
參數(shù)的測量傳感等功能。
?
3. 嵌入式測量監(jiān)控系統(tǒng)設計
?
本系統(tǒng)需對被測設備如電力設備或太陽能的電壓、電流或溫度、光照度等進行測量、參
數(shù)采集、存儲,并實現(xiàn)遠程監(jiān)控。數(shù)據(jù)存儲格式為 SNMP 的 MIB 數(shù)據(jù)庫方式,數(shù)據(jù)庫能
夠通過系統(tǒng)的 SNMP 代理被遠方操作員的 SNMP 控制平臺所訪問存取。傳輸協(xié)議為以太網(wǎng)
的 IP 協(xié)議。信息同時能夠被本地操作顯示,因此本地附有串行接口,基于以上應用需
求,實現(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)硬件平臺采
用 S3C2410X 標準硬件平臺,主 CPU 帶 sdram 作為主存,NAND Flash 作為程序存儲空間,
并從 NAND Flash 進行啟動,其臨時數(shù)據(jù)庫存放于 sdram 中,當?shù)揭欢〞r間間隔,或者
接收到命令時,將 sdram 中的數(shù)據(jù)庫備份到 Flash 中。測量時通過 ARM9 的 IO 端口測量
溫度和光照度, 通過片內(nèi)ADC將交直流電壓電流通過傳感器轉變后的輸出電壓進行采樣,
然后通過 CPU 計算后存入數(shù)據(jù)庫。
?
4. 參數(shù)測量實現(xiàn)
?
各參數(shù)測量是本系統(tǒng)的前端電路,也是最終目的。由于 ARM 系統(tǒng) 3.3V 供電,具有通用
IO 接口和內(nèi)置 ADC 電路,因此只要將各測量參數(shù)通過相應的傳感設備轉換為 IO 數(shù)據(jù)或
0-3.3V 的模擬電壓量,就可通過 ARM 處理器采集,從而轉換為數(shù)字信號進而數(shù)字存儲或
通過網(wǎng)絡傳輸。各參數(shù)的測量采集電路見圖 2 所示。?
?
圖 2? 參數(shù)測量原理
?
?
直流電壓的采集可以直接通過電阻分壓取得,因為已知需要采集的直流電壓的范圍,將
最大電壓值映射為 3.3V,即可獲得圖 2 中的兩個分壓電阻的值。測量時,將 ARM 采集得
到的 ADC 值乘以已知的系數(shù)即可得到當前的直流電壓值。為了對 CPU IO 的保護,電路
中加了BAV99雙二極管進行保護。 設分壓電阻分別是12KΩ和470KΩ, 則Uo = 12/(12+470)
×Ui = Ui/40,按照 ARM 10 位 ADC 采樣結果,如 ADC 采樣值為 Uadc,則采集到的輸入
電壓值為:Ui = [ Uadc/1024] ×3.3×40(V)。
?
交流電壓的采集采用 TV19G_E 系列精密電壓互感器,該器件采用坡膜合金鐵芯,線性度
優(yōu)于 0.1%。體積小,直接焊接在電路板。全封閉,抗電強度高。它是一種電流型電壓互
感器,不同的輸入電壓通過限流電阻使一次側流過不同的電流,二次得到一個與一次相
同的電流。經(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,則有

值。功率因數(shù)為 cosφ=P/UI。系統(tǒng)的采樣時間間隔由用戶確定。采樣時,在 1 個信號周
期內(nèi)等時間間隔準確采樣 16 點并存儲結果,采集完后,對采集的數(shù)據(jù)進行數(shù)字濾波并
計算得到相應的值。
?
交直流電流的采集采用霍爾器件 ACS752SCA-050 和 ACS706ELC-20A,其工作原理相同,
支持的最大電流分別為-50A 到+50A 和-20A 到+20A。它將流過該器件的電流通過霍爾感
應后再處理放大輸出相應的電壓值,該電壓值和流過的電流值成正比,其比例關系如圖
3a 所示。當流過電流為 0 時,輸出電壓為 2.5V(5V 供電),當流過電流為 50A 時,輸
出電壓為 4.5V,當流過電流為-50A 時,輸出電壓為 0.5V,其間為線性變化,由此按照
測出的電壓值可以計算出電流為 I=25×(V-2.5)A,由于電流可以正反方向,因此用同
樣的方法可以測試交流和直流電流。
?
系統(tǒng)中溫度測量采用 DS18B20 分辨率可編程單線數(shù)字溫度計,并可結聯(lián)使用,其應用原
理如圖 2 所示。測量溫度范圍為-55 度至+125 度,精度可達 0.5 度,數(shù)字精度可編程為
9 至 12bit。該芯片僅單線輸出,可連接 CPU 的 IO 管腳,需進行編程控制。本系統(tǒng)采用
Linux 操作系統(tǒng)下的 IO 輸入輸出設備驅動控制進行讀寫操作,進而實現(xiàn)溫度數(shù)據(jù)的采
集,具體的程序流程如下節(jié)所述。

??
圖 3a 電流感應輸出電壓關系圖?? 圖 3b 光照度頻率關系圖?
?
系統(tǒng)中光照度測量采用光敏傳感器 TSL235 電路,該電路是光照度到頻率的轉換電路,
內(nèi)置一個硅光敏二極管和電流到頻率的轉換器,輸出為 50%占空比的不同頻率的方波,
管腳只有電源、地和輸出,輸出可直接和 CPU 的 IO 相連,CPU 通過 TIMER 控制或中斷檢
測即可測得該方波的頻率,從而可計算出相應的光照度。其光照度和頻率的關系曲線如圖 3b 所示。
5. 軟件模塊?
?
?
?
?
本系統(tǒng)軟件在 linux 操作系統(tǒng)下實現(xiàn),其軟件結構如圖 4 所示。按照需求定義,需實現(xiàn)
多種軟件協(xié)議,有 EIA232, IEEE802.3, IPv4, ICMP, ARP, TCP, UDP, SNMP V2,3 Agent,
NTP Client, DNS Client, TFTP Server, HTTP Server, TELNET Server 等。系統(tǒng)啟動
時需對硬件和軟件模塊進行初始化和診斷,并將診斷結果實時輸出到串口。然后將控制
權交給操作系統(tǒng)。 操作系統(tǒng)和應用程序存儲于 flash 中, 當具體運行時裝載到 sdram 中。
啟動時讀取用戶配置文件(或默認配置)并進行各種參數(shù)的配置,如通信速率、IP 地址
等,然后開始測量、收集、存儲數(shù)據(jù)在 sdram 和 flash 的 MIB 數(shù)據(jù)庫中。當有網(wǎng)絡或串
口用戶進行通信時完成數(shù)據(jù)交換和命令的實現(xiàn)。
?
系統(tǒng)中 ADC、IO 等操作均采用設備驅動方法實現(xiàn),先編寫設備驅動程序,將驅動加入到
操作系統(tǒng)中,然后在應用中調(diào)用驅動程序。如 DS18B20 溫度采集采用 IO 操作的方法。
先建立 IO 驅動, module_init(DS18B20_init), 主要實現(xiàn)設備注冊 register_chrdev(240,
"ds18b20", &DS18B20_fops)。DS18B20_fops 文件操作主要包括 ioctl,通過 ioctl 中
WriteOneChar,ReadOneChar 等 IO 的控制實現(xiàn)溫度的采集。
?
6.結語
?
本文介紹了基于 S3C2410X ARM 的參數(shù)測量系統(tǒng),該系統(tǒng)可針對電力設備的電壓、電流、
溫度、光敏度等進行測量、采集,存儲于系統(tǒng)內(nèi)部基于 SNMP 的 MIB 數(shù)據(jù)庫中,并通過
網(wǎng)絡協(xié)議進行遠程訪問。系統(tǒng)采用 ARM 嵌入式實現(xiàn),性價比高,功能強,在實際中得到
了很好的應用。
?
參考文獻:
[1] 王學德,周敏,高璟,一種基于ARM核處理器的嵌入式網(wǎng)絡溫度傳感器設計,機械管理
開發(fā) ,2006年03期.
[2] S3C2410X User's manual,
http://www.hhcn.org/maindoc/um_s3c2410s_rev12_030428.pdf.
[3] 劉俊峰,李雪玲,基于單片機的電力監(jiān)控系統(tǒng)交流采樣技術的實現(xiàn), 單片機及嵌入
圖 4 系統(tǒng)軟件結構 式系統(tǒng)應用. 2001年第1期 P.330-332
[4] DS18B20 Programmable Resolution 1-Wire Digital Thermometer.
http://www.maxim-ic.com.cn/pdfserv/en/ds/DS18B20.pdf
[5] Current Sensor: ACS750xCA-050, ACS706ELC-20A, datasheet of Allegro
Microsystems, Inc.
http://www.allegromicro.com/en/Products/Part_Numbers/0750/0750-050.pdf
[6] TSL235, light-to-frequency converter, datasheet of Texas Instruments Inc.
http://focus.ti.com/lit/ds/symlink/tsl235.pdf
?
作者袁三男,男,1967年 2 月出生,籍貫江蘇蘇州,博士,副教授,畢業(yè)于上海交通大
學電子信息學院通信與信息系統(tǒng)專業(yè),現(xiàn)從事上海電力學院電子及通信的教學和科研工
作。主要研究方向為嵌入式系統(tǒng)及流媒體網(wǎng)絡。
通信地址:上海平?jīng)雎?2103 號計信學院,200090
Email:samuel.yuan@tom.com
?
作者王紹徐,女,1967 年 7 月出生,籍貫浙江紹興,畢業(yè)于上海交通大學電子工程系,
現(xiàn)擔任上海電力學院電子及通信的教學和科研工作。主要研究方向為嵌入式系統(tǒng)應用。
電子發(fā)燒友App






評論