智能安防视频监控系统《概要设计说明书V100》剖析.docx
- 文档编号:11281578
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:37
- 大小:103.42KB
智能安防视频监控系统《概要设计说明书V100》剖析.docx
《智能安防视频监控系统《概要设计说明书V100》剖析.docx》由会员分享,可在线阅读,更多相关《智能安防视频监控系统《概要设计说明书V100》剖析.docx(37页珍藏版)》请在冰豆网上搜索。
智能安防视频监控系统《概要设计说明书V100》剖析
共页
版次:
1.0.0
文件编号:
概要设计说明书
产品(项目)名称:
智能安防监控系统
项目经理:
日期:
2012.09.15
******
东方锐智股份有限公司嵌入式软件开发部
FuzhouP.R.China350015
版本历史说明
版本
时间
版本说明
发布
1.0.0
2012-9-15
初始版本
勘误表
错误位置
原来的值
改正的值
备注
概要设计说明书
1引言
1.1编写目的
说明对项目的需求分析,主要是明确项目的开发背景,用户特点、开发目的及开发目标。
重点说明项目的功能、性能及运行环境,为项目产品的可用性、易用性、易维护性和稳定性提供必要的前期保障。
本文档的预期读者为:
项目经理、软件开发人员、软件测试人员、软件评审人员。
1.2背景
随着我国老龄化程度的增加和生活节奏的日趋加快,人们在家的时间越来越短,对小孩老人的照顾越来越少,对家庭安全的要求越来越高,因此需要有一种对小区和家庭情况进行实时监控的系统,来保证家庭财务的安全,减少对老人小孩照顾的缺失,减少人间悲剧的发生。
智能安防系统的需求应运而生,加上近年来嵌入式系统的发展和网络速度的提高,实时监控小区和家庭变的比较容易。
因此,市面上监控设备、安防产品也越来越多,越来越智能化……
本项目的智能安防视频监控系统只是整个小区智能安防系统的一部分,它的主要功能是将家庭或者小区的视频监控信息通过网络(有线或者3G无线网络)传输给在公司或者出差在外的主人,从而来保证家庭财务、老人和小孩的安全。
1.3定义
序号
术语或缩写词
说明性定义
1
H.263
视频编码协议
表(1-1)
1.4参考资料
序号
资料名
文件编号
发表日期
出版单位
表(1-2)
2总体设计
2.1需求规定
本系统所有需求完全来自于《需求规格说明书v1.0.0》文档规定,尽量做到完全理解该文档作者的原意,并且实现它所需要的所有功能。
2.2运行环境
本系统属于无人执守的设备,主要工作在室外,所以环境比较差。
本系统的硬件平台是ARMSOC芯片,所以对本系统的时空效率提出了很高的要求,为了适应这两方面条件的要求,本系统采用了下面的设计:
●硬件环境
硬件配置
器件名称或器件参数特性
CPU
S3C2440,采用ARM920t核
触摸屏
电阻屏
camera
200W像素,支持YUYV或YUV420格式、720*576分辨率的视频输出
USB接口/camera接口的
ethernet
DM9000100/100M网卡
表(2-1)
●软件环境
软件配置
系统软件或开发支撑软件
操作系统
Linux系统
系统编译软件
QT4.8.0
(表2-2)
●运行外部环境
外部环境
外部环境指标
正常工作温度
-10℃-50℃
正常工作时间
工作时间应该是24小时不间断工作
表(2-3)
2.3基本设计概念和处理流程
本系统的处理流程如下图:
图(2-1)
如上图,应用程序不属于本系统的实现范围,本系统主要实现除这个部分以外的模块,API模块实现协议指令的打包并且调用通讯接口将协议包发送给键盘,让键盘完成相应的操作,这个模块在本系统的二次开发Demo里面实现。
通讯接口主要完成将API模块产生的协议包传送给键盘。
应用模块调用指令接口执行指令,调用自检进入接口使用户可以通过输入特定的组合键来进入自检状态。
指令实现模块主要向应用模块提供各个指令的接口,应用模块可以调用这些接口执行相应的指令。
自检模块主要完成部分硬件的自检,生产参数的本地设置。
2.4结构
本系统的模块层次图:
表(2-4)
2.5功能器求与程序的关系
显示时间界面
√
√
读取用户按键
√
√
√
√
√
自检
√
√
√
√
√
√
√
(表2-5)
2.6人工处理过程
无
2.7尚未问决的问题
无
3接口设计
3.1用户接口
本系统对直接用户来说操作比较简单,仅仅只需要按照液晶屏幕上的提示输入相应的信息就可以了,所以用户接口没有操作命令,也没有什么特殊的操作。
3.2外部接口
本系统的外部接口主要是提供给二次开发人员的API接口,下面是对所有API接口及API接口使用指令的说明:
(1)、GetKey:
扫描键盘,获得键盘的按键信息
项目
内容
输出
pchData
pchData[0]-键码,pchData[1]-通断标志
返回
成功
0、1
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
主机发送给键盘:
成员名
字节长度
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x41
Len
1
参数长度,这里为9
Mode
1
指定扫描模式0-只有通码1-通断码都有
Data
8
8个字节的随机数据,最好是变化比较均匀的
键盘返回给主机:
成员名
字节长度
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-有键按下1-没有键按下
Len
1
参数长度,这里为8
CryData
(加密数据)
KeyCode
1
键码,无键按下时为0xff
Code
1
通断码,Mode项为0时为0xff,为1时为通断码:
0x55-通码0xAA-断码
Data
6
随机数的一部分
注意:
加密数据要先解密,解密后就是后面的格式了,密钥的计算方法是:
1.计算随机数的所有字节之和,备份结算结果后,对8取模,2.用计算出来的值做为下标取出随机数中对应的字节放入随机数的第0位。
3.将第1步备份的计算结果放入第2步中取出数据的位置
(2)、DispValue:
从指定的行列开始显示一个字符串
项目
内容
原型
intDispValue(HANDLEhCom,charchX,charchY,constchar*cpchData)
功能
从指定的行列位置开始显示一个字符串
输入
hCom
通讯接口句柄
chX
显示起始行
chY
显示起始列
cpchData
显示数据
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
主机发送给键盘:
成员名
字节长度
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x47
Len
1
参数长度,这里Data长度加2
X
1
显示起始行,范围(1-4)
Y
1
显示起始列,范围(1-24)
Data
实际长度
要显示的数据,数据最多只能有48个字节
键盘返回给主机:
成员名
字节长度
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-成功其它错误码
Len
1
参数长度,这里为0
(3)、ClearScr:
清除屏幕显示
项目
内容
原型
intClearScr(HANDLEhCom,charchMode,charchLine)
功能
清除屏幕显示
输入
hCom
通讯接口句柄
chMode
擦除方式1-擦整屏,2-擦一行
chLine
chMode=2时指定要清除的行
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
主机发送给键盘:
成员名
字节长度
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x49
Len
1
参数长度,这里为5
Mode
1
清除模式,1-整屏清除2-清除指定行
Line
1
指定清除的行,范围(1-4)
键盘返回给主机:
成员名
字节长度
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-成功其它错误码
Len
1
参数长度,这里为0
(4)、BeepCTRL:
蜂鸣
项目
内容
原型
intBeepCTRL(HANDLEhCom,unsignedcharuchTime)
功能
蜂鸣
输入
hCom
通讯接口句柄
uchTime
蜂鸣时间(最长为10,单位:
20ms)
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
项目
内容
原型
intSetBlackLight(HANDLEhCom,charchFlag)
功能
打开或关闭背光
输入
hCom
通讯接口句柄
chFlag
开关标志1-关闭2-打开
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
主机发送给键盘:
成员名
字节长度
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x43
Len
1
参数长度,这里为4
OpenFlag
1
开关标志,1-关闭2-打开
Reserve
3
预留用0xff填充
键盘返回给主机:
成员名
字节长度
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-成功其它错误码
Len
1
参数长度,这里为1
Reserve
1
预留用0xff填充
(6)、GetVersion:
获得版本,包括:
软件版本、硬件版本、字库版本、帮助库版本
项目
内容
原型
intGetVersion(HANDLEhCom,charchType,char*pchData)
功能
获得版本,包括:
软件版本、硬件版本、字库版本、帮助库版本
输入
hCom
通讯接口句柄
chType
版本类型(1-软件版本2-硬件版本3-字库版本4-帮助库版本)
输出
pchData
版本字符串,里面不能有空格长度有效范围(1-16)
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
主机发送给键盘:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x43
Len
1
参数长度,这里为1
Type
1
版本类型(1-软件版本2-硬件版本3-字库版本4-帮助库版本)
键盘返回给主机:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-成功其它错误码
Len
1
参数长度,这里为16
Version
16
版本内容
(7)、SetVersion:
设置版本,包括:
硬件版本
项目
内容
原型
intSetVersion(HANDLEhCom,constchar*cpchData)
功能
设置硬件版本
输入
hCom
通讯接口句柄
cpchData
要设置的版本,里面不能有空格长度有效范围(1-16)
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
主机发送给键盘:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x50
Len
1
参数长度,这里为16
HardVersion
16
硬件版本,不足16位后补空格最好以v开头否则本系统会自动加入v到首位
键盘返回给主机:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-成功其它错误码
Len
1
参数长度,这里为0
(8)、GetDeviceID:
读取机号
项目
内容
原型
intGetDeviceID(HANDLEhCom,char*pchData)
功能
设置硬件版本
输入
hCom
通讯接口句柄
输出
cpchData
机号,长度范围(1-15)
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
主机发送给键盘:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x55
Len
1
参数长度,这里为0
键盘返回给主机:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-成功其它错误码
Len
1
参数长度,这里为15
DeviceID
15
机号,长度范围(1-15)
(9)、SetDeviceID:
设置机号
项目
内容
原型
intSetDeviceID(HANDLEhCom,constchar*cpchData)
功能
设置机号
输入
hCom
通讯接口句柄
cpchData
需要设置的机号,有效长度范围(1-15)
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
主机发送给键盘:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x54
Len
1
参数长度,这里为15
DeviceID
15
机号,长度范围(1-15)
键盘返回给主机:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-成功其它错误码
Len
1
参数长度,这里为0
(10)、Reset:
重启指令
项目
内容
原型
intReset(HANDLEhCom,unsignedcharuchTime)
功能
重启
输入
hCom
通讯接口句柄
uchTime
重启前等待时间,范围(0-250,单位:
20ms)
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
主机发送给键盘:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x4e
Len
2
参数长度,这里为1
Time
1
重启前等待时间,范围(0-250)(20ms一个单位)
Reserve
1
预留用0xff填充
键盘返回给主机:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-成功其它错误码
Len
1
参数长度,这里为0
(11)、DownLoadPictureBase:
下载帮助字库
项目
内容
原型
intDownLoadPictureBase(HANDLEhCom,
constchar*cpchWordBase,intiWordBaseSize,
constchar*cpchWord,intiWordSize)
功能
重启
输入
hCom
通讯接口句柄
cpchWordBase
点阵字库
iWordBaseSize
点阵字库大小
cpchWord
要加入字库的汉字,头16个字符为字库的版本信息
iWordSize
cpchWord的长度
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
本函数调用DownLoadData函数传递数据给下位机
(12)、DownLoadWordBase:
下载显示字库
项目
内容
原型
intDownLoadWordBase(HANDLEhCom,
constchar*cpchWordBase,intiWordBaseSize,
constchar*cpchWord,intiWordSize)
功能
下载显示字库
输入
hCom
通讯接口句柄
cpchWordBase
点阵字库
iWordBaseSize
点阵字库大小
cpchWord
要加入字库的汉字,头16个字符为字库的版本信息
iWordSize
cpchWord的长度
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
本函数调用DownLoadData函数传递数据给下位机
(13)、DownLoadData:
下载字库数据到键盘
项目
内容
原型
intDownLoadData(HANDLEhCom,charchType,char*pchData,intiLen)
功能
下载字库数据到键盘
输入
hCom
通讯接口句柄
chType
要下载的数据类型3-字库5-帮助字库
pchData
要下载的数据
iLen
要下载的数据长度
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
主机发送给键盘:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x4f
Len
1
参数长度,这里为PocktetLength+4
Type
1
下载数据类型3-字库5-帮助字库
PocketNum
1
本类型数据包的总数
SeriNo
1
包序列号
PocktetLength
1
本包数据长度
数据
实际长度
最长为240字节
键盘返回给主机:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-成功其它错误码
Len
1
参数长度,这里为1
SeriNo
1
返回包号,为主机发送给本系统的
(14)、ScrollControl:
滚屏方式显示帮助信息
项目
内容
原型
intScrollControl(HANDLEhCom,charchMode,unsignedcharuchTime,charchFirstScroll)
功能
滚屏方式显示帮助信息
输入
hCom
通讯接口句柄
chMode
滚屏模式:
1-点滚动2-行滚动3-点继续4-行继续
5-显示指定页6-翻页7-页滚动
uchTime
保持时间
chFirstScroll
第一行是否参加滚动1-参加,0-不参加,这个功能目前的键盘没有实现,调用时应该设置本参数为1
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
指定屏幕第一行不参加滚动的功能目前的键盘没有实现
对应的通讯指令参数说明:
主机发送给键盘:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Command
1
指令码,这里为0x49
Len
1
参数长度,这里为5
Mode
1
滚屏模式:
1-点滚动2-行滚动3-点继续4-行继续
5-显示指定页6-翻页7-页滚动
Time
1
滚动数据保持时间:
0-250,(单位:
20ms),为0时为关闭滚动
FirstScroll
1
指定第一行是否参加滚动(目前键盘没有实现第一行不参加滚动的功能)
Reserve
2
保留
键盘返回给主机:
成员名
长度(字节)
说明
Snr
1
包序列号,本系统中始终为0
Status
1
指令执行状态,0-成功其它错误码
Len
1
参数长度,这里为0
(15)、GetCurTime:
获取本系统时间
项目
内容
原型
intGetCurTime(HANDLEhCom,short*psTime)
功能
获取本系统时间
输入
hCom
通讯接口句柄
输出
psTime
获得时间,格式顺序为年、星期、月、日、时、分、秒
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
(16)、SetCurTime:
设置本系统的时间
项目
内容
原型
intSetCurTime(HANDLEhCom,short*psTime)
功能
设置本系统的时间
输入
hCom
通讯接口句柄
psTime
设置时间,格式顺序为年、星期、月、日、时、分、秒
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
(17)、SetScr:
显示满屏,用于液晶屏的检测
项目
内容
原型
intSetScr(HANDLEhCom)
功能
显示满屏,用于液晶屏的检测
输入
hCom
通讯接口句柄
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
对应的通讯指令参数说明:
(18)、DownProgram:
更新程序
项目
内容
原型
intDownProgram(HANDLEhCom,constchar*cpchFileName)
功能
更新程序
输入
hCom
通讯接口句柄
cpchFileName
要跟新程序的文件指针
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
程序下载过程比较复杂,详细请参见ISP下载相关文档
3.3内部接口
通讯接口模块提供给API接口模块和应用模块的接口:
项目
内容
原型
charReceiveData(HANDLEhCom,unsignedchar*puchData)
功能
接收协议数据
输入
hCom
通讯接口句柄
puchData
接收数据的缓冲区
输出
无
返回
成功
0
失败
其它见6.1节错误代码说明
注意
无
项目
内容
原型
charSendData(HANDLEhCom,unsignedchar*puchData)
功能
发送协议数据
输入
hCo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 概要设计说明书V100 智能 视频 监控 系统 概要 设计 说明书 V100 剖析