摄像头接口协议
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、 摄像头接口协议
1、基本报文格式介绍 串口摄像头采用可以支持 232 或 485 接口进行通讯,其通讯协议保持一致。下行
(到摄像头)报文的基本格式如下:
报文头 2 字节
摄像头地址 报文类型 报文长度 命令参数
1 字节
1 字节
2 字节 <(65536-9)
CRC 校验码 2 字节
报文头:固定两个字节 0X90EB,第一个字节是 0XEB,第二个字节是 0X90;
摄像头接口无特殊说明的使用 RS232 接口,不提供硬件握手信号,支持的通讯 速率为:4800、9600、14400、19200、38400、57600、115200,设备默认通讯波特率 为 115200,可以通过命令配置。
2、485 接口摄像头测试方法
具有 485 接口的摄像头连接 pc 进行镜头调试、参数设置的时候需要通过一个 485 转换 器和 PC 的 232 接口连接。485 数据线只需要两根线,称为 A、B 或 485+、485-。连接的 时候将摄像头的两根 485 数据线和转换器的两根数据线连接,转换器上的电源(+5v)和地 不用连接。另外给摄像头提供一个 5v 电源,接到摄像头的+5V 和 GND 端即可。注意 485 的数据线有正负之分,接错不会造成设备损坏,但不能正常通讯,此时交换一下即可。摄像 头的电源一定不能接错,否则会烧坏摄像头。
485+ 摄 485- 像 GND 头 +5V
A
B
转
GND 换
+5V 器
电脑 232 接 口
+5V 电源
3、基本参数
1、 通讯接口,RS232 或 485 接口,支持通讯波特率为:4800、9600、19200、38400、 57600
2、 工作电压为 5V(4.5~5.5)。
3、 支持分辨率为:
1280×960 640×480(其中又分为高、中、低三个质量的图片) 320×240(同上) 160×160(同上) 4、 配备红外灯,在拍摄时,自动点亮,以实现夜视以及省电功能。 5、 摄像头应该具备自适应功能,即对外界的光线强弱具备一定的适应性,以保证在任 何情况下都能获得在该情况下所能获得的最佳质量的图片。 6、 应具备低功耗工作,在低功耗模式工作电流应小于或等于 10mA,正常模式工作电 流应小于或等于 120mA(不启动红外灯的状态)。
串口摄像头说明书
一、 串口摄像头介绍
1、ZSV-01P 串口摄像头是一款具有视频采集和图像压缩功能的摄像头,具有
130 万象素 CMOS 摄像头,最大分辨率可达到 1280×960,它是一个内wk.baidu.com有拍摄控制 、 视频捕捉、图像数据采集、图像 JPEG 压缩、串口通讯等功能的齐全的工业用图像 采 集设备。采用标准的 JPEG 图像压缩算法,本产品的图像输出格式与常用计算机完 全 兼容。同时,本产品带有可选择的红外照明功能,能够实现自动照度补偿、在黑暗 的光线下仍能较好的图片质量。该摄像头的接口可定制为标准的 RS-232 接口、485 接口或 TTL 电平串口,能够很方便和与各种计算机和嵌入式控制系统、数据传输系 统相连。同时使用 485 接口时可以方便控制设备接入多个摄像头。最大串口通讯速 率可达 115200bps。
返回: 数据长度:0x0002 数据内容:0xaa55 举例:
发送到摄像头:90 eb 01 01 02 00 55 aa 00 00 返回:90 eb 01 01 02 00 aa 55 00 00 2、 拍照并传输图像数据 命令类型:0x02 命令长度:0x0002 命令参数:字节 1 代表图像的分辨率,取值范围见下表
unsigned short cal_crc(unsigned char *ptr, unsigned short len) {
unsigned short crc; unsigned char da;
crc=0;
while(len--!=0) {
da=(unsigned char) (crc/256); /* 以 8 位二进制数的形式暂存 CRC 的高 8 位 */
拍照并传输图像数据,
据,注意该协议返回的数
据长度是三个字节,没有
状态字节,状态字节对应
图象数据长度的高字节,
最大支持 16M 字节的图
象大小。
0x 03
设置对比度
未实现
0x 04
设置亮度
未实现
0x 05
按照报文给定的图象参数
拍照,并返回图像长度
0x 06
传输图像数据
0x 08
关闭、打开红外灯
0x0a
修改波特率不保存
新的波特率不会保存,重
新上电后仍然回复到原
来的波特率
0x0b
修改波特率参数并保存参
数
0x0c
强制摄像头进入低功耗状 未实现
态
0x0d
修改摄像头的 ID
0x 12
按照报文给定的图像参数 一次传输完全部图象数
拍照并传输图像数据,
据,注意该协议返回的数
据长度是三个字节,没有
状态字节,状态字节对应
的 CRC */
crc<<=8; /* 左移 8 位,相当于 CRC 的低 8 位乘以 */ crc^=crc_ta[da^*ptr]; /* 高 8 位和当前字节相加后再查表求 CRC ,再加上以前
ptr++;
}
return(crc);
}
上行报文的基本格式如下:
报文头 2 字节
摄像头地址 报文类型 报文长度 状态 数
默认 512 字节,包大小必
须是 128 的倍数
0x33
报告上次拍照命令拍摄的
图片数据大小
0x34
设置默认的图象分辨率
0x30 开始的命令主要用于分包传输协议,就是主机端没有大的缓存时可以使用这
些指令。
报文长度:定义报文的数据长度,只计算命令参数部分的数据长度。 CRC 校验码:从摄像头地址字节开始到命令参数结束部分数据的 CRC 校验码。校验码 错误的报文作为无效报文丢弃。 CRC 校验码计算公式: C 语言算法代码如下: static const unsigned short crc_ta[256]={ /* CRC 余式表 */ 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
分辨率代码 0 1 2 3 4 5 6 7
分辨率 128*120 160*120 128*96 320*240 128*160 640*480 1152*864 1280*960
0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823, 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12, 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a, 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067, 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256, 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d, 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9, 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1, 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0 };
摄像头地址:每个摄像头都可以设定一个地址,地址范围从 0-255,其中地址 0
保留,地址 255 用于广播报文。每个摄像头只处理地址和自己内部设定的地址相同的
报文,地址不等当作无效报文。
报文类型:定义具体的命令类型,主要命令见下表
报文类型
命令说明
备注
(16 进制)
0x 01
测试摄像头
0x 02
按照报文给定的图像参数 一次传输完全部图象数
据 CRC 校验码
1 字节
1 字节
2 字节 1 字节 <(65536-9) 2 字节
状态:1 字节的状态字节,反映了摄像头的当前状态
D7
D6
= 1 图像 保留
数据大于
D5 保留
D4 保留
D3 保留
64K,请求 续传 =0 正常
D2 保留
D1 保留
2、具体命令介绍 1、 测试摄像头 命令类型:0x01 命令长度:0x0002 命令参数:0x55aa
图象数据长度的高字节,
最大支持 16M 字节的图
象大小。
0x30
请求拍照,以默认的压缩比 返回拍照的图片大小
和图象大小进行拍照,拍照
结束返回图象大小,如果修
改过图象大小参数,会以最
后一次的图象大小进行拍
照
0x31
请求传输指定包的图像数 必须顺序传递,从第 0 包
据
开始,不可以随机请求
0x32
设置分包传输的包大小