目录
热像仪模块UART CVBS通信协议指南

前言
本手册适用于HM-TM5X-XRG/C系列热像仪模组, 并介绍了该系列热像仪模组的UART串口通信和CVBS视频通信协议及相关命令.
内容
1. 介绍
1.1 通讯协议
热像仪模块支持UART串行通信和CVBS视频通信协议.
UART串行通信
用户可以通过串口向热像仪模块发送指令,控制模块执行相应动作, 比如图像参数设置, 功能调整, 等等.
串行通信的数据发送和接收应遵循通信包格式的要求.
CVBS视频通信
热图像和视频流遵循CVBS视频通信协议. 模块上电即输出视频数据 (无使能控制).
1.2 准备
用户可以连接模块 (“设备”端) 到要开发的设备 (“主持人” 结尾) 通过串口.
一旦模块连接并上电, 它将图像数据通过CVBS协议发送到主机. 主机将解析获得的数据,然后显示图像或将其用于其他目的.
用户可以通过主机向模块发送串口命令来控制模块, 比如设置图像参数.
2 串行通信
2.1 介绍
该模块使用UART (通用异步接收器/发送器) 连续交流. 主人 (用户开发的设备) 可通过串口向模块发送命令,控制模块执行相应动作. 通信命令需要以指定的数据包格式发送.
2.1.1 串行通讯格式
与主机建立通信之前, 需要根据表设置主机上的通讯参数 2-1, 显示热像仪模块的串行通信格式.
| 项目 | 描述 |
| 波特率 | 115200 基点 |
| 开始 | 1 位 |
| 数据 | 8 位 |
| 结尾 | 1 位 |
| 查看 | 无 |
2.1.2 数据发送和接收
数据包发送
热像仪模组串行通讯包包含多个字段, 如图 2-1.
桌子 2-2 描述数据包的字段.
- 定义 发送数据包
| 场地 | 字节 | 描述 | 价值 | 抵消 | |
| 开始 | 1 | 命令包开始. | 0xF0 | 1 | |
| 尺寸 | 1 | 命令包长度. | N+4字节, 如图 2-1. | 2 | |
| 设备 地址 | 1 | 模块设备地址. | 0x36 | 3 | |
| 班级地址 | 1 | 命令的类地址. | 看到 命令 详情. | 4 | |
| 子类地址 | 1 | 命令的子类地址. | 看到 命令 详情. | 5 | |
| 读/写 旗帜 | 1 | 主机发送的数据包. | 读/写标志 | 写: 0x00读: 0x01 | 6 |
| 设备反馈的数据包. | 正常返回. | 0x03 | |||
| 返回错误代码. | 0x04 | ||||
| 数据 | ñ | 主机发送的数据包. | 传输数据内容. | 默认: 0x00. 看到 命令 详情. | 7〜 (N+6) |
| 设备反馈的数据包. | 正常命令的反馈 | 成功: 0x01失败: 不予退货 | |||
| 异常命令反馈 | 无命令: 0x00, 主机发送的命令不属于模块的命令。超出阈值: 0x01 | ||||
| 数据内容 | 当接收到读命令时, 返回数据内容. | ||||
| CHK | 1 | 求和检查. | 添加字段后: 设备地址, 班级地址, 子类地址 , R/W 标志和数据, 采取较低的 8 位. | (N+7) | |
| 结尾 | 1 | 命令包结束. | 0xFF | (N+8) | |
数据包接收
热像仪模块返回给主机的命令包中, DATA0 为高字节,DATA(N-1) 是低字节.
- 接收数据包 领域
桌子 2-3 描述数据包的字段.
- 接收的定义数据包
| 场地 | 字节 | 描述 | 价值 | 抵消 |
| 开始 | 1 | 命令包开始. | 0xF0 | 1 |
| 尺寸 | 1 | 命令包长度. | N+4字节, 如图 2-2. | 2 |
| 设备 地址 | 1 | 模块设备地址. | 0x36 | 3 |
| 班级地址 | 1 | 命令的类地址. | 看到 命令 详情. | 4 |
| 子类地址 | 1 | 命令的子类地址. | 看到 命令 详情. | 5 |
| 返回标志 | 1 | 返回标志. | 0x03 | 6 |
| 数据 | ñ | 数据 | 看到 命令 详情. 默认: 0x00 (没有数据). | 7〜 (N+6) |
| CHK | 1 | 求和检查. | 添加字段后: 设备地址, 班级地址, 子类地址 , 返回标志和数据, 采取较低的 8 位. | (N+7) |
| 结尾 | 1 | 命令包结束. | 0xFF | (N+8) |
- 注意
- 当主机向模块发送写命令时, 模块接收完毕后会返回命令的实际执行状态.
- 0x01: 表示已收到写命令, 但并不代表命令已经执行.
- 0x00: 表示没有收到写命令.
- 当模块收到读命令时, 它读取寄存器中的内容并按照协议返回给主机, 具体DATA分析可参考表 2-3.
串行通信示例
这个例子是为了 “将热像仪模块的亮度参数设置为100。”
脚步
- 查询设备地址, 班级地址, 亮度设置命令的子类地址和R/W标志.
- 查询串口通讯命令表 串行通讯命令 获取设备地址 (0x36), 班级地址 (0x78), 子类地址 (0x02) 和读/写标志 (写: 0x00) 亮度设置命令.
- 计算字段值: 尺寸, 数据和CHK.
- 尺寸: N+4. 亮度设置命令的DATA字段的字节数为N=1, 所以尺寸是 5 (0x05).
- 数据: 亮度对应的十六进制值 100 是 0x64.
- CHK: 总和0x(36+78+02+00+64)=0x114, 采取较低的 8 CHK 字段的位, 即0x14.
- 结合以上参数, 主机发送命令0x F0 05 36 78 02 00 64 14 FF 到模块.
- 主机发送命令将亮度设置为 100
- 结合以上参数, 主机发送命令0x F0 05 36 78 02 00 64 14 FF 到模块.
| 场地 | 开始 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK | 结尾 |
| 主机发射 | 0xF0 | 0x05 | 0x36 | 0x78 | 0x02 | 0x00 | 0x64 | 0x14 | 0xFF |
- 模块反馈命令0x F0 05 36 78 02 03 01 B4我.
- 将亮度设置为的模块反馈命令 100
| 场地 | 开始 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK | 结尾 |
| 模块反馈 | 0xF0 | 0x05 | 0x36 | 0x78 | 0x02 | 0x03 | 0x01 | 0xB4 | 0xFF |
- 尺寸: N+4. 亮度设置命令的DATA字段的字节数为N=1, 所以尺寸是 5 (0x05).
- 数据: 模块接收亮度设置命令,返回0x01.
- CHK: 总和0x(36+78+02+00+01)=0xB4, 采取较低的 8 CHK 字段的位, 即0xB4.
- 检查屏幕亮度是否变化,判断设置是否成功, 或者可以使用亮度查询命令来查看.
2.2 命令
本节介绍各个命令的读写规则, 解释从模块反馈的信息, 以及命令的注释. 完整的命令列表, 参考 串行通讯命令.
2.2.1 读取模块型号 (只读)
主机可以通过该命令读取热像仪模组的型号. 模块返回的十六进制数据需要转换为ASCII字符.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x74 | 0x02 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x74 | 0x02 | 0x03 | 模块型号, 需要转换为ASCII字符. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
2.2.2 读取FPGA程序版本号 (只读)
主机可以通过该命令读取模块的FPGA程序版本号.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x74 | 0x03 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x74 | 0x03 | 0x03 | 模块的FPGA程序版本号, 的长度为 3 字节,MSB 是高字节. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- DATA字段的值是FPGA程序的版本号. 长度为 3 字节,MSB 是高字节, 例如. 0x050112代表 5.1.12.
2.2.3 读取FPGA程序编译时间 (只读)
主机可以通过该命令读取模块的FPGA程序编译时间.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x74 | 0x04 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x74 | 0x04 | 0x03 | FPGA程序的编译时间. 长度为 4 字节,MSB 是高字节. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- DATA字段的值是FPGA程序的编译时间. 长度为 4 字节,MSB 是高字节, 例如. 0x20140820表示编译时间为 20140820.
2.2.4 读取模块软件版本号 (只读)
主机可以通过该命令读取模块的软件版本号.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x74 | 0x05 | 0x01 | 没有任何. | TBD |
| 模块反馈 | TBD | 0x36 | 0x74 | 0x05 | 0x03 | 模块的软件版本号. 长度为 3 字节,MSB 是高字节. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- DATA字段的值为模块的软件版本号. 长度为 3 字节,MSB 是高字节, 例如. 0x050112代表 5.1.12.
2.2.5 读取模块软件编译时间 (只读)
主机可以通过该命令读取模块的软件程序编译时间.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x74 | 0x06 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x74 | 0x06 | 0x03 | 模块的软件编译时间. 长度为 4 字节,MSB 是高字节. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- DATA字段的值为模块的软件版本号. 长度为 4 字节,MSB 是高字节, 例如. 0x20140820表示编译时间为 20140820.
2.2.6 读取相机过程校准版本时间 (只读)
主机可以通过该命令读取模块的相机过程标定版本时间.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x74 | 0x0B | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x74 | 0x0B | 0x03 | 模块相机过程标定版本时间. 长度为 4 字节,MSB 是高字节. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- DATA字段的值为模块的相机过程标定版本时间. 长度为 4 字节,MSB 是高字节, 例如. 0x20170101 表示时间为一月 1, 2017.
2.2.7 读取ISP参数版本号 (只读)
主机可以通过该命令读取模块的ISP参数版本号.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x74 | 0x0℃ | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x74 | 0x0℃ | 0x03 | 4 字节有效. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- 模块返回ISP参数版本号. 有效长度为 4 字节. 例如. 如果 ISP 版本号是 5, 0返回 x00000005.
2.2.8 保存当前设置 (只写)
通过该命令保存模块当前设置.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x74 | 0x10 | 0x00 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x74 | 0x10 | 0x03 | 0x01 | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
2.2.9 恢复出厂设置 (只写)
通过该命令将模块恢复出厂设置.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x74 | 0x0F | 0x00 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x74 | 0x0F | 0x03 | 0x01 | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
2.2.10 手动快门校准 (只写)
该命令用于对模块进行手动快门校准, 称为平场校准 (FFC), 用于校正图像的不均匀性,提高图像质量.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x7C | 0x02 | 0x00 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x7C | 0x02 | 0x03 | 0x01 | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
2.2.11 手动背景校正 (只写)
该命令用于对模块进行背景校正. 背景校正减少背景图像的畸变,使其正常显示.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x7C | 0x03 | 0x00 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x7C | 0x03 | 0x03 | 0x01 | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
2.2.12 暗角校正 (只写)
该命令允许您手动执行渐晕校正.
渐晕校正是为了校正由于设备镜头的透射率和内部辐射造成的图像不均匀性 (锅盖缺陷) 使图像更加均匀.
使用此功能时, 您需要将镜头朝向均匀的表面. 否则当前镜头场景会叠加, 会影响图像显示.
命令和参数
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x7C | 0x0℃ | 0x00 | 0x02: 暗角校正. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x7C | 0x0℃ | 0x03 | 0x01 | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
2.2.13 自动快门控制 (读/写)
该命令用于切换模块自动快门控制模式. 4 模式可选: 自动控制关闭, 时序控制, 温差控制、全自动控制 (默认, 0x03). 建议保持默认设置.
设置切换模式后 (定时, 温度控制, 全自动), 快门根据设定条件周期性关闭, 有利于提高热成像的均匀性.
命令和参数
自动快门控制写入命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x7C | 0x04 | 0x00 | 0x00: 自动控制关闭 0x01: 自动切换, 时序控制0x02: 自动切换, 温差控制 0x03: 全自动控制 (默认) | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x7C | 0x04 | 0x03 | 0x01 | TBD |
自动快门控制读取命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x7C | 0x04 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x7C | 0x04 | 0x03 | 0x00: 自动控制关闭 0x01: 自动切换, 时序控制0x02: 自动切换, 温差控制 0x03: 全自动控制 | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- 有 4 数据字段的值.
- 0x00: 自动快门控制已关闭.
- 0x01: 定时控制已启用, 默认快门切换间隔为 10 分钟, 不建议用户修改. 参考 设置自动快门切换间隔.
- 0x02: 温差快门控制开启. 模块根据温差自动控制快门. 无需额外的用户设置.
- 0x03: 默认设置. 快门定时控制和温差控制同时开启. 默认快门切换间隔为 10 分钟, 不建议用户修改. 参考 设置自动快门切换间隔. 温差控制由模块控制,不需要用户设置.
2.2.14 设置自动快门切换间隔 (读/写)
当自动快门控制设置为0x01或0x03时 (参考 自动快门控制), 自动快门切换间隔可根据需要调整. 模块会按照设定的时间间隔关闭快门, 10 默认分钟数, 并且不建议修改.
命令和参数
自动快门切换间隔写入命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | TBD | 0x36 | 0x7C | 0x0 | 0x00 | {日期0、日期1}: 快门间隔, 分钟后, 有效期为 2 字节. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x7C | 0x05 | 0x03 | 0x01 | TBD |
自动快门切换间隔读取命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x7C | 0x05 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x7C | 0x05 | 0x03 | {日期0、日期1}: 快门间隔, 分钟后, 有效期为 2 字节. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- 快门间隔以分钟为单位, 和 2 字节有效. 默认设置是 10 分钟 (0x00 0A)
2.2.15 缺陷像素校正 (只写)
缺陷像素是探测器上对热辐射不敏感、不能反映被测目标温度变化的像素. 在将模块集成到主机中的过程中, 可能会出现新的坏点,需要纠正.
该模块可以在客户端软件上修正坏点, 以及通过串口命令. 下面介绍如何使用串口命令修正坏点.
脚步
- 打开光标显示: 0xF0 05 36 78 1一个 00 0D7FF
- 将光标移动到缺陷像素位置. 光标移动命令如下:
- 光标向上: F0 05 36 78 1一个 00 02 CAFF
- 光标向上移动 N 个像素: F0 05 36 78 1一个 00 2N CHK FF (N 是步长, CHK是校验字段)
- 光标向下: F0 05 36 78 1一个 00 03 CB i
- 光标向下移动 N 个像素: F0 05 36 78 1一个 00 3N CHK FF (N 是步长, CHK是校验字段)
- 光标向左移动: F0 05 36 78 1一个 00 04 CCFF
- 光标向左移动 N 个像素: F0 05 36 78 1一个 00 4N CHK FF (N 是步长, CHK是校验字段)
- 光标右移: F0 05 36 78 1一个 00 05 光盘片
- 光标右移 N 个像素: F0 05 36 78 1一个 00 5N CHK FF (N 是步长, CHK是校验字段)
- 光标到中心: F0 05 36 78 1一个 00 06 这个FF
- 缺陷像素校正: F0 05 36 78 1一个 00 0D D5 FF
- 注意
当图像中出现缺陷像素时, 您可以使用此命令将该像素添加到有缺陷的像素序列中,并且该像素将在图像中被删除.
- 取消缺陷像素校正: F0 05 36 78 1一个 00 0d6i
- 注意
当校正无缺陷像素并错误地从图像中删除该像素时, 您可以发送此命令从有缺陷的像素序列中删除该像素并将其恢复到图像中.
命令和参数
打开/关闭光标显示.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x78 | 0x1a | 0x00 | 0x00: 关闭光标显示 0x0F: 打开光标显示 | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x78 | 0x1a | 0x03 | 0x01 | TBD |
移动光标.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x78 | 0x1a | 0x00 | 0x02: 光标向上 0x03: 光标向下 0x04: 光标左移0x05: 光标右移0x06: 光标到中心0x2N: 光标向上移动 N 个像素 (ñ: 0x1~0xF) 0x3N: 光标向下移动 N 个像素 (ñ: 0x1~0xF) 0x4N: 光标向左移动 N 个像素 (ñ: 0x1~0xF) 0x5N: 光标右移 N 个像素 (ñ: 0x1~0xF) | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x78 | 0x1a | 0x03 | 0x01 | TBD |
添加/删除有缺陷的像素.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x78 | 0x1a | 0x00 | 0x0D: 将像素添加到缺陷像素表中. 0x0E: 从缺陷像素表中删除像素. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x78 | 0x1a | 0x03 | 0x01 | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
2.2.16 亮度设置 (读/写)
该命令用于设置图像亮度, 可在0~100范围内设置 (小数), 默认值为 50 (0x32).
命令和参数
亮度设置写入命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x78 | 0x02 | 0x00 | 0〜100, 默认 50 (小数). 需要转换为十六进制值. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x78 | 0x02 | 0x03 | 0x01 | TBD |
读取亮度设置命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x78 | 0x02 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x78 | 0x02 | 0x03 | 0〜100 (小数). 需要转换为十六进制值. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- DATA字段的值为需要设置或读取的亮度参数, 如果参数是 100 (小数), DATA字段的值为0x64.
2.2.17 对比度设置 (读/写)
调整模组图像对比度或读取模组当前对比度参数.
命令和参数
对比度设置写入命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | TBD | 0x36 | 0x78 | 0x03 | 0x00 | 0〜100, 默认 50 (小数). 需要转换为十六进制值. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x78 | 0x03 | 0x03 | 0x01 | TBD |
对比度设置读取命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x78 | 0x03 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x78 | 0x03 | 0x03 | 0〜100 (小数). 需要转换为十六进制值. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- DATA字段的值是需要设置或读取的对比参数, 如果参数是 65 (小数), DATA字段的值为0x41.
2.2.18 设置图像细节数字增强 (读/写)
该命令用于设置图像细节的数字增强级别. 强化等级越高, 细节越好, 但同时图像噪点会更加明显.
命令和参数
数字增强设置写入命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | TBD | 0x36 | 0x78 | 0x10 | 0x00 | 0〜100, 默认 50 (小数). 需要转换为十六进制值. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x78 | 0x10 | 0x03 | 0x01 | TBD |
数字增强设置读取命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x78 | 0x10 | 0x00 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x78 | 0x10 | 0x03 | 0〜100 (小数). 需要转换为十六进制值. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- DATA字段的值是需要设置或读取的数字增强参数, 如果参数是 65 (小数), DATA字段的值为0x41.
2.2.19 设置静态去噪级别 (读/写)
该命令用于设置图像的静态去噪级别, 当去噪级别增加时可以减少图像噪声, 但它也会降低图像的清晰度, 需要根据实际图像效果进行调整.
命令和参数
降噪等级设置写入命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | TBD | 0x36 | 0x78 | 0x15 | 0x00 | 0〜100, 默认 50 (小数). 需要转换为十六进制值. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x78 | 0x15 | 0x03 | 0x01 | TBD |
读取降噪等级设置命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x78 | 0x15 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x78 | 0x15 | 0x03 | 0〜100 (小数). 需要转换为十六进制值. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- DATA字段的值为需要设置或读取的去噪级别, 如果参数是 65 (小数), DATA字段的值为0x41.
2.2.20 设置动态去噪级别 (读/写)
该命令用于设置图像的动态去噪级别, 当去噪级别增加时可以减少图像噪声, 但它也会降低图像的清晰度, 需要根据实际图像效果进行调整.
命令和参数
降噪等级设置写入命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | TBD | 0x36 | 0x78 | 0x16 | 0x00 | 0〜100, 默认 50 (小数). 需要转换为十六进制值. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x78 | 0x16 | 0x03 | 0x01 | TBD |
读取降噪等级设置命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x78 | 0x16 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x78 | 0x16 | 0x03 | 0〜100 (小数). 需要转换为十六进制值. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- DATA字段的值为需要设置或读取的去噪级别, 如果参数是 65 (小数), DATA字段的值为0x41.
2.2.21 调色板设置 (读/写)
热图像基于红外辐射强度,没有颜色信息. 图像算法根据灰度值映射一组颜色, 称为调色板. 模块支持多种调色板供用户选择. 白热化 (0x00) 默认设置.
命令和参数
调色板设置写入命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | TBD | 0x36 | 0x78 | 0x20 | 0x00 | 0x00: 白热化0x01: 黑热0x02: 融合 1 0x03: 彩虹0x04: 融合 2 0x05: 铁红 1 0x06: 铁红 2 0x07: 深棕色0x08: 颜色 1 0x09: 颜色 2 0x0A: 冰火0x0B: 雨0x0C: 绿热 0x0D: 红热 0x0E: 深蓝 | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x78 | 0x20 | 0x03 | 0x01 | TBD |
读取调色板设置命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x78 | 0x20 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | TBD | 0x36 | 0x78 | 0x20 | 0x03 | 0x00: 白热化0x01: 黑热0x02: 融合 1 0x03: 彩虹0x04: 融合 2 0x05: 铁红 1 0x06: 铁红 2 0x07: 深棕色0x08: 颜色 1 0x09: 颜色 2 0x0A: 冰火0x0B: 雨0x0C: 绿热 0x0D: 红热 0x0E: 深蓝 | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- 白热化 (0x00) 默认设置.
- 调色板切换需要一段时间. 发送命令后需要等待查看切换结果.
2.2.22 设置图像镜像 (读/写)
设置图像的镜像模式, 或者读取模块当前的镜像状态.
命令和参数
镜像设置写入命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x70 | 0X11 | 0x00 | 0x00: 无镜像. 0x01: 中央镜像. 0x02: 左右镜像. 0x03: 上下镜像. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x70 | 0X11 | 0x03 | 0x01 | TBD |
图像镜像设置读取命令.
| 场地 | 尺寸 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | CHK |
| 主机发射 | 0x05 | 0x36 | 0x70 | 0X11 | 0x01 | 没有任何. 0默认为 x00. | TBD |
| 模块反馈 | 0x05 | 0x36 | 0x70 | 0X11 | 0x03 | 0x00: 无镜像. 0x01: 中央镜像. 0x02: 左右镜像. 0x03: 上下镜像. | TBD |
命令说明
- 参考 数据发送和接收 编辑命令或解释反馈数据.
- 用于计算SIZE和CHK字段, 参考 数据发送和接收.
- 无镜像 (0x00) 默认设置.
2.3 读取初始化状态 (只读)
该命令用于主机读取模块的初始化状态.
当模块处于初始化状态时, 它正在加载视频流. 当初始化完成时, 将输出视频流.
命令和参数
镜像设置写入命令.
| 场地 | 类 地址 | 子类 地址 | 旗帜 | 数据 | 备注 |
| 主机发射 | 0x7C | 0x14 | 0x00 | 0x00 | |
| 模块反馈 | 0x7D | 0x06 | 0x03 | 0x00: 正在加载0x01: 视频输出 |
- 注意
如果命令执行成功, 模块反馈Flag字段为 “正常返回 (0x03)”, 数据字段是 “0x00” (加载状态) 要么 “0x01” (视频输出状态).
2.4 串口命令发送与验证
对于这个模块, 通常在发送命令后, 模块返回的数据仅表明是否收到命令, 但不知道是否生效.
对于一些图像设置命令, 可以通过镜像的变化来查看命令是否生效. 对于其他命令, 需要发送相应功能的读取命令来查询设备状态.
程序如下.
脚步
- 发送写命令.
- 等待设备执行命令. 根据不同的命令等待时间不同.
- 发送对应功能的读取命令.
- 检查模块返回的数据,检查参数是否被修改.
- 等待设备执行命令. 根据不同的命令等待时间不同.
- 注意
不要频繁向模块发送写命令, 因为超过处理能力就会冻结.
3 常问问题
有关设备的常见问题.
为什么模块无法连接到开发工具或者无法设置模块参数?
- 请检查串口是否与模块正确连接.
- 请检查所连接模块的波特率和COM口是否选择正确, PC上也有对应的COM口.
- 如果您使用USB转串口, 请确认是否安装了USB转串口驱动.
如何升级模块?
模块连接到开发工具后, 使用升级功能升级模块.
- 串行通讯命令
- 信息查询命令
| 命令 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | 备注 |
| 读取模块型号 | 0x36 | 0x74 | 0x02 | 0x01 | 没有任何 | 5 有效字节数. 返回模块的型号. |
| 读取FPGA程序版本号 | 0x36 | 0x74 | 0x03 | 0x01 | 没有任何 | 例如. 0x050112表示 5.1.12. 5 是主要版本, 这是 3路 字节; 1 是次要版本, 这是 2nd 字节, 12 是细分版本, 这是 1ST 字节. 3 有效字节数, MSB 是高字节. |
| 读取FPGA程序编译时间 | 0x36 | 0x74 | 0x04 | 0x01 | 没有任何 | 4 有效字节数, MSB 是高字节. 例如. 0x20140820 的意思 20140820. |
| 读取模块软件版本号 | 0x36 | 0x74 | 0x05 | 0x01 | 没有任何 | 参考 读取FPGA程序版本号 以上. |
| 读取模块软件编译时间 | 0x36 | 0x74 | 0x06 | 0x01 | 没有任何 | 参考 读取FPGA程序编译时间 以上. |
| 读取相机过程校准版本时间 | 0x36 | 0x74 | 0x0B | 0x01 | 没有任何 | 4 有效字节数, MSB 是高字节. 例如. 0x20170101 的意思 20170101. |
| 读取ISP参数版本号 | 0x36 | 0x74 | 0x0℃ | 0x01 | 没有任何 | 4 有效字节数. 例如. 如果 ISP 版本号是 5, 0x00000005 将被返回. |
- 功能设定命令
| 命令 | 设备 地址 | 类 地址 | 子类 地址 | 旗帜 | 数据 | 默认 |
| 手动快门校准 | 0x36 | 0x7C | 0x02 | 0x00 | 只写 | |
| 手动背景校正 | 0x36 | 0x7C | 0x03 | 0x00 | 只写 | |
| 自动快门控制 | 0x36 | 0x7C | 0x04 | 0x00 | 0x00: 自动控制关闭 0x01: 自动切换, 时序控制0x02: 自动切换, 温差控制 0x03: 全自动控制 | 0x03 |
| 设置自动快门切换间隔 | 0x36 | 0x7C | 0x05 | 0x00 | 快门间隔以分钟为单位, 和 2 字节有效. 默认设置是 10 分钟 (0x00 0A) | 0x00 0A |
| 暗角校正 | 0x36 | 0x7C | 0x0℃ | 0x00 | 0x02: 暗角校正 | |
| 亮度设置 | 0x36 | 0x78 | 0x02 | 0x00 | 1 字节有效. 取值范围: 0〜100, 默认 50 (小数). | 0x32 |
| 对比度设置 | 0x36 | 0x78 | 0x03 | 0x00 | 1 字节有效. 取值范围: 0〜100, 默认 50 (小数). | 0x32 |
| 设置图像细节数字增强 | 0x36 | 0x78 | 0x10 | 0x00 | 1 字节有效. 取值范围: 0〜100, 默认 50 (小数). | 0x32 |
| 设置静态去噪级别 | 0x36 | 0x78 | 0x15 | 0x00 | 1 字节有效. 取值范围: 0〜100, 默认 50 (小数). | 0x32 |
| 设置动态去噪级别 | 0x36 | 0x78 | 0x16 | 0x00 | 1 字节有效. 取值范围: 0〜100, 默认 50 (小数). | 0x32 |
| 缺陷像素校正 | 0x36 | 0x78 | 0x1a | 0x00 | 0x00: 关闭光标显示 0x0F: 打开光标显示 0x02: 光标向上 0x03: 光标向下 0x04: 光标左移0x05: 光标右移0x06: 光标到中心0x0D: 将像素添加到缺陷像素表中. 0x0E: 从缺陷像素表中删除像素. 0x2N: 光标向上移动 N 个像素 (ñ: 0x1~0xF) 0x3N: 光标向下移动 N 个像素 (ñ: 0x1~0xF) 0x4N: 光标向左移动 N 个像素 (ñ: 0x1~0xF) 0x5N: 光标右移 N 个像素 (ñ: 0x1~0xF) | 0x00 |
| 调色板设置 | 0x36 | 0x78 | 0x20 | 0x00 | 0x00: 白热化0x01: 黑热0x02: 融合 1 0x03: 彩虹0x04: 融合 2 0x05: 铁红 1 0x06: 铁红 2 0x07: 深棕色0x08: 颜色 1 0x09: 颜色 2 0x0A: 冰火0x0B: 雨0x0C: 绿热 0x0D: 红热 0x0E: 深蓝 | 0x00 |
| 恢复出厂设置 | 0x36 | 0x74 | 0x0F | 0x00 | 只写 | |
| 保存当前设置 | 0x36 | 0x74 | 0x10 | 0x00 | 保存修改后的模块参数. | |
| 设置图像镜像 | 0x36 | 0x70 | 0X11 | 0x00 | 0x00: 无镜像. 0x01: 中央镜像. 0x02: 左右镜像. 0x03: 上下镜像. | 0x00 |
- 更新历史
| 日期 | 变化 |
| 二月 27, 2024 | 第一版. |
PDF下载
第一视角相机
第一视角相机
第一视角相机
第一视角相机
人工智能网络摄像机
人工智能网络摄像机
第一视角相机

问一个问题
感谢您的回复。 ✨