当前课程知识点:测试系统集成技术 > 第三章:消息交换控制协议 > 3.1:消息交换控制协议 > Video
那是机器怎么去办,他就会进到这个DEADLOCK
在这个状态之后,他的parser继续,然后所有的数据都撤销,所有数据都不要了
前面产生的这些数据都不要了,那一直去解释新收到的命令
不断地从IB里边去收数收数收数,直到检测到了这个UM标志
就直到检测到了这个结束符到达了,那么他就脱离这个DEADLOCK状态进到IDLE的这个状态
就等待下一次开始,等下一次开始,那么在这个地方大家要特别注意
是这你发的这个程控命令,你放到这个程控询问得不到任何的响应,那你怎么知道他错了?
你怎么知道错了?因为他会产生一个询问,这个询问错会通过状态报告,及时去报告
而且如果一旦出现死锁这种情况的时候,你是没有响应消息的
因为就那个仪器它就不会发送了,它会把这些都把它cancel,然后直接进到这个IDLE
它不会向你发任何东西,然后但是它会去置一个标志位
这个标志位就是在我们前面讲到的这个状态报告里面,通过状态报告来向你报告
有一个询问错,所以说你得不到仪器的测量结果,是这样一种机制
这是第一个DEADLOCK
那么第二个就是我们说到UNTERMINATED,他所要说的这个事情,按照字面意思理解
就是没有结束我们也可以把理解成,就是没有收到结束符,没有收到一个完整的程控命令
我们看看他会在哪些情况来出现?按理说它应该是在询问才出现
但是我们看到它会在这个地方出现,他会在IDLE和这个READ这两个地方出现
那么在IDLE和READ这个地方为什么会出现一个UNTERMINATED这样一种错误?
我们来看看它这个条件,它的条件是说的是brq,它的含义是说控制器向你索要数据就是byte request
就是请求你给他发一个数据出去,byte request就是brq为真
在brq真的时候bav为非get为非ib_empty,那这是后面这三个条件
说明是我们没有新的数据到达,这个时候,控制器向我要数据
我再IDLE或者是在READ这两个状态我都没有收到过询问,你又不可能再会有询问了
因为你没有新的命令过来了,你问我要数,这个时候我们可以用另外一句话叫无话可说
那个仪器无话可说,那么仪器就可以认定你向我要数据,你是发了一个问号的
但我没有收到,反正这个通讯出错了,这个事情出错了,没有收到你的这个正常的这个信息
没有收到你这个带问号的结束了这样一个信息,总归是出错了,我们就把它定义成忙(UNTERMINATED)
这个是第一种情况,就是在没有发询问消息的时候你向这个仪器去索要数据
这个仪器它会把它当成是按UNTERMINATED来对待,这是第一个
第二个是我发了数据给你,我发了这个问号给你,我发了这个请求给你
我问你要说这个时候也会出现,那么在哪会出现在这个SEND,大家注意在这个状态
也会出现这个第二种情况,那么它出现了状况
说在SEND状态我们可以发数但是它出现这样一种情况没有UM
然后bav为非没有新的数据IB是空的,里面没有装没有分析的数据,然后没有get
也就是说我把我该做的事情都做完了,我在SEND状态下我把我该做的事情都做完了
我都还找不到,结束符结束符不可能来了再也不可能来了
那这个时候我们也认为结束符丢掉了,就是最后这个结束标志没有了
UNTERMINATED这个大家注意一下,这个是第二种错误
那么第三类错误,我们把它叫做INTERRUPTED,INTERRUPTED在什么情况下产生的
大家注意了,INTERRUPTED是在这样一种情况下产生的,在这个三种方式下都有
在这个询问态、SEND态、RESPONSE态都有,这有一个这有一个
我们分别简单的给大家提一下,在这个QUERY态,我们收到了结束符那按照前面的说法
收到结束就应该往RESPONSE去转移,就本来应该往它的左下角去变进入一个RESPONSE
但是这个时候发现它后面还跟着东西,我收到一个结束符之后后面还跟着新的程控命令
那就破坏了什么,破坏了我们刚才说的完整性,我收到一个完整的询问
那我就该报告完整的响应消息。你要等我报告完了,你才能给我发新的命令
但是我们发现事实不是这样,是我收到完整地询问之后,你没有读
你反而后面又给我发这个消息了,就是这个INTERRUPTED中断了,把什么中断了
把我们的完整性所描绘的那个循环给中断了,这是第一种
第二种情况是在SEND下面,SEND是我们本身在发数,在SEND下面,我们也找到了结束
但是找到结束符的时候跟在QUERY上面一样,发现后面还跟着这个数
后面还跟着程控命令过来,那么我们也认为它是破坏了完整性
第三种是RESPONSE方式,我们收到了结束符
那么就要等着我们自己去响应消息结束后发送完把我们自己的响应消息发送走
但是在我把响应消息结束符发送完之前,突然发现又有新的程控命令到达
那么这种情况我们也认为它破坏了完整性
-1.1:自动测试系统的出现及意义
--Video
--Video
--附件
-1.2:测试系统体系结构
--Video
--Video
--Video
-第一章:绪论--1.3:课堂实验:网络化仪器控制
-2.1:GPIB总线技术、VXI总线技术、LXI总线技术
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-第二章:接口总线--2.2:课堂实验:示波器程控
-3.1:消息交换控制协议
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-3.2:程控消息句法
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-第三章:消息交换控制协议--3.3:课堂实验:信号源程控
-4.1:SCPI的目标及主要内容
--Video
--Video
--Video
--Video
-4.2:SCPI语法与风格
--Video
--Video
--Video
--Video
-4.3:标准命令
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-第四章:可程控仪器标准命令--4.4:课堂实验:频谱仪程控、数字多用表程控
-5.1:VISA概述
--Video
--Video
-5.2:VISA库构成
--Video
-5.3:VISA程序基本结构
--Video
-5.4:自动测试系统软件设计综合实验
--Video
--Video
--Video
--Video
--Video
-第五章:虚拟仪器软件架构--5.4:课堂实验:VISA程序设计基础实验
-6.1:IVI概述
--Video
-6.2:IVI程序设计基础实验
--Video
-第六章:可互换虚拟仪器技术--6.2:IVI程序设计基础实验