2门禁控制器立项报告概要设计.docx

上传人:b****7 文档编号:23985268 上传时间:2023-05-23 格式:DOCX 页数:12 大小:69.06KB
下载 相关 举报
2门禁控制器立项报告概要设计.docx_第1页
第1页 / 共12页
2门禁控制器立项报告概要设计.docx_第2页
第2页 / 共12页
2门禁控制器立项报告概要设计.docx_第3页
第3页 / 共12页
2门禁控制器立项报告概要设计.docx_第4页
第4页 / 共12页
2门禁控制器立项报告概要设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

2门禁控制器立项报告概要设计.docx

《2门禁控制器立项报告概要设计.docx》由会员分享,可在线阅读,更多相关《2门禁控制器立项报告概要设计.docx(12页珍藏版)》请在冰豆网上搜索。

2门禁控制器立项报告概要设计.docx

2门禁控制器立项报告概要设计

银欣2门禁控制器立项报告

概要设计

文件状态:

[]草稿

[]正式发布

[]正在修改

文件标识:

当前版本:

1.0

作者:

张海宁

完成日期:

上海银欣高新技术发展股份有限公司

研发部

目录

0.文档说明3

1.技术路线3

1.电源设计3

2.处理器选型3

3.韦根信号解析4

4.时钟设计4

5.通讯设计4

6.存储设计5

7.DIDO设计5

8.嵌入式操作系统5

2.技术难点5

1.韦根信号解析5

2.UCOS-II操作系统的硬件驱动5

3.看门狗的设计6

4.双时钟设计6

3.源代码模块划分及编译环境介绍6

1.源代码模块划分6

2.编译环境介绍7

4.代码模块测试和整机系统调试8

1.韦根信号采样8

2.DIDO控制8

3.主处理器UART驱动8

4.主处理器SPI驱动8

5.主处理器I2C驱动9

6.主处理器网络端口驱动9

7主处理器GPIO的驱动9

8.整机系统调试9

0.文档说明

本文档作为对银欣2门禁控制器立项报告内容细化及补充说明,分四部分阐述了本项目系统级的技术路线、技术难点、源代码模块划分及编译环境介绍、代码模块测试和样机的调试方法及步骤等。

1.技术路线

简介:

技术路线从电源设计、处理器选型、韦根信号解析、时钟设计、通讯设计、存储设计、DIDO控制和嵌入式操作系统几个方面来阐述本项目的技术背景和技术实现。

1.电源设计

电源采用外部12V开关电源模块供电,输入PCB板载开关电源芯片LM2596-5.0,输出5V电压,作为接口上拉电源,与常规外设电压兼容。

采用两片LDO电源芯片LM1117-3.3将5V电压转换为3.3V,做为主系统供电电源和RS485通信部分电源。

两路电源隔离,防止通讯线上的干扰影响主系统的工作。

2.处理器选型

本系统采用两片处理器同时工作,中央处理器选用STM32F103ZE,属于ARM-Cortex3结构,(类似于ARM7),有着更高的时钟频率及代码运行效率。

协处理器采用标准C51单片机,成本低,可靠性强。

两个处理器之间采用TTL电平直接相连的方式,基于标准的Modbus协议通讯。

中央处理器功能如下:

1.卡号、权限等数据的存储及记录的查询。

2.片内、片外双时钟的控制。

3.与上位机门禁控制系统软件的通讯。

4.与网络接口的通讯。

5.与协处理器的通讯,负责解析协处理器发送过来的卡号等信息,检查该卡号的权限等,回复给协处理器开门,报警或其他等控制信息。

协处理器功能如下:

1.韦根信号的解析。

负责解析双路四根韦根信号线的数据,发送给主处理器处理。

接受主处理器的返回信息,对各种情况进行不同的处理。

2.蜂鸣器的驱动。

根据不同的错误信息,报警信息等,对蜂鸣器进行不同的电平控制,使之发出不同的声音。

