通信协议

发布时间 : 星期四 文章通信协议更新完毕开始阅读

“电子设计——嵌入式产品开发”项目月球车通信协议

“2010年全国职业院校技能大赛”高职组

2010 National Vocational Students Skills Competition

“优利德”杯电子设计—嵌入式产品开发竞赛

探月车与地球基地服务器通信协议

一、 概述

1.通信结构

无线网络 ESSID=ETCLINK password= 无线接入点 无线接入点 IP= Getway ip= 探月车 月球车 IP= Getway ip= 无线局域网 地球基地 地球基地 IP= Getway ip= 图1 通信系统结构图

无线评分通信系统拓扑结构如图1所示,由探月车、评分系统和无线接入点组成。无线网络采用标准的802.11g标准,无线网络名称为:ETCLINK,无密码认证。无线接入点IP和网关由组委会现场指定。地球基地IP和网关组委会现场指定。探月车的IP由组委会现场指定,范围为:192.168.1.1~192.168.1.250,探月车需要按组委会要求配置网关。 2.底层协议

本系统采用标准的TCP/IP协议完成地球基地和探月车通信,其中地球基地作为TCP的服务器端,探月车作为TCP的客户端。每次通信由探月车发出连接请求,服务器响应后建立连接,探月车和地球基地之间进行数据传输,数据传输完成后断开该次连接。

在通信中,套接字(socket)网络地址类型选取在Internet上通信的网络地址类型(AF_INET),套接字类型采用流连接方式(SOCK_STREAM)和默认的网络协议。连接端口port由组委会现场指定。 3.应用层通信协议

在应用层增加ACK确认机制的通信模式来增加通信的可靠性。首先探月车向评分系统发送数据报文,地球基地收到数据报文后根据数据的内容向探月车发送

1

“电子设计——嵌入式产品开发”项目月球车通信协议

一个确认数据报文供探月车处理。除传输图片数据外,应用层数据采用固定长度为40个字节的数据进行每次传输数据,数据不够的用0x00补满。图像采用两次通信过程来完成,第一次探月车发出上传图像请求报文,评分系统接受请求后返回接收请求数据报,探月车收到评分系统的接收请求数据报文后发送图像数据,图像大小为宽160像素、高128像素。

4.通信流程

探月车和评分系统的通信流程如图二所示。主要有启动请求

月球车 发送启动请求 启动请求 确认启动请求 地球基地 发送测量数据 测量数据 确认发送数据 请求发送图像 确认发送图像 图像传输 发送图像数据 确认图像数据 图二 探月车和评分系统通信流程

二、 命令

1.命令格式 探月车请求格式:(同步头1)(探月车编号)(备用)(请求命令)(数据); 评分系统反馈格式:(同步头2)(探月车编号)(备用)(反馈命令)(状态);

1)同步头为一字节数据,同步头1=0x55,同步头2=0xAA;

2)探月车编号为一个字节,每个参赛队的编号由组委会现场指定,用十六进制数表示,如35号车,用0x23,默认值为0x00;

2

“电子设计——嵌入式产品开发”项目月球车通信协议

3)备用为一个字节,默认值为0x25;

4)请求命令为一个字节,详见表一所示,反馈命令为一个字节,详见表一所示; 5)数据根据命令不同分为三类:测量数据、图像上传请求数据、图像数据。

? 测量数据格式:(数据长度)(数据物理类型)(任务号)(测量值) 数据长度指明后面的数据字节数,用16进制表示;

数据物理类型指明数据是采集何种物理量,具体如表二所示;

任务号是比赛中完成的测量数据任务顺序,第一个任务的测量数据为1,第二个任务的测量数据为2,以此类推,用一个字节的16进制数表示;

测量值统一采用ASCII码表示; 例如采集的温度为109.4度,完整的数据格式为:0x07 0x01 0x03 0x31 0x30 0x39 0x2E 0x34,其中0x07表示后面数据长度为7,0x01表示测量的是温度,0x03表示任务号,剩下的是温度值的ASCII码;命令中没有数据上传的数据长度为0x00。

? 图像上传请求数据格式:(任务号)(图像特征)(图像点阵大小)(图

像列数)(图像行数)

任务号是比赛中完成的图像数据上传任务顺序,第一幅图像上传请求为1,第二幅图像上传请求为2,以此类推,用一个字节的16进制数表示;

图像特征是上传图像的颜色和形状,用一个字节的无符号16进制数表示,如表三所示;

图像点阵大小是上传图像的总的像素值,用无符号的整数表示; 图像列数是上传图像的列值,用无符号的短整数表示; 图像行数是上传图像的行值,用无符号的短整数表示; ? 图像数据格式:(图像数据) 图像数据采用行列扫描方法,每一个像素用16bit表示,采用RGB565格式。 6)状态为一个字节,表明地球基地接收数据正确与否,正确时状态为1,错误时状态为0,供探月车应用程序处理。

例如:探月车19号,请求启动:0x55 0x13 0x25 0x01 地球基地反馈为:0xaa 0x13 9x25 0xfe 0x01

表一 请求命令和反馈命令表 请求命令 反馈命令 描述 0x01 0xFE 探月车启动出发命令 0x02 0xFD 探月车请求发送图像命令 0x03 0xFC 探月车发送图像数据 0x04 0xFB 探月车发送测量数据 表二 数据物理类型表 物理类型值 物理意义 单位 0x01 温度 摄氏度 0x02 湿度 百分比 0x03 矿物含量 百分比

3

“电子设计——嵌入式产品开发”项目月球车通信协议

0x04 0x05

高度或者长度 其他 米 无 图像特征值 图像颜色 0x01 红色 0x02 绿色 0x03 蓝色 0x04 红色 0x05 绿色 0x06 蓝色 0x07 红色 0x08 绿色 0x09 蓝色 2. 探月车启动出发命令 请求命令:0x55 DD MM 0x01 0x55是开始命令的同步头;

DD 是探月车的编号,由评委指定,默认值为0x00; MM 是备用位,默认值是0x25; 0x01是探月车请求启动命令。 该命令没有数据内容上传。 反馈命令:0xaa DD MM 0xFE CC 0xaa是反馈开始命令的同步头;

DD 是探月车的编号,由评委指定,默认值为0x00; MM 是备用位,默认值是0x25;

0xFE是反馈的启动命令,表明请求接收正确;

CC 是命令参数,0x00表示启动,其他值表示等待。

3. 探月车请求发送图像命令

请求发送图像命令:0x55 DD MM 0x02 SS TT ZZ CC RR 0x55是开始命令的同步头;

DD 是探月车的编号,由评委指定,默认值为0x00; MM 是备用位,默认值是0x25; 0x02是探月车请求发送图像命令; SS是图像顺序号; TT表示图像特征; ZZ是图像大小; CC是图像列值; RR是图像行值;

反馈命令:0xaa DD MM 0xFD

0xaa是反馈开始命令的同步头;

4

表三 图像特征数据表 图像形状 三角形 三角形 三角形 矩形 矩形 矩形 圆形 圆形 圆形

联系合同范文客服:xxxxx#qq.com(#替换为@)