基于嵌入式Linux的二维码识别系统
基于嵌入式ARM9的Linux系统移植的研究和实现
2020年第8期信息与电脑China Computer & Communication软件开发与应用基于嵌入式ARM9的Linux 系统移植的研究和实现冯宁波 周 剑(苏州长风航空电子有限公司,江苏 苏州 215151)摘 要:笔者以ARM9处理器为硬件,对嵌入式系统展开分析,并对安装到嵌入式ARM9芯片开发板上的Linux 系统移植进行研究。
Linux 系统移植步骤如下:首先初始化随机存取存储器,设置堆栈,引导加载程序移植;然后下载Linux 内核,修改Makefile 文件,设计交叉编译环境;最后依据内核启动过程,指定启动初始值,控制后台,并执行制作菜单配置命令。
关键词:嵌入式ARM9;Linux 系统;移植;内核中图分类号:TP311.54;TP316.81 文献标识码:A 文章编号:1003-9767(2020)08-078-02Research and Implementation of Linux System Migration Based on EmbeddedARM9Feng Ningbo, Zhou Jian(Suzhou Changfeng Avionics Co., Ltd., Suzhou Jiangsu 215151, China)Abstract: The author takes ARM9 processor as hardware, analyzes the embedded system, and studies the Linux systemporting installed on the embedded ARM9 chip development board. The steps of Linux system porting are as follows: first, initialize random access memory, set stack, boot loader porting; then download Linux kernel, modify makefile file, and design cross compiling environment; finally, according to the kernel startup process, specify the initial startup value, control the background, and execute thecommand of making menu configuration.Key words: embedded ARM9; Linux system; transplantation; kernel0 引言微电子技术快速发展使计算机技术支持下的嵌入式系统得到广泛应用,该系统因软硬件可裁剪、使用性能良好,受到人们青睐[1]。
基于ARM的语音识别系统设计
基于ARM的语音识别系统设计苏征远;易燕;解永刚;戴祖诚【摘要】本文基于当前嵌入式设备广泛应用的环境下,在语音识别技术的基础之上,设计了以ARM处理器为核心,Linux为操作系统的嵌入式语音识别设备.语音识别采用了流行的DHMM模型,并使用系统开销较小的Viterbi算法实现.总体来说,本文所设计的语音识别设备具有价格低、性能强、通用性好以及扩展能力强等优点.%This paper designs the embedded speech recognition equipment which have the ARM processor as the kernel and Linux as operating system based on speech recognition technology, in the environment where embedded equipments are widely used. Speech recognition selects popular DHMM model, and uses Viterbi algorithm which has a very small system costs. All in all, the system owns advantages of low price, strong performance, high universality and good extensibility.【期刊名称】《价值工程》【年(卷),期】2012(031)004【总页数】2页(P126-127)【关键词】语音识别;DHMM;Viterbi;嵌入式系统;ARM【作者】苏征远;易燕;解永刚;戴祖诚【作者单位】昆明学院,昆明650214;昆明学院,昆明650214;昆明学院,昆明650214;昆明学院,昆明650214【正文语种】中文【中图分类】TP3990 引言随着计算机技术的飞速发展,各种各样的应用层出不穷,其中使用语音与计算机程序进行交互成为了最近热门的研究方向。
嵌入式Linux中常见的文件系统及特点
嵌⼊式Linux中常见的⽂件系统及特点1、Linux可⽀持的⽂件系统有多种,但是这么多种的⽂件系统都是基于Linux内核所提供的⽂件系统VFS的接⼝API。
因此对于Linux内核级别实现的⽂件系统只有VFS虚拟⽂件系统; 其余实现的⽂件系统都是调⽤VFS⽂件系统的API更上⼀层实现的;2、Linux⽂件系统的组成结构: 1、⽤户层:⽤户层向外提供Linux内核所⽀持⽂件系统的VFS的API接⼝ 内核层:内核实现了所说的各种⽂件系统 驱动层:驱动层是块设备的驱动程序 硬件层:硬件层是不同⽂件系统⽀持的存储器;3、Linux启动时的⽂件系统: 硬件上电启动,各项硬件初始化后,第⼀个启动的⽂件系统时RootFS根⽂件系统,如果说根⽂件系统没有起来,系统出现异常、将重启;4、常⽤的⽂件系统运⾏、存储设备有: DRAM、SDRAM以及ROM其中常使⽤flash;5、根据不同的存储介质,常见的⽂件系统有: 基于Flash(Nor、Nand)的⽂件系统有: jffs2:可读写,数据压缩、⽀持哈希表的⽂件系统,掉电保护;缺点:不适合使⽤在⼤容量的Nand Flash中,内存使⽤量太⼤极⼤降低数据操作速度; yaffs:读写速度快,占⽤内存⼩,实现内存访问异常处理;混合的垃圾回收算法;特别适合嵌⼊式设备使⽤;跨平台、⾃带Nand 芯⽚驱动 cramfs:只读的⽂件系统,执⾏速度快,内容⽆法扩充;⽂件系统健壮; romfs:简单紧凑、只读、不⽀持动态擦写;较多使⽤在uclinux系统上; 基于RAM存储介质的⽂件系统: ramdisk:将⼀部分固定⼤⼩的内存当做分区使⽤,不能真正算的上实际的⽂件系统,更像是⼀种机制,将实际的⽂件系统加载到内存中;将⼀些经常被访问的⽽⼜不会更改的⽂件放⼊到内存中,达到提⾼系统效率的⽬的;同时还负责将内核镜像与⽂件系统⼀块加载到内存中; ramfs/tmpfs :基于内存的⽂件系统,⼯作于虚拟⽂件系统层,可以创建多个⽂件系统,可以指定每个⽂件系统最⼤使⽤内存;这种⽂件系统将所有的⽂件都放在RAM中,既可以提⾼读写速度,也可以避免对flash⼤量的读写操作;⽂件系统不可以格式化,占⽤内存⼤⼩可以指定; ⽹络⽂件系统: NFS:是⼀种基于⽹络共享技术,可以在不同平台、不同机器、不同操作系统上实现⽂件共享、⽂件传输;在嵌⼊式Linux系统初始开发阶段可以⾮常⽅便⽂件传输、⽂件修改;地址异常进⼊模式描述0x0000,0000复位管理模式电平复位0x0000,0004未定义指令异常未定义模式遇到不能处理的指令,⽆法识别的指令0x0000,000c 软件中断管理模式异常发⽣时CPU处理的步骤:R13(sp),R15(PC)1、保存当前执⾏位置:LR寄存器(R14)2、保存当前执⾏状态:CPSR3、寻找中断⼊⼝,中断向量表:PC寄存器找向量地址4、执⾏中断处理完成:5、中断返回,继续执⾏:R14 <exception_mode> = return linkSPSR<exception_mode>=CPSRCPSR[4:0] =exception mode number;/* 处理器⼯作模式控制位 */CPSR[5]=0; /* 使⽤ARM指令集 */If<exception_mode> == reset or FIQ thenCPSR[6]= 1;/* 屏蔽快速中断FIQ */CPSR[7]=1; /* 屏蔽外部中断IRQ */PC=exception vector address;复位异常中断处理程序的主要功能:1、设置异常中断向量表:2、初始化数据栈和寄存器:3、初始化存储系统MMU:4、初始化关键IO设备:5、使能中断:6、处理器切换到合适的模式:7、初始化C变量跳转到应⽤程序执⾏:R14<SVC> = 设置相应的值;SPSR<SVC> = 设置相应的值;CPSR[4:0]=0b10011;/* 进⼊特权模式 */CPSR[5]=0; /* 使⽤ARM指令集 */CPSR[6] =1; /* 禁⽌相关关闭FIQ */CPSR[7] =1; /* 禁⽌IRQ */If high vectors configured thenPC=0xffff,0000;ElsePC= 0x0000,0000;其余的异常以此类推;异常的优先级:1、Reset: 优先级1(最⾼)2、Data abort:23、FIQ:34、IRQ:45、Prefetch abort:56、SWI或者undefined instruction:6(最低),软件中断异常或者未定义指令异常ARM硬件接⼝:1、程序的链接地址和程序地址:ld程序链接地址程序链接地址:是程序运⾏的起始地址;程序地址:是程序保存在硬盘中的地址;2、呵呵呵。
基于嵌入式Linux的指纹识别系统设计
关键词 : 嵌入式 L i n u x , 指纹识 别, Q t , R 3 0 5 , A R M9 , ¥ 3 C 2 4 4 0
‘
Ab s t r a c t
I n o r de r t o s ol v e t h e e x i s t i n g de f i ci en c y o f em b edd ed f i n ger pr i n t i de n t i f i ca t i on s y s t em , t h i s pa per pu t s f o r war d a k i nd o f f i n ge r pr i nt i den t i f i c a t i on s y s t em r ea l i za t i o n m e t h od wh i c h i s b as e d on e m be dde d L i n ux ope r a t i n g s y s t em, an d i t co n cr et el y i n t r o duc e s t h e s y s t em s o f t wa r e de s i gn i de a, wh i ch m a i n l y i n c l u des t h e s of t war e pl a t f o r m bui l di n g pr oc e s s an d t h e f i n ge r — pr i n t r e co gni t i o n s y s t em appl i c a t i on s o f t war e dev e l o pm e n t Th e c on t en t i n v ol v es t h e f u n c t i on al f u nc t i on s of f i n ger pr i n t m o d— u l e, s er i al p or t s c om mun i c a t i on pr o ce du r e s, f i n ge r pr i n t BM P i mage gen er a t or , u s er da t aba s e m a n age me n t pr oc ed ur e, s y s t em o per at i o n i n t er f a c e pr o c edu r e s, an d S O o n. Th e s y s t e m ba se d on t h e em b edd ed Li nu x, n o t r e l y on a par t i cu l a r pr o c es s or , S O i t h a s t h e v e r y s t r o n g p or t a bi l i t y.
基于嵌入式Linux系统的网络编程技术
我们将介绍建立面向连接 的 sc e 网络 ok t 编程 常用函数1[的用法。详细阐述一下容易出 一 3】 1 错的 b n i d函数 。其余可以参考文献【 】 2。 12 1 . . 、服务器和客户机首先要调用 s c e ok t ( )函数 ,建立 套按 字并 指 明应 用何种 通讯 协
,
i l i s r ts t s l ta e a o l u
te ua e o cm n ok t ucin n h iu oea i s se a d civs te ehoo y f po rmmn wt te h s g f o mo sc e fnt s i o te Lnx prt g y tm, n n ahee h tcnl o rga i g g i h h moe f Ci t evr n h nt r dl ln/S re i o e te ewok.
维普资讯
科 技! 论 坛
中国科技信息 2 0 年第 5 06 期
N OR F MATI a 0 6 ON M r 2 0
基于嵌入式 L n x系统的网络编程技术 iu
N t r P o rm m ig e h oo y n m b d e iu e wo k r g a n T c n lg i E e d d L n x
Ky e wo d : Lnx ok t m e d d ln/S re rs i ;Sc e ;E bd e ;C et e v r u i
引 言
源代码开放的嵌入式 L n x操作系统具备稳 iu 定、高效 、易定制 、易裁减 、硬件支持广泛等特 点, 逐渐成为嵌入式操作系统的研究重点 嵌入式 系统中的设备与 P C之间经常需 要交换大量可靠 的数据 ,而且必须达到一定的传输速率 。在本系 统 中 PC 和 ARM 控制板 之间传输 的数据量有 IB G ,而且要求传输速率大干 I ye/。由于 M bt s s 网1较之串 F、并 F 3 I I 有数据传输速率快 、准确性 高等特性 ,因此,网络编程在实际中得到 了大量 的应用。利用网 F I 进行数据交换还可以进行远程 控制 。在本系统 中用的 ARM 板是傅立叶公司的 A g M90 评估板… Tl R 20 。其 C U为 A M90 P R 2T, 系统应用内存为 3M,f s 2 l h为 1M,外旷网口一 a 6 个 ,适应 lM/ 0M 以太网 串口两个 ,通讯速 0 10
嵌入式Linux指纹识别门禁系统
基金 项 目: 湖 南 省 教 育 厅 科 学研 究项 目( No . 1 1 Cl 0 9 6 )
・
3 0・ 福 建 电脑 l 2 0 1 3 年第7 期
。 一
.
一
…
… 一
3 ) 配 置 并移植 嵌 入式 L i n u x内核
般用 户和 系 统管 理员 。系统 管 理员 的功 能 有 : 添加 用
对 性 能及 接 口扩展 的 需要 。 T F — MD — M1指纹 识别模 块 正 确 的 运 行 环 境 。 常 见 的 B o o t L o a d e有 U— B O O T 、
采 集分辨 率达 到 5 0 0 D P I , 识别 率高 , 稳定性 好 ; 采用 1 : G R U B 、V I V I 、 L I L O等 , 将修 改 后 的 U B O O T编译 得 到 N或 1 : l比对 ( 两种 可选 ) , 算法 速 度快 , 5 0 0人指 纹 只 二进 制 文件 ,通 过 J T A G 口将 U B O O T的 二进 制 文件 要0 . 4 3秒 ; 用户 可分 多级权 限管 理及 多级 的安 全级 别 烧 写到 N A N D F L A S H中。
~
e
嵌入式 L i n u x 指 纹识别 门禁 系统
李 悛 ,何丽芳
( 1南华 大学计算机 科 学与技 术 学院 , 湖南 衡阳 4 2 1 0 0 1 ;
2 衡 阳财经 工业职 业技 术 学院 , 湖南 衡 阳 4 2 1 0 0 1 )
【 摘 要】 : 本文介绍 了- - ̄ e &q - A R Mv 5 E及嵌入式 L i n u x 的指纹识别 门禁 系统的设计方案, 相比 4 4, ¥ . q - P C 的识 别 系统 , 本 方案 具 有轻便 、 易于安 装 、 成本低 廉 、 可扩展 性 好 、 可 移植 性 强等优 点 ; 设 计
立功科技嵌入式平台“软”实力——二维码算法篇
立功科技嵌入式平台“软”实力——二维码算法篇摘要:二维码不仅给人们生活带来便捷,在工业领域也被广泛应用。
如何在嵌入式硬件中开发二维码功能?本文将为大家介绍ZLG二维码识别算法,教大家在ZLG硬件平台中快速搭建具备良好识别效果的二维码。
二维码的本质就是根据某种约定的编码方式,将一段文本信息转换为一个能够被解码识别的图片。
因为二维码只是一种编码方式,是一种信息的载体,可见二维码用途的关键不在于二维码,而在于如何定义这段文本信息,约定好文本信息的用途。
当前,二维码支付功能已经改变了我们的生活方式,出行不再需要带上现金,就能够通过二维码乘公交、搭地铁、打出租车、付停车费和超市购物付款等等。
由于QR码具有信息容量大、可靠性高和保密防伪性强等特点,常见的二维码支付均采用QR码。
接下来将对ZLG二维码算法进行介绍,分别阐述ZLG二维码算法特点、接口调用方法、可实现平台与性能及效果展示。
一、二维码算法特点由于二维码支付相关领域的迅速发展,ZLG针对性的进行了二维码识别算法的研发和优化,目前ZLG二维码算法库仅提供QR码接口的调用。
QR码识别算法特点如下:●以算法库的形式提供,支持多平台移植,可在现有硬件上使用,大大节省成本;●算法调用简单,方便开发人员快速实现QR码识别功能;●同时支持手机屏幕条码和纸质条码,适用范围广;●识别速度快,针对手机支付场景的优化,可实现闪付;●支持手机碎屏QR码识别,贴合实际使用的场景。
二、二维码接口调用ZLG二维码算法库目前提供文件列表为: aw_qrcode.h、libqr.a或libqr.so。
算法调用方式简单,仅需要算法初始化、解码和内存释放三个步骤,QR码算法头文件“aw_qrcode.h”接口如下:我们以基于AWorks系统的M7系列平台为例,成功调用ZLG二维码算法之前,需要准备的工作如下:保证能够获取到摄像头的视频帧数据(不同平台可以有不同的实现方式,linux系统可以通过opencv获取图像帧数据),并且转为单通道的灰度图。
《基于ARM9的嵌入式Linux系统开发原理与实践》课件第6章
6.1 下载源文件 6.2 建立工作目录 6.3 输出环境变量 6.4 建立内核头文件 6.5 建立二进制工具 6.6 建立初始编译器 6.7 建立c库 6.8 建立全套编译器 6.9 完成工具链的设置 6.10 测试和验证交叉编译工具 本章小结
6.1 下 载 源 文 件
转移文件: [root@localhost bin] #mv as ar gcc ld nm ranlib strip $PREFIX/lib/gcc-lib/arm- linux/2.95.3 [root@localhost bin] #for file in as ar gcc ld nm ranlib
图6-1 Linux 2.4.21内核配置界面
6.5 建立二进制工具
binutils是GNU工具之一,它包括连接器、汇编器和其他 用于目标文件和档案的工具,它是二进制代码的处理维护工 具。安装binutils工具包含的程序有addr2line、aபைடு நூலகம்、as、c++filt、 gprof、ld、nm、objcopy、objdump、ranlib、readelf、size、 strings、strip、libiberty、libbfd和libopcodes。
给Linux内核打补丁: [root@localhost linux-2.4.21] #patch -p1 < ../../setup-
dir/patch-2.4.21-rmk1
配置: [root@localhost linux-2.4.21] #make ARCH=arm
CROSS_COMPILE=arm-linux- menuconfig
图6-4 编译初始编译器错误示例
嵌入式Linux系统中图片解码和显示的图像识别应用
嵌入式Linux系统中图片解码和显示的图像识别应用嵌入式Linux系统作为一种轻量级的操作系统,在物联网、智能家居等领域得到广泛应用。
而在这些应用场景中,图像处理和识别技术是重要的组成部分。
本文将探讨嵌入式Linux系统中图片解码和显示的图像识别应用。
一、图片解码图片解码是指将压缩的图片数据还原为原始的图像数据的过程。
在嵌入式Linux系统中,图片解码通常需要借助相应的解码库或工具来完成。
其中,最常用的图片格式是JPEG和PNG。
JPEG(Joint Photographic Experts Group)是一种广泛应用的无损压缩格式,适合存储和传输大型图像文件。
在嵌入式Linux系统中,可以使用libjpeg库来进行JPEG图片解码操作。
通过调用libjpeg提供的API,可以将JPEG图像解压缩并获取像素数据,然后进一步进行后续处理。
PNG(Portable Network Graphics)是一种支持透明度和多种颜色空间的无损压缩格式,在Web开发和UI设计中应用广泛。
在嵌入式Linux系统中,可以使用libpng库来进行PNG图片解码操作。
通过调用libpng提供的API,可以获取PNG图像的像素数据和相关信息。
二、图片显示图片显示是指将解码后的图像数据在嵌入式设备的屏幕上进行展示的过程。
在嵌入式Linux系统中,可以通过各种显示技术来实现图片的显示,如Framebuffer、DirectFB和Qt等。
Framebuffer是一种直接访问设备屏幕的方式,它提供了一块虚拟内存区域,将屏幕映射为一个二维的矩阵。
在嵌入式Linux系统中,使用Framebuffer可以通过写入对应位置的像素数据来实现图片的显示。
DirectFB是一种基于Linux的图形显示系统,它提供了一个独立于硬件平台的图形抽象层,将硬件设备和操作系统进行了解耦。
在嵌入式Linux系统中,可以借助DirectFB库来进行图像显示操作,通过DirectFB提供的API,可以将解码后的图像数据直接显示在屏幕上。
基于嵌入式Linux系统的远程数据采集
设 备数据 采 集 中的应 用和嵌 入 式 系统 We 务 器的移 植 、 态 We b服 动 b页 面 以及 数 据库 的设 计进 行 了 研 究 , 析 了相 关的程 序代 码 , 对嵌入 式 系统远 程数据 采 集的设 计 步骤进 行 了阐述 。 分 并 关 键词 : 嵌入 式 u l u Ci x操 作 系统 ; 口通信 ; b服务 器 ; 态 We n 串 We 动 b网 页; G CI
1 嵌入式 Ln x系统下 的远程监控设计原理 iu
11 传 统 模 式 下 工 业 设 备 的 远 程 监 控 .
分支 , 门针对没 有 MMU的 C U, 专 P 并用 户程 序有 :o , ba 适合 于嵌 入式应 用 的 WeS r rf , b e e;p 文件 传输 协 议客 户端 程序 ;d sr r 目 v t gbev , e 标 系统端远程调试程序 , 与主机上运行的 G B软件 配合完成 D 对 目标系统上运行 的程序进行 远程 调试 的功能 ;u d 另一个 h: , p 适合于嵌入式应用 的 We evrHI甲服务器 ) 比 ba 简 bSre( rI T , o更 单, 占用 内存 更 少 ;ig 网络 测试 程序 ;e e,e e : le pn , tntt nt t nt l l de c et sr r l n 和 e e 端应 用程序 ;p 串 口连接程序。 i v t, i
如 图 2所 示 , 以太 网模 式 下 , 器 仪 表 通 过 嵌 入 式 在 仪 Ln x系统 间接 连人互 联 网 , iu 通过 强 大的 互联 网实现 远程 监 控, 适用于近距 离或远距 离监控 。
嵌入 式Ln x iu 系统
嵌入式 系统 配置成 We b服务器 , 么它就相 当于一台接 那 人 以 网的普 通计算 机 , 太 能够 同远端浏览 器在 hp t 上进行 信 t 息交互 , 这是构建本系统 的软件平 台。在这个服务器平台上 , 用户只需专 注于本机特殊 任务代码 的编写 , 而不考 虑 以太 网 的网络通信 实现。
毕业设计论文:基于嵌入式Linux远程监控系统的设计与实现
毕业设计论文:基于嵌入式Linux远程监控系统的设计与实现摘要可编程逻辑控制器(PLC)不仅在工业控制中应用越来越广泛,而且在其他领域的应用也逐渐扩大,例如:电力、化工、能源、水利等。
由于它的功能比较强大、使用安全可靠、维护简单方便的优点,在很多地方已经取代了继电器电路的逻辑控制。
在对水中泥沙搅拌的处理过程中,需要速度控制比较稳定,而且能够进行不同速度的操作;在拖动的处理过程中更加要求精确性。
因此,PLC控制电机逐渐被人们运用到搅拌和拖动控制系统中。
本文讲述了基于PLC的电动机控制系统设计和实现过程。
本系统将PLC、变频器、编码器、电动机、搅拌器、传感器有机地结合起来,组成一个简单完整的自动控制系统。
通过台达WPLSoft软件平台编写程序并写入PLC后,控制电动机实现多段速的运行。
在本文中还有一个值得介绍的就是高速计数的实现。
通过高速计数器可以对拖动系统进行精确的控制,并且把计数值存放于固定的寄存器,以方便其他设备完成对系统的操作和监控。
关键词:PLC 电动机高速计数器ABSTRACTProgrammable Logic Controller (PLC), not only in the application of industrial control more and more widely, but in the application of other fields have also gradually expanded, such as: electric power, chemical, energy, water and so on.。
Because of its powerful features, the safety and reliability of use, easy to maintain , it has replaced the circuits logic control in many places. In the sediment of water mixing process,speed controling is more stable, and it can be operated at different speeds; in the processing of dragging,it needs more reliability . Thus, PLC controlling motor is applied to mixing and dragging control system gradully.This article describes design and implementation process of the PLC-based motor controlling system . PLC,Inverter, encoders, motors, mixers and sensors are combined to form a simple, complete automatic control system.Programs are designed and wrote into PLC through the software platform of Delta WPLSoft, then control multi-speed motor operation.In this paper the realization of high-speed counting is described valuablely. High-speed counter can control the dragging systems precisely, and keep the data in the fixed register in order to make other equipments operate and monitor the system convientely.Key words: PLC motor high-speed counter目录第一章绪论 (1)1.1 题目来源及课题意义 (1)1.2 文章概述 (1)1.3 设计思路 (2)第二章电动机篇 (3)2.1 电动机概述及分类 (3)2.2 交流异步电动机 (4)2.3 电动机变频调速 (5)2.4 变频调速的控制原理 (7)第三章编码器篇 (9)3.1 编码器杂谈 (9)3.1.1 编码器的发展史 (9)3.1.2 编码器的分类 (9)3.2 旋转编码器 (10)3.2.1 旋转编码器的工作原理 (10)3.2.2 旋转编码器的分辨率和精度 (11)3.3 台达编码器ES3-02CN6941 (12)第四章PLC篇 (14)4.1 PLC的定义及其功能 (14)4.2 PLC的优缺点 (14)4.3 PLC工作方式 (15)4.4 PLC的工作过程 (15)4.5 台达PLC:DVP32ES00R2 (16)4.5.1 DVP ES 常用指令介绍 (16)4.5.2各种装置的功能 (18)4.6 高速计数的方法 (20)4.6.1 概述 (20)4.6.2 计数模式:递增模式、递减模式 (22)4.6.3 高速计数器指令 (22)第五章综合篇 (25)5.1 总体程序设想 (25)5.1.1 流程图 (25)5.1.2 各个开关设置 (25)5.1.3 系统分析 (25)5.2 梯形图详解 (26)总结 (30)致谢 (31)参考文献 (32)附录 (33)1 系统流程图 (33)2 程序 (34)3 English information (36)第一章绪论1.1 题目来源及课题意义黄河泥沙含量的测试,顾名思意,是专为测试黄河泥沙含量的而设计的。
基于8086单芯片计算机的嵌入式 Linux 操作系统移植
基于8086单芯片计算机的嵌入式 Linux 操作系统移植杨延庆【摘要】In view of the problems of experimental platform and a shortage of experimental means during the study of“The Principle & Application of Microcomputer”and“Microcomputer Principle & Interface Technology” ,the embedded Linux operation system transplantation is proposed based on 8086 single chip computer .The operation system support for 8086 micro -process platform is provided by analyzing 8086 single chip computer and methods of embedded Linux operation system transplantation ,and by taking advantage of cross compiler environment upon Linux kernel and file system transplantation .T his transplantation demonstrates that the embedded Linux operating system can reduce the difficulty of research and development and shorten the cycle of the complicated embedded products tremendously .In addition ,it can in‐crease the efficiency of the system by reducing the repeated labor in system design .%针对“微型计算机原理及应用”和“微型计算机原理与接口技术”等课程实验平台与实验手段不足等问题,提出基于8086单芯片计算机的嵌入式Linux操作系统移植。
基于嵌入式Linux的程控仪器SCPI解释器的实现方法研究
基于嵌入式Linux的程控仪器SCPI解释器的实现方法研究陈建萍;杨汉祥【摘要】介绍了自动测试系统中广泛运用的SCPI,提出了一种基于树型的规范化、模块化的SCPI解释器的实现方法,研究了其在嵌入式Linux下的应用方法,并验证了该命令解释器具有解析速度快、解析命令全、移植性好等优点.通过应用于基础测量仪器中的关键编程技术,解决了在自动测试系统中控制设备和仪器设备间的通信问题,对研制现代程控仪器具有积极作用.【期刊名称】《赣南师范学院学报》【年(卷),期】2008(029)003【总页数】4页(P88-91)【关键词】SCPI;解释器;嵌入式Linux【作者】陈建萍;杨汉祥【作者单位】赣南师范学院物理与电子信息学院,江西,赣州,341000;赣南师范学院物理与电子信息学院,江西,赣州,341000【正文语种】中文【中图分类】TP216SCPI[1](Standard Commands for Programmable Instruments)是可编程仪器的标准命令集,它采纳了IEEE488.2定义的命令结构,创建了一整套编程命令.IEEE 488.2[1]在IEEE 488.1[1]的基础上精确定义了控制设备和仪器设备的通讯方式.在自动测试系统中使用具有SCPI的程控仪器可以加快测量速度,提高测量准确度,减少生成应用软件及组建系统的成本,使自动测试标准化程度得到了更大提高.作为仪器程控命令的业界标准,SCPI虽然有相应的规范,但不同厂家对于一种特定的测量仪器在具体命令、参数格式等方面仍然存在一定的差异.SCPI采用一套树[2]状分层结构的命令集,提出了一个具有普遍性、面向信号测量的通用仪器模型.命令树的组成是从根命令开始到层次命令,其间可以有很多层次.相关的命令在一个根或共同点下被集合在一起,形成子系统.命令的助记符由关键字之间的冒号分开.每一子系统命令是一命令集,并与仪器设备中的功能模块密切相关.当一个设备不支持所有可选择的参数值(却是SCPI许可的),且没做其它规定,它将执行这些值的子集.本文研究开发了针对程控仪器的SCPI解释器,实现了在嵌入式Linux 环境下对SCPI命令的快速语法解析的功能,保证了控制设备和仪器设备之间能准确快速的通信,解决了仪器程控和响应消息标准化的问题,提高了仪器的互换性.1 SCPI命令解释器的实现通过传输SCPI命令,控者设备和仪器设备都可以接收且响应消息.用户可以输入定义的SCPI命令来操作控者设备与仪器通信,仪器中的SCPI命令解释器主要是翻译控者的ASCII命令,实现仪器功能如读写寄存器、实时测量、输出信号等响应消息,同时发回相应消息给控者.SCPI设计了通用仪器模型,如图1所示.图1 SCPI的通用仪器模型在图中每一个方框分别对应于产生信号、处理信号和测量信号等子系统.编程人员不必了解具体仪器的硬件,只要根据需要选择有关系统的指令即可.对测量功能单元有更详尽的描述模型.图2 测量功能模型利用通用仪器模型,SCPI命令格式采用树状层次结构,分为多个子系统, 每个子系统由一个根命令和一个或数个层次命令构成.根据需要,找到子系统模块,然后沿着树从顶向下寻找各分支,检查有没有要执行的功能指令.若有,则无需进行变动,可直接写出完整的命令.如SENSe 子系统中测量电压周期的命令为:“SENSe:VOLTage:PERiod?”.如果找不到适当的指令,就需加入一个分支点以扩展其指令集.解释器的功能是对输入指令进行语法检查并找到树枝下对应的仪器函数, 其流程[3]如下:(1)SCPI命令解释器首先对控者的输入指令(ASCII字符串形式)进行扫描, 根据分割符位置将输入的命令拆分为子系统根命令、层次命令、参数以及单位部分.因为任何特定仪器解释通用命令的方式是一样的,所以不考虑它们的路径.(2) 根据(1) 识别的子系统根命令动态加载相应的命令树.仪器从自己的每个根目录不断查询是否匹配自己定义的各条路径.如果匹配第一级目录命令,则继续在这个根目录下寻找匹配的子系统模块,然后跳入相应的更小分枝中继续查找下一个标点前的匹配字符路径所对应的模块.图3 解释器软件流程(3) 从根到枝的末端,也就是从上到下,根据(1) 识别的层次命令自顶向下遍历命令树,如果直到某一路径的末端,该路径分枝的命令与输入的字符串的内容完全匹配,即遍历成功,在子系统命令树的每个叶节点除节点内容以外还存放对应仪器函数的编号.这时返回叶节点仪器函数的编号,并做出相应于此命令的回应.如果在这个根下没有找到完全匹配的路径命令,则说明输入语法错误, 返回错误消息,从内存中释放树结构.这种分析方法就是对命令层层剥析的过程,始终验证输入的字符串是否与命令解释器中设定的SCPI命令树一致,遇到无匹配命令、超过特定层数或回车符即跳出查询.当遇到一个新节点,把输入串的第一个标点作为比较输入串的开始,例如buf里存放输入命令:POWer:LEVel 5.0 MAX,首先建立一个指向输入串buf的指针*p,因为buf[0]==':' 符号,所以跳到特定控制命令模块中查找是否有匹配的第一个词“POW:”或“POWer:”,如果找到此字符串,再把下一级“: LEVel 5.0 MAX”放到指针p里,用于下一个小模块字符串的比较.下次开始比较p中存放的第一个命令与子系统里存放的哪条路径命令相同,一直进行到最后一个字符串完全匹配,最后返回待执行仪器函数的编号.执行组件维护着一个编号与仪器函数的对应表.根据解释器的返回值, 执行组件首先判断是否有语法错误.如果没有则通过查表找到该函数, 然后验证参数并执行, 如果是查询命令, 还要将仪器状态或执行结果放入输出队列.如果发生语法错误则返回语法错误消息.在S3C2410和嵌入式Linux操作系统构建的程控仪器平台下[4],进行了SCPI命令解释器的开发与验证.该SCPI命令解释器采用模块化结构化的设计方案.一个子系统模块是一个根目录下的所有命令集合,在这个子系统模块里又有小模块,每个小模块是一个分枝节点.这样的嵌套模块结构有着条理清晰、调用方便、添删命令容易等优点.那么主程序的开始[2]首先是标志符flag初始化为0,串口的初始化和设置,然后读控者设备的输入命令到buf中,接下来是一个始终等待和查询控者输入的循环.如果接收到“q”或查询到flag等于0时跳出循环,结束任务;否则进入SCPI命令解释,3层匹配查询,直到有回车符终止.最后根据每一个命令走过的嵌套模块和路径判断出存储的相对应命令,仪器执行自身的功能或反馈测量数值,至此一个命令任务完成.又回到循环继续等待查询.软件流程如图3所示.SCPI命令解释器在S3C2410嵌入式开发板平台的Linux环境下通过监控器方式调试,串口把目标机和宿主机相连接进行SCPI命令的输入输出验证.控者通过超级终端与仪器平台进行SCPI命令通信[5],输入*CLS、*RST、:POWER:STATEOFF、:POW:STAT?;*STB?、:POWER:LEVEL6.2;:MESAS:VOLT:DC?等命令,仪器执行和反馈结果如图4所示,这是一个被定义了的仪器行为.图4 终端执行结果2 SCPI的应用[6]目前在开发基于S3C2410和嵌入式Linux操作系统的数字多用表中,SCPI的助记符产生规则简单明确且易于记忆,通过GPIB、RS-232、VXIBus、网络等接口,它可控制仪器功能且能以相同的命令和参数控制不同类型的仪器的相同功能. SCPI命令可分为两部分,IEEE488.2公用命令和仪器特定控制命令.有一些SCPI公用命令是IEEE488.2规定的仪器必须执行的命令,还有一些公用命令是仪器可以选择执行.公用命令与测量无关,用作控制重设、自我测试、管理宏、状态寄存器、同步和数据存储.仪器特定控制命令分为必备命令和选择命令,用来从事测量操作,读取数据结果及切换开关等操作,执行所具有的测量函数及一些特殊的功能函数.接口程序负责控者设备和仪器设备的连接并以事件驱动方式捕获事件和处理通信错误及事件,应用程序负责键盘、LCD显示器及其它通用资源的管理控制并完成相应数据处理,包含SCPI命令解释器可调用各服务模块,完成测量功能.在进行设计接口程序时,将接口程序作为嵌入式Linux的系统服务模块,供应用程序调用.系统软件框图如图5所示.图5 系统软件框图控者设备通过网络等接口发送命令到数字多用表,此时仪器为听者,接收命令到输入缓冲器中.SCPI命令解释器对输入缓冲器中的命令解析,若发现词法错误,则发出错误响应消息给控者.若命令需要仪器响应,如MEASure:CURRent:DC?,仪器将调用执行组件完成测试功能,并测量值以标准化格式放入输出缓冲器.此时若仪器处在讲者身份时,应用程序把测量值从输出缓冲器取出送到网络等接口发给控者设备.此时,应用程序可把下一个控者的输入命令发送到解释器入口等待处理.对于此数字多用表来讲,测量步骤如下:复位,初始化仪器,设定触发方式,发送测量命令,命令送入输入缓冲器,仪器执行和计算,把测量值放到输出缓冲器,发给控者.因此在控者上通过C语言编写软件调用SCPI命令可充分的完成某项测量任务,从而实现了程控仪器的自动测量功能,待完成测试后可在PC控者上获取测试结果数据,如图4所示,符合测试的功能需求.3 结束语SCPI命令提供了程控仪器所必须的规范化命令集.在仪器功能严格匹配的前提下,可实现仪器互换,使程控仪器更易使用, 数据处理更方便、准确、快捷.因此,SCPI 命令解释器是仪器设计中非常重要的组成部分,其性能直接影响仪器的系统集成能力、接口通信能力和技术性能指标.通过对基于嵌入式Linux系统的程控仪器平台中SCPI命令解释器的研究与实现,SCPI命令解释器被应用于新型程控仪器的自主研制和开发中,配合测控PC上的可视化测试软件,可满足自动测试系统的设计需求,对于推动我国程控仪器行业的发展有着积极的促进作用.【相关文献】[1] Standard Commands for Programmable Instruments[S]. USA. 1999.[2] 严蔚敏,吴伟民.数据结构:C语言版[M].北京:清华大学出版社,2002.[3] 井涛,郭永瑞.一种实用的SCPI语法分析设计方法[J].国外电子测量技术, 2006,25(2):42-44.[4] 王海丽.基于S3C2410的多功能仪器软件系统的研究与设计[D].西安:西安电子科技大学硕士论文,2007.1.[5] 马忠梅,李善平,等.ARM & Linux嵌入式系统教程[M].北京:北京航空航天大学出版社,2005,3:44-46.[6] 王晓俊.新型阻抗分析仪构建自动测试系统的接口设计与实现[J].电子测量与仪器学报,2007(2):12-13.。
基于嵌入式系统uC—Linux的路由实现
L u 的大部分特性 .C i x ix n u —L u 从一开始就从 L u 2 0内核派生而来 , n i x的 . n 现在 内核版本基本上与 L u 同 ix n 步 , L u 程序的移植也不需做很大的改动 , u — i x 对 ix n 用 C L u 实现路 由功能非常灵活且具有较高安全性 . n
法 I 地址 充 当 I 共 享器 的 Lnx主机后 面隐 藏着很 多使用 私有 I 地 址 的主机 , 当 I 共享 器 的 Lnx主机 I ) I ) iu I ) 充 I ) i u 的任务就 是地址 转换 . 不论 称 之为 N T或 I 伪 装 , 际上 都是 Lnx 过 对进 出系 统 的数 据包 按 一定 过 滤 A I ) 实 i 通 u 规则 进行 处理 实现 的 . 种对 数据包 的过 滤方 案在 Lnx24X核心 中则 是 It l . 这 iu .. P be a s
维普资讯
20 0 6年 6 月
韶关 学 院学报 ・自然科 学
J u l fS a g a nv ri ・Nau a S in o ma h o u n U iest o y t rl ce ce
— —
J n 2o u .0 6 V 12 N . o .7 o6
—
第 2 卷 第 6 7 期
基 于嵌入 式 系统 u C—Lnx的路 由实现 iu
刘东远
( 韶关学院 计算中心 , 广东 韶关 520 ) 1 5 0
摘要: 阐述 了 L u 下的 I ix n P转发 、C i x中 It l 的工作原理和利 用其 I 伪装 的功 能 实现路 由的方 法, u —L u n p be a s I ' 设计
基于ARM—Linux指纹识别系统的设计
处 理器 为三 星公 司 的 ¥ C 4 0 其 核 心 架 构 为 A M 公 司 324 , R
l重 l 呈
图 2 系 统 硬 件 组 成
F g Bo kda rm fpafr srcu e i.2 lc iga o lt m t tr o u
收 稿 日期 :0 2 0 — 2 21—50
定 . 法 效 率 和精 确 度 较 高 。 嵌 入 式 生物 识 别技 术 应 用领 域 有 一 定 的 参 考 价值 。 算 在
关 键 词 :生物 识 别 ; 入 式 系统 ; R ; iu 嵌 A M9 L n x内核 ; 纹识 别 指 ‘
中图 分 类 号 : P 9 . T 31 4
W ANG We ,L h n mig i IC u - n
(ne noi U i rt e hooy H h o 00 8 , hn ) /nr gl n esyo cnl , o ht 10 0 C i Mo a v i fT g a
Ab t a t h p l a in o imere i e t c t n t c n lg i mo e wi ey u e y p o l sr c :T e a p i t f b o ti d n i ai e h o o y s c o i f o r d l s d b e p e,e p c al n e p n s e il f g r r t yi i i e t c t n tc n lg .T e  ̄U wi g d sg a e o d ni ai e h oo y h i f o o n e in b s n ARM9 a h o e o a d r lt r s te c r fh r wa e p a o m,a d a iu e n li f n n L n x k r e s
基于ARM和Linux的网络视频采集传输方案的设计和实现
基于ARM和Linux的网络视频采集传输方案的设计和实现刘宇;车进【摘要】针对现有的视频采集设备占用较多空间,而且需要使用专用资源的情况,设计了一个基于嵌入式的网络视频采集传输方案.该方案采用ARM11为核心处理器,嵌入式Linux为软件平台,搭建嵌入式平台.将视频服务器MJPG-streamer移植到该嵌入式平台,实现图像的采集、压缩和传输,使用者可在Web浏览器中观察到远端的实时视频画面.实验结果表明,该方法能够很好地采集、处理和发送视频,实现远程观察实时的视频画面,且设备占用空间较小.【期刊名称】《宁夏工程技术》【年(卷),期】2014(013)001【总页数】4页(P30-32,36)【关键词】嵌入式系统;Linux;MJPG-streamer;视频图像采集【作者】刘宇;车进【作者单位】宁夏大学物理电气信息学院,宁夏银川 750021;宁夏大学物理电气信息学院,宁夏银川 750021【正文语种】中文【中图分类】TN919.8;TP368.1在日常生活中,视频采集的应用场合很多,诸如门禁、安防、远程视频会议等.现有的视频采集设备,模块较多,在使用中要占用很多空间.因此,本文提出了一种基于B/S结构的嵌入式Linux的网络视频采集传输方案,该方案取代了以前占用空间较多的视频采集设备,而将图像采集、图像的压缩和编码以及网络传输集成到一个体积小、占用资源少的嵌入式系统中,通过远端的浏览器观察视频画面.1 总体设计本方案采用飞凌嵌入式公司出品的ARM11开发板TE6410作为硬件平台,Linux 操作系统作为软件平台,通过USB摄像头采集图像,然后利用MJPG-streamer 视频流服务器及其相关插件获取、处理图像[1],并通过网络发送到用户平台,用户可以通过浏览器查看视频.方案整体结构见图1.图1 方案整体结构图2 方案硬件设计本方案主要采用ARM11开发板TE6410、USB摄像头和一台计算机.TE6410开发板搭载了三星公司出品的s3c6410核心板,主频高达533MHz,配有256 MB的DDR内存和4GB的NAND FLASH.TE6410开发板有3个串口,一个LCD扩展口,一个100 M网口.它标配的USB Host插口和USB Slave插口均为2.0标准,采用8位拨码开关选择不同的启动方式.外部扩展端口包括一个SD卡槽,一个Wi-Fi扩展接口,以及摄像头接口和J-TAG接口等.USB摄像头采用罗技公司的C270网络摄像头.采用一台运行Ubuntu12.10操作系统的计算机作为用户平台.方案硬件结构见图2.图2 方案硬件结构图3 方案软件设计本方案软件设计主要包括U-Boot,Linux内核,rootfs.yaffs2,MJPG-streamer 软件的修改和移植[2].方案软件框图见图3.U-Boot是在操作系统运行之前运行的一段小程序,用来完成硬件设备的初始化,从而将系统软硬件环境带到合适状态,为最终调用操作系统做好准备.编译好的U-Boot可以在TE6410开发板附带的光盘里找到.Linux内核采用3.0.1版本,该版本的内核包含USB摄像头的驱动和V4L2驱动框架[3].当内核烧写到开发板中,插上USB摄像头便自动识别.本方案采用rootfs.yaffs2作为TE6410的文件系统.rootfs.yaffs2是一个专门为NAND FLASH存储器设计的嵌入式文件系统,适用于大容量的存储设备,而且它是开源软件,所以采用rootfs.yaffs2作为文件系统[4].MJPG-streamer是一个开源项目,通过支持Linux-UVC的网络摄像头采集JPEG 图像,并且将采集到的图像流式传输成为M-JPEG视频流,通过网络传输给浏览器.它是一个可移植的Linux-UVC流媒体应用.之前,国外的嵌入式爱好者将MJPG-streamer项目移植到了Mini2440平台,并设立了一个名为mjpg-streamer-mini2440的开源项目.基于TE6410开发板,笔者在mjpg-streamer-mini2440开源项目的基础上进行拓展,使之能够移植到TE6410开发板上正常使用.图3 方案软件框图3.1 交叉开发环境的搭建TE6410开发板采用U-Boot作为引导程序、嵌入式Linux系统镜像(版本号为3.0.1)和rootfs.yaffs2文件系统.将这3个文件从开发板附带的光盘里复制到SD 卡中,SD卡插入开发板的SD卡槽,开发板设置为SD卡启动模式,启动开发板一键安装嵌入式Linux系统.交叉开发环境需要Linux桌面系统,选用Ubuntu12.10.首先在计算机安装VMware8.0虚拟机,在虚拟机中安装Ubuntu12.10;再在Uubuntu12.10中安装交叉编译工具链Arm-Linux-Gcc-4.3.2;之后使用VMware8.0自带的VMware-Tools实现虚拟机和主机的文件共享;最后将虚拟机设置为桥接方式使之能够上网,并将虚拟机和开发板设为同一网段后使用ping命令将虚拟机和开发板连通.3.2 MJPG-streamer移植过程将MJPG-streamer视频流服务器移植到TE6410开发板上运行,从而实现图像采集和网络传输,具体移植过程如下:(1)下载mjpg-streamer-mini2440项目源代码:mjpg-streamer-mini2440-read only,并放在ubuntu的一个文件夹中(比如/mnt/webcamera文件夹). (2)进入 webcamera文件夹中,用 VI编辑start_uvc_yuv.sh 的内容[5]:执行以下命令进行编译链接并打包[6]:在当前目录下会生成mjpg-streamermini2440-bin.tar.gz.经过以上步骤,已将参数配置成适合TE6410开发板和USB摄像头的环境,将它复制到SD卡中.(4)在TE6410开发板上安装MJPG-streamer.将SD卡插入开发板的SD卡槽里,在开发板的终端输入以下命令安装MJPG-streamer:3.3 M-JPEG压缩算法研究与实现M-JPEG视频编码格式,把运动的视频序列当作连续的静止图像来处理,该压缩方式单独完整地压缩每一帧,在编辑的过程中可随机存储每一帧,可进行精确到帧的编辑.其主要特点是基本不考虑视频流中不同帧之间的变化,只单独对某一帧进行压缩.M-JPEG单帧压缩算法为JPEG算法,即把一幅图像分成8×8的方阵之后进行离散余弦变换(DCT).离散余弦变换是将光强数据转换成频率数据,从而得知强度变化情况.因为人类视觉系统对图像的低频成分比对高频成分有更高的敏感度,因此如果对图像的高频成分进行量化,再还原成光强数据,尽管与原图像有些差异,但人眼难以分辨[7].JPEG压缩是有损压缩,损失的部分是人类视觉不容易觉察到的高频成分,节省大量需要处理的数据信息.以下就是JPEG所使用的二维DCT公式式中:f(i,j)为像素值,F(u,v)为变换系数,u,v为系数下标.在压缩时,将原始图像分成很多个8×8像素的图像数据块.之后,通过零均值化,将每个字节的值从0~255转为-128~+127,并以此作为离散余弦正变换FDCT(Forward DCT)的输入.FDCT将每个数据块的值换为64个DCT系数,第1个系数称为直流系数,而其余63个系数则称为交流系数.在解压缩时,经逆向IDCT(Inverse DCT)将64个DCT系数还原为8×8像素的数据块,然后组成完整图像[8].4 方案测试USB摄像头插入开发板的USB Host端口,开发板上电.首先,在超级终端下进入TE6410开发板,使用ping命令将虚拟机和开发板连通.之后,启动开发板上的服务器端.此时,MJPG-streamer启动,并且其输入组件通过USB摄像头采集JPEG 格式的图像,保存到内存中;网络服务器输出组件能够从内存中获取JPEG格式的图像,并将图像流式传输成为M-JPEG视频流,通过网络服务器发送给计算机.在虚拟机的Web浏览器中输入开发板IP地址发出访问请求,服务器收到访问请求后与客户端建立连接并将视频数据发送到客户端监听端口,用户可以在虚拟机的Web浏览器中观察到实时的视频画面.测试在Ubuntu12.10操作系统下完成,采集原始图像的格式为YUYV,分辨率为640×480,转换成JPEG格式图片的压缩率为0.8∶1.在此测试环境中,视频画面清晰、流畅,实时性好.本方案的测试对照结果见图4,图4a是开发板的液晶屏上显示的YUYV格式图像,图4b是用户平台的Web浏览器中显示的JPEG格式图像.图4 方案的测试对照结果5 结语本方案使用支持Linux-UVC的USB摄像头采集图像,采用飞凌公司出品的ARM11开发板TE6410和嵌入式Linux操作系统处理图像,通过移植MJPG-streamer视频流服务器,实现基于网络的视频采集传输.本方案是一种结构紧凑、占用空间很小的网络视频采集传输方案,不仅USB摄像头非常容易获得,而且充分利用现有的网络资源,不必使用额外的设备或资源.本嵌入式视频采集传输方案将在视频会议、交通监控等方面有很好的应用前景.参考文献:【相关文献】[1]杨宏,张志文.基于Web的嵌入式远程监控系统的研究与实现[J].计算机与数字工程,2012(10):70-72.[2]冯兴乐,王建建,张哲,等.基于嵌入式Linux的无线图像传输在车联网的应用[J].电视技术,2012(21):156-159.[3]于艳萍,朱晓智,王中训.基于ARM9和USB摄像头的网络视频采集系统设计[J].现代电子技术,2011(24):49-51.[4]陈毅辉,王存堂,钱帅杰,等.模糊智能控制在卷绕系统中的应用[J].机械设计与制造,2006(7):146-148.[5]庄严,王骁,汤建敏.嵌入式C/C++系统工程师实训教程[M].北京:清华大学出版社,2011.[6]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2009.[7]祝宁,叶念渝.JPEG图像文件格式的分析及应用[J].电脑与信息技术,1999(3):21-24.[8]许刚,廖斌,李承毅.JPEG图像文件格式分析[J].计算机系统应用,1998(10):37-39.。
《2024年基于嵌入式系统的人脸考勤机的设计》范文
《基于嵌入式系统的人脸考勤机的设计》篇一一、引言随着科技的不断进步和人们对高效便捷的办公需求的提高,传统的考勤方式已无法满足现代企业的需求。
人脸识别技术以其准确性高、非接触性、易用性等优点,在考勤领域中逐渐得到了广泛的应用。
基于嵌入式系统的人脸考勤机作为一项重要的人脸识别应用,正在改变传统企业的考勤方式。
本文旨在介绍基于嵌入式系统的人脸考勤机的设计思路、技术实现及实际应用。
二、系统设计概述基于嵌入式系统的人脸考勤机设计主要包括硬件设计和软件设计两部分。
硬件部分主要包括嵌入式处理器、摄像头、存储器等;软件部分则包括人脸识别算法、操作系统等。
通过软硬件的结合,实现人脸识别、考勤记录、数据传输等功能。
三、硬件设计1. 嵌入式处理器:选用高性能的嵌入式处理器,如ARM系列,负责整个系统的运算和控制。
2. 摄像头:选用高像素、高精度的摄像头,用于捕捉人脸图像。
3. 存储器:包括内存和存储设备,用于存储人脸数据、考勤记录等。
4. 其他硬件:包括电源、显示屏、通信接口等,为系统提供必要的支持和扩展功能。
四、软件设计1. 人脸识别算法:采用先进的人脸识别算法,如深度学习算法,实现高精度的人脸识别。
2. 操作系统:选用适合嵌入式系统的操作系统,如Linux或RTOS,负责整个系统的调度和管理。
3. 应用程序:包括人脸识别程序、考勤记录程序、数据传输程序等,实现系统的各项功能。
五、技术实现1. 人脸检测与定位:通过摄像头捕捉人脸图像,利用人脸检测算法定位人脸位置。
2. 人脸特征提取:通过人脸识别算法提取人脸特征,如五官位置、轮廓等。
3. 人脸比对与识别:将提取的人脸特征与人脸数据库中的数据进行比对,实现人脸识别。
4. 考勤记录与数据传输:将识别结果和考勤时间等信息记录在存储设备中,并通过通信接口将数据传输到服务器或云端。
六、实际应用基于嵌入式系统的人脸考勤机广泛应用于企业、学校、机关等单位。
通过安装人脸考勤机,可以实现自动考勤、实时监控、数据统计等功能,提高考勤效率和准确性,减少人为因素对考勤结果的影响。
基于嵌入式LINUX系统的打印审计系统前端
前 端 采 集 系 统 使 用 嵌 入 式 系 统 技 术 是 一 个 比 较 好 的 选 择 , 用 嵌 入 式 系 统 技 术 具 有 以下 的几 个 优 点 : 一 是 嵌 入 式 采 其 系 统 可 以 面 向特 定 的应 用 , 利 于 将 整 个 系 统 设 计 小 型 化 , 有 并
理 。对打印审计 系统 的前 端采集的硬 件平 台和 系统构 建所作 了具体描述 , 对采用的主要技术 big 、 eftr n tn r e n tl el k等作 了深 d ie i
入 的 分析 , 对前 端 采 集 设 备 的 配 置 界 面作 了初 步 的 设计 。 并
关 t 词 : 印 审计 I 入 式 L NUX 系统 I 端 采 集 打 嵌 I 前
维普资讯
M i oo ue p l ai sV 12 , . ,0 6 c c mp trA pi t n o. 2No 7 2 0 r c o 文章 编 号 :0 7 5X(0 6 0 - 0 3 -0 1 0 —7 7 20 ) 6 0 3 5
时 停 止 打 印机 的使 用 , 通 知 管 理 员 人 工 干 预 。 并 前 端 采 集 系 统 设 备 对 内 置 操 作 系统 的 要 求 是 : 能 专 一 功 高 效 , 度 节 约 资 源 , 动 速 度 快 。 于 以 上 的技 术 要 求 , 端 高 启 基 前 采 集 系 统 采 用 L NUX 嵌 入 式 系统 。L NUX 是 一 个 优 秀 的 操 I I 作系统 , 且 内核十分 精炼 , 以对不需 要 的功能进 行裁减 I 并 可 在 加 上 它 的源 代 码 都 是 开 放 的 , 持 多 用 户 , 任 务 和 动 态 度 支 多 库 , 有 及 强 的 网 络 功 能 , 乎 支 持 所 以 的 网 络 协 议 , 括 并 几 包 t P I P P和 远 程 登 录 等 等 。 以 当选 择 一 个 操 作 系 统 作 为 C /P,P 所 嵌 入 式 系 统 核 心 的 时候 , I L NUX 是 最 好 的选 择 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于嵌入式Linux的二维码识别系统摘要:设计了一种基于嵌入式linux的二维码自动识别系统。
对系统的软硬件结构进行了详细分析,提出了一种包含图像二值化、信息定位和译码的二维码识别算法。
实验证明了该系统设计的可行性和二维码识别算法的有效性。
关键词:二维码识别;嵌入式linux系统;qr码;计算机视觉中图分类号:tp391.4 文献标识码:a 文章编号:1007-9599 (2012) 17-0000-02
1 引言
随着移动互联网技术的发展,二维码作为一种新的信息技术在人们生活中的应用越来越广泛,例如票据识别、网上购物、手机支付、储存运输、食品追溯、设备管理、图书借阅、身份识别等。
二维码信息量大、容易进行快速自动数据采集,在国内外已经成为人们生活中快捷便利的信息交流方式,能在不同应用环境下对二维码进行快速可靠地识别也是目前研究的热点。
二维码未来在移动互联网和物联网中也将承担重要作用,腾讯董事会主席马化腾在2012
中国互联网大会上指出“二维码将在线上线下结合的过程中发挥巨大作用,并将成为线上线下的关键入口,通过摄像头拍摄二维码就可以把现实世界和网络世界连接起来。
”
2 嵌入式linux系统的优势
嵌入式linux是将日益流行的linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统,采用linux做
嵌入式系统具有如下优势。
第一,linux是开源的,继承了internet 上无限的开放源代码资源,可以根据具体应用进行修改;第二,linux内核小、效率高,性能优异;第三,linux是免费的操作系统,在价格上极具竞争力;第四,linux适应于多种cpu和多种硬件平台,是一个跨平台的系统,软件移植性好;第五,便于模块化设计,应用产品开发周期短,易于处理实时信号、安全性和稳定性好。
3 二维码识别系统
3.1 系统结构
在系统硬件层包括典型输入输出设备的usb摄像头和触摸屏,借助linux内核提供usb摄像头驱动和触摸屏驱动,方便上层程序控制摄像头和触摸屏。
在系统用户层,借助v4l(video for linux)接口实现视频采集系统,利用opencv库实现图像处理的基本操作,借助qt来实现系统界面。
二维码识别核心模块则是用c++编写,为了系统的可扩展性把二维码识别部分编译成了库文件,提供给上层调用接口。
3.2 输入和输出模块设计
图像采集和显示是二维码识别系统的基本输入输出模块。
嵌入式linux图像采集用的最多的是v4l,该内核为应用程序提供了大量的图像采集api,这些api对下层的采集设备是透明的,不用关心采集设备是usb摄像头或者专业的coms摄像头。
嵌入式linux
图像采集采用v4l2(video for linux two)接口,图像采集过程
主要包括:(1)打开设备文件,查询设备功能;(2)选择视频,并设置视频格式;(3)申请帧缓冲空间、帧缓冲入队列;(4)开始视频采集;(5)停止视频采集,关闭设备。
为了实时地在触摸屏上显示图像,重写了跨平台图形用户界面应用程序框架qt 的paintevent事件,实现图像获取、格式转化、显示区域重绘等。
3.3 二维码识别算法
二维码识别模块是整个识别系统的核心,为了更好的复用,我们把他编译成了库文件。
在对二维码图像进行预处理之后,从qr 码符号到输出数据字符的译码步骤是编码程序的逆过程。
由于qr 码在国内使用的广泛性,下面以qr码的识别为例介绍二维码的识别过程。
二维码识别过程如下:(1)对图像进行二值化处理,为了提高不同光照和对比度下的识别率,采用自适应阀值算法进行二值化处理。
(2)使用轮廓查找方法来找到3个寻像图形,利用寻像图形的坐标计算出编码区,获取二维码的版本信息和格式信息。
(3)用掩模图形对编码区的位图进行异或处理消除掩模。
(4)根据有关标准设定的模块排列规则,识读符号字符,恢复信息的数据与纠错码字[7]。
(5)按照使用的模式译码得出数据字符并输出结果。
4 系统实现与验证
开发的嵌入式二维码识别系统如图1所示。
采用的硬件系统包括:arm处理器s3c2440,内存容量256m,外存容量512m,开发板“友善之臂mini2440”,200万像素usb摄像头和3.5寸触摸屏。
系统实现的软件环境:操作系统linux-2.6.24,图像处理库
opencv-1.0.0,图形用户界面qt-embeded-4.6.7,编译器
arm-linux-gcc-4.4.3,调试器gdb-6.8。
预留对外数据接口:rj45网口和232串口。
测试用图可以根据编码算法自己生成,也可以使用互联网上现有的二维码图像。
如图2所示,(a)为摄像头采集到的二维码图像;(b)为二维码识别结果“http://”,这是河南工业大学的主页地址。
在图像有噪声、旋转、光照变化等条件进行多次实验,均能得到不错的识别效果,总体识别率达到96%。
5 结论
本文设计了一种嵌入式二维码识别系统,对系统硬件结构和软件移植进行了深入分析,重点对二维码识别算法进行了分析,该系统具有通用性强、扩展性好、方便用户使用等特点。
经过硬件设计和软件移植,实验验证了该系统设计的可行性和二维码译码算法的有效性。
参考文献:
[1]王文豪,张亚红,朱全银,单劲松.qr code二维条形码的图像识别[j].计算机技术与发展,2009,19(10):123-126.
[2]刘志海,曾庆良.条形码技术与程序设计[m].北京:清华大学出版社,2009.
[3]hallinan c. 嵌入式linux开发(英文版)[m].北京:人民邮电出版社,2008.
[作者简介]
于俊伟(1980-),男,博士,讲师,主要研究领域为模式识别、计算机视觉。