基于AT91SAM9260的智能保密柜设计方案

发布者:数据旅人最新更新时间:2012-08-14 来源: 现代电子技术关键字:AT91SAM9260  保密柜  Linux 手机看文章 扫描二维码
随时随地手机看文章

引言

  金属保密柜管理模式存在人为因素的安全隐患和记录信息不够详细等缺点,若能实现对物品的智能管理,自动记录物品日志,势必能提高保密柜管理的质量和效率。

  本文基于工业级AT91SAM9260处理器设计了一个智能保密柜嵌入式控制系统。系统采用指纹比对进行物品权限的管理,拍照系统自动记录物品出入情况,系统具有报警功能。该系统嵌入了高性能、多任务的实时操作系统Linux,该操作系统具备源代码开放,内核体积小,占用系统资源少等优点,保证了系统的可靠性和实时性。
 

  1 系统硬件设计

  1.1 智能保密柜硬件结构

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

  

智能保密柜硬件结构

 

  上位PC机可对下位智能保密柜的状态和物品记录信息等进行查询。下位智能保密柜由智能控制计算机、双屏读写器、摄像头、指纹仪、状态灯、数字键盘、振动传感器、电控锁和报警器等部件组成,其功能如下:摄像头用于对保密柜使用人员进行抓拍操作;刷卡器用于保密柜使用人员可刷卡打开相应权限的柜门;指纹读头用于提供更高级别的生物权限管理柜门;数字键盘用于当保密柜使用人员拥有多柜门权限时,输入柜门号;显示屏用于显示操作结果;报警器用于当发生非法操作时报警;双频读写器用于采集涉密载体上双频标签的数据;振动传感器用于传感柜体振动信号,防止非法入侵;智能控制计算机用于控制柜内所有设备,保证智能保密柜能够脱离上位机独立运行。

  物品使用者在借出和归还物品前,先通过指纹采集器输入指纹,中央控制系统通过指纹比对和相应授权信息开启柜门,同时摄像头对使用者进行拍照。使用者此时可以取出和归还物品,当关闭柜门后,中央控制系统启动RFID读写器采集柜内物品信息,并与前次信息对比,自动得出使用者该次操作借出和归还的物品;最后中央控制系统将开门时间、使用者图像、借出和归还物品等相关信息记录到存储区。管理员可以通过上位PC随时查询物品借出和归还的详细记录。该系统还提供非正常情况下的报警功能,以提高安全性。

  1.2 硬件电路层

  该系统中央控制硬件电路逻辑如图2所示。

  

中央控制硬件电路逻辑

  中央处理器选用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管脚连接。[page]

  2 嵌入式操作系统

 

  

嵌入式操作系统的三层结构

 

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

  2.1 嵌入式操作系统方案选择

  为了选择合适的嵌入式操作系统,本文对开源的μC/OS-Ⅱ与Linux操作系统的进程调度、文件系统支持和系统移植等因素进行了分析比较,因为这是设计、应用、移植嵌入式操作系统中的关键。

  (1)进程调度

  进程调度是操作系统协调调度系统中多任务对计算机系统内部资源的争夺使用。作为实时操作系统,μC/OS-Ⅱ采用可剥夺型实时多任务内核,它在任何时候都运行已就绪的最高优先级任务。μC/OS-Ⅱ最多可以支持64个任务,它通过就绪任务表寻找最高优先级任务,并进行任务切换。

  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作为嵌入式操作系统。

