毕业设计 - 电子密码锁

发布时间 : 星期四 文章毕业设计 - 电子密码锁更新完毕开始阅读

(6)与主机之间通过并口连接; (7)下载速度达到120Kbytes/S; (8)支持ADS; (9)支持GDB 调试。

6 系统设计与功能实现

6.1 电子密码锁系统的核心设计

系统首先初始化,后等待用户从键盘输入密码,当用户输入并按下确认键后,键盘扫描模块将用户输入的密码保存至内存缓冲池中,然后将对系统发送任务完毕信号, 而后CF读取模块将读取CF卡信息,并将信息存至缓冲池,并向系统发出完成信息,系统此时将启动串口通信模块,将密码与卡信息一并发送至服务器,等待服务器对信息识别并返回,当信息返回,系统将根据返回的信息控制是否开门还是报警,若信息合法,则开门,若不合法,则开启LED进行报警。当结束后,系统又将自动回到初始状态,等待下一个用户。图6-1为电子密码锁系统原理图。

卡识别 接收磁卡信息 ARM内核进行信息校验并控制门和LED 门 LED 键盘识别 接收键盘信息 通过串口将信息送往服务器,并接受返回信息 服务器对收到的信息进行识别,并返回结果

图6-1 ARM电子密码锁原理框图

系统总体流程图如图6-2所示:

接收键盘信息 读取CF卡信息 串口通信 开门 启动LED报警 O S(μC/OS-II) 硬 件 设 备 JXARM9-2410

图6-2 系统流程图

6.2 μC/OS-II系统的移植

6.2.1 μC/OS-II系统移植的优势

随着嵌入式系统应用的日益广泛,RTOS越来越受到嵌入式系统开发人员的青睐,特别是进入20世纪90年代后,RTOS更是逐步确立了在嵌入式系统设计中的主导地位。使用RTOS所带来的最大好处是可提高嵌入式系统的可靠性,

[12]

同时也提高了软件的开发效率,缩短了开发周期。由于商业化RTOS软件较高的价格和使用成本(版权费、维护费等)的限制,RTOS在国内的应用并不普遍。

μC/OS-II是一个著名的源码免费的嵌入式RTOS,具有源码公开、可移植、等一系列的特点。μC/OS-II是基于优先级的占先式(Preemptive)实时多任务内核,最多可支持64个任务(其中系统保留8个自用)。μC/OS-II的大部分代码是用ANSIC编写,只有与处理器相关的一部分代码用汇编语言编写,所以具有很强的可移植性。

国内对μC/OS-II的研究和应用都很多,其性能和安全性可以和商业产品竞争,μC/OS-II的特点可以概括为以下几个方面:

(1)有源代码:购买书籍可以免费获得相应版本的全部源代码。

(2)可移植性(portable): μC/OS-II是源代码绝大部分是使用移植性很强的ANSI C编写的,与微处理器硬件相关的部分是使用汇编语言编写的。 汇编语言编写的部分已经压缩到最低的限度,以使μC/OS-II便于移植到其它为处理器上。目前,μC/OS-II已经被移植到多种不同架构的为处理器上。

(3)可固化(ROMable):只要具备合适的软硬件工具,就可以奖 μC/OS-II嵌入到产品中成为产品的一部分。

(4)可裁减(scalable):μC/OS-II使用条件编译实现可剪裁。用户程序可以只编译自己需要的μC/OS-II的功能,而不编译不需要的功能,以减少μC/OS-II对代码空间和数据空间的占用。

(5)可剥夺(preemptive):μC/OS-II是完全可剥夺型的实时内核。μC/OS-II总是运行在就绪条件下优先级最高的任务。

(6)多任务: μC/OS-II可以管理64个任务;然而,μC/OS-II系统建议用户保留8个给μC/OS-II。这样,留给用户的程序最多可有56个任务。

(7)可确定性:绝大多数μC/OS-II的函数调用和服务的执行时间有确定性。也就是说,用户能知道μC/OS-II的函数调用与服务执行了多长时间。

(8)任务栈:μC/OS-II的每个任务都有自己单独的栈。使用 μC/OS-II的栈控件校验函数,可确定每个任务到底需要多少空间。

(9)系统服务:μC/OS-II提供很多系统服务,例如信号量、互拆信号量、时间标志、消息邮箱、数据队列、块大小固定的内存的申请与释放及时间管理函数

等等。

(10)中断管理:中断可以使正在执行的任务暂时挂起。如果优先级更高的任务被中断唤醒,则高优先级的任务在中断嵌套全部退出厚立即执行。中断嵌套层数可达255层。

(11)稳定性与可靠性:μC/OS- II是基于μC/OS的。μC/OS自1992年依赖己经有数百个商业应用。μC/OS- II与μC/OS内核是一样的,只是提供了更多的功能。另外,2000年7月,μC/OS- II在一个航空项目中得到了美国联邦航空管理局对商用飞机的、符合RTCA DO-178B标准的认证。这一结论表明,该操作系统的质量得到了认证,可以在任何应用中使用。 6.2.2 μC/OS-II系统移植的规划

(1)目前、针对ARM处理器核的C语言编译器很多,本试验中选择ATD。 (2)任务模式的取舍:

ARM9处理器核具有用户、系统、竹理、中止、未定义、中断和快中断7种模式。其中除用户模式外,其它均为特权模式。管理、中止、未定义、中断和快中断与相应异常相联系,不适合作为任务的工作模式;而系统模式除了事特权模式外,其它与用户模式一样,因而可选的任务模式只有用户模式和系统模式。为了尽量较少任务代码错误对整个程序的影响,缺省的任务模式定为用户模式,可选为系统模式。同事提供接口使任务可以在这两种模式间切换。

(3)支持的指令集。

(4)对RTOS系统内核与任务分别编译的支持。

S3C2410的RAM不大,而调试程序时需要使用RAM存储代码。如果把已经经过验证的代码还要下载到RAM运行肯定会造成控件不够而无法调试。如果实现把RTOS固化在Flash中就可以解决大部分问题。这样就需要用户任务与操作系统内核分别编译。把RTOS的代码固化在Flash中还可以实现产品在运行中添加任务实现特殊运用。移植的代码对这个方面进行了有限的支持。通过很少的工作就可以实现用户任务与操作系统内核分别编译。 6.2.3 μC/OS-II系统移植的过程

要使μC/OS-II正常运行,处理器必须满足以下要求: (1)处理器的C编译器能产生可重入代码。

联系合同范文客服:xxxxx#qq.com(#替换为@)