profibus dp测试软件 Profibus-DP主站通信平台的设计方案
介绍
Profibus-DP是西门子推出的开放式现场总线标准,用于现场级分布式自动化外设之间的高速数据传输。Profibus在2007年4月突破了2000万节点大关。根据PI(世界现场总线Profibus用户组织)的数据,现在已经有超过2500万个节点,希望在2012年节点数超过5000万个,年销量达到450万个芯片。
目前国内业界对Profibus-DP的研究和相关产品的开发都是基于国外提供的专用协议芯片(主站大部分采用西门子推出的ASPC2,从站大部分采用SPC3等智能通信芯片),但没有关于协议芯片原型开发的报道。关于主站的发展,国内一些科研院所(北航706教研室、中科院、浙大等。)也曾使用带MCU的可编程逻辑器件设计简单的主站测试产品,但这些产品只能实现单个主站的功能,远远落后于功能强大的profibus-DP网络。为了打破国外芯片的垄断,促进国内相关芯片和产品的发展,本文提出了FPGA和ARM相结合的方法,解决profibus-DP 1主站的主从通信和主从通信问题,实现了一个比较完整的主站开发方案。
profibus-DP主站的通信机制和技术特点
1.1 Profibus-DP主通信协议
Profibus协议的结构以OSI为参考模型,DP使用第1层、第2层和用户接口,第3层到第7层不做描述。动力定位系统可以是单主站结构,也可以是多主站结构。本文讨论了多主站结构。多主站结构采用混合总线访问控制机制,主站之间采用令牌控制。令牌在主站之间传输,拥有令牌的主站拥有总线访问控制权;主站和从站之间采用主从控制方式。
令牌是一种特殊的消息,如下所示:
SD是起始分隔符,DA是目的地址,SA是源地址。令牌环是所有主站的组织链,根据主站的地址形成一个逻辑环。在这个环中,令牌在指定时间内按照地址的升序在主站之间传输。用户编写令牌传输程序,保证每个主站在规定时间内获得令牌,然后主站可以在规定时间内与下属从站或所有主站进行通信。其中,主站与下属从站之间的数据通信由主站按照确定的循环顺序自动处理。
1.2令牌周期时间分析
最坏情况下的令牌周期时间为:
TTH是站令牌保持时间,TTS是令牌的整体传输延迟,TMA是令牌维持时间。在不考虑错误重传的情况下,N个主站令牌的总传输时延TTS=N TTk,TTk是发送令牌PDU(协议数据单元)所需的时间。高优先级消息的传输时间为THMS,消息数为M;低优先级消息的传输时间为TLMS,消息数为l
2.2 ARM控制器部分程序设计
ARM控制器程序对应DDLM直接数据链路映射程序、主站通信状态机、应用层数据接口和Profibus通信协议数据链路层上的应用层。
在本设计中,Profibus-DP协议被分层封装成功能,并被逐层调用。
Slave_Handler状态机
Slave_Handler状态机功能块负责实现主从通信功能,根据从站状态进行相应的处理,处理顺序固定。每次调用Slave_Handler状态机时,都会产生一个DDLM请求,从而控制从站进入相应的通信状态。Slave_Handler状态转换图如图2所示。
调度程序和FDL_Controller状态机
调度器状态机功能块负责控制Slave_Handler状态机。它向Slave_Handler状态机发送从站轮询控制信号
LAS的形成标志着逻辑令牌环初始化的完成。下一步是逻辑令牌环操作的维护阶段。令牌将根据LAS循环传输,获得令牌的主站有权轮询其下属站。传输过程中,主站会每隔一定时间通过Request FDLStatus active帧查询GAP范围内的所有地址,并根据查询结果修改LAS和GAPL。主站主动列表生成后,前驱站询问ReqtJest FDL Starus,主站回复准备进入逻辑令牌环,从Listen_Token状态进入Active_Idle状态(主站的前驱站会修改自己的GAP和LAS,把这个主站作为自己的后继站)。当主站处于Active_Idle状态* bus时,它可以响应自己的活动帧,但无权启动总线活动。直到前驱站向其发送令牌,它保持令牌并进入Use_Token状态,在该状态下它驱动调度器状态机工作。主站持有令牌后,首先计算从上一次令牌获取时间到当前令牌获取时间的经过时间(即实际旋转时间tRR),并将其与用户设置的目标旋转时间tTR进行比较。如果tRR小于tTR,主站开始处理传输任务。首先处理高优先级传输业务,在处理完所有高优先级业务后,再处理低优先级业务。在这个过程中,在每个完整的消息周期之后,主站重新计算tTR—tTH。如果结果小于0,主站进入PassToken状态,并将令牌传递给后继站。未完成的任务将被执行,直到持有下一个令牌。所有传输服务完成后,无论是否有剩余时间,主站都会移交令牌。如果主站在接收令牌时找到tTR—tTH
3系统工作流程
系统的工作过程主要是ARM控制器和FPGA之间的通信交互过程,如图5所示。从系统安全的角度来说,FPGA和ARM之间的通信必须经过双方确认。Altera Cyclone系列FPGA的引脚虽然从上电到稳定都没有输出,但是从系统安全的角度来说还是不够的。
这里FPGA_READY信号的设计是考虑到FPGA中的PLL模块在稳定工作之前需要进行设置,但不稳定时无法运行。的通信状态由ARM控制器上的状态机(FDL控制状态机、调度状态机和主从通信状态机)转换。根据时序要求、从站响应帧给出的信息、错误检查等信息,状态机可以自行应对一般异常并恢复到正常通信。
4结论
Profibus-DP协议可由任何微处理器实现,只要微处理器配有内部或外部异步串行接口(UART)即可,但当数据传输速率较快时(500 KB/s以上),用ASIC芯片实现更安全可靠。本文充分利用了FPGA的优势良好的实时性能和ARM核微控制器开发简单,实现了Profibus-DP 1主站。搭建简单的测试环境进行测试后,可以与市面上成品主从站建立通信连接,进行基本的主从通信。
- 上一篇:发短信平台,怎样发短信给10086复机
- 下一篇:电脑页面打不开怎么办
推荐阅读
- 侠盗猎车圣安地斯秘籍/侠盗猎车圣安地斯,作弊码
- 去一趟巴厘岛旅游要多少钱简介
- 苹果6s怎么升级系统,苹果6s怎么设置铃声
- 如何涂指甲油,怎样涂指甲油干得快
- 纪念碑谷艾达的梦攻略第四关,纪念碑谷艾达的梦攻略
- udk虚幻4引擎(游戏开发包工具)软件介绍(udk虚幻4引擎(游戏开发包工具))
- OG梅奥为什么离开nba Pubmed GIST文献月评第十九期(Jun 2018)
- 12306用户名和密码忘记怎么找回账号,12306用户名和密码忘记怎么找回
- 哈尔滨市极乐寺简介
- 二人麻将打法技巧,迅速如何掌握二人麻将技巧
- 故宫门票多少钱一张2021,故宫门票多少钱
- 如何删除微信中的表情包,微信如何删除自己保存的表情
- dnf已经有红字的怎么把红字洗掉,dnf已经洗出红字的装备怎么洗掉
- 海蛏子的家常做法,海蛏子的做法大全
- 微信聊天记录怎么恢复吗,微信聊天记录怎么恢复方法:
- qq飞车帧数如何能锁,QQ飞车帧数如何修改
- 1盎司相当于多少克黄金,盎司等于多少克及一盎司黄金等于多少克
- 怎么恢复路由器出厂,怎样恢复路由器出厂设置
- 触手tvlogo怎么买,如何录制触手TV文章
- 藏语常用问候语及礼貌语 旅行必备