微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 以太网网关节点在节能计量系统中的设计

以太网网关节点在节能计量系统中的设计

时间:03-28 来源:博控自动化技术公司供稿 点击:

道发送信标请求,并接收PAN Co-ordinator的信标请求回应。需要扫描的通道和速率将在config.h中定义。扫描请求的初始化和发送的工作可以通过MLME请求的方式通过IEEE 802.15.4的MAC层发送。

  3.AppColdStart()将通过vProcessEventQueues来检查和处理MLME回应。这个函数将调用vProcessIncomingMlme()来处理收到的MLME回应。vHandleAcTIveScanResponse()会被调用处理返回的活动通道扫描结果:

  如果找到PAN Co-ordinator,函数将保存相应的Co-ordinator信息(比如 PAN ID,短地址,逻辑通道),并且调用vStartAssociate()向Co-ordinator来提交入网请求,这一请求将通过MLME请求的方式提交。

  如果PAN Co-ordinator没有被找到(可能是由于Co-ordinator还没有初始化完成)。这一函数将重新调用vStartAcTIveScan()来重新启动扫描。

  4. AppColdStart将循环的调用vProcessEventQueues()等待来自Co-ordinator的入网回复。当收到回复后就将调用vProcessIncomingMlme(),然后将调用vHandleAssociateResponse来处理回复,接下来的函数将检查回复的状态:

  如果PAN Co-ordinator接受的入网请求,将设备置于联网状态。

  如果PAN Co-ordinator拒绝了入网的请求,函数就将重新调用vStartActiveScan()来开始搜索另外一个PAN Co-ordinator。

  5. AppColdStart()接下来将循环的调用vProcessEventQueues来等待来自于PAN Co-ordinator的MCPS信息或者硬件的队列信息。

  当数据到达了MCPS队列,vProcessEventQueue()首先使用函数vProcessIncomingMcps()来接收数据帧,接着调用vHandleMcpsDataInd(),接着调用vProcessReceivedDataPacket(),开发人员可以在这个函数里面编写自己的数据处理过程。

  当硬件事件到达硬件事件队列,vProcessEventQueues()将调用vProcessIncomingHwEvent()来接收到达的事件,您可以在这个过程中编写自己的事件处理逻辑。

  下面的图表示了End Device的工作过程。

  

图4-4-10 EndDevice程序流程

  W5500驱动:

  Coordinator作为网络的中心,通常也是数据汇聚的中心。因为我们在Coor的代码中加入W5500的操作。

  硬件连接上W5500作为SPI Slave工作,使用IO管脚如下:

  在系统的初始化vInitSystem()中加入W5500的初始化,

  // 初始化和W5500连接的SPI

  vAHI_SpiConfigure(1, E_AHI_SPIM_MSB_FIRST, E_AHI_SPIM_TXPOS_EDGE,

  E_AHI_SPIM_RXPOS_EDGE, 1, E_AHI_SPIM_INT_DISABLE,

  E_AHI_SPIM_AUTOSLAVE_DSABL);

  使用Eclipse IDE环境,在工程文件中添加W5500的驱动:

  

  图4-4-11 Eclipse IDE

  在工程导航栏可以看到:

  

  图4-4-12 工程导航

  然后,把wizchip_conf.c中的接口代码替换为JN5168的SPI函数:

  void wizchip_cs_select(void)

  {

  /* select slave 1*/

  vAHI_SpiSelect(E_AHI_SPIM_SLAVE_ENBLE_1);

  };

  void wizchip_cs_deselect(void)

  {

  vAHI_SpiStop();

  };

  uint8_t wizchip_spi_readbyte(void)

  {

  u8AHI_SpiReadTransfer8();

  return 0;

  };

  void wizchip_spi_writebyte(uint8_t wb)

  {

  vAHI_SpiStartTransfer8(wb);

  };

  这样就完成了代码,我们可以看到无线IEEE802.15.4和以太网W5500的数据转接。

  结 论

  在使用W5500后我们极大的简化了WPAN网关设计,这样保证了通讯速率和可靠性的要求下,用简单的结构诠释了"简单就是可靠"的道理。
——本文选自电子发烧友网4月《物联网技术特刊》透视新设计栏目,转载请注明出处,违者必究!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top