基本功能描述:
控制器或计算机通过RS232接口发出指令,包括查询指令,切换指令,锁定解锁指令等等,矩阵的控制板在收到这些指令之后,将这些数据通过485总线转发给对应的视音频切换板〔或其他电路板〕,并将结果回传给发出指令的控制器或计算机。控制器或计算机发出切换指令之后,还要自动发出查询指令,以检验指令的执行情况是否正确。
通讯协议
字符定义:SOH:ASCII码“01”,起始标志字符
EOT:ASCII码“04”结束标志字符
ACK:ASCII码“06”正确应答字符
NAK:ASCII码“0x15”错误应答字符
‘N’代表矩阵所有层,’V’代表视频,’A’代表音频左声道,’B’代表音频右声道。
默认速率为9600,N,8,1
控制器(计算机)与控制板通讯协议
1:查询指令
SOH ‘RD’‘N’〔V,A〕‘0’‘0’CHECK-SUM EOT
这里,‘RD’为查询指令的关键字,‘RD’后面的’N’代表查询矩阵所有层,该字符可能的替换字符为’V’或’A’,其中,’V’表示视频,’A’表示音频,如果是’V’则表示只查询视频,’A’表示只查询音频。‘0’‘0’代表输出口第一路,如果是第二路则为‘0’‘1’,‘0’‘A’是16进制的10代表第11路,‘0’‘F’代表第16路,依此类推。CHECK_SUM为校验和,关于校验和的算法见后面。
――应答指令如下:
SOH ‘DR’‘U’〔L〕‘V’‘0’‘0’‘A’‘0’‘0’‘B’‘0’‘0’CHECK-SUM EOT
‘DR’表示对‘RD’指令的应答,’U’表示该路未被锁定可以进行操作,’L’表示被锁定,不能进行切换。’V’代表视频,‘A’代表音频,‘B’代表音频右声道,下同。’V’后面的’0’‘0’表示被查询输出口的视频输入路数为第一路,同样,音频的左右声道输入都是第一路,如果是第二路则为‘0’‘1’,下同。
如果出现错误,例如,视频板没有应答,则结果如下:
SOH ‘DR’‘U’〔L〕‘V’‘T’‘O’‘A’‘0’‘0’‘B’‘0’‘0’CHECK-SUM EOT
‘T’‘O’是TIME OVER即超时的意思,表示在规定的时间内没有收到应答信号,或者是板子不存在,或者是板子故障。如果音频板故障,则应答‘A’‘T’‘O’。
2:切换指令
SOH ‘WR’‘N’〔V,A〕‘x’‘0’‘0’‘y’‘0’‘0’CHECK-SUM EOT 这里,‘WR’为切换指令的关键字,’x’表示目的数,’y’表示源数,’x’‘0’‘0’‘y’‘0’‘0’表示把输入1切换至输出1,’x’‘0’‘F’‘y’‘0’‘F’表示把输入16切换至输出16。一次最多只能发送2组切换数据,不可超过此限制!
――应答指令如下:
ACK :数据正确接收。
NAK ‘1’ :数据接收校验错误。
NAK ‘2’ :数据接收错误,无起始位。
NAK ‘3’ :数据接收错误,无结束位或数据超长,超过128字节。
3:锁定和解锁指令
SOH ‘LK ’ ‘N ’〔V ,A 〕 ‘0’ ‘0’ CHECK -SUM EOT :锁定 SOH ‘UK ’ ‘N ’〔V ,A 〕 ‘0’ ‘0’ CHECK -SUM EOT :解锁
该命令对某个输出口进行锁定或解锁,控制板在收到该命令后,就在相应的路数上作个标记,表示该路数暂时不能被切换,即使其他控制器或计算机发出切换指令也不能执行,直到收到解锁命令为止。
――应答指令如下:
ACK :数据正确接收。
NAK ‘1’ :数据接收校验错误。
NAK ‘2’ :数据接收错误,无起始位。
NAK ‘3’ :数据接收错误,无结束位或数据超长,超过128字节。
4:其他指令: 待定。
附录 CHECKSUM 的计算
下面以具体的例子来说明CHECKSUM 的计算方法,以及一些常见命令:
RD :查询输出端口(DESTINATION )状态
格式:SOH ‘RD ’ ‘V ’ ‘0’ ‘1’ CHECK -SUM EOT 以查询视频层输出口2为例:
计算时要从
Checksum =“R ” XOR “D ” XOR “V ” XOR “0” XOR “1” = 0x41 〔16进制〕
上面表中第3行为上述字符对应的16进制数,
实际发送时要将计算机通讯端口设置为ASCII 码(TEXT 文本)方式。
起始位 命令
层 输出数 Dest_Number
校验字节 结束位
0x04
WR:将输出端口3切换到输入端口4:(模拟视音频同时切换)
格式:SOH ‘WR’‘N’‘x’‘0’‘2’ ‘y’‘0’‘3’ CHECK-SUM EOT
Checksum=“W” XOR “R” XOR “N” XOR “x” XOR “0” XOR
“2” XOR “y” XOR “0” XOR “3”
= 0x4B 〔16进制〕
起始命令层输出数输入数校验字节结束SOH W R N x 0 2 Y 0 3 4 B EOT 0x01 0x57 0x52 0x4E 0x78 0x30 0x32 0x79 0x30 0x33 0x34 0x42 0x04
WR:将输出端口11切换到输入端口16:(模拟视音频同时切换)
格式:SOH ‘WR’‘N’‘x’‘0’‘A’ ‘y’‘0’‘F’ CHECK-SUM EOT
Checksum=“W” XOR “R” XOR “N” XOR “x” XOR “0” XOR
“A” XOR “y” XOR “0” XOR “F”
= 0x4D 〔16进制〕
起始命令层输出数输入数校验字节结束SOH W R N x 0 A y 0 F 4 D EOT 0x01 0x57 0x52 0x4E 0x78 0x30 0x41 0x79 0x30 0x46 0x34 0x44 0x04
注意:当路数大于9路时,采用16进制表示,如实际路数为11路时,软件中对应的数字为0A路;实际路数为16路时,软件中对应的数字为0F
WR:将输出端口11切换到输入端口16(只切换模拟视频层V):
格式:SOH ‘WR’‘V’‘x’‘0’‘A’ ‘y’‘0’‘F’ CHECK-SUM EOT
Checksum=“W” XOR “R” XOR “V” XOR “x” XOR “0” XOR
“A” XOR “y” XOR “0” XOR “F”
= 0x55 〔16进制〕
起始命令层输出数输入数校验字节结束SOH W R N x 0 A y 0 F 5 5 EOT 0x01 0x57 0x52 0x4E 0x78 0x30 0x41 0x79 0x30 0x46 0x35 0x35 0x04