如何定义矩阵协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何定义矩阵协议
请参考下图:
在定义矩阵前需要知道的事情
1.要定义矩阵,首先需要仔细阅读矩阵的说明书,找到正确的切换指令/分配指令,
需要说明的是,这里只支持矩阵的切换和分配指令,不支持其它矩阵指令;
2.矩阵文件必须保存在安装目录下的Array目录下,否则系统不会自动列出该文件;
3.在生成矩阵文件.ary的同时,系统自动生成.des文件,该文件是文本文件,包含该
矩阵的输入描述,可以直接使用文本编辑工具打开编辑;
如何定义矩阵
矩阵类型
在此选择你的矩阵类型,系统将矩阵分为三种类型:
视频矩阵:定义系统中用到的视频矩阵;
VGA矩阵:所有VGA矩阵/RGB矩阵都可以归结为该类型;
数字矩阵:包括DVI矩阵,HDMI矩阵都可以归结为该类型;
说明:如果有其它矩阵不在这三种类型,只要系统中矩阵类型不超过三种,可以用这三种矩阵中的任何一种来代替你的矩阵,比如,用数字矩阵来代替SDI矩阵;
矩阵名称
定义矩阵的名称,该名称只用作辅助使用,并没有真正用处,用户可以起任何名称;
矩阵输入
定义矩阵的输入数量,系统生产的描述文件.des是基于该输入的,该数字必须也你实际使用的矩阵输入数量一致,否则会有一些功能不能正常工作;
矩阵输出
定义矩阵的输出数量,该数值必须和矩阵的实际输出数量一致;
计算因子
有一些矩阵,需要将矩阵的输入/输出和特定的数值做和(AND)运算,将该特定的值填入该处,如果不需要,该数值应该设置为255(但字节输入,输出)或65535(双字节输入,输出)
从0计算
大多数矩阵的输入,输出是从1开始计算的,但是也有一些矩阵是从0开始计算的,勾选该出设置输入,输出从0计算;
BitSet模式
矩阵标识
现在在系统中没有用处
切换延迟
对于单次切换的矩阵,如果需要多次切换所需要的最小延迟时间;比如将输入1切换到1~32输出,则系统实际上执行了32次指令,分别是1输入对1输出…1输入对32输出,对于矩阵设备而言,通常在两条指令之间需要做一定的延迟以确保每条指令能够正确执行;
指令形式
ASCII数据:当指令是以字符的方式定义是使用;
二进制数据:当指令是以16进制方式是使用;
自动补充长度到最大输入输出
该项只对ASCII数据指令有效,对于一些矩阵,如果输入为1(0x31),其要求发送的数据是01(0x30, 0x31),这种情况下,勾选该选项;
切换指令
切换指令和下面的分配指令是整个矩阵定义的核心,在定义切换指令和分配指令时涉及到的概念有:
立即数据
以16进制方式表示,比如欧帝的矩阵要求以0xff作为开头,则直接填入FF就可以了
矩阵输入
以%I代表矩阵数据,如果是word型输入,以%IH代表高字节,%IL代表低字节
矩阵输出
以%O代表矩阵数据,目前不支持word型输出;
校验位
以%C代表矩阵校验位,校验位的计算方法参考下面描述;
连接符
对于不同的数据之间连接的符合,二进制数据矩阵的连接符合是空格,而ASCII数据矩阵的连接符是&&(两个取地址符号)
举例如下
欧帝VGA矩阵要求数据是二进制的,其协议如下:
以0xff为固定开始位
第2为长度
第3位为矩阵的标识(0x00)
第4位为矩阵指令(切换指令为0x02)
第5位为矩阵输入
第6位为矩阵输出
第7位为校验位
则切换指令为
FF 07 00 02 %I %O %C
Honewell的视频矩阵
格式为SWITCH INPUT OUTPUT
则切换指令为
SWITCH &&%I&& &&%O
切换指令2
其格式和切换指令是一样的。
有一些矩阵需要两条指令才可以正确切换矩阵,特别是一些视频矩阵要求先选择监视器,然后选择摄像头,这时候需要启动切换指令2
分配指令
分配指令是特殊的切换指令,要使用分配指令,首先要确保矩阵支持分配指令;
系统优先使用分配指令,如果矩阵不支持分配指令,请不用在分配指令中填入任何内容;
现在支持的两种分配方式是:
%I %O %I %O…
%I %O %O…
在循环前需要添加特殊符合%R表示循环开始,在循环结束后需要添加%R表示循环结束,只支出一条循环指令
举例
欧帝的VGA矩阵支持分配指令,其分配方式为
%I %o %o…
矩阵分配命令为0x03
则分配指令为
FF 07 00 03 %I %R %O %R %C
分配指令2
执行的内容和分配指令一样;
CS计算开始
CS计算开始位
CS计算结束
CS计算结束位(倒数),包括CS位本身;
CS计算AND
如果CS加后还需要做AND运算,在此输入AND数值,否则输入255或65535以确保数值不做改变;
CS为固定和
如果CS要被特殊数字减(一般为0),则在此输入CS固定和数值;。