VisionShow版本LED显示屏异步控制卡通讯协议.docx
- 文档编号:6274481
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:22
- 大小:72.20KB
VisionShow版本LED显示屏异步控制卡通讯协议.docx
《VisionShow版本LED显示屏异步控制卡通讯协议.docx》由会员分享,可在线阅读,更多相关《VisionShow版本LED显示屏异步控制卡通讯协议.docx(22页珍藏版)》请在冰豆网上搜索。
VisionShow版本LED显示屏异步控制卡通讯协议
LED显示屏异步控制卡通讯协议
一.协议概述
本协议协议采用链路层和传输层和节目应用层三层协议模式
链路层协议将传输层协议进行封装打包,包括添加起始符,添加结束符,计算并添加CRC
校验<校验算法见附录),对数据段进行关键字符转义.b5E2RGbCAP
传输层协议是用于发送控制命令,或者节目数据拆分组包地协议•对于控制命令,一条控
制命令形成一个传输层地数据包;对于节目数据,一次节目数据地发送,对应多个传输层数据
包<起始包,数据包,数据包,……,数据包,结束包;一个起始包,多个数据包,一个结束
包).plEanqFDPw
节目应用层协议,是播放节目地数据,包括节目属性头部,页面,内码文字,数字时钟,图像等元素地协议定义•
链路层协议
1.链路层协议定义
编号
名称
长度<字节)
描述
1
起始符<0x55)
1
链路层数据包地起始符
2
数据段
N
链路层数据包地数据段
3
结束符<0xAA)
1
链路层数据包地结束符
2.数据段协议描述
数据段数据是由应用层形成地数据转换形成地,其转换过程如下:
1)应用层数据+CRC校验<2字节)
2)对数据<包括CRC校验值)进行转义,替换掉数据中地关键字符
0x55替换为OxBB0x56
0xAA替换为OxBB0xAB
OxBB替换为OxBBOxBC
3.控制命令协议V传输层)
1.协议结构说明
PC到控制卡
名称
数据长度
取值
说明
Command
2
6:
校正控制卡时间
9:
读取电源状态10:
设置电源状态11:
读取亮度
12:
设置亮度
命令代码
srcAddr
1
0
:
源地址
dstAddr
1
目标地址<控制卡地址)
SerialNo
4
r电源,亮度值
Data
N
附加数据,根据命令代码不同,定义不同
//C语言代码宏定义和数据结构定义
#definePKC_SET_TIME6
#definePKC_GET_POWER9
#definePKC_SET_POWER10
#definePKC_GET_BRIGHT11
#definePKC_SET_BRIGHT12
typedefstructPKG_HEADER{
WORDCommand。
BYTEsrcAddr。
BYTEdstAddr。
DWORDSerialNo。
//DWORD型数据包号使系统可传输4G数据}TPKG_Header,*PPKG_Header。
DXDiTa9E3d
控制卡到PC
名称
数据长度
取值
说明
Command
\2
3:
应答标识
「应答代码,固定值
srcAddr
1
源地址<控制卡地址)
dstAddr
1
0
目标地址
SerialNo
4
包序列号,或者电源和亮度值
SrcCommand
2
命令代码<从PC发来地协议中取得)
Result
「命令执行结果
〃c语言代码宏定义和数据结构定义
#definePKC_RESPOND3typedefstructPKG_RESPOND{
TPKG_HeaderHeader。
WORDCommand。
WORDResult。
}TPKG_Respond,*PPKG_Respond
RTCrpUDGiT
2.校正控制卡时间
pc到控制卡
工程成员
「取值
说明
Command
SerialNo
\0
Data
要校正地时间值
采用如下时间值结构
typedefstructSYSTEMTIME{
WORDyear。
WORDmonth。
WORDweek。
WORDday。
WORDhour。
WORDminute。
WORDsecond。
WORDmsecond。
}TSystemTime,*PSystemTime。
控制卡到PC
工程成员
「取值
说明
Command
A
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
4.节目数据拆分组包协议<传输层)
1.拆分组包
发送节目数据时,节目数据要按照每包512字节地长度进行拆分组包发送•
例如节目数据长度为1200字节时,则会拆成3包,分别为512字节,512字节,176字节.那
么,实际发送过程为5PCZVD7HXA
jLBHrnAlLg
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
节目数据
起始包和结束包时,该段不填
〃c语言代码宏定义和数据结构定义
#definePKC_BEGIN0
#definePKC_END1
#definePKC_DATA2xHAQX74J0X
控制卡到PC
名称
数据长度
取值
说明
Command
\2
3:
应答标识
「应答代码,固定值
srcAddr
1
源地址<控制卡地址)
dstAddr
1
0
目标地址
SerialNo
4
包序列号<从PC发来地协议中取得)
SrcCommand
2
命令代码<从PC发来地协议中取得)
Result
2
1:
包正确<可以发送下一个包)
0:
数据错误<需要重新发送该包)
命令执行结果
//C语言代码宏定义和数据结构定义
#definePKC_RESPOND3typedefstructPKG_RESPOND{
TPKG_HeaderHeader。
WORDCommand。
WORDResult。
}TPKG_Respond,*PPKG_Respond
LDAYtRyKfE
5.节目数据协议说明<节目应用层)
1.协议概述
播放节目地数据,包括节目数据头部,页面,内码文字,数字时钟,图像等元素地协议定义
节目属性头部:
Root
页面:
Leaf
显示对象<文字、日期时间、图像等):
Object
节目数据组织
Zzz6ZB2Ltk
2.节目数据头部
名称
数据长度
说明
id
2
:
节目代码17:
发送节目18:
下载节目
Count
2
页面数量
Size
4
P数据长度,TRoot长度+所有子页面长度
Type
2
节目类型1:
单路数据2:
RG双路数据
Reserved
2
:
保留
//节目数据头部
typedefstructROOT{
WORDid。
//节目弋码
WORDcount。
//标识页面数目
DWORDsize。
//标识整个数据流字节数(包含数据字节数和该元素本身字节数之和>
WORDtype。
//节目类型
WORDReserved。
}TRoot,*PRoot。
dvzfvkwMIl
3.页面
名称
数据长度
;说明
id
2
:
页面代码0x30
Count
2
对象数量
Time
4
:
页面显示时间
Elapse
4
置0
Size
4
:
数据长度,TLeaf长度+所有子对象长度
//页面
typedefstructLEAF{
WORDid。
//页面标识
WORDcount。
//数据对象数目
DWORDtime。
//页面显示时间
DWORDelapse。
//该字段用于单片机填写运行时已过时间,对计算机此端无用
DWORDsize。
//对象字节数
}TLeaf,*PLeaf。
rqyn14ZNXI
4.内码文字对象
名称
数据长度
说明
Object
头部
id
对象代码=0x33
Transparent
2
是否透明置1
Size
\4
数据长度"Object长度+所有子数据长度
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'
typedefstructOBJECT{
WORDid。
//对象标识
WORDtransparento〃是否透明
DWORDsize。
//对象字节数
TRectrect。
//对象显示区域
}TObject,*PObject。
typedefstructPLAYPARAM{
shortx,y。
DWORDtime。
}TPlayParam。
typedefstructSTRING{
TObjectobjecto〃对象的一般定义
WORDmethod。
//显示方式
WORDspeedo〃显示速度
TPlayParamparamo//预留参数空间给单片机
DWORDcolor。
//字符颜色
DWORDfontset。
//字符集(一般情况0=16点阵仁24点阵>}TString,*PString。
EmxvxOtOco
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
点阵数据,如何定义下面有说明
typedefstructWINDOW{
TObjectobject。
〃对象的一般定义
WORDmethod。
//显示方式
WORDspeedo〃显示速度
TPlayParamparamo//预留参数空间给单片机}TWindow,*PWindow。
typedefstructPIXELS{
WORD
id。
//对象标识
WORD
width。
〃点阵宽度
WORD
heighto
〃点阵高度
WORD
bits。
〃每象素位数
DWORD
size。
//对象大小
}TPixels,*PPixels。
SixE2yXPq5
Data地定义说明:
对于RG双路数据地显示屏,每个像素点占用2个Bit.图像数据采用列为主地方式,点阵数据是一列一列存储地,每列地数据占用地字节数必须为4地倍数,不足地用0补
齐.6ewMyirQFL
例如,一个16宽*12高地图片,共有16列数据海列数据有12个点;因为每个字节有4
个像素,所以12点要3个字节,加上补4字节对齐地一个字节,每列占用4字节;整个图像占
用4*16=64字节.kavU42VRUs
数据使用DWORD类型来存储,下面是一列数据地例子
Bit置1,否则置0.y6v3ALoS89 Bit置1,否则置O.M2ub6vSTnP 以图像左上角为起始点<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.日期时间对象 名称 数据长度 说明 Objectid 2 页面代码=0x32 头部Transparent 2 是否透明置1 Size 4 数据长度"Object长度+所有子数据长度 Left 2 显示区域左坐标 Top- 2 显示区域上坐标 Right 2 显示区域右坐标 Bottom 2 显示区域下坐标 Offset 4 置0 Format。 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 点阵编号 FormatIO 1 格式 Index10 1 点阵编号 Formatll 1 格式 Index11 1 点阵编号 Format12 1 格式 Index12 1 点阵编号 Format13 1 格式 Index13 1 点阵编号 Format14 1 格式 Index14 1 点阵编号 Format15 1 格式 Index15 1 点阵编号 TPixelSet点阵组头部 2 点阵组标识代码=0x37 Count 2 点阵组中地点阵数量 Size 4 数据长度,TPixelSet长度+所有子数据长度 点阵0 TPixels点阵头部 Id 2 0x36 Width 2 图像宽度 Height 2 图像高度 Bits 2 对单色屏,置1;对双色屏,置4 Size 4 数据长度"Pixels长度+点阵数据长度 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 点阵数据,如何定义下面有说明 typedefstructOBJECT{ WORDid。 //对象标识 WORDtransparento〃是否透明 DWORDsize。 //对象字节数 TRectrect。 //对象显示区域 }TObject,*PObject。 typedefstructPIXELS{ //对象标识 〃点阵宽度 〃点阵高度 //每象素位数 //对象大小 WORDido WORDwidth WORDheight WORDbitso DWORDsize。 }TPixels,*PPixels typedefstruct_PIXELSET { WORDid。 〃对象标识 WORDcount。 〃点阵数量 DWORDsize。 //对象大小 }TPixelSet,*PPixelSet。 OYujCfmUCw Format和Index是成对地‘Format表示要显示地内容类型,lndex表示对应后面点阵组中 地索引号.eUts8ZQVRd Format地取值为1到8,分别对应1年2月3日4星期5时6分7秒8固定字. 当Format=1<2,3,5,6,7)时,如果Index=0,表示显示地是年<月日时分秒)地十位; Index=1,表示显示地是年<月日时分秒)地个位.此时,点阵组中,第0到9个点阵应该是数字''到'9'地点阵.sQsAEJkW5T 当Format=8时,Index表示点阵组中地索引号. 当Format=4是,表示要显示星期,此时Index必须设为0x7F,并且点阵0到点阵6分别对 应'日''一'、'二''三''四''五'、'六'地文字.GMsIasNXkA 举例: 年月日地显示,例如显示“2018年05月31日”: 【点阵组】为'0','1','2','3','4','5','6','7','8','9','年','月','日'TIrRGchYzg Format0=8,Index0=2,表示20XX年地2字 Format1=8,Index1=0,表示20XX年地0字 Format2=1,Index2=0,表示2018年地1字<十位) Format3=1,Index3=1,表示2018年地2字<个位) 10个 11个 12个 Format4=8,Index4=10,表示汉字‘年'字,‘年'在点阵组中位于第 Format5=2,Index5=0,表示05月地0字<十位) Format6=2,Index6=1,表示05月地5字<个位) Format7=8,Index7=11,表示汉字‘月'字,‘月'在点阵组中位于第 Format8=3,Index8=0,表示31日地3字<十位) Format9=3,Index9=1,表示31日地1字<个位) Format10=8,Index10=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 显示屏 异步 控制 卡通 协议
![提示](https://static.bdocx.com/images/bang_tan.gif)