首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

以太网远程监控系统实现远程监测控制和管理技术设计开发

以太网远程监控系统实现远程监测控制和管理技术设计开发

关键字:以太网   远程监控   S3C44B0X  
  随着网络通信技术的发展,以太网在工业控制领域的应用日趋广泛,基于以太网的远程监控系统实现远程监测、控制和管理的有效集成[2]。使用远程监控系统通过网络对工业生产过程进行监测,及时了解现场信息,快速进行决策。

  远程控制的关键技术在于如何解决工业现场设备的网络接入问题。目前,主要有两种方法:一种是使用PC机通过PC机端口(如RS232、USB接口)或数据采集卡来采集数据同时提供网络接口[3],这种方法利用强大的PC机软件支持,容易实现网络通信功能,但是PC机端口资源有限,专用采集卡成本较高,难以推广;另一种就是在现场使用嵌入式系统实现网络接入,嵌入式系统具有功耗低、体积小、成本低、可靠性高、实时性强等特点,使用在工业控制现场比较合适。

  本文将嵌入式技术和网络技术相结合,在现场利用嵌入式系统实现网络通信功能以实时传输液位信号和控制信号,在客户端PC机上通过套接字编程实现与现场嵌入式系统的远程通信,从而达到对远程液位的监控。

  1 远程液位监控系统结构

  本文设计的远程液位监控系统结构如图1所示:其中,处理器芯片采用ARM微处理器S3C44B0X;S3C44B0X自带8路10位ADC进行A/D转换来采集液位数据,通过扩展DAC0832实现D/A转换以输出控制量;S3C44B0X连接10M以太网卡RTL8019AS,提供网络功能的硬件接口;μC/OS-Ⅱ移植到S3C44B0X上,提供操作系统的支持,方便了应用程序的开发和对整个系统的管理;嵌入式TCP/IP协议栈LwIP移植到 μC/OS-Ⅱ平台上,实现对网络数据的软件处理,从而为嵌入式系统提供网络通信功能;远程PC机客户端登录到嵌入式系统服务器上,通过以太网实现两端数据的实时交互。


图1 远程液位监控系统结构图


  2 硬件介绍与设计

  三星的S3C44B0X微处理器芯片采用ARM公司16/32位ARM7TDMI RISC结构的CPU核,主频为66MHz,通过扩展一系列通用外围部件,提供丰富的外设功能。它的存储系统具有8个存储体,每个有32MB的存储空间,通过nGCS0-7这8个片选来分配。本文使用的设计方案中nGCS0接Flash芯片AM29LV160DB,起始地址0x00000000,大小为 2MB,nGCS6接SDRAM芯片HY57V641620ET-7,起始地址为0x0c000000,大小为8MB,nGCS3接RTL8019AS,起始地址为0x06000000。

  RTL8019AS是一款高度集成的全双工以太网控制器,收发可同时达到10Mbps的速度;支持8 位、16位数据总线,8个中断请求线可供选择;支持UTP、AUI和BNC的自动检测;内置16K的SRAM,用于数据缓冲,以256B为单位的分页结构,可以自行分配用于收发的分页的大小和位置,一般前12页用于发送缓冲,后52页用于接收缓冲;硬件自带收发CRC校验、FIFO逻辑队列等,减少了主 CPU处理网络数据的工作量。S3C44B0X对RTL8019AS的操作主要集中在对网卡寄存器的读写和网卡内SRAM的处理。

  3 软件设计

  3.1 基于嵌入式系统的服务器端程序设计

  3.1.1 S3C44B0X上μC/OS-Ⅱ的移植

  嵌入式操作系统μC/OS-Ⅱ可以运行于各种不同类型的微处理器上,其内核小、效率高,并且具有高度的模块化和可移植性,支持多任务实时调度,扩展后可支持网络功能、图形界面等,使得应用程序的开发更加简单,功能更加丰富。

  在使用μC/OS-Ⅱ之前,要先将它移植到S3C44B0X上,移植工作主要包括三个方面[4]:

  (1) 设置与处理器和编译器相关的代码,包括一系列数据类型的定义,开中断宏、关中断宏的实现,定义堆栈的生长方向;

  (2)用C语言编写6个操作系统相关的函数:OSTaskStkInit()初始化任务的堆栈结构,和5个钩子函数OSTaskDelHook()、 OSTaskSwHook()、OSTaskStatHook()、OSTimeHook()、OSTaskCreateHook();

  (3) 用汇编语言编写4个与处理器相关的函数:运行优先级最高的就绪任务函数OSStartHighRdy(),任务级的任务切换函数OS_TASK_SW(),中断级的任务切换函数OSIntCtxSw(),时钟节拍服务函数OSTickISR()。
返回列表