首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
嵌入式系统在曙光4000A大规模机群监控系统中的应用
来源:本站整理  作者:佚名  2009-04-02 15:45:01



  对于采集卡主芯片的选择,由于需要支持TCP/IP网络,需要支持IIC接口,同时还可以支持内存控制以及Flash控制器,因此选择了三星公司的ARM芯片S3C4510B,该芯片采用ARM7TDI内核,32位RISC架构。对于嵌入式操作系统的选择,uClinux具有免费、开源、可裁减性好、对TCP/IP网络协议支持的较好并且稳定性高等优点,因此选择uClinux作为嵌入式操作系统。同时由于IIC总线技术有连接简单、数据传输速率高、高可靠性等优点,所以采集卡的主芯片和采集单片机使用IIC总线相连。

  2.2 采集卡(多路器)的功能

  采集卡的主要作用,一方面是从与每组节点机相连的采集单片机中通过IIC总线读取节点机的信息,另一方面监听自身的事先约定的端口,当有连接请求并收到发送数据的命令后送出从采集卡中读取的数据。硬件上已经有了IIC和网络接口,软件方面,可以从网上资源中获取S3C4510B芯片的IIC控制器和网络驱动程序,然后集成到uClinux嵌入式操作系统中。此外还需要一段采集程序实现系统的主要功能。

  采集程序根据系统需要的功能,分为两个部分,一部分定时从IIC总线读取数据,另一部分监听某个约定端口、收取命令并发送数据。这两个部分分别由两个线程来执行。两个线程共享同一块数据缓冲区。线程一通过IIC总线读取采集卡中的数据,写入缓冲区中,线程二一方面读取缓冲区中的数据发送,另一方面在发送完毕后,把已经发送了的缓冲区填写为无效数据。由于数据缓冲区属于临界区域,这两个线程在使用缓冲区的时候要严格互斥。

  程序的主体结构如下:

  read_iic(){ //线程一运行的函数

  打开iic设备;

  while(1) {

  读取iic设备的数据;

  写入全局缓冲区中;

  休眠一定的时间;

  }

  }

  send_data() { //线程二运行的函数

  绑定本地端口;

  监听本地端口;

  while(1) {

  收到命令;

  发送全局缓冲区中的数据;

  填写无效数据;

  }

  }

  main() {

  初始化全局缓冲区;

  创建线程一;

  创建线程二;

  }

  2.3 运行情况以及发展方向

  在实际运行1周后,曙光4000A大规模集群监控系统运行状况良好,其中采集卡功能良好,在规定的延迟内数据传输流畅,没有出现数据漏传、丢失等现象,说明监控系统中的嵌入式系统运行很稳定,发挥了预期的作用。

  在将来的监控系统升级工作中,可以考虑在这个采集卡中加入嵌入式数据库技术,把收到的数据存储起来,并且和uClinux提供的Web服务结合,在Web服务中显示监控系统的数据,这样就可以在任何一台机器上以浏览网页的形式监控整个集群,从而节省了监控节点的开销,提高了采集卡的利用率。

三:结束语

  嵌入式系统体积小、灵活性高,已经被应用到各行各业,例如汽车、家电、航空、精密仪器等等。本文介绍的嵌入式系统在曙光4000A大规模机群监控系统中的应用,结合了ARM技术、IIC总线技术,采用了uClinux嵌入式操作系统,体积小、可扩展性好、成本低,数据流向清晰明确,现在已经作为配套产品提供给用户。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:228,054.70000 毫秒