当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]智能保密柜嵌入式控制系统的设计与实现

0 引言
    许多关键部门的涉密介质都集中锁在金属保密柜中,由专人管理,采用密码方式、感应卡方式或指纹识别方式开锁,手工登记重要物品的取用和归还等使用情况。这种管理模式存在人为因素的安全隐患和记录信息不够详细等缺点,若能实现对物品的智能管理,自动记录物品日志,势必能提高保密柜管理的质量和效率。
    本文基于工业级AT91SAM9260处理器设计了一个智能保密柜嵌入式控制系统。系统采用指纹比对进行物品权限的管理,拍照系统自动记录物品出入情况,系统具有报警功能。该系统嵌入了高性能、多任务的实时操作系统Linux,该操作系统具备源代码开放,内核体积小,占用系统资源少等优点,保证了系统的可靠性和实时性。

1 系统硬件设计
1.1 智能保密柜硬件结构
   
智能保密柜系统由上位PC和下位智能保密柜组成,其硬件结构如图1所示。


    上位PC机可对下位智能保密柜的状态和物品记录信息等进行查询。下位智能保密柜由智能控制计算机、双屏读写器、摄像头、指纹仪、状态灯、数字键盘、振动传感器、电控锁和报警器等部件组成,其功能如下:摄像头用于对保密柜使用人员进行抓拍操作;刷卡器用于保密柜使用人员可刷卡打开相应权限的柜门;指纹读头用于提供更高级别的生物权限管理柜门;数字键盘用于当保密柜使用人员拥有多柜门权限时,输入柜门号;显示屏用于显示操作结果;报警器用于当发生非法操作时报警;双频读写器用于采集涉密载体上双频标签的数据;振动传感器用于传感柜体振动信号,防止非法入侵;智能控制计算机用于控制柜内所有设备,保证智能保密柜能够脱离上位机独立运行。
    物品使用者在借出和归还物品前,先通过指纹采集器输入指纹,中央控制系统通过指纹比对和相应授权信息开启柜门,同时摄像头对使用者进行拍照。使用者此时可以取出和归还物品,当关闭柜门后,中央控制系统启动RFID读写器采集柜内物品信息,并与前次信息对比,自动得出使用者该次操作借出和归还的物品;最后中央控制系统将开门时间、使用者图像、借出和归还物品等相关信息记录到存储区。管理员可以通过上位PC随时查询物品借出和归还的详细记录。该系统还提供非正常情况下的报警功能,以提高安全性。
1.2 硬件电路层
   
该系统中央控制硬件电路逻辑如图2所示。[!--empirenews.page--]


    中央处理器选用Atmel公司的AT91SAM9260芯片,它基于ARM926EJ-S内核的32位处理器,工作频率为190 MHz,指令运行速度为210 MIPS,内带8 KB指令和8 KB的数据高速缓存,8 KB的SRAM和32 KB的ROM,可在处理器与总线速度之间单周期访问。具有丰富的外围接口,包括USB全速HOST和Device接口、10M/100M BaseT、以太网MAC、图像传感器接口、多媒体卡接口(MCI)、同步串行控制器(SSC)、4个通用同步/异步收发器(USART)、2个两线异步收发器(UARTs)、主/从串行外围接口(SPI),以及1个三通道16 b定时控制器(TC)、2个两线接E1(TWI)、4个10 b ADC、3个32 b并行I/O控制器,外设采用DMA通道。
    上位PC通过RJ-45接口电路接入ARM的UART1口,双频读写器、刷卡器、数字键盘和指纹仪接入RJ-45接口电路,再分别接入ARM的UART2-5口,摄像头通过USB口连接ARM的USB主机端口。ARM输出的电控锁和报警器控制信号,经过ULN2003A运放芯片控制直流小继电器,驱动电控锁和报警器工作。振动传感器通过74L804反相输出到ARM的输入I/O管脚。NANDFLASH直接与ARM的I/O管脚连接。

2 嵌入式操作系统
   
该系统由内向外可分操作系统层、任务层和硬件电路层三层,如图3所示。嵌入式操作系统是嵌入式系统软硬件资源的控制中心,它组织多个任务共享嵌入式系统的资源。常见的嵌入式实时操作系统有Window CE,VxWorks,μC/OS-Ⅱ,Linux等,后两种操作系统免费公开源代码。


2.1 嵌入式操作系统方案选择
   
