保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

DNP3.0在基于DSP的FTU中的实现


单元是字节,而TIC中却没有这一数;据类型,在用结构体类型定义具体的数据结构时,都是按字(WORD)对齐的,因此只能将DNP3.0数据格式中的BYTE定义为16位无符号整数WORD,将DNP3.0中的WORD定义为32位无符号整数DWORD。接收数据时将每个字节都存储至一个字的低8位,发送时则只取每个字的低8位,这样虽然浪费了一半的存储器空间,但程序编写容易,效率也较高。
  
  根据DNP3.0的层次结构定义三个结构体——链路层DL_LAYER、传输层T_LAYER和应用层APP_LAYER,每个结构体再按照DNP3.0中相应层规定的字段去逐个定义相应的成员即可。如链路层包括报头和n个数据块,报头又包括起始字、长度、控制字节等字段,控制字节按比特位又包括功能码、方向位和帧计数位等。链路层结构定义为:
  
  (1)DL层控制字
  
  typedefstruct{
  
  WORDb0-3_FuncCode:4,/*功能码*/
  
  b4_FCV:1/*帧计数有效位*/
  
  b5_FCB:1,/*帧计数位*/
  
  b6_PRM:l/*主站标志位*/
  
  b7_DIR:1;/*方向位*/
  
  }DL_CONTROL;
  
  (2)DL层报头
  
  typedefstruct{
  
  DWORDdwStart;/*起始字*/
  
  WORDwLength;/*长度*/
  
  DL_CONTROLDLCtrl;/*控制字*/
  
  DWORDdwDest;/*目的地址*/
  
  DWORDdwSource;/*源地址*/
  
  DWORDdwCRC;/*校验码*/
  
  }DL_HEADER;
  
  (3)DL层数据块
  
  typedefstruct{
  
  WORDawUserData[l6]/*用户数据*/
  
  DWORDdwCRC;/*校验码*/
  
  }DL_DATABLOCK;
  
  3.3流程图
  
  DNP3.0已经详细规定了协议的层次结构及每一层的功能,程序的层次结构只要与其一致就会非常清晰,编程时只需遵照这些层次间的数据流向编写相应的函数即可。物理层对应串口收发中断子程序,链路层、传输层和应用层在接收与发送时各有一套函数去处理,以对应串口的全双工工作方式。其中,链路层接收处理流程如图3所示。
  
  3.4ASP的相关程序
  
  3.4.1ASP的寄存器定义
  
  ioportunsignedportFFF4;
  
  #defineADTRportFFF4/*收发寄存器*/
  
  ioportunsignedportFFF5;
  
  #defineASPCRpoaFFF5/*控制寄存器*/
  
  ioportunsignedportFFF6;
  
  #defineIOSRpoaFFF6/*I/O状态寄存器*/
  
  
  
  
  >ioportunsignedportFFF7;
  
  #defineBRDportFFF7/*波特率发生器*/
  
  3.4.2初始化ASP
  
  voidInitASP(){/*初始化异步串口*/
  
  ASPCR=0xE080;/*RIM=1L:允许接收中断,
  
  STB=0:一位停止位*/
  
  IOSR=0xl800;/*THRE=1:ADTR空*/
  
  BRD=0x0020;/*20MHz/38400bps*/
  
  }
  
  3.4.3异步串口呻断服务子程序
  
  voidinterruptaspint(){
  
  if((IOSR&0x0l00)==0x0l00){
  
  Recv();}/*有接收数据*/
  
  if((IOSR&0x0400)==0x0400){
  
  ……;}/*帧错误处理*/
  
  if((IOSR&0x0800)==0x0800){
  
  Send();}/*可以发送数据*/
  
  *IFR=0x20;/*清中断标志*/;
  
  asm("clrcINTM")/开中断*/;
  
  }
  
  由于采用F206的片内串口作为通信工具,充分利用了DSP的片内集成外设,不仅使得通信模块可靠性较高,而且接口方法简单,ASP的控制和读写通过几个寄存器就可完成,非常方便。采用本文所介绍的方法编写的以DNP3.0为规约的通信子程序流程清晰,符合模块化的要求。自现场投入试运行以来,整个通信模块工作稳定可靠,能迅速响应主站请求,主动上报数据,及时准确。但是随着现场总线技术的发展,FTU还应具备至少一个现场总线接口(如CAN总线接口)。这样不光通信质量有保证,还可以简化通信规约(只保留一个应用层即可),这应该是FTU通信方式的一个发展方向。
  
  
  
 

《DNP3.0在基于DSP的FTU中的实现(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/169891.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。