资源描述
串口摄像头通讯协议
串口摄像头通讯协议(1.0)
1、概述
串口摄像头具有一个标准的RS232接口,可以同时提供232电TTL电平的输出/输入信号,可以同PC或其他具有RS232接口的设备相连,通讯的速率可以是9600bps,19200 bps(默认),38400 bps和57600 bps。
2、数据格式
摄像头与主机间的数据按帧来传送,一共有3种帧结构:命令帧、应答帧和数据帧。
命令帧的结构是:
数据头“U”
(1byte)
命令字节
(1byte)
命令内容
(0—n byte)
结束标志“#”
(1byte)
注:
⑴ 详细命令字节见表1
⑵ 命令内容长度由具体的命令字决定。
命令帧用于设定模块的工作状态和启动拍图操作。
应答帧的结构是:
正确应答
数据头“U”
(1byte)
接收到的命令
(1byte)
结束标志“#”
(1byte)
应答帧由接收方在接到正确的命令帧后发送
不正确应答
数据头“U”
(1byte)
?
(1byte)
结束标志“#”
(1byte)
应答帧由接收方,在接到不正确的命令帧,或者无法执行所发命令后发送
数据帧的结构是:
(1—506字节)完全由JPEG文件数据组成。
注:
⑴ 所有数据采用小端模式(低字节在前)。
⑵ 除最后一包数据,其余数据包都是506字节。
3、命令介绍
表1
命令字节
命令内容
说明
距离
I
1、9600波特率
2、19200波特率
3、38400波特率
4、57600波特率
初始化模块
UI2#
(初始化模块,并设定通讯波特率为19200)
G
1、160×128像素
2、320×240像素
3、640×480像素
拍摄一幅图像
UG2#
拍摄一幅320×240的图片
S
1、160×128像素
2、320×240像素
3、640×480像素
连续拍摄图像
US1#
连续拍摄一幅160×128的图片
P
数据长度(2字节,16进制表示)。
请求传送图像数据
UPcc0b#
请求传送一幅长度为0x0bcc的图片
N
无
进入休眠模式
UN#
O
无
停止拍图(无论是拍单幅图还是多幅图,收到此命令后,模块会立即中止传送过程)
UO#
注:未加说明的表内数据均为ASII表示,所有字母均为大写。
4、协议书交互过程:
⑴ 初始化模块
功能:改变模块数据输出速率,如果使用默认通讯速率,此项协议可以不必发送。
主机 模块
发送初始化命令 》
《 应答
举例:
主机发送:UI4# 设定通讯波特率为57600
模块应答:UI#
⑵ 拍摄单幅图像
功能:拍摄一幅指定大小的图像
主机 模块
发送拍摄单幅图像命令 》
《 应答
《 请求传送图像
《 第一帧数据
第n帧数据
举例:
S1:
主机发送:UG1#
模块应答:UG#
S2:
模块发送:UPcc0b#(图像大小0bccH字节)
模块发送:FFD8 。。。。。。。。FFD900。
通过判断长度或者根据JPEG的起始结束字节(FFD8)(FFD9)就可以判断传输是否结束,数据包就是一幅完整的JPEG文件。
⑶ 连续拍摄图像
基本过程同拍摄单幅图,唯一的区别是模块在发送完一幅图片后,会自动发起下一幅图的传输请求,直到收到任何一种命令。
展开阅读全文