为了选择合适的嵌入式操作系统,本文对开源的μC/OS-Ⅱ与Linux操作系统的进程调度、文件系统支持和系统移植等因素进行了分析比较,因为这是设计、应用、移植嵌入式操作系统中的关键。
    (1)进程调度
    进程调度是操作系统协调调度系统中多任务对计算机系统内部资源的争夺使用。作为实时操作系统,μC/OS-Ⅱ采用可剥夺型实时多任务内核,它在任何时候都运行已就绪的最高优先级任务。μC/OS-Ⅱ最多可以支持64个任务,它通过就绪任务表寻找最高优先级任务,并进行任务切换。[!--empirenews.page--]
    Linux操作系统则每隔一定时间挂起进程,同时系统产生快速和周期性的时钟计时中断,通过调度函数决定调用的进程。Linux操作系统每个进程的task_struct结构中有调度策略、静态优先级、动态优先级、时间片、实时优先级等5个参数,Linux根据调度策略区分实时进程和普通进程,实时进程优先于普通进程运行。Linux操作系统对于同一类型的不同进程,采用不同的标准来选择进程:
    ①普通进程调度。当调度策略的值为SCHED_OTHER时,为普通用户进程,Linux采用动态优先调度标准,选择进程的依据是进程time_sli-ce的值。
    ②实时进程调度。对手实时进程,Linux采用了两种调度策略,即先来先服务调度和时间片轮转调度。当调度策略的值为SCHED_FIFO时,选用先来先服务调度规则。当调度策略的值为SCHED_RR时,选用时间片轮转调度规则,即时间片用完则释放CPU,进程排到等待队列末尾。
    (2)文件系统
    文件系统负责存取和管理文件信息。在嵌入式系统里,常见的文件系统有YAFFS,JFFS2,CramFS,RamFS,Ramdisk等。
    μC/OS-Ⅱ操作系统本身没有对文件系统的支持,虽然μC/OS-Ⅱ具有良好的扩展性能,如果需要也可自行扩展对文件系统的支持,但毕竟会增加开发工作量。
    Linux操作系统则具有完善的文件系统,并且具有网络优势,可以方便地支持网络文件系统且内嵌TCP/IP协议,这为Linux开发网络接入设备提供了便利。
    (3)操作系统的移植
    嵌入式操作系统必须经过移植才能够在不同的微处理器上运行。μC/OS-Ⅱ和Linux都提供了开源代码,其结构化设计也便于裁剪,所以它们都能够移植到新的处理器平台。
    ①μC/OS-Ⅱ的移植。移植μC/OS-Ⅱ操作系统,目标处理器必须满足以下要求:处理器的C编译器能产生可重入代码,且用C语言就可以打开和关闭中断;处理器有足够的存储容量作为多任务环境下的任务堆栈;处理器具备将堆栈指针和寄存器读出和存储到堆栈或内存中的指令。所以μC/OS-Ⅱ的移植只需根据以上要求修改不同处理器之间的相关代码。
    ②Linux的移植。
    首先进行系统初始化:关闭Watchdog,改变系统时钟,初始化存储控制器,将操作系统内核复制到内存中。这一系列操作称作BootLoa-der,通常移植U-boot来实现BootLoader的功能;其次进行Linux内核移植:下载内核源代码,对内核进行裁剪配置,编译内核生成镜像文件,下载到目标板;最后进行文件系统的移植:生成根文件系统目录,移植Busybox,生成镜像文件,下载到目标板。综上所述,μC/OS-Ⅱ和Linux二者都具有开源码和满足较高的实时性要求。μC/OS-Ⅱ是一种结构小巧的实时操作系统,其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能,最小内核可编译至2 kB,全部功能编译后内核也仅占6~10 KB。虽然μC/OS-Ⅱ执行效率高,占用空间小,实时性能优良,可扩展性能强,但μC/OS-Ⅱ系统缺少对文件系统的支持,所以μC/OS-Ⅱ适用于存储资源比较有限的应用场合和小的控制系统。然而Linux具有多任务、可定制内核、完善的网络通信、图形及文件管理机制,可支持大量的外围硬件设备等功能,其性能高效稳定,开发及移植环境良好。鉴于该系统需完成多种任务控制和文件管理,且存储资源充裕,也考虑到以后的网络扩展,所以选用了Linux作为嵌入式操作系统。
2.2 任务层
   
基于Linux操作系统管理的应用程序,首先根据系统功能划分出相对独立的子功能模块,每个模块作为一个任务,每个任务又由若干子任务构成,任务之间的调度由Linux内核调度程序决定。该系统划分的任务包括:
    ①读/写UART0任务。主要负责与上位PC进行交互,解析并执行上位PC发来的控制命令,将执行后的结果返回给上位PC。
    ②读/写UART1摄像头任务。在使用者输入指纹时,选通指纹仪接收指纹数据,激活摄像头,对使用者进行拍照,在柜门关闭后选通RFID读写器,采集柜内文件ID信息,比对上次信息,从而得到此次操作后该使用者借出与归还物品的信息。
    ③记录任务。当UART1任务结束RFID读写器的采集任务后,该任务将使用者指纹信息、开关柜门时间、使用者头像和借出与归还文件ID等信息予以存储。
    ④开关柜门任务。识别指纹数据之后,将指纹数据与授权指纹库中的数据进行比较,匹配成功则执行开锁操作。
    ⑤报警任务。循环检测振动传感器,如果发现异常振动,将启动报警器。
    编写好这些任务的代码,启动操作系统,则应用程序开始运行。若要扩展其他功能,只需增加相应的任务即可。

3 结语
    该系统基于高性能ARM Atmel 9260控制器设计,并实现了一个嵌入式智能保密柜。实验结果表明,该系统满足了用户的保密需求,具有实时处理能力,功能扩展方便,所选用的Linux多任务实时操作系统在进程调度、文件系统管理等方面提供了很好的支持。下一步的工作将考虑采用基于TCP/IP协议的网络通信方式,在管理中心使用一台上位PC集中对远程的多台智能保密柜进行远程管理。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