摘要: 由于嵌入式系统性价比高开发周期短等优点目前得到了迅猛发展。本文介绍了
基于三星嵌入式ARM9芯片S3C2410X的远程参数包括电压电流、温度、光敏度等的测量监
控系统,叙述了系统的软硬件开发技术,以及参数测量传感器应用。测量参数以SNMP的
MIB数据库存储,并可通过IP网络远程访问控制。系统设计方案先进,产品在实际生活
中也得到了广泛的应用。
关键词: 嵌入式系统,S3C2410X,参数测量,网络远程监控
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. 概述
目前嵌入式系统发展非常迅速,各类基于 ARM 处理器的应用开发更是如火如荼,这主要
是由于嵌入式系统的高性价比和较短的开发周期短,并且可以实现于多种多样的应用系
统中。本文介绍了基于三星公司的 ARM9 嵌入式芯片 S3C2410 构建的测量监控系统,以
该 ARM 芯片为主 CPU,实现了交流、直流电压、电流的测量,本地及附近温度的测量以
及光敏度的测量,将测量的结果存储于本地 MIB 数据库中,并通过 IP 网络协议实现远
程访问监控。系统设计方案先进,集成度较高,在实践中得到了广泛的应用。
2. 嵌入式 ARM9 S3C2410X 简介
S3C2410X 是三星公司提供的基于 ARM920T 内核的 32 位 RISC 处理器,它的低功耗、低价
格、高性能设计特别适合于手持设备和通用嵌入式应用场合,为降低整个系统的成本,
它提供了丰富的内部设备,包括分开的 16KB 指令 Cache 和 16KB 数据 Cache,MMU 虚拟
存储器管理,24bbp 模式下最大 16M 色 TFT LCD 控制器,支持 NAND Flash 系统引导,片
选逻辑和 sdram 控制器的系统管理器,3 通道 UART,4 通道 DMA,4 通道 PWM 定时器,117
个通用 IO 端口和 24 通道外部中断源,具有日历功能的 RTC,8 通道 10 位 ADC 和触摸屏
接口,IIC、IIS 接口,USB 主从设备,SD&MMC 卡接口,2 通道的 SPI 以及 PLL 时钟倍频
器。它采用了 AMBA 新型微控制器总线结构,极大地提高了数据及指令的传输速度。其
加强的ARM体系结构MMU可用于WinCE和Linux等 *** 作系统的移植, 并支持各种低价格、
大容量的 NOR/NAND Flash 或 EEPROM 启动。最高工作频率达到 266MHz,并基于小封装
272FBGA。ARM 内核具有标准 JTAG 结构,为应用系统开发提供了方便的调试工具。目前
市场上具有很多通用的开发工具可以用于 S3C2410X 的调试开发。
由于 S3C2410X 具有丰富的接口和内嵌硬件控制器,因此使用其最简系统即可实现大部
分应用系统的功能。其最简系统如图 1 所示,仅包括 S3C2410X ARM9 芯片、32 位 sdram,
价格低廉的大容量 Nand Flash。为了实现串口和网口通信,需增加串口电平转换芯片
MAX232 和网络 MAC 和 PHY 芯片 DM9000(或 LAN9115) 。系统中其他模块均用于实现各种
参数的测量传感等功能。
3. 嵌入式测量监控系统设计
本系统需对被测设备如电力设备或太阳能的电压、电流或温度、光照度等进行测量、参
数采集、存储,并实现远程监控。数据存储格式为 SNMP 的 MIB 数据库方式,数据库能
够通过系统的 SNMP 代理被远方 *** 作员的 SNMP 控制平台所访问存取。传输协议为以太网
的 IP 协议。信息同时能够被本地 *** 作显示,因此本地附有串行接口,基于以上应用需
求,实现系统框图如下图 1 所示。
图 1 系统原理框图(Fig1 System Diagram)
本系统需采集远端、本地两个温度检测,一个光照度检测,三个直流 DC 8-130V 电压检
测,三个直流 DC 0-20A@12VDC 电流检测,一个交流 AC 105-280V 电压检测,一个交流
AC 0-20A@120VAC 电流检测。测量使用原理及所用传感器件下节叙述。系统硬件平台采
用 S3C2410X 标准硬件平台,主 CPU 带 sdram 作为主存,NAND Flash 作为程序存储空间,
并从 NAND Flash 进行启动,其临时数据库存放于 sdram 中,当到一定时间间隔,或者
接收到命令时,将 sdram 中的数据库备份到 Flash 中。测量时通过 ARM9 的 IO 端口测量
温度和光照度, 通过片内ADC将交直流电压电流通过传感器转变后的输出电压进行采样,
然后通过 CPU 计算后存入数据库。
4. 参数测量实现
各参数测量是本系统的前端电路,也是最终目的。由于 ARM 系统 3.3V 供电,具有通用
IO 接口和内置 ADC 电路,因此只要将各测量参数通过相应的传感设备转换为 IO 数据或
0-3.3V 的模拟电压量,就可通过 ARM 处理器采集,从而转换为数字信号进而数字存储或
通过网络传输。各参数的测量采集电路见图 2 所示。
图 2 参数测量原理
直流电压的采集可以直接通过电阻分压取得,因为已知需要采集的直流电压的范围,将
最大电压值映射为 3.3V,即可获得图 2 中的两个分压电阻的值。测量时,将 ARM 采集得
到的 ADC 值乘以已知的系数即可得到当前的直流电压值。为了对 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 系列精密电压互感器,该器件采用坡膜合金铁芯,线性度
优于 0.1%。体积小,直接焊接在电路板。全封闭,抗电强度高。它是一种电流型电压互
感器,不同的输入电压通过限流电阻使一次侧流过不同的电流,二次得到一个与一次相
同的电流。经运算放大器或电阻直接取样,得到不同的输出电压,如图 2 所示。
此时采集到的电压值实际上是交流电压的瞬时值,其实时性好,相位失真小,本文用软
件代替硬件实现交流电压采集可以使得硬件投资减小,实践证明,采用该方法并通过算
法计算后获得的电压、电流、有功功率、功率因数等电力参数有着较好的精确度和稳定
性。
电压有效值公式为将其离散化,以一个周期内有限个采样电压数字量来
代替一个周期内连续变化的电压函数值,则式中 ΔTm为相邻两次采
样的时间间隔;um 为第 m-1 个时间间隔的电压采样瞬时值;N 为 1 个周期的采样点数。
若相邻两采样的时间间隔相等,即 ΔTm 为常数 ΔT,考虑到 N=(T/ΔT)+1,则有
值。功率因数为 cosφ=P/UI。系统的采样时间间隔由用户确定。采样时,在 1 个信号周
期内等时间间隔准确采样 16 点并存储结果,采集完后,对采集的数据进行数字滤波并
计算得到相应的值。
交直流电流的采集采用霍尔器件 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,由于电流可以正反方向,因此用同
样的方法可以测试交流和直流电流。
系统中温度测量采用 DS18B20 分辨率可编程单线数字温度计,并可结联使用,其应用原
理如图 2 所示。测量温度范围为-55 度至+125 度,精度可达 0.5 度,数字精度可编程为
9 至 12bit。该芯片仅单线输出,可连接 CPU 的 IO 管脚,需进行编程控制。本系统采用
Linux *** 作系统下的 IO 输入输出设备驱动控制进行读写 *** 作,进而实现温度数据的采
集,具体的程序流程如下节所述。
图 3a 电流感应输出电压关系图 图 3b 光照度频率关系图
系统中光照度测量采用光敏传感器 TSL235 电路,该电路是光照度到频率的转换电路,
内置一个硅光敏二极管和电流到频率的转换器,输出为 50%占空比的不同频率的方波,
管脚只有电源、地和输出,输出可直接和 CPU 的 IO 相连,CPU 通过 TIMER 控制或中断检
测即可测得该方波的频率,从而可计算出相应的光照度。其光照度和频率的关系曲线如图 3b 所示。
5. 软件模块
本系统软件在 linux *** 作系统下实现,其软件结构如图 4 所示。按照需求定义,需实现
多种软件协议,有 EIA232, IEEE802.3, IPv4, ICMP, ARP, TCP, UDP, SNMP V2,3 Agent,
NTP Client, DNS Client, TFTP Server, HTTP Server, TELNET Server 等。系统启动
时需对硬件和软件模块进行初始化和诊断,并将诊断结果实时输出到串口。然后将控制
权交给 *** 作系统。 *** 作系统和应用程序存储于 flash 中, 当具体运行时装载到 sdram 中。
启动时读取用户配置文件(或默认配置)并进行各种参数的配置,如通信速率、IP 地址
等,然后开始测量、收集、存储数据在 sdram 和 flash 的 MIB 数据库中。当有网络或串
口用户进行通信时完成数据交换和命令的实现。
系统中 ADC、IO 等 *** 作均采用设备驱动方法实现,先编写设备驱动程序,将驱动加入到
*** 作系统中,然后在应用中调用驱动程序。如 DS18B20 温度采集采用 IO *** 作的方法。
先建立 IO 驱动, module_init(DS18B20_init), 主要实现设备注册 register_chrdev(240,
"ds18b20", &DS18B20_fops)。DS18B20_fops 文件 *** 作主要包括 ioctl,通过 ioctl 中
WriteOneChar,ReadOneChar 等 IO 的控制实现温度的采集。
6.结语
本文介绍了基于 S3C2410X ARM 的参数测量系统,该系统可针对电力设备的电压、电流、
温度、光敏度等进行测量、采集,存储于系统内部基于 SNMP 的 MIB 数据库中,并通过
网络协议进行远程访问。系统采用 ARM 嵌入式实现,性价比高,功能强,在实际中得到
了很好的应用。
参考文献:
[1] 王学德,周敏,高璟,一种基于ARM核处理器的嵌入式网络温度传感器设计,机械管理
开发 ,2006年03期.
[2] S3C2410X User's manual,
http://www.hhcn.org/maindoc/um_s3c2410s_rev12_030428.pdf.
[3] 刘俊峰,李雪玲,基于单片机的电力监控系统交流采样技术的实现, 单片机及嵌入
图 4 系统软件结构 式系统应用. 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 月出生,籍贯江苏苏州,博士,副教授,毕业于上海交通大
学电子信息学院通信与信息系统专业,现从事上海电力学院电子及通信的教学和科研工
作。主要研究方向为嵌入式系统及流媒体网络。
通信地址:上海平凉路 2103 号计信学院,200090
Email:samuel.yuan@tom.com
作者王绍徐,女,1967 年 7 月出生,籍贯浙江绍兴,毕业于上海交通大学电子工程系,
现担任上海电力学院电子及通信的教学和科研工作。主要研究方向为嵌入式系统应用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)