用户易于区别。

3.显示灯的驱动。

根据不同的错误信息,报警信息等,对指示灯进行不同的控制。

3.韦根信号解析

Wiegand协议是国际上统一的标准,它有很多格式,标准的26-bit应该是最常用的格式。

此外,还有34-bit、37-bit等格式。

韦根26位输出格式:

  EXXXXXXXXXXXXXXXXXXXXXXXXO

  前12BIT偶校验,后12BIT奇校验

以上数据从左至右顺序发送。

高位在前。

韦根34位输出格式:

EXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXO

前16BIT偶校验,后16BIT奇校验

以上数据从左至右顺序发送。

高位在前。

韦根数据输出由二根线组成,分别是DATA0和DATA1;二根线分别为‘0’或‘1’输出。

  输出‘0’时:

DATA0线上出现负脉冲;

  输出‘1’时:

DATA1线上出现负脉冲;

通常,负脉冲宽度TP=100微秒;周期TW=1600微秒;两数据帧之间的长度TF=250毫秒。

在银欣2门禁系统中,采用协处理器C51芯片对Wiegand信号进行采集,每个协处理器采用两路中断方式触发,共支持4路Wiegand信号。

将采集到的数据通过TTL信号以Modbus的协议格式发送到主处理器。

系统可扩展性强,以后支持多门禁系统,只需扩展多个协处理器即可。

4.时钟设计

在门禁控制系统中,稳定的系统时钟是系统运行的关键,它决定了个人权限的有效时间,刷卡记录时间查询等,对于人员的出入,考勤的记录,重要事件的查询等有着重要的影响。

系统采用双时钟设计,保证了时钟的稳定性。

主处理器自带片内实时时钟,该时钟在系统正常供电状态下稳定运行。

PCB板上另外扩展实时时钟芯片,在系统正常使用过程中,该芯片由系统电源供电,系统断电时由PCB板上备用3V钮扣电池供电。

5.通讯设计

当前版本的2门禁控制器采用RS485<->IP的方式与上位机进行通讯,PCB板上使用RS485接口,现场施工中将多个门禁控制器通过RS485<->IP集线器将RS485信号转换为网络信号,再通过路由器或交换机等连接到服务器。

将来版本的门禁控制器将逐渐完善TCP/IP功能,最终替换掉RS485通讯方式,直接采用网络方式连接。

6.存储设计

采用外部Flash存储卡号、权限、刷卡记录等信息,支持1万张卡和1万条循环记录存储,可以通过增加外扩的Flash芯片支持更多张卡和更多的记录存储。

7.DIDO设计

协处理器控制DIDO模块,支持2路辅助DI量,用于特殊情况下的输入控制,支持两路门磁信号,用于检测门的状态。

支持两路按键输入,用于按键开门。

对于DO量的控制,由于外部设备所需电流、电压的不同,为了保证兼容性,由PCB板外部提供电源,采用继电器的方式,进行隔离控制。

支持两路辅助DO量,用于特殊情况下的输出控制,支持两路门锁信号,用于开关门控制。

8.嵌入式操作系统

采用操作系统对于建立硬件系统的嵌入式开发平台,今后缩短开发周期、降低开发难度和开发成本,保持高度可扩展性,有着非常重要的意义。

本设计采用多任务,实时操作系统UCOS-II,对硬件资源要求较少,启动时间快、可扩展性强,运行状态稳定。

2.技术难点

简介:

本系统在设计过程中存在着一些技术难点,包括韦根信号解析、UCOS-II操作系统的硬件驱动、看门狗的设计、双时钟设计等。

1.韦根信号解析

韦根信号协议由摩托罗拉公司制定,但该协议并未严格规定通讯的波特率和传输位数,所以市面上存在着多种类型的读卡头,它们传输的卡号信息,存在着时序、位数上的差异。

这对于门禁控制器来说,兼容各种各样的读卡头,有着一定的难度。

