Profibus-DP主站通信平台的设计方案

发布者:心愿实现最新更新时间:2020-08-18 来源: elecfans关键字:Profibus-DP  主站通信平台  ARM 手机看文章 扫描二维码
随时随地手机看文章

引言

Profibus-DP是由西门子公司推出的一种开放式现场总线标准,用于现场级分布式自动化外设之间的高速数据传输。Profibus在2007年4月突破2000万节点大关。据PI(世界性的现场总线Profibus用户组织)称现在已经超过2 500万个节点,并希望在2012年突破5 000万个节点,年销售芯片450万个。


目前国内业界对于Profibus-DP的研究和相关产品的开发都是基于国外提供的专用协议芯片(主站多数采用西门子推出的ASPC2,从站多采用SPC3等智能通信芯片),而没有协议芯片样机开发的相关报道。对于主站的开发,国内一些科研院所(北航706教研室、中科院、浙大等)也曾利用可编程逻辑器件配合MCU设计出简单主站的试验产品,但是这些产品仅能实现单主站的功能,对于组成强大的Profibu-DP网络还望尘莫及。为了打破国外芯片的垄断,推动国内相关芯片及产品的开发,本文提出了一种FPGA与ARM相结合的方式解决Profibu-DP 1类主站的主主通信及主从通信问题,实现了比较完整的主站研制方案。


1 Profibus-DP主站通信机理及技术特性

1.1 Profibus-DP主站通信协议

Profibus协议的结构以OSI为参考模型,DP使用第1层、第2层和用户接口,第3层到第7层未加以描述。一个DP系统既可以是一个单主站结构,也可以是一个多主站结构,本文涉及的是多主站结构。多主站结构使用混合的总线访问控制机制,主站之间采取令牌控制方式;令牌在主站之间传递,拥有令牌的主站拥有总线访问控制权;主站与从站之间采取主从的控制方式。

Profibus-DP主站通信平台的设计方案

令牌是一种特殊的报文,如下所示:

Profibus-DP主站通信平台的设计方案

SD为开始分界符,DA为目的地址,SA为源地址。令牌环是所有主站的组织链,按照主站的地址构成逻辑环。在这个环中,令牌在规定的时间内按照地址的升序在各主站间依次传递,用户通过编写令牌传递程序保证每个主站在一个确切规定的时问内得到令牌,之后该主站就可以在规定的时间内与所属从站通信,也可与所有主站通信。其中主站与所属从站间的数据通信由主站按已确定的循环顺序自动地进行处理。


1.2 令牌循环时间分析

最坏情况下令牌循环时间为:

Profibus-DP主站通信平台的设计方案

其中,TTH为站点令牌保持时间,TTS为令牌的整体传输延迟,TMA为令牌维护时间。在不考虑出错重发的前提下,N个主站令牌的整体传输延迟TTS=N·TTK,TTk是发送令牌PDU(协议数据单元)需要的时间。高优先级报文的传送时间为THMS,报文数量为M;低优先级报文的传送时间为TLMS,报文数量为L。


2.2 ARM控制器部分程序设计

ARM控制器程序对应于Profibus通信协议数据链路层之上的DDLM直接数据链路映射程序、主站通信状态机、应用层数据接口及应用层。

本设计对Profibus-DP协议按层次封装为函数,层层调用。


2.2.1 Slave_Handler状态机

Slave_Handler状态机功能块负责实现主从通信功能,根据从站状态做出相应处理,有固定的处理次序,每次调用Slave_Handler状态机产生一个DDLM请求,从而控制从站进入相应的通信状态。Slave_Handler状态转换图如图2所示。

Profibus-DP主站通信平台的设计方案

2.2.2 Scheduler和FDL_Controller状态机

Scheduler状态机功能块负责实现对Slave_Handler状态机的控制。它向Slave_Handler状态机发送从站轮询控制信号,控制其逐步与从站建立数据交换关系。


FDL_Controller状态机由10个FDL状态组成并在这些状态间转换,如图3所示。

Profibus-DP主站通信平台的设计方案

逻辑令牌环的建立主要工作是对LAS和GAPL的初始化。LAS和GAPL的具体初始化流程如图4所示。

Profibus-DP主站通信平台的设计方案