[page]

  2.2 任务层

  基于Linux操作系统管理的应用程序,首先根据系统功能划分出相对独立的子功能模块,每个模块作为一个任务,每个任务又由若干子任务构成,任务之间的调度由Linux内核调度程序决定。该系统划分的任务包括:

  ①读/写UART0任务。主要负责与上位PC进行交互,解析并执行上位PC发来的控制命令,将执行后的结果返回给上位PC。

  ②读/写UART1摄像头任务。在使用者输入指纹时,选通指纹仪接收指纹数据,激活摄像头,对使用者进行拍照,在柜门关闭后选通RFID读写器,采集柜内文件ID信息,比对上次信息,从而得到此次操作后该使用者借出与归还物品的信息。

  ③记录任务。当UART1任务结束RFID读写器的采集任务后,该任务将使用者指纹信息、开关柜门时间、使用者头像和借出与归还文件ID等信息予以存储。

  ④开关柜门任务。识别指纹数据之后,将指纹数据与授权指纹库中的数据进行比较,匹配成功则执行开锁操作。

  ⑤报警任务。循环检测振动传感器,如果发现异常振动,将启动报警器。

  编写好这些任务的代码,启动操作系统,则应用程序开始运行。若要扩展其他功能,只需增加相应的任务即可。

  3 结语

  实验结果表明,该系统满足了用户的保密需求,具有实时处理能力,功能扩展方便,所选用的Linux多任务实时操作系统在进程调度、文件系统管理等方面提供了很好的支持。

关键字:AT91SAM9260  保密柜  Linux 引用地址:基于AT91SAM9260的智能保密柜设计方案

上一篇:基于S3C6410和无线传感器网络的手持终端设计
下一篇:基于TQ2440和Linux的触摸屏的驱动研究

推荐阅读最新更新时间:2024-03-16 13:05

