VisionShow版本LED显示屏异步控制卡通讯协议.docx

上传人:b****5 文档编号:6274481 上传时间:2023-01-05 格式:DOCX 页数:22 大小:72.20KB
下载 相关 举报
VisionShow版本LED显示屏异步控制卡通讯协议.docx_第1页
第1页 / 共22页
VisionShow版本LED显示屏异步控制卡通讯协议.docx_第2页
第2页 / 共22页
VisionShow版本LED显示屏异步控制卡通讯协议.docx_第3页
第3页 / 共22页
VisionShow版本LED显示屏异步控制卡通讯协议.docx_第4页
第4页 / 共22页
VisionShow版本LED显示屏异步控制卡通讯协议.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

VisionShow版本LED显示屏异步控制卡通讯协议.docx

《VisionShow版本LED显示屏异步控制卡通讯协议.docx》由会员分享,可在线阅读,更多相关《VisionShow版本LED显示屏异步控制卡通讯协议.docx(22页珍藏版)》请在冰豆网上搜索。

VisionShow版本LED显示屏异步控制卡通讯协议.docx

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字<个位)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1