0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

由下位机、传输网络和上位机组成的环境监控系统的设计方案

电子工程师 来源:网络整理 作者:佚名 2018-02-11 14:28 次阅读

为提高环境监控系统的稳定性,节约系统资源,提出了一种由下位机、传输网络上位机组成的环境监控系统的设计方案,详细介绍了该系统中下位机的硬件及软件设计。该下位机硬件以ARM9处理器S3C2410为核心,软件采用多线程应用程序同时处理多个任务,并采用信号量和互斥量实现线程间的同步。实际应用表明,该系统运行稳定,提高了系统效率。

0引言

随着国民经济及工业技术的发展,环境保护越来越受到重视。现在市场上已经出现了多种环境监控系统,但性能不稳定。现场监控终端大多采用工控机或单片机,前者抗干扰性能好,但成本较高;后者处理能力低,人机界面不友好,不利于现场人员的监控管理。针对上述问题,笔者设计了一种基于多线程的环境监控系统。该系统采用多线程技术有效地实现了监控过程中数据的采集与存储、实时数据显示、下位机(监控终端)与上位机(监控中心)的通信、实时报警等功能。本文重点介绍该系统下位机的设计。

1系统总体结构

基于多线程的环境监控系统由现场监控终端(下位机)、传输网络、监控中心(上位机)3个部分组成,其结构如图1所示。


图1基于多线程的环境监控系统结构

下位机是一个基于A RM9的嵌入式系统,用于定时采集、处理、存储被监测的特征数据。经过下位机处理后的数据,按照相关协议,经GPRS模块发送给上位机。上位机由一台PC机担任,负责接收多个下位机发送的数据,并对这些数据进行分析、处理和显示。环保部门可通过上位机监控其辖区内的污染排放状况。上位机基于VB. NET开发。

2下位机硬件设计

下位机的硬件核心部分由S3C2410、NandFLASH和SDRAM组成,如图2所示。S3C2410是三星公司生产的一款基于ARM920T内核的32位RISC嵌入式微处理器,带有独立的16 KB指令Cache和16 KB数据Cache、LCD控制器、RAM控制器、N and FLASH控制器、并行I/ O口、8路10位ADC,其运行频率可达203 MHz.8位64 MB的Nand FLASH选用的芯片为K9F1208, 64 MB的SDRAM由2片HY57V561620组成。下位机通过以太网控制器CS8900A扩展了一个网口,数据既可以通过无线传输,也可以通过有线传输;通过I/ O接口扩展了8个DI口(数字量输入)、4个AI口(模拟量输入)、4个DO口(数字量输出),下位机通过这些接口与被监控设备通信。


图2下位机硬件组成

3下位机的需求与结构设计

下位机定时采集、处理现场数据,并存储在数据库中,把实时数据发送给上位机,并响应上位机发送的控制命令。因此,下位机需要同时处理多个任务,这些任务并发执行。若使用单线程来完成这些任务,则需要使用多个定时器来触发,而过多的定时器会导致系统不稳定。Window s是抢先式多任务的操作系统,启动了一个应用程序就等于启动了一个进程。一个进程通常拥有一个线程,在系统资源管理中,每一个线程被分配一定的时间片。采用多线程的设计方法可以使程序拥有多个线程,这样程序就能同时处理更多的任务。因此,若使用多个进程来协作完成,能避免上述缺点且系统比较稳定,但系统对进程的频繁调度会占用过多资源,程序的可读性也不好。

笔者采用一种并行的、多线程方案能够很好地处理多个任务,并充分节约系统资源。该方案中,下位机有5个线程:GU I线程、复位线程、数据采集与存储线程、网络通信线程、决策线程。其中GU I线程为主线程,负责界面处理、系统数据的初始化以及创建子线程等任务;复位线程、数据采集与存储线程、网络通信线程是后台的工作线程,通过优先级调度、线程同步等机制保证能可靠执行现场数据采集、存储、发送、显示等任务。复位线程在启动后循环地对看门狗操作,不作为任务处理线程。任务线程之间的关系如图3所示。


图3任务线程之间的关系

4多线程技术在系统中的应用

4. 1线程的创建

Linux环境下,使用pthread_cr eate()函数创建一个新线程,默认情况下主线程会等待被创建的子线程执行结束,得到子线程的返回结果然后再继续往后执行。实时监控程序的子线程都是循环执行的,不需要运行结束后归并到主线程中,需设置其属性为PT HREAD _ CREATE _DETACHED.根据子线程的重要性进行优先级设置,确保重要线程优先执行。子线程的优先级从高到低依次为复位线程、数据采集与存储线程、决策线程、网络通信线程。

线程的创建、设置伪代码如下:

void * thr ead_wat chdog(void * arg); / /复位线程函数