OK6410A学习笔记二:嵌入式Linux驱动开发环境的配置和测试
环境配置: Window7 32-bit OS + VMware Workstation 6.5 + Ubuntu9.10 FORLINX OK6410A开发板 嵌入式Linux驱动开发环境的搭建 1. 安装arm-linux-gcc交叉编译器,并设置环境变量 2. 将飞凌提供的FORLINX_linux-3.0.1.tar.gz拷贝到/usr/src,解压并进入linux-3.0.1目录 3. 执行以下命令:#make oldconfig; #make prepare; 这两个命令用来测试交叉编译器和驱动开发需要的源文件包是否能正常使用,可能会出现提示arm-linux-gcc找
[单片机]
OK6410A学习笔记二:嵌入式<font color='red'>Linux</font>驱动开发环境的配置和测试
基于嵌入式Linux系统的3G/4G路由器
3G的接人技术已经从WCDMA/TD- SCDMA/CD-MA2000发展到HSDPA、HSUPA 以及HSPA+ ,并开始由3G 网络向4G网络过渡。目前HSDPA的接入带宽可以达到7.2 Mbps,HSPA+ 的接人带宽可以达到21 Mbps,而即将部署的LTE的网络带宽甚至达到了100 Mbps 。同时,由于接人移动互联网 的智能终端的数量快速增长,人们对移动互联网的应用需求也日益增长。当人们面对几十兆带宽甚至是上百兆带宽时,必定存在带宽的过剩问题,即人们不需要在任何时刻都需要这么大的带宽,因而可以将过剩的用户带宽分配给更多的用户。 目前,WiFi技术能够支持IEEE的802.11b、802.11g和802.1ln标准,
[单片机]
基于嵌入式<font color='red'>Linux</font>系统的3G/4G路由器
基于32位RISC处理器SoC平台的Linux操作系统实现
引言 智原科技的FIE8100 SoC平台是一种低功耗、便携式视频相关应用开发SoC平台,也可用于基于FA526 CPU的SoC设计验证。 基于FA526的Linux软件开发套件,开发人员可将Linux一2.4.19软件环境在FIE8100平台上安装实现,并完成对平台上所有IP的驱动程序安装和对FA526的内部调试。 FA526介绍 FA526是一颗有着广泛用途的32位RISC处理器。它包括一个同步CPU内核(core)、独立的指令/数据缓存(cache)、独立的指令/数据暂存器(scratchpads)、一个写缓存(write buffer)、一个内存管理单元(memory management unit)和JTAG在线仿真(
[应用]
linux 2.6.22.6 移植
板子是国嵌的 GQ2440 主要移植步骤参考 韦东山老师的《嵌入式linux应用开发完全手册》 1、下载内核,打补丁 2、是用config_ok 配置内核 3、在 include/asm-arm/mach-types.h 中修改 MACH_TYPE_S3C2440 的值为 1999 因为MACH_TYPE_S3C2440 对应的机器结构在 arch/arm/mach-s3c2440/mach-smdk2440.c 中定义 所以 要把这个文件编译进内核,所以配置中有:System Type - s3c2440 Machines - SMDK2440 4、在arch/arm/mach-s3c2440/mach-smdk2440.c
[单片机]
SiFive发布Linux PC计划,RISC-V野心勃勃
本文编译自Venture Beat SiFive日前宣布,它正在为基于RISC-V处理器打造一款Linux 个人电脑平台。这可能被视为对基于英特尔、AMD、苹果或Arm设计的计算机的挑战,但业界巨头们还不必对此恐惧。 HiFive Unmatched——这是一款基于Linux的PC机的原型设计,它使用了RISC-V处理器。目前,这些PC是早期试用版,最有可能的目标是爱好者和工程师,他们可能会在第四季度以665美元的价格发售。 在Linley-Fall处理器大会上,SiFive首席技术官Yunsup-Lee谈到了公司新的发展。Lee介绍说,公司的HiFive开发板允许RISC-V开发人员为他们的平台创建所需的软件。SiF
[嵌入式]
SiFive发布<font color='red'>Linux</font> PC计划,RISC-V野心勃勃
嵌入式Linux在Blackfin处理器上的应用
1  Uclinux和Blackfin简介  1. 1  UcLinux简介  Uclinux是当前广泛应用的一种嵌入式Linux操作系统,是一个完全符合GNU/GPL公约的项目,与UNIX完全兼容,完全开放源码。英文单词中u表示Micro,c表示control,所以Uclinux的意思是“微控制领域的Linux系统”。  Uclinux针对嵌入式应用的特点,对Linux的内核(所用版本为linux2.6)进行了修改和重新编译,其大小远小于原来。它包含Linux常用的API,保留了原来Linux操作系统具有的高稳定性、强大的网络功能和卓越的文件系统支持功能等优点。  1. 2  Blackfin简介  Blackfin 系列
[嵌入式]
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程
1 烧写: 烧写和4412默认镜像的烧写类似,使用fastboot。 先更新uboot,用4412默认uboot更新支持设备树的uboot 用支持设备树的uboot烧写。 进入支持设备树的uboot控制台 支持设备树的uboot控制台,使用命令:fastboot 0 这里可能需要更新一下驱动,使用驱动精灵自动安装即可。 在cmd命令行,用fastboot烧写: fastboot.exe flash bootloader u-boot-iTOP-4412.bin fastboot.exe flash kernel uImage fastboot.exe flash dtb e
[单片机]
迅为4412开发板<font color='red'>Linux</font>设备树的镜像烧写和源码简单优化教程
龙芯2号低价电脑将上市 阻击100美元笔记本
  新浪科技讯 北京时间4月25日消息,据国外媒体报道,一家中国公司正在推广一款基于Linux系统的低价计算机,希望籍此消除“数字鸿沟”。这家名为“黄羊谷”的公司推出的低价计算机名为“Municator”,售价仅为150美元,目前已经形成正式产品。即使考虑到三个月的生产周期,它也将在“100美元笔记本”之前上市。   100美元笔记本计划最早由麻省理工学院媒体实验室创始人尼古拉斯·尼葛洛庞帝(Ni cholas Negroponte)提出,目标是让全球每一位儿童都用上笔记本。去年12月“每个孩子一台笔记本”计划组织选定中国台湾厂商广达计算机为100美元笔记本的原始设计制造商(ODM)。但到目前为止,100美元笔
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved