VisionShow版本LED显示屏异步控制卡通讯协议.docx
- 文档编号:18137772
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:22
- 大小:179KB
VisionShow版本LED显示屏异步控制卡通讯协议.docx
《VisionShow版本LED显示屏异步控制卡通讯协议.docx》由会员分享,可在线阅读,更多相关《VisionShow版本LED显示屏异步控制卡通讯协议.docx(22页珍藏版)》请在冰点文库上搜索。
VisionShow版本LED显示屏异步控制卡通讯协议
LED显示屏异步控制卡通讯协议
一.协议概述
本协议协议采用链路层和传输层和节目应用层三层协议模式。
链路层协议将传输层协议进行封装打包,包括添加起始符,添加结束符,计算并添加CRC校验(校验算法见附录),对数据段进行关键字符转义。
传输层协议是用于发送控制命令,或者节目数据拆分组包的协议。
对于控制命令,一条控制命令形成一个传输层的数据包;对于节目数据,一次节目数据的发送,对应多个传输层数据包(起始包,数据包,数据包,……,数据包,结束包;一个起始包,多个数据包,一个结束包)。
节目应用层协议,是播放节目的数据,包括节目属性头部,页面,内码文字,数字时钟,图像等元素的协议定义。
二.链路层协议
1.链路层协议定义
编号
名称
长度(字节)
描述
1
起始符(0x55)
1
链路层数据包的起始符
2
数据段
N
链路层数据包的数据段
3
结束符(0xAA)
1
链路层数据包的结束符
2.数据段协议描述
数据段数据是由应用层形成的数据转换形成的,其转换过程如下:
1)应用层数据+CRC校验(2字节)
2)对数据(包括CRC校验值)进行转义,替换掉数据中的关键字符。
0x55替换为0xBB0x56
0xAA替换为0xBB0xAB
0xBB替换为0xBB0xBC
三.控制命令协议(传输层)
1.协议结构说明
ØPC到控制卡
名称
数据长度
取值
说明
Command
2
6:
校正控制卡时间
9:
读取电源状态
10:
设置电源状态
11:
读取亮度
12:
设置亮度
命令代码
srcAddr
1
0
源地址
dstAddr
1
目标地址(控制卡地址)
SerialNo
4
电源,亮度值
Data
N
附加数据,根据命令代码不同,定义不同
Ø控制卡到PC
名称
数据长度
取值
说明
Command
2
3:
应答标识
应答代码,固定值
srcAddr
1
源地址(控制卡地址)
dstAddr
1
0
目标地址
SerialNo
4
包序列号,或者电源和亮度值
SrcCommand
2
命令代码(从PC发来的协议中取得)
Result
2
命令执行结果
2.校正控制卡时间
ØPC到控制卡
项目成员
取值
说明
Command
6
SerialNo
0
Data
要校正的时间值
采用如下时间值结构
typedefstructSYSTEMTIME{
WORDyear;
WORDmonth;
WORDweek;
WORDday;
WORDhour;
WORDminute;
WORDsecond;
WORDmsecond;
}TSystemTime,*PSystemTime;
Ø控制卡到PC
项目成员
取值
说明
Command
6
SerialNo
0
SrcCommand
6
Result
1
3.读取电源状态
ØPC到控制卡
项目成员
取值
说明
Command
9
SerialNo
0
Data
无
没有附加数据
Ø控制卡到PC
项目成员
取值
说明
Command
3
SerialNo
=0电源关闭
=1电源开启
返回的电源状态
SrcCommand
9
Result
1
4.设置电源状态
ØPC到控制卡
项目成员
取值
说明
Command
10
SerialNo
=0电源关闭
=1电源开启
要设置的电源状态
Data
无
没有附加数据
Ø控制卡到PC
项目成员
取值
说明
Command
3
SerialNo
=0电源关闭
=1电源开启
返回的电源状态
SrcCommand
10
Result
1
5.读取亮度
ØPC到控制卡
项目成员
取值
说明
Command
11
SerialNo
0
Data
无
没有附加数据
Ø控制卡到PC
项目成员
取值
说明
Command
3
SerialNo
0到7
返回的亮度值
SrcCommand
11
Result
1
6.设置亮度
ØPC到控制卡
项目成员
取值
说明
Command
12
SerialNo
0到7
要设置的亮度值
Data
无
没有附加数据
Ø控制卡到PC
项目成员
取值
说明
Command
3
SerialNo
0到7
返回的亮度值
SrcCommand
12
Result
1
四.
节目数据拆分组包协议(传输层)
1.拆分组包
发送节目数据时,节目数据要按照每包512字节的长度进行拆分组包发送。
例如节目数据长度为1200字节时,则会拆成3包,分别为512字节,512字节,176字节。
那么,实际发送过程为
2.协议结构说明
组包协议与命令协议结构一样,只是命令代码不同。
ØPC到控制卡
名称
数据长度
取值
说明
Command
2
0:
起始包
1:
结束包
2:
数据包
命令代码
srcAddr
1
0
源地址
dstAddr
1
目标地址(控制卡地址)
SerialNo
4
从0开始编号
起始包=0
第1个数据包=1
第2个数据包=2
…
第n个数据包=n(最后一个)
结束包=n+1
包序列号
Data
N
节目数据
起始包和结束包时,该段不填
Ø控制卡到PC
名称
数据长度
取值
说明
Command
2
3:
应答标识
应答代码,固定值
srcAddr
1
源地址(控制卡地址)
dstAddr
1
0
目标地址
SerialNo
4
包序列号(从PC发来的协议中取得)
SrcCommand
2
命令代码(从PC发来的协议中取得)
Result
2
1:
包正确(可以发送下一个包)
0:
数据错误(需要重新发送该包)
命令执行结果
五.节目数据协议说明(节目应用层)
1.协议概述
播放节目的数据,包括节目数据头部,页面,内码文字,数字时钟,图像等元素的协议定义。
节目属性头部:
Root
页面:
Leaf
显示对象(文字、日期时间、图像等):
Object
2.节目数据头部
名称
数据长度
说明
id
2
节目代码17:
发送节目18:
下载节目
Count
2
页面数量
Size
4
数据长度,TRoot长度+所有子页面长度
Type
2
节目类型1:
单路数据2:
RG双路数据
Reserved
2
保留
3.页面
名称
数据长度
说明
id
2
页面代码0x30
Count
2
对象数量
Time
4
页面显示时间
Elapse
4
置0
Size
4
数据长度,TLeaf长度+所有子对象长度
4.内码文字对象
名称
数据长度
说明
Object头部
id
2
对象代码=0x33
Transparent
2
是否透明置1
Size
4
数据长度,TObject长度+所有子数据长度
Left
2
显示区域左坐标
Top-
2
显示区域上坐标
Right
2
显示区域右坐标
Bottom
2
显示区域下坐标
Method
2
显示方式
Speed
2
显示速度置1
Param
8
置0
Color
4
红色:
0xFF;绿色:
0xFF00;黄色:
0xFFFF
FontSet
4
字体=0:
16点阵宋体;=1:
24点阵宋体
Str
N
文字字符串,必须以0为结尾,长度为4的倍数
例如:
要显示“ABCDE”,那么此处Str的字节数为8,分别为:
‘A’,‘B’,‘C’,‘D’,‘E’,‘\0’,‘\0’,‘\0’
5.图像对象
名称
数据长度
说明
TObject头部
id
2
对象代码=0x31
Transparent
2
是否透明置1
Size
4
数据长度,TObject长度+所有子数据长度
Left
2
显示区域左坐标
Top-
2
显示区域上坐标
Right
2
显示区域右坐标
Bottom
2
显示区域下坐标
Method
2
显示方式
Speed
2
显示速度置1
Param
8
置0
TPixels点阵头部
Id
2
0x36
Width
2
图像宽度
Height
2
图像高度
Bits
2
对单色屏,置1;对双色屏,置4
Size
4
数据长度,TPixels长度+点阵数据长度
Data
N
点阵数据,如何定义下面有说明
Data的定义说明:
对于RG双路数据的显示屏,每个像素点占用2个Bit。
图像数据采用列为主的方式,点阵数据是一列一列存储的,每列的数据占用的字节数必须为4的倍数,不足的用0补齐。
例如,一个16宽*12高的图片,共有16列数据,每列数据有12个点;因为每个字节有4个像素,所以12点要3个字节,加上补4字节对齐的一个字节,每列占用4字节;整个图像占用4*16=64字节。
数据使用DWORD类型来存储,下面是一列数据的例子
(x,y)-R表示此位是图像中坐标为x,y的像素点的红色;当像素点为红色、黄色时,此Bit置1,否则置0。
(x,y)-G表示此位是图像中坐标为x,y的像素点的绿色;当像素点为绿色、黄色时,此Bit置1,否则置0。
以图像左上角为起始点(0,0)
31
30
29
28
27
26
25
24
(0,0)-R
(0,0)-G
(0,1)-R
(0,1)-G
(0,2)-R
(0,2)-G
(0,3)-R
(0,3)-G
23
22
21
20
19
18
17
16
(0,4)-R
(0,4)-G
(0,5)-R
(0,5)-G
(0,6)-R
(0,6)-G
(0,7)-R
(0,7)-G
15
14
13
12
11
10
9
8
(0,8)-R
(0,8)-G
(0,9)-R
(0,9)-G
(0,10)-R
(0,10)-G
(0,11)-R
(0,11)-G
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
6.日期时间对象
名称
数据长度
说明
Object头部
id
2
页面代码=0x32
Transparent
2
是否透明置1
Size
4
数据长度,TObject长度+所有子数据长度
Left
2
显示区域左坐标
Top-
2
显示区域上坐标
Right
2
显示区域右坐标
Bottom
2
显示区域下坐标
Offset
4
置0
Format0
1
格式
Index0
1
点阵编号
Format1
1
格式
Index1
1
点阵编号
Format2
1
格式
Index2
1
点阵编号
Format3
1
格式
Index3
1
点阵编号
Format4
1
格式
Index4
1
点阵编号
Format5
1
格式
Index5
1
点阵编号
Format6
1
格式
Index6
1
点阵编号
Format7
1
格式
Index7
1
点阵编号
Format8
1
格式
Index8
1
点阵编号
Format9
1
格式
Index9
1
点阵编号
Format10
1
格式
Index10
1
点阵编号
Format11
1
格式
Index11
1
点阵编号
Format12
1
格式
Index12
1
点阵编号
Format13
1
格式
Index13
1
点阵编号
Format14
1
格式
Index14
1
点阵编号
Format15
1
格式
Index15
1
点阵编号
TPixelSet点阵组头部
Id
2
点阵组标识代码=0x37
Count
2
点阵组中的点阵数量
Size
4
数据长度,TPixelSet长度+所有子数据长度
点阵0
TPixels点阵头部
Id
2
0x36
Width
2
图像宽度
Height
2
图像高度
Bits
2
对单色屏,置1;对双色屏,置4
Size
4
数据长度,TPixels长度+点阵数据长度
Data
N
点阵数据,如何定义下面有说明
点阵1
TPixels点阵头部
Id
2
0x36
Width
2
图像宽度
Height
2
图像高度
Bits
2
对单色屏,置1;对双色屏,置4
Size
4
数据长度,TPixels长度+点阵数据长度
Data
N
点阵数据,如何定义下面有说明
点阵2
TPixels点阵头部
Id
2
0x36
Width
2
图像宽度
Height
2
图像高度
Bits
2
对单色屏,置1;对双色屏,置4
Size
4
数据长度,TPixels长度+点阵数据长度
Data
N
点阵数据,如何定义下面有说明
…
…
…
…
Format和Index是成对的,Format表示要显示的内容类型,Index表示对应后面点阵组中的索引号。
Format的取值为1到8,分别对应1年2月3日4星期5时6分7秒8固定字。
当Format=1(2,3,5,6,7)时,如果Index=0,表示显示的是年(月日时分秒)的十位;Index=1,表示显示的是年(月日时分秒)的个位。
此时,点阵组中,第0到9个点阵应该是数字’0’到’9’的点阵。
当Format=8时,Index表示点阵组中的索引号。
当Format=4是,表示要显示星期,此时Index必须设为0x7F,并且点阵0到点阵6分别对应’日’、’一’、’二’、’三’、’四’、’五’、’六’的文字。
举例:
年月日的显示,例如显示“2012年05月31日”:
【点阵组】为'0','1','2','3','4','5','6','7','8','9','年','月','日'
Format0=8,Index0=2,表示20XX年的2字
Format1=8,Index1=0,表示20XX年的0字
Format2=1,Index2=0,表示2012年的1字(十位)
Format3=1,Index3=1,表示2012年的2字(个位)
Format4=8,Index4=10,表示汉字‘年’字,‘年’在点阵组中位于第10个
Format5=2,Index5=0,表示05月的0字(十位)
Format6=2,Index6=1,表示05月的5字(个位)
Format7=8,Index7=11,表示汉字‘月’字,‘月’在点阵组中位于第11个
Format8=3,Index8=0,表示31日的3字(十位)
Format9=3,Index9=1,表示31日的1字(个位)
Format10=8,Index10=12,表示汉字‘日’字,‘日’在点阵组中位于第12个
时分秒的显示,例如显示“09:
35:
28”:
【点阵组】为'0','1','2','3','4','5','6','7','8','9',':
'
Format0=5,Index0=0,表示09的0字(十位)
Format1=5,Index1=1,表示09的9字(个位)
Format2=8,Index2=10,表示‘:
’,在点阵组中位于第10个
Format3=6,Index3=0,表示35的3字(十位)
Format4=6,Index4=1,表示35的5字(个位)
Format5=8,Index5=10,表示‘:
’,在点阵组中位于第10个
Format6=7,Index6=0,表示28的2字(十位)
Format7=7,Index7=1,表示28的8字(个位)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VisionShow 版本 LED 显示屏 异步 控制 卡通 协议