3.7.5 SPC3输入输出缓冲区的状态.pptx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

SPC3输入缓冲区有3个,并且长度一样;输出缓冲区也有3个,长度也一样。输入输出缓冲区都有3个状态,分别是U、N和D。在同一时刻,各个缓冲区处于相互不同的状态。SPC3的08H~0BH寄存器单元表明了各个缓冲区的状态,并且表明了当前用户可用的缓冲区。U状态的缓冲区分配给用户使用,D状态的缓冲区分配给总线使用,N状态是U、D状态的中间状态。

SPC3输入输出缓冲区U-D-N状态的相关寄存器如下:

(1)寄存器08H(Din_Buffer_SM7..0),各个输入缓冲区的状态;

(2)寄存器09H(New_Din_Buffer_Cmd1..0),用户通过这个寄存器从N状态下得到可用的输入缓冲区;

;(3)寄存器0AH(Dout_Buffer_SM7..0),各个输出缓冲区的状态;

(4)寄存器0BH(Next_Dout_Buffer_Cmd1..0),用户从最近的处于N状态的输出缓冲区中得到输出缓冲区。

SPC3输入输出缓冲区U-D-N状态的转变如图5-31所示。

;;1.输出数据缓冲区状态的转变

当持有令牌的PROFIBUS-DP主站向本地从站发送输出数据时,SPC3在D缓存中读取接收到的输出数据,当SPC3接收到的输出数据没有错误时,就将新填充的缓冲区从D状态转到N状态,并且产生DX_OUT中断,这时用户读取Next_Dout_Buffer_Cmd寄存器,处于N状态的输出缓冲区由N状态变到U状态,用户同时知道哪一个输出缓冲区处于U状态,通过读取输出缓冲区得到当前输出数据。

用户可以通过读取Dout_Buffer_SM寄存器的状态,查询各个输出缓冲区的状态。共有4种状态:无(Nil)、Dout_Buf_ptr1~Dout_Buf_ptr3,表明各个输出缓冲区处于什么状态。Dout_Buffer_SM寄存器定义如表5-10所示。;;;2.输入数据缓冲区状态的转变

输入数据缓冲区有3个,长度一样(初始化时已经规定),输入数据缓冲区也有3个状态,即U、N和D。同一时刻,3个缓冲区处于不同的状态。即一个缓冲区处于U,一个处于N,一个处于D。处于U状态的缓冲区用户可以使用,并且在任何时候用户都可更新。处于D状态的缓冲区SPC3使用,也就是SPC3将输入数据从处于该状态的缓冲区中发送到主站。

SPC3从D缓存中发送输入数据。在发送以前,处于N状态的输入缓冲区转为D状态,同时处于U状态的输入缓冲区变为N状态,原来处于D状态的输入缓冲区变为U状态,处于D状态的输入???冲区中的数据发送到主站。

;用户可以通过读取Din_Buffer_SM寄存器的状态,查询各个输入缓冲区的状态。共有4种值:无(Nil)、Din_Buf_ptr1~Din_Buf_ptr3,表明了各个输入缓冲区处于什么状态。Din_Buffer_SM寄存器定义如表5-12所示。

;读取New_Din_Buffer_Cmd寄存器,用户可得到交换后哪一个缓存属于用户。New_Din_Buffer_Cmd寄存器定义如表5-13所示。

文档评论(0)

一笑倾洁 + 关注
实名认证
内容提供者

PPT课件

1亿VIP精品文档

相关文档