所以,在设计的时候,为了避免轮循查找时间的不确定性,全部采用中断方式,以适合各种时序的要求。

另外,代码中集成两种韦根协议,支持标准韦根26和某些情况下使用的韦根34协议,做到尽量多的兼容市面上的读卡头。

同时,代码中集成厂家专用韦根信号输出命令,在遇到不能解析的读卡头时,直接将其韦根信号从调试端口输出,便于分析其正确性和可兼容性。

升级程序后,可对其进行支持。

2.UCOS-II操作系统的硬件驱动

UCOS-II操作系统并没有提供各种硬件的驱动程序。

门禁系统中用到了ARM芯片的SPI(Flash存储)、I2C(片外时钟)、UART(RS485通讯)、通用地址总线接口(TCP/IP网络)和GPIO(防拆电路)等硬件驱动。

其中有些可借助开发板提供的驱动程序,经调试后直接移植,有些需要开发工程师自己编写驱动程序,适合门禁板控制器的需求。

3.看门狗的设计

硬件上主处理器GPIO对协处理器复位引脚进行控制。

主处理内部集成硬件看门狗,在系统运行中,主处理器与协处理定时确认握手信息,如超过预定义的握手错误允许次数,协处理器无应答,主处理器将复位协处理器,并记录错误日志。

主处理器内部定时进行喂狗操作,如发生异常,主处理器自身将产生复位。

保证了系统在异常情况下双CPU都可自动复位,恢复系统正常运行。

4.双时钟设计

系统采用双时钟设计,保证了时钟的稳定性。

主处理器自带片内实时时钟,该时钟在系统正常供电状态下稳定运行(以下简称片内时钟)。

PCB板上另外扩展实时时钟芯片,在系统正常使用过程中,该芯片由系统电源供电,系统断电时由PCB板上备用3V钮扣电池供电(以下简称片外时钟)。

初始时间通过上位机软件对门禁板进行时钟设置,以后如果门禁板时间由于不可知原因出错时,也是通过上位机对其进行设置,设置完毕后将时钟存入固定RAM地址,作为备份(以下简称备份时钟)。

系统在每日晚01:

00:

00将当前时间写入到Flash中,作为每日时钟的周期备份(以下简称系统时钟)。

两路时钟在正常工作期间各自单独计时,系统每隔10秒读出两个时钟源的时间,与原RAM时间相比较,确认时钟的准确性。

具体有以下几种情况:

片内时钟与片外时钟一起和备份时钟的时间相比,若相差都不超过11秒,系统正常,则使用片外时钟更新片内时钟和备份时钟。

片内时钟与片外时钟一起和备份时钟的时间相比,只有一个时钟源超过11秒。

如片内时钟差别超过11秒,使用片外时钟更新片内时钟与备份时钟。

如片外时钟差别超过11秒,使用片内时钟更新片外时钟和备份时钟。

记录时钟异常日志。

片内时钟与片外时钟一起和备份时钟的时间相比,若相差都超过11秒,系统异常,读出系统时钟,首先检验时钟的合法性(以24小时时间格式),排除不合法的时钟源。

再以系统时间为基准,分别比较年月日,排除出错的时钟源。

如三个时钟源全部错误,则以系统时钟源为准,恢复三个系统时钟。

如剩余两个时钟源,则以最接近系统时钟的时钟源为准,恢复其与两个时钟源。

如剩余三个系统时钟源,分别两两比较三个时钟源,选取两个最接近的时钟源,再选取其中一个与系统时钟最接近的时钟源,恢复其与两个时钟源。

记录时钟异常日志。

3.源代码模块划分及编译环境介绍

1.源代码模块划分

根据门禁控制器的硬件及业务处理逻辑,源代码主要划分为主处理器和协处理器部分。

1.主处理器部分工作在多任务模式,在UCOS-II内核的调度下根据任务的优先级和就绪状态进行任务切换,包括以下三个模块:

框架代码:

该部分为门禁处理器的主框架部分,包含操作系统框架代码、处理器自身的初始化、系统各硬件模块的初始化、各任务的建立和和任务间的通讯。

驱动代码:

该部分为各外围设备的硬件驱动,包括SPI、I2C、UART、TCP/IP、GPIO五部分。

业务代码:

该部分包括以下几部分:

a.与上位机的通讯,主要为接收和回复上位机发送的命令。

b.与协处理的通讯,主要为监测协处理器状态,对协处理器发送过来的韦根数据进行判断后发送开门或报警等信号。

c.时钟控制:

主要为对双实时时钟的读取和比较,以及错误状态下时钟恢复等。

d.数据保存和读取:

主要功能为将上位机传递下来的卡信息、权限信息和本地用户刷卡记录等保存在外部FLASH中,以及将本地刷卡记录、错误日志等信息读取出来以便传送给上位机。

e.防拆触点的监控:

主要为监测防拆引脚的电平变化,当该电平发生变化时,认为发生异常拆机,记录日志或进行报警。

f.看门狗的喂狗操作:

主要为定时清除看门狗定时器,防止系统在正常情况下复位。

2.协处理器工作在前后台系统模式,主要包括以下两个模块:

a.检测韦根信号:

主要为中断中对韦根信号的保存和校验,主循环中对韦根信号的解析。

b.与主处理器的通讯:

主要为将监测到的韦根信号和DI信号传输给处理器,并根据主处理器回复的处理信号对外部进行DO控制。

2.编译环境介绍

主、协处理器均采用KeilRealViewMDK软件开发平台,开发板附赠光盘可以提供,另外网络上也能下载到该开发环境,降低了搭建开发环境所需的费用。

该环境与常用的KEILuVision环境相同,添加相应的ARM处理器支持包后,可以选择不同的ARM处理器芯片,根据不同的芯片对源代码进行编译。

对C51处理器的支持更是强大,几乎包括了市面上所有的C51处理器种类。

选择对应的处理器型号,进行简单设定后可以直接进行编译。

开发环境启动界面

4.代码模块测试和整机系统调试

在嵌入式软件开发过程中,以及最终的样机调试阶段,必须对各模块进行分开测试和系统整机测试,保证系统的稳定性。

以下各部分表示了代码的开发步骤,同时说明了模块的代码功能和调试方法。

以下第一、第二步为协处理器代码模块,第三到第七步为主处理器代码模块,第八步为整机系统测试。

1.韦根信号采样

代码描述:

协处理器将采样到的韦根数据,封装成Modbus的格式,通过UART口发送给主处理器。

同时以不同的脉冲长度和数量对蜂鸣器和指示灯进行控制,使蜂鸣器发出长短不同的声音,指示灯产生不同的闪烁方式。

测试方式:

使用TTL<->RS232转换器,将UART发出的TTL数据发送到PC机的调试软件中,并在韦根信号输入端用示波器测试输入波形,检查是否正确的采样到了完整、正确的韦根信号。

对蜂鸣器和指示灯的控制端用示波器进行测试,观察时序波形是否与程序预定义的一致,确保代码的正确运行。

2.DIDO控制

代码描述:

协处理器将主处理器发送过来的Modbus格式的命令解析为只具有有效载荷的数据,根据命令对门锁和辅助DO通道进行控制。

测试方式:

使用TTL<->RS232转换器,在PC机的调试软件中输入相应的命令,用数字万用表测试协处理器端口的电平变化和继电器的状态变化。

代码描述:

根据外部辅助DI量、门锁信号和门磁信号输入电平的变化,对门锁和辅助DO通道进行控制,并根据情况与主处理器进行通讯,发送当前DI量的状态。

测试方式:

使用将输入信号接入上拉或下拉的方式,给其输入高低不同的电平信号,使用TTL<->RS232转换器,在PC机的测试软件中观察协处理器发送出的状态信息是否为为预定义格式的命令。

并观察在输出端是否输出预定义的输出状态。

3.主处理器UART驱动

代码描述:

用于验证主处理器UART驱动代码和中间件工作是否正常。

测试方法:

使用TTL<->RS232转换器,从PC的测试软件输入命令至主处理器,从主处理器另外一个UART口输出接收到的命令,看是否正常,同时变换数据长度和各数据帧之间的时间间隔,验证驱动程序是否具有防止数据溢出和数据超时处理功能。

4.主处理器SPI驱动

代码描述:

用于验证主处理器SPI驱动代码和中间件工作是否正常。

测试方法:

通过PC机的测试软件,发送SPI写命令,向外部SPI接口的FLASH中写入固定的数据,同时使用示波器观测SPI端口MOSI和SCK的波形,检查波形是否正确,再通过测试软件发送读命令(或经重新上下电后),读出刚才写入的数据,使用示波器观测SPI端口MISO和SCK的波形,检查波形是否正确,比较写入和读出的数据是否一致。

5.主处理器I2C驱动

代码描述:

用于验证主处理器I2C驱动代码和中间件工作是否正常。

测试方法:

通过PC机的测试软件,发送I2C写命令,向外部I2C接口的PCF8563中写入当前的时间,同时使用示波器观测I2C端口SDA和SCL的波形,检查波形是否正确,经过固定的时间后,再通过测试软件发送读命令(或经重新上下电后),读入当前的时间,使用示波器观测I2C端口SDA和SCL的波形,检查波形是否正确,比较写入和读出的时间是否正确。

6.主处理器网络端口驱动

代码描述:

用于验证主处理器网络驱动代码和中间件工作是否正常。

测试方法:

将PC端网卡接口和门禁控制器网卡接口通过交叉网线相连,通过PC机的测试软件,经TTL<->RS232发送网络发送命令,通过WireShark网络监控软件观察PC机端的网口收到到数据报文,是否为预定义的命令格式。

通过PC机的测试软件,经TTL<->RS232发送网络接收命令,从PC机端输入PING命令,观察从主处理器输出到PC测试软件的数据报文,是否为PING命令解析后的正确的数据报文,可以确定网络驱动的发送和接收程序是否正确。

7.主处理器GPIO的驱动

代码描述:

用于验证主处理器通用输入输出端口驱动代码和中间件工作是否正常。

测试方法:

通过PC机的测试软件,发送GPIO写命令,控制点亮和熄灭某个输出引脚驱动的LED灯。

然后,通过给防拆引脚接入上拉和下拉的方式给其输入高低不同的电平,发送GPIO读命令,将其状态发送给PC端的测试软件。

8.整机系统调试

在对整机进行测试之前,首先要对系统硬件进行测试,初步检查电源、地是否短路,目测元器件引脚是否存在连焊、漏焊,初步检查没有问题后,对整机上电,进行功能测试。

调试过程按照以下步骤进行:

通过上位机软件将测试卡的卡号、权限等信息下载到门禁控制器,测试控制器与上位机通讯是否正常,保存信息是否正常。

在门禁读头端刷测试卡,检查DO端口是否有正常的输入输出状态,同时注意门禁板,读头端是否LED和蜂鸣器有正确的状态。

在DI端对按键、门磁、辅助输入端口进行上拉或下拉操作,检查DO端是否有正常的输出状态,报警、出错指示等是否正确。

将刷卡记录、报警、错误等信息读入上位机软件,看是否能够记录正常和异常状况。

更新门禁控制器时间,然后让系统运行一段时间后(经过几次上下电),读取控制器的时间,检测控制器时间运行是否正常。

断开防拆端口,观察防拆LED是否点亮,检测防拆功能是否正常。

以上步骤仅为实验室阶段的初步测试过程,具体须将样机接入实际系统,现场运行一段时间观测其运行状态和记录保存结果。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1