LAS的形成标志着逻辑令牌环初始化的完成。接下来就是逻辑令牌环运转的维护阶段,令牌将按照LAS进行循环传递,得到令牌的主站有权进行对其所属从站的轮询。传递过程中主站将以固定的时间间隔,通过Request FDLStatus主动帧来询问自己GAP范围内的所有地址,并根据询问结果修改LAS和GAPL。在主站活动表生成之后,前驱站询问ReqtJest FDL Starus,主站回复准备进入逻辑令牌环,并从Listen_Token状态进入Active_Idle状态(主站的前驱站会修改自己的GAP和LAS,并把该主站作为自己的后继站)。主站在Active_Idle状态*总线,能够对寻址自己的主动帧作应答,但没有发起总线活动的权力,直到前驱站传送令牌给它,它保留令牌并进入Use_Token状态,在此状态下驱动Scheduler状态机工作。主站持有令牌后,首先计算上次令牌获得时刻到本次令牌获得时刻经过的时间(即实际轮转时间tRR),并与用户设定的目标轮转时间tTR比较,如果tRR小于tTR,则主站开始处理传输任务。首先处理高优先级传输服务,所有高优先级服务处理完毕后处理低优先级服务。在这个过程中,每一个完整的报文循环之后,主站就重新计算tTR—tTH。若结果小于0,主站进入PassToken状态,将令牌传递给后继站,未完成的任务留到下一次令牌持有的时候再执行。所有传输服务都完成后,不管是否有时间剩余,主站都交出令牌。如果主站接到令牌时发现tTR—tTH


3 系统工作过程

系统工作过程主要是ARM控制器和FPGA的通信交互过程,如图5所示。从系统安全性上考虑,FPGA和ARM建立通信必须有双方的确认信号,虽然Altera Cyclone系列FP-GA从上电到稳定之前引脚没有输出,从系统安全性角度考虑还是不够的。

Profibus-DP主站通信平台的设计方案

这里FPGA_READY信号的设计是考虑到FPGA内部锁相环模块PLL稳定工作之前需要建立时间,而其未稳定时是不能对其进行操作的。通信的状态通过ARM控制器上的状态机(FDL控制状态机、调度状态机和主从通信状态机)进行转换,根据定时要求、从站响应帧给出的信息,以及错误检查等信息,状态机能够应付一般的异常并自行恢复到正常的通信之中。


4 结论

Profibus-DP协议用任何微处理器都能实现,只要微处理器配有内部或外部的异步串行接口(UART),但当数据传输速率较快(超过500 kb/s)时,用ASIC芯片来实现更安全可靠。本文充分利用了FPGA实时性好和ARM核微控制器便于开发的优点,实现了Profibus-DP 1类主站,经过搭建简单测试环境进行测试,能和市场上的成品主从站建立通信连接并进行基本的主主、主从通信。

关键字:Profibus-DP  主站通信平台  ARM 引用地址:Profibus-DP主站通信平台的设计方案

上一篇:采用ARM芯片和LINUX嵌入式系统实现自主避障机器鱼的设计
下一篇:采用光线传感与DSP嵌入式技术实现地震加速度信号处理系统设计

推荐阅读最新更新时间:2024-11-20 10:23

