由RS-232串口到PROFIBUS-DP总线的转换接口设计
转自:http://gongkong.ofweek.com/2013-08/ART-310007-11001-28716256_2.html
1.PROFIBUS-DP网络协议
PROFIBUS的网络协议是以ISO颁布的OSI标准七层参考模型为基础的,只是对第三层到第六层进行简化。它的三种模块(FMS、DP和PA)可以适应不同的应用对象和通信速率方面的要求,开放性也好。但它们均使用一致的总线存取协议,该协议是通过OSI参考模型第二层(数据链路层)来实现的,它包括了保证数据可靠性技术及传输协议和报文处理。
数据链路层协议媒体访问控制(MAL)部分采用受控访问的令牌总线(TokenBus)和主从方式。其中令牌总线与局域网IEEE8024协议一致,令牌在总线上的各主站间传递,持有令牌的主站获得总线控制权,该主站依照关系表与从站或与其他主站进行通信。主从方式用于主站和从站间通信,其工作特点是:总线上一个主站控制着多个从站,主站与每一个从站建立一条逻辑链路;主站发出命令(Command),从站给出响应(response);从站可以连续发送多个帧,直到无信息发送、达到发送数量或被主站停止为止。数据链路中帧的传输过程分为三个阶段:数据链路建立、帧传输和链路释放。PROFIBUS-DP并未采用ISO/OSI的应用层,而是自行设置一用户层。该层定义了DP的功能、规范与扩展要求等。DP物理层与ISO/OSI参考模型的第一层相同,采用RS-485传输技术。
2.RS-232设备通信协议
RS-232只是设备通信物理层的一个标准,因此PROFIBUS主站必须向RS-232设备传送它能够理解的数据,这就是RS-232设备的通信协议。所以,为实现PROFIBUS主站与RS-232设备的有效数据通信,PROFIBUS主站编程人员应该了解RS-232设备的通信协议。RS-232设备的通信协议通常有以下两类:
(1)具有应答关系和若干通信指令的通信协议
这是应用比较广泛的通信格式,通信数据可以是ASIIC码或二进制数据。对于这种设备,既有发送又有接收。用户在主
站编程,按照协议规定的报文格式将通信数据填入RS-232总线桥的PROFIBUS数据输出区,通过所产生的中断启动转换接口将通信数据发送到设备,然后总线桥自动转入接收状态。当总线桥数据全部接收完RS-232设备的回答报文数据后,将回答报文数据自动填入PROFIBUS数据输入区,这样,PROFIBUS主站可以在PROFIBUS数据输入区得到RS-232设备的回答报文数据。
(2)无应答关系、单纯接收或发送数据(ASIIC码或二进制数据)的通信协议
此类设备(如条码扫描器)只通过RS-232接口向PROFIBUS主站发送数据,也有的设备(如显示屏)只通过RS-232接收PROFIBUS主站发送的数据。PROFIBUS主站实现这类简单通信协议的原理与第一种协议相同,只是不会出现冲突,编程更为简单。
3.RS232总线桥硬件设计
RS232总线桥系统框图如图1所示:

(以下略)
由RS-232串口到PROFIBUS-DP总线的转换接口设计的更多相关文章
- profibus总线和profibus dp的区别
profibus总线和profibus dp的区别:PROFBUS是一种国际性的开放式的现场总线标准,它既可以用于高速并且对于时间苛求的数据传输,也可以用于大范围的复杂通讯场合.PROFBUS-DP是 ...
- 简单Profibus/DP实验系统的组建
转自:http://www.dndev.com/Profibus/profibustr/system_4.html 引言: 为了让更多刚接触到Profibus系统的朋友能对Profibus的网络架构及 ...
- 通过DP总线实现S7-300/400与SINAMICS S120 通讯
一.DP总线通讯功能概述 S7-300/400与SINAMICS S120 之间通过DP总线可进行周期性及非周期性数据通讯. 使用标准S7功能块SFC14/SFC15,S7-300/400PLC通过P ...
- CAN总线收发节点设计
CAN总线收发节点设计 写在前面 这是微机接口的一个项目作业. 这段时间一直在宿舍隔离,没办法进行焊接和测试,但原理和代码已经在学习板子上经过验证. 设计目标 CAN在工业现场大量应用,尤其是汽车工业 ...
- 单片微机原理P4:80C51串口与串行总线拓展
0. 串口通讯 0. 串口通讯的数据传输方式:单工(单向传输数据),半双工(非同时双向传输),全双工(同时,双向传输) 1. 根据通信方式的不同又分为同步通讯和异步通讯. 同步通讯:所有设备都使用同一 ...
- 基于 FPGA 的 PCIE 总线 Linux 驱动设计
硬件平台 Kintex ®-7 family of FPGAs Intel X86 软件平台 Linux 4.15.0-36-generic #39~16.04.1-Ubuntu Xilinx xap ...
- CapstoneCS5212|DP to VGA|CS5212设计电路方案
CS5212功能概述 CS5212是一款DisplayPort端口到VGA转换器,它结合了DisplayPort输入接口和模拟RGB DAC输出接口.嵌入式单片机基于工业标准8051核心. CS521 ...
- Network基础(三):网线的制作、交换机基本命令模式、交换机命令行基本配置、交换机的密码设置
一.网线的制作 目标: 在常见的计算机网络中,网线主要用来连接计算机与交换机(或宽带路由器).交换机与交换机.交换机与路由器,以及需要连网的其他各种设备.网线的制作与测试是作为网络管理员的一个入门技能 ...
- 创建C#串口通信程序详解
在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports.这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信.我们将使用标准 ...
随机推荐
- C中级 - 文件辅助操作
引言 - 业务有点麻烦 C 功能很强大, 同样书写起来会谨慎(拖泥带水). 不妨通过一个小问题来描述裹脚的 C 需求: 用 C 创建一个文件! 难点在于 1. 文件路径切割成 目录 + 文件名 2. ...
- GNS3 jungle newsfeed 隐藏
windows 7 windows 8.1 1.开始---运行 输入(没有引号):“%appdata%” 2.修改---GNS3/gns3_gui.ini 的两行参数 "default_lo ...
- android 动态控制状态栏显示和隐藏
方法一:(经试验无效,但网上广为流传,也许是我使用方法不当,有待进一步验证……) android想要应用运行时全屏有一种方法是在activity的onCreat方法中加入如下代码: getWindow ...
- 树莓派UPS-18650,添加时钟
1.简介 UPS-18650 是一个专门为树莓派(以下简称 pi)所设计的 UPS 电源,采用两颗标准 的 18650 锂电池进行供电,支持外部电源插入检测,支持边充边放,既插上外部电源时, pi 由 ...
- mysql查询当天,前一天,一周,一个月
当天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...
- Git报错:Your branch is ahead of 'origin/master' by 1 commit
. commit之后,用git status,打印信息为: # On branch master # Your branch is ahead of 'origin/master' by 1 c ...
- 【Go】Mac上安装Go
一:首先安装brew,方便管理,安装方法,终端中输入 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/ins ...
- Flink架构分析之资源分配
Task Slot Flink中每个真正执行任务的TaskManager都是一个JVM进程,其在多线程环境中执行一个或者多个子任务.为了控制一个JVM同时能运行的任务数量,flink引入了ta ...
- 机器人平台框架Yarp - Yet another robot platform
简介 ROS有强大和易用的特性,用的人很多,目前已经推出2.0版本,有相关的官网和论坛.然而其缺点也比较明显. 只能基于Ubuntu系统,且一个ROS版本只能对应一个具体的Ubuntu版本 通信 ...
- 转载:GBDT算法梳理
学习内容: 前向分布算法 负梯度拟合 损失函数 回归 二分类,多分类 正则化 优缺点 sklearn参数 应用场景 转自:https://zhuanlan.zhihu.com/p/58105824 G ...