80C166单片机PEC服务的PROFIBUS-FDL从站协议实现_第1页
80C166单片机PEC服务的PROFIBUS-FDL从站协议实现_第2页
80C166单片机PEC服务的PROFIBUS-FDL从站协议实现_第3页
80C166单片机PEC服务的PROFIBUS-FDL从站协议实现_第4页
80C166单片机PEC服务的PROFIBUS-FDL从站协议实现_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C166单片机PEC服务的PROFIBUS-FDL从站协议实现摘要:在详尽西门子80C166单片机PEC服务工作机制和PROFIBUS-FDL帧格式的根底上,提出了基于该种单片机PEC服务机制的PROFIBUS-FDL从站协议的实现方法,并在实际工作中得到成功应用.关键词:80C166PEC服务PROFIBUS-FDL

当前工业设备制造技术正向高性能、专用化、分布式、网络化方向发展.以前,大量使用PLC实现的控制系统,实践证明虽然安全可靠,但由于PLC本身的技术原因,很难到达更迅速的实时控制要求它们正被高性能的嵌入式专用控制器替代.这种专用控制器的设计,可以进一步提升设备的控制性能;引入现场总线技术,保证专用控制器的系统可集成性,以适应当前分布式、网络化的应用趋势.

本文是在研制棒材生产线飞剪的专用控制器时涉及的一个子课题.为保证该控制器能与现有PLC网连接以及与远程操作站通信,在几乎不增多硬件的根底上,利用核心CPU——西门子80C166所具有的一个相似DMA的功能高效率地实现PROFIBUS-FDL从站协议.

1西门子80C166单片机

80C166单片机是西门子C166系列16位嵌入式微控制器的第一代产品.其体系构造如图1所示.它结合RISC处理器的优势,克服了CISC处理器在嵌入式应用中的瓶颈;在25MHz时钟频率下,可到达12.5MIPS,几乎所有的指令执行时间小于80ns;在指令处理上,采用四级指令流水线管道构造;在存储管理上,统一线性地址空间可达256KB,具有段代码、页数据式管理机制;采用存放器池,上下文切换时间只要80ns;16位乘法400ns,32位除法800ns,间断响应时间最慢400ns;外部事件控制器PEC服务具有好似DMA的功能,可实现存储器与外设之间的高速数据传输;丰富的在片外设:1KBRAM、10路A/D、76路I/O、7个定时器/计数器、16个比较/捕获单元、2个串行通信接口、在片的WATCHDOG等.

图1西门子80C166体系构造

280C166的PEC服务

2.180C166的PEC服务机制

PEC是外部事件控制器的英文缩写.PEC服务是80C166提供的一种特殊数据传输机制.其目的是在原有的间断控制器根底上,用较小的硬件代价、尽或者少占用途理机周期实现内存与外部设备的迅速数据交换雷同DMA,但无需专用的DMA控制器.80C166有8路PEC服务通道.用PEC服务开展一次数据传输,仅占用途理机一个机器周期20MHz时100ns,且不影响当前程序的执行.

2.2PEC服务的工作过程

通常,当普通间断事件发生时,系统将保存当前CPU状况PSW和程序的地址;然后,凭据不同的间断源,开展上下文切换,装载相应的间断矢量,执行相应的间断服务程序;执行完后,恢复被间断程序的上下文,继续执行被间断程序.

对于某一PEC服务,它老是与一具体间断源、间断矢量或间断服务相连系.在80C166中,当一个间断的间断优先级为最高级14或15且定义了与之有关联的PEC服务通道时,该间断就具有PEC服务功能.这时,当该间断请求发生时,将不触发间断服务程序的执行,而是触发PEC服务.当PEC服务经过设定的若干次的外部事件触发后,再触发执行相应的间断服务程序(一个普通间断过程).

如图2所示.一次PEC服务的工作过程是由PEC控制存放器定义的,其中计数位域(8位传送计数器)COUNT定义了PEC服务的数据传输次数;源指针、目的指针指明具体的数据传输来源和目的;PEC服务的数据传输过程完全由硬件执行:当间断请求发生时,由硬件将源指针所指单元的内容传给目的指针所指的单元,然后由PEC控制存放器相应定义位控制是源指针还是目的指针增多1或2,同时COUNT值减1;当多次间断请求使COUNT减为0时,PEC服务完成,触发与之关联的间断服务程序.

2.3PEC服务应用优点

以串口接收一帧16字节的数据为例.若采用传统的串口接收方式,每接收到一字节,形成一个间断;在间断服务程序中,要将它从串口接收缓冲器中取出,顺序放到帧接收缓冲区相应单元中;当接收满16字节后,开展帧处理.

如果采用PEC服务的方式,只要事先定义好PEC通道就可以了.最初,定义串口接收间断优先级为14或15以及与之有关联的PEC通道.即定义相应PEC通道控制存放器为:COUNT为16字节传输,源指针为串口接收缓冲器,目的指针为帧接收缓冲区首址且每次传输完成后,目的指针加1.如此,串口每接收到一字节,将触发一次PEC服务,由硬件将数据从串口接收缓冲器中取出,顺序放到帧接收缓冲区相应单元中,但当前执行的程序并不被间断;当16字节完全接收完成后,触发串口接收间断服务程序,开展帧的处理.

与传统的串口接收方式相比较,PEC服务方式在开展数据传输时不间断当前程序的执行,因此节省了大量的上下文切换时间,处理机效率得到大大升高.

下面钻探采用80C166的PEC服务实现PROFIBUS-FDL从站协议的方法.

3PROFIBUS-FDL帧构造

3.1PROFIBUS-FDL帧构造

PROFIBUS帧的格式有多种形式,但对于从站来说,只要处理三种帧即可.

.无数据且长度固定的帧:

.带数据域且长度固定的帧:

.带数据域且长度可变的帧:

其中,各字段说明如下:

SD1:无数据帧的开始定界符,#10H;

SD2:可变长度帧的开始定界符,#68H;

SD3:固定长度帧的开始定界符,#A2H;

ED:结束定界符,#16H;

LE与LEr:LE与LEr一样,都表示长度占一个字节,它是DA+SA+FC+DATA-UNIT的字节数总数;

DA与SA:DA目的站地址与SA源站地址各占一个字节;

FCS:校验段,占一个字节,它采用不计进位的求和运算得到校验码.校验域为DA+SA+FC+DATA-UNIT;

FC:帧控制字字段,占一个字节;

SYN:同步字段,至少33空闲位(逻辑电平1),但仅在请求帧及令牌帧前出现,不允许在字符之间出现.

3.2PROFIBUS帧构造的特点

从上面的帧格式可以看出帧的长度不固定.发送时,帧的长度是已知的;但接收时,帧的长度是未知的.因此,要提升接收效率,只能采用分段方式接收,随时解析和保存关键信息,并确定随后接收的字节数.

4PROFIBUS-FDL从站协议的PEC服务实现

PROFIBUS-FDL从站的数据接收及应答过程分三个阶段完成:第一阶段,帧的完整接收;第二阶段,凭证接收到的FC帧控制字字段,判断主站正在开展怎样的数据请求;第三阶段,从站组织应答帧,启动帧的发送过程.

第二阶段的帧控制字处理请参考PROFIBUS标准的有关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论