基于Profibus-DP总线与SPC3协议芯片实现电动执行的设计
Profibus现场总线以其的技术性能,在全世界范围内得到广泛的应用。在电动执行机构行业内也需要开发带有Profibus现场总线接口的产品。上海自动化仪表十一厂着重介绍了带有Profibus现场总线接口的智能型电动执行机构的开发、试验和应用,实践证明,使用效果较好,对其推广具有重要意义。 现场总线是一种应用于生产现场,在现场设备(仪表)之间、现场设备控制室内的自动控制装置(系统)之间实现串行、双向、多点数字式的通信技术。它是以单个分散的数字化、智能化的测量和控制设备作为网络节点,用总线连接,实现互相交换信息,共同完成自动控制功能的网络系统与控制系统。 现场总线种类很多,应用于电动执行机构行业主要有Modbus-RTU、Pr
[嵌入式]
基于<font color='red'>Profibus-DP</font>总线与SPC3协议芯片实现电动执行的设计
ARM处理器异常处理的返回地址分析
ARM 处理器一共有7 种类型的异常,按优先级从高到低排列如下: Reset Data Abort FIQ IRQ Prefetch Abort SWI Undefined instruction 当任何一个异常发生并得到响应时,ARM内核自动完成以下动作: 1、拷贝CPSR到SPSR_ mode 2、设置适当的CPSR位: 改变处理器状态进入ARM状态; 改变处理器模式进入相应的异常模式; 设置中断禁止位禁止相应中断。 3、更新LR_ mode 4、设置PC到相应的异常向量 当一个异常处理返回时,一共有3 件事情需要处理:通用寄存器的恢复、状态寄存器的恢复以及PC 指针的恢复。 通用寄存器的恢复采用一般的堆栈操作指令,
[单片机]
<font color='red'>ARM</font>处理器异常处理的返回地址分析
ARM】AD转换器
A/D转换器的一般步骤 模拟信号进行A/D转换的时候,从启动转换到转换结束输出数字量,需要一定的转换时间,在这个转换时间内,模拟信号要基本保持不变。否则转换精度没有保证,特别当输入信号频率较高时,会赞成很大的转换误差。要防止这种误差的产生,必须在A/D转换开始时将输入信号的电平保持住,而在A/D转换结束后,又能跟踪输入信号的变化。因此,一般的A/D转换过程是通过取样、保持、量化和编码这4个步骤完成的。一般取样和保持主要由采样保持器来完成,而量化编码就由A/D转换器完成。 实例 1 //main.c 2 3 #include 2410lib.h 4 5 externvoid adc_test(void); 6
[单片机]
龙芯展望2035年:将推7nm 32核CPU 与x86、ARM三足鼎立
目前全球主流的通用CPU架构有x86及ARM,它们占据了桌面、服务器及移动平台的绝大多数份额,国内有龙芯开发的龙芯架构,去年推出了自研的指令集LoongArch及龙芯3A/3C5000系列处理器。 龙芯3A/3C5000系列使用的是12nm工艺,频率2.3到2.5GHz,桌面版是4核架构,服务器版是16核架构,在GCC编译环境下运行SPEC CPU2006的定点、浮点单核Base分值均达到26分以上,四核分值达到80分以上。 基于国产操作系统的龙芯3A5000桌面系统的Unixbench单线程分值达1700分以上,四线程分值达到4200分以上。上述测试分值已经逼近市场主流桌面CPU水平,在国内桌面CPU中处于领先地位。
[半导体设计/制造]
龙芯展望2035年:将推7nm 32核CPU 与x86、<font color='red'>ARM</font>三足鼎立
ARM9 mini2451裸机学习——NAND flash驱动学习 2
上一篇文章主要学习了NAND Falsh的基础知识,今天则来总结NAND Flash的初始化,以及块擦除,页的读写操作,以及芯片id号的获取。 6. NAND FLASH 的操作接口 我们知道,函数在调用时需要使用栈,当项目的函数调用关系复杂时,尤其是存在多级 函数调用时,容易导致栈溢出,此处函数调用的开销也会逐渐加大。 为了更好的解决上述问题,一般使用宏的形式来实现规模较小的函数,因为宏调用时在 预处理阶段,由预处理器对源程序中的宏进行展开,所以宏展开不占用运行时间。 因为每一次宏调用都需要进行宏展开,所以会加大程序的代码量,因此规模较大的函数 不宜使用宏的形式来实现 ① NAND FLASH 使
[单片机]
<font color='red'>ARM</font>9 mini2451裸机学习——NAND flash驱动学习 2
基于ARM的数控机床网络控制系统
将制造车间的数控设备与计算机联网构成DNC(DistributedNumericalContro1)系统,已成为实现CAD/CAM一体化及计算机辅助生产管理集成化迫切需要解决的核心技术之一。而通信网络的实现又是构建集成DNC系统的最关键的技术,它一般包括两个层次,上层是DNC主机与CAD/CAM/CAPP、 MRPII系统币睥间服务器的通信,下层是DNC主机与车间各种数控设备的通信数控机床联网的方法很多引,如串行通信方法口、MAP通信技术、现场总线、以太网等。这些通信方法虽然在一定程度上实现了数控机床的联网,但在应用中它们或多或少地存在一些不足。为了提高数控机床联网控制系统的可集成性和满足实时调度功能,笔者提出了基于工业以太网
[单片机]
基于<font color='red'>ARM</font>的数控机床网络控制系统
Ubuntu下Eclipse搭建ARM开发环境
第一步:安装JRE 和 Eclipse 详细步骤请参考:http://blog.csdn.net/ex_net/article/details/7251664 第二步:安装 arm -linux-gcc 和 arm-linux-g++ (1)复制 arm-linux- gcc -4.3.2.tgz 到 /home/tools 目录下,然后解压缩到 根目录下 / # tar -xvzf arm-linux-gcc-4.3.2.tgz -C / (2)修改环境变量 # gedit /etc/environment 向该配置文件加
[单片机]
Ubuntu下Eclipse搭建<font color='red'>ARM</font>开发环境
ST-Ericsson与ARM演示多处理移动平台
     2009年2月16日ST-Ericsson在上海宣布,将在巴塞罗那举行的世界移动大会上,演示全球首个支持Symbian OS™(操作系统)的对称式多处理(SMP)移动平台。这项技术突破在移动领域尚属首次,它基于ARM® Cortex™-A9多核处理器,可提供前所未有的性能与功效,与前几代基带/应用处理器架构相较,实现了重大跨越。利用ST-Ericsson的移动平台,Symbian OS将以更高效率运行更多应用,而总功耗更低。       高速互联网接入催生用户对PC般高速的移动终端的需求,这进一步要求计算性能的提升。ST-Ericsson新系列系统级芯片(SoC)支持SMP,可根据性能和功耗要求,将不同进程分配给多个
[网络通信]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved