串口摄像头通信协议
CRC 校验码。 校验码
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 };
+12V 电源
3、 基本参数
1、 通讯接口, RS232 或 485 接口,支持通讯波特率为: 4800、 9600、 19200、57600 2、 工作电压为 5V -12V 宽电压设计。 3、 支持分辨率为:
1280× 960 640× 480(其中又分为高、中、低三个质量的图片) 320× 240(同上) 160× 160(同上) 4、 配备红外灯,在拍摄时,自动点亮,以实现夜视以及省电功能。
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 位二进制数的形式暂存
不用连接。另外给摄像头提供一个 5v 电源,接到摄像头的+ 5V 和 GND 端即可。注意 485
的数据线有正负之分,接错不会造成设备损坏,但不能正常通讯,
此时交换一下即可。 摄像
头的电源一定不能接错,否则会烧坏摄像头。
485+ 摄 485- 像 GND 头 +12V
A
B
转
GND
换
+5V
器
电脑 232 接 口
关闭、打开红外灯
0x0a 0x0b 0x0c
修改波特率不保存
修改波特率参数并保存参 数 强制摄像头进入低功耗状
新的波特率不会保存,重 新上电后仍然回复到原 来的波特率
未实现
态
0x0d 0x 12
修改摄像头的 ID 按照报文给定的图像参数 拍照并传输图像数据,
一次传输完全部图象数 据,注意该协议返回的数 据长度是三个字节,没有 状态字节,状态字节对应 图象数据长度的高字节, 最大支持 16M 字节的图 象大小。
232 或 485 接口进行通讯,其通讯协议保持一致。下行
(到摄像头)报文的基本格式如下:
报文头
摄像头地址 报文类型 报文长度 命令参数
CRC 校验码
2 字节
1 字节
1 字节
2 字节
<(65536-9)
2 字节
报文头 :固定两个字节 0X90EB ,第一个字节是 0XEB ,第二个字节是 0X90 ;
返回: 数据长度: 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 代表图像的分辨率,取值范围见下表
2 字节
1 字节
1 字节
报文长度 2 字节
状态 1 字节
数
据 CRC 校验码
<(65536-9) 2 字节
状态: 1 字节的状态字节,反映了摄像头的当前状态
D7 = 1 图像 数据大于 64K ,请求 续传 =0 正常
D6 保留
D5 保留
D4 保留
D3 保留
2、具体命令介绍 1、 测试摄像头 命令类型: 0x01 命令长度: 0x0002 命令参数: 0x55aa
0x30
请求拍照, 以默认的压缩比 返回拍照的图片大小 和图象大小进行拍照, 拍照
结束返回图象大小, 如果修 改过图象大小参数, 会以最
0x31
后一次的图象大小进行拍 照 请求传输指定包的图像数 据
必须顺序传递,从第 0 包 开始,不可以随机请求
0x32
设置分包传输的包大小
默认 512 字节 ,包大小必 须是 128 的倍数
0x33
报告上次拍照命令拍摄的 图片数据大小
0x34
设置默认的图象分辨率
0x30 开始的命令主要用于分包传输协议,就是主机端没有大的缓存时可以使用这 些指令。
wk.baidu.com
报文长度: 定义报文的数据长度,只计算命令参数部分的数据长度。 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, 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,
5、 摄像头应该具备自适应功能,即对外界的光线强弱具备一定的适应性,以保证在任 何情况下都能获得在该情况下所能获得的最佳质量的图片。
6、 应具备低功耗工作,在低功耗模式工作电流应小于或等于 流应小于或等于 120mA (不启动红外灯的状态) 。
10mA ,正常模式工作电
二、 摄像头接口协议
1、基本报文格式介绍 串口摄像头采用可以支持
0x 03 0x 04 0x 05
0x 06
设置对比度 设置亮度 按照报文给定的图象参数 拍照,并返回图像长度 传输图像数据
备注
一次传输完全部图象数 据,注意该协议返回的数 据长度是三个字节,没有 状态字节,状态字节对应 图象数据长度的高字节, 最大支持 16M 字节的图 象大小。 未实现 未实现
0x 08
分辨率代码 1 2 3 4 5 6 7
分辨率 160*120 128*96 320*240 128*160 640*480 1152*864 1280*960
D2
crc<<=8; /* 左移 8 位,相当于 CRC 的低 8 位乘以 */
的 CRC */
crc^=crc_ta[da^*ptr]; /* 高 8 位和当前字节相加后再查表求
ptr++;
}
return(crc);
}
CRC 的高 8 位 */ CRC ,再加上以前
上行报文的基本格式如下:
报文头
摄像头地址 报文类型
摄像头地址 :每个摄像头都可以设定一个地址,地址范围从
0- 255 ,其中地址 0
保留,地址 255 用于广播报文。每个摄像头只处理地址和自己内部设定的地址相同的
报文,地址不等当作无效报文。 报文类型 :定义具体的命令类型,主要命令见下表
报文类型 ( 16 进制)
命令说明
0x 01 0x 02
测试摄像头 按照报文给定的图像参数 拍照并传输图像数据,
为 115200 ,可以通过命令配置。
2、 摄像头测试方法
具有 485 接口的摄像头连接 pc 进行镜头调试、参数设置的时候需要通过一个
485 转换
器和 PC 的 232 接口连接。 485 数据线只需要两根线,称为 A 、B 或 485+、 485-。连接的
时候将摄像头的两根 485 数据线和转换器的两根数据线连接, 转换器上的电源 (+ 5v)和地
兼容。同时,本产品带有可选择的红外照明功能,能够实现自动照度补偿、在黑暗
的光线下仍能较好的图片质量。该摄像头的接口为标准的
232 接口,能够很方便和
与各种计算机和嵌入式控制系统、数据传输系统相连。同时使用
485 接口时可以方
便控制设备接入多个摄像头。最大串口通讯速率可达
115200bps 。
支持的通讯速率为 :4800 、 9600 、 19200 、 57600 、 115200 ,设备默认通讯波特率
串口摄像头说明书
一、 串口摄像头介绍
1、SXH485-V1 串口摄像头是一款具有视频采集和图像压缩功能的摄像头,具有
130 万象素 CMOS摄像头,最大分辨率可达到
1280 × 960 ,它是一个内含有拍摄控制、
视频捕捉、图像数据采集、图像
JPEG 压缩、串口通讯等功能的齐全的工业用图像采
集设备。 采用标准的 JPEG 图像压缩算法, 本产品的图像输出格式与常用计算机完全