void * thr ead_collect ion(void * arg); / /数据采集与存储线程函数

void * thr ead_communi cat ion(void * arg); / /网络通信线程函数

void * thr ead_decis e(void * arg); / /决策线程函数

int dat a[ 12] ; / /数据缓冲区,用于存放线程间共享的数据函数

main()

{

/ /初始化工作

……

pthread_t wat chd og; / /线程号

pthread_t collect ion;

pthread_t commun ication;

pthread_t deci se;

pthread_at t r_init(); / /初始化线程属性

pthread_at t r_setdetach st at e(); / /不对线程进行重新归并

pthread_at t r_set s ched param(); / /设置线程的优先级

sem_init(); / /对相关信号量进行初始化

pth read_creat e(); / /创建新线程

/ /启动GUI程序

……

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 监控系统
    +关注

    关注

    21

    文章

    3954

    浏览量

    177944
  • 上位机
    +关注

    关注

    27

    文章

    945

    浏览量

    55073
  • 下位机
    +关注

    关注

    0

    文章

    94

    浏览量

    18847
收藏 人收藏

    相关推荐

    地铁传输网扩容改造解决方案

    地铁OTN传输系统 目前,地铁和其他轨道交通通信传输系统的技术方案主要有:开放式传输网络(OTN
    发表于 10-26 11:29

    上位下位数据同步完整传输

    实现了 下位机先采集数据,上位发送指令给下位接收并读取后,下位
    发表于 08-17 17:01

    基于通信电源的监控系统组网方案

    (SS—Supervision Station)和监控单元(SU—Supervision Unit)。对于通信电源监控系统来说,没有必要设置监控中心,因此可以简化为两级集散式结构,
    发表于 09-26 17:33

    基于无线传感器网络的温室环境监控系统设计

    ,形成传输方便,减少布线的无线网络系统还使用了GPRS收发装置,可以完成温室数据与上位之间的无线交换信息和数据处理。
    发表于 11-06 15:47

    下位与远程监控主机怎么实现网络通信?

    针对传统远程通信方式在嵌入式监控系统中的低速、传输距离短、布线复杂等问题,提出了一种基于ZigBee与μIP协议栈的嵌入式网络监控
    发表于 08-27 07:20

    ETest_RT系统哪些部分组成

    1.设备组成ETest_RT系统主要由硬件部分与软件部分组成。硬件部分由上位和实时下位
    发表于 12-17 08:04

    什么是上位,什么是下位

    上位发出的命令首先给下位下位再根据此命令解释成相应时序信号直接控制相应设备。
    的头像 发表于 03-23 10:11 2w次阅读
    什么是<b class='flag-5'>上位</b><b class='flag-5'>机</b>,什么是<b class='flag-5'>下位</b><b class='flag-5'>机</b>?

    上位下位的区别

    上位下位的区别 一、区别 1)上位:系统中起
    发表于 04-26 14:32 5226次阅读

    软件上位下位的区别

    软件上位下位的区别 一、区别 1)上位:系统
    发表于 06-05 11:02 2682次阅读

    上位下位是什么意思

    上位下位是什么意思 上位的意思是指可以直接发出操控命令的计算机,一般是PC/host c
    发表于 06-05 11:09 4751次阅读

    基于Modbus协议的程控电源的上位监控系统设计方案

    电子发烧友网站提供《基于Modbus协议的程控电源的上位监控系统设计方案.pdf》资料免费下载
    发表于 11-06 11:33 3次下载
    基于Modbus协议的程控电源的<b class='flag-5'>上位</b><b class='flag-5'>机</b><b class='flag-5'>监控</b><b class='flag-5'>系统</b><b class='flag-5'>设计方案</b>

    上位下位机关系示意图

    上位(Host)和下位(Slave)是指在计算机控制系统中的两个或多个主要组成部分。通常,
    的头像 发表于 03-05 16:22 2052次阅读
    <b class='flag-5'>上位</b><b class='flag-5'>机</b>与<b class='flag-5'>下位</b>机关系示意图

    上位下位是什么意思 上位下位的区别

    上位下位是计算机控制系统中两个重要的概念,它们在控制、通信和数据处理等方面发挥着关键作用。在本文中,我们将详细探讨
    的头像 发表于 06-06 10:11 6508次阅读

    上位下位之间的通讯方式

      在工业自动化、数据处理和控制系统等领域中,上位下位之间的通讯是确保系统高效、稳定运行的
    的头像 发表于 06-06 11:23 5037次阅读

    上位系统架构分析 上位下位的区别

    和逻辑判断。上位的主要作用包括: 数据采集与处理:从下位或其他传感器收集数据,并进行分析和处理。 用户界面:提供用户界面,允许操作人员监控
    的头像 发表于 12-04 10:17 1402次阅读