野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10667|回复: 7

【野火多功能调试助手】

[复制链接]

摄像头调试助手通讯协议

发表于 2020-6-8 14:49:48 | 显示全部楼层 |阅读模式

] 本帖最后由 LONG_R3acc 于 2020-6-21 19:39 编辑 [/i]

[md]摄像头调试助手通讯协议

修订历史

日期 版本 更新内容
2020/6/8 0.0.1 首次发布

JPEG数据

上位机勾选JPEG数据时只需要发送JPEG的文件数据即可,不需要加任何头和尾。

协议传输

上位机勾选协议传输时需要按以下协议进行传输。

指令格式详解

指令包格式

字节数 4bytes 1bytes 4bytes 1bytes … … n bytes … … 2 bytes
名称 包头 设备地址 包长度 指令 参数1 参数2 校验
内容 0x59485A53 xxxx xxxx xxxx xxxx xxxx xxxx

说明:

  1. 所有多字节低字节在前;

  2. 包头固定为四字节的0x59485A53;

  3. 地址默认从0开始,第一个设备为0x00,第二个设备为0x01;

  4. 包长度为从包头到校验的所有数据长度;

  5. 指令为相应的功能码;

  6. 参数为指令需要参数时加入;

  7. 校验为CRC-16方式(如果在上位机端不勾选CRC-16也需要发送两个字节的数据,可以为任意值,上位机也会发送 CRC-16校验数,校验与否由下位机自行选择);

应答包格式

字节数 4bytes 1bytes 4bytes 1bytes … … n bytes … … 2 bytes
名称 包头 设备地址 包长度 确认码 返回参数1 返回参数2 校验
内容 0x59485A53 xxxx xxxx xxxx xxxx xxxx xxxx

通常指令0x00为应答包,但并不是所有应该都为0x00,请参考指令详解。

返回参数根据实际情况,可有可无

CRC-16

CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

上位机使用的CRC-16算法参数如下:

多项式:X^16+X^15+X^2+1
多项式 POLY(Hex):8005
初始值 INIT(Hex):FFFF
结果异或值 XOROUT(Hex):0000

指令详解

设置图像格式

  1. 功能说明:设置上位机图像格式,图像大小。返回确认码表示:设置成功、校验错误、其他错误。
  2. 输入参数:图像格式,图像宽高。
  3. 返回参数:确认字

指令包格式:

字节数 4bytes 1bytes 4bytes 1bytes 1bytes 2bytes 2bytes 2 bytes
名称 包头 设备地址 包长度 指令 图像格式 校验
内容 0x59485A53 xxxx xxxx 0x01 xxxx xxxx xxxx xxxx

图像格式:

0x01: JPEG格式图片
0x02: BMP格式图片
0x03: PNG格式图片
0x04: 原始RGB565像素数据
0x05: 原始RGB888像素数据
0x06: 原始的二值化图像像素数据
0x07: 自定义接收格式(保留)

宽:

指定图像的宽
0~0Xffff

高:

指定图像的宽
0~0Xffff

应答包格式:

字节数 4bytes 1bytes 4bytes 1bytes 1bytes 2 bytes
名称 包头 设备地址 包长度 指令 确认码 校验
内容 0x59485A53 xxxx xxxx 0x00 xxxx xxxx

确认码:

0x00:指令执行完毕或 OK
0x01:数据包接收错误
0x02:没有这个寄存器
0x03~0xFF:保留

发送图像显示包

  1. 功能说明:发送图像数据包给上位机。返回确认码表示:数据接收正确并显示、校验错误、其他错误。
  2. 输入参数:图像数据。
  3. 返回参数:确认字

指令包格式:

字节数 4bytes 1bytes 4bytes 1bytes N bytes 2 bytes
名称 包头 设备地址 包长度 指令 图像数据 校验
内容 0x59485A53 xxxx xxxx 0x02 xxxx xxxx

图像数据:

需要显示图像的数据
1. 使用RGB数据时上位机端可以选择大端小端模式:
   大端:低字节在前,高字节在后
   小端:高字节在前,低字节在后
2. 使用图片文件时,文件头在前

应答包格式:

字节数 4bytes 1bytes 4bytes 1bytes 1bytes 2 bytes
名称 包头 设备地址 包长度 指令 确认码 校验
内容 0x59485A53  xxxx xxxx 0x00 xxxx xxxx

确认码:

0x00:指令执行完毕或 OK
0x01:数据包接收错误
0x02:没有这个寄存器
0x03~0xFF:保留

上位机发送写数据包(在使用前需配置好寄存器地址和寄存器值的长度)

  1. 功能说明:上位机发送写寄存器数据包给下位机。返回确认码表示:数据接收正确并显示、校验错误、其他错误。
  2. 输入参数:寄存器长度、地址和值。
  3. 返回参数:确认字

指令包格式:

字节数 4bytes 1bytes 4bytes 1bytes N1 bytes N2 bytes 2 bytes
名称 包头 设备地址 包长度 指令 寄存器地址 寄存器值 校验
内容 0x59485A53 xxxx xxxx 0x10 xxxx xxxx xxxx

N1 bytes:

在上位机配置

寄存器地址(上位机端请填写16进制数):

要写的寄存器的地址值

N2 bytes:

在上位机配置

寄存器值(上位机端请填写16进制数):

要写的寄存器的内容

应答包格式:

字节数 4bytes 1bytes 4bytes 1bytes 1bytes n bytes
名称 包头 设备地址 包长度 指令 确认码 校验
内容 0x59485A53  xxxx xxxx 0x00 xxxx xxxx

确认码:

0x00:指令执行完毕或 OK
0x01:数据包接收错误
0x02:没有这个寄存器
0x03~0xFF:保留

上位机发送读数据指令(在使用前需配置好寄存器地址和寄存器值的长度)

  1. 功能说明:上位机发送读寄存器指令给下位机,下位机返回相应的内容。返回读数据。
  2. 输入参数:寄存器长度、地址和值。
  3. 返回参数:确认字

指令包格式:

字节数 4bytes 1bytes 4bytes 1bytes 2 bytes N1 bytes 2 bytes
名称 包头 设备地址 包长度 指令 序号 寄存器地址 校验
内容 0x59485A53 xxxx xxxx 0x11 xxxx xxxx xxxx

地址长度址:

要读的寄存器的地址长度

寄存器地址:

要读的寄存器的地址值

应答包格式:

字节数 4bytes 1bytes 4bytes 1bytes 1bytes 2 bytes N2 bytes n bytes
名称 包头 设备地址 包长度 指令 确认码 序号 寄存器内容 校验
内容 0x59485A53  xxxx xxxx 0x11 0x00 xxxx xxxx xxxx

注意:这里的应答指令应为0x11

寄存器地址:

下位机发来的寄存器地址(上位机需要根据寄存器地址来判断上传的是那个寄存器的值)

寄存器值:

要写的寄存器的内容

确认码:

0x00:指令执行完毕或 OK
0x01:数据包接收错误
0x02:没有这个寄存器
0x03~0xFF:保留

野火大学堂——(敲黑板)这是重点,要考的

【野火大学堂】简介

![Image text]([url=https://cloud.firebbs.cn/forum/202005/13/113447psxxq2sjr99rnsj7.png]https://cloud.firebbs.cn/forum/2 ... sxxq2sjr99rnsj7.png[/url])

野火大学堂是一个电脑客户端,主要用来方便用户下载野火所有产品的资料,是一款集资料下载,在线文档,在线视频和资料更新推送于一体的软件, 免费登录,下载速度快过百度云。以后野火的资料发布和更新主要是通过野火大学堂来完成。 以后嵌入式学习,不妨来【野火大学堂】看看,stm32,rt1052,linux,fpga,freertos,rt-thread,ucos,liteos,emwin,emxgui,lwip等资料应有尽有,一站式学习,省时又省力。

【野火大学堂】下载地址(复制至浏览器打开)

【野火大学堂】登录方式

  1. 微信:手机微信扫码登录(推荐);
  2. 野火论坛:论坛帐号登录,没有帐号的可以先到野火论坛[url=http://www.firebbs.cn]www.firebbs.cn[/url]先注册个帐号(推荐);
  3. QQ:要想使用QQ扫码登录,必须先绑定论坛帐号,如果没有论坛帐号的可以先到野火论坛[url=http://www.firebbs.cn]www.firebbs.cn[/url]先注册个帐号,并将论坛帐号与QQ绑定
  4. Github:Gitbub帐号登录。
回复

使用道具 举报

发表于 2020-7-31 15:03:39 | 显示全部楼层
灰度图像传输不行,显示的还是jpg格式
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-1 15:35:03 | 显示全部楼层
donsbin 发表于 2020-7-31 15:03
灰度图像传输不行,显示的还是jpg格式

好的,会修正
回复 支持 反对

使用道具 举报

发表于 2022-6-19 15:29:17 | 显示全部楼层
看不到了。。
回复

使用道具 举报

发表于 2022-7-14 11:35:56 | 显示全部楼层
大佬你好,请问摄像头调试助手的接收帧率就是摄像头传输的帧率吗?为什么一直都在15FPS左右呢?
回复 支持 反对

使用道具 举报

发表于 2022-10-12 14:44:36 | 显示全部楼层
你好,请问勾选自动发送新行后,会连续发送两个回车换行符,这个能修正一下吗,另外能都增加多两个选项,可只发送回车符或者只发送换行符或者回车换行符一起发送
回复 支持 反对

使用道具 举报

发表于 2022-10-23 20:11:53 | 显示全部楼层
看不到通信协议呢?
回复 支持 反对

使用道具 举报

发表于 2023-11-26 09:56:36 | 显示全部楼层

修正了吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-3-29 14:37 , Processed in 0.060328 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表