新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 智能保密柜嵌入式控制系统的设计与实现

智能保密柜嵌入式控制系统的设计与实现

作者: 时间:2011-04-08 来源:网络 收藏

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集中对远程的多台柜进行远程管理。

本文引用地址:https://www.eepw.com.cn/article/150880.htm
linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