• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于以太网的电力智能监控终端的研究

基于以太网的电力智能监控终端的研究

录入:edatop.com     点击:
4.2 软件实现

1) 初始化W3100

        初始化W3100时,应首先对其进行硬复位,然后设定MAC地址及IP,最后初始化SOCKET接口。
  ResetEthernet(); //硬复位W3100
  InitW3100A(); //初始化W3100
  InitNetConfig(); //配置以太网卡参数
  InitSocket(); //初始化SOCKET

2) 中断服务程序

  根据W3100的使用手册,在系统中提供一个硬件中断作为W3100的中断输入,在中断服务程序中记录状态值。代码如下。
  _interrupt(INT_PCA0) _using(INT_PCA0_PSW)
  {
  u_char status;
  status = INT_STATUS;
  while (status)
  {
  if (status & 0x01) {
  S_STATUS[0] = STATUS(0);
  INT_STATUS = 0x01;
  }//第1、2、3类似处理
  if (status & 0x10) {
  S_STATUS[0] = STATUS(0);
  INT_STATUS = 0x10;
  }//第1、2、3类似处理
  status = INT_STATUS;
  }
  INT_STATUS = 0xFF;
  }

3) 收发数据

  设计一个任务定时10毫秒进行数据收发处理,其过程如下。
  SOCKET i;
  INT len;
  WORD TSCKNUM = 2404;
  for (i = 0; SockNo < 4; SockNo++)
  {
  switch (Select(i, SEL_CONTROL))
  {
  case SOCK_ESTABLISHED:
  if ((len = select(i, SEL_RECV)) > 0)
  {
  if (len > MAX_BUF_SIZE) len = MAX_BUF_SIZE;
  len = recv(i, data_buf, len);
  send(i, data_buf, len);
  }
  break;
  case SOCK_CLOSE_WAIT: if ((len = select(i, SEL_RECV)) > 0)
  {
  if (len > MAX_BUF_SIZE) len = MAX_BUF_SIZE;
  len = recv(i, data_buf, len);
  }
  close(i);
  break;
  case SOCK_CLOSED:
  init_sock(i);
  break;
  }
  }

5 结束语

在设计与实现电力智能监控终端过程中,应用W3100作为以太网协议栈转换器具有接口简单、编程方便、通讯速率高、工作稳定等特点,能够简化设计难度、加快设计进度,因此W3100在快速实现网络化的设计中具备良好的应用前景。本文以成熟的应用技术为基础,增加了硬件协议转换器,减少了开发风险,缩短了开发周期,提高了产品的应用水平。该电力智能监控终端系统已经产品化,累计创造了1000万元产值。

上一篇:宽带OFDM系统的干扰协调技术
下一篇:基于ASP.NET的Web应用程序安全性的探讨

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图