首页 > 实用文档 > 其他范文

基于嵌入式Linux系统的图像处理研究论文(通用8篇)

时间: 李欢欢 互汇范文网

本篇文章给大家分享基于嵌入式Linux系统的图像处理研究论文(通用8篇)对应的作文范文,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。。 - 素材来源网络 编辑:李欢欢。

基于嵌入式Linux系统的图像处理研究论文(通用8篇)

下面是小编给大家带来的基于嵌入式Linux系统的图像处理研究论文,本文共8篇,以供大家参考,我们一起来看看吧!

基于嵌入式Linux系统的图像处理研究论文

篇1:基于嵌入式Linux系统的图像处理研究论文

基于嵌入式Linux系统的图像处理研究论文

摘 要:嵌入式图像处理系统的完成将为图像处理开辟新的实现途径,并且为嵌入式系统的应用打开一片新的领域。基于嵌入式平台的图像处理系统是未来图像处理系统的发展趋势,研究如何将嵌入式平台和图像处理结合起来,对于进一步拓展图像处理应用领域具有非常深远的意义。本文分别介绍本系统软硬件整体设计及嵌入式图像处理系统开发环境的建立。

关键词:嵌入式;Linux;图像处理

引言

数字图像处理系统是执行处理图像、分析理解图像信息任务的计算机系统。尽管图像处理技术应用广泛,图像处理系统种类很多,但他们的基本组成是相近的。嵌入式数字图像处理系统主要包括:图像输入设备、执行处理分析与控制的微处理器、输出设备、存储系统中的图像数据库、图像处理程序库。

一、嵌入式系统图像处理技术研究现状

目前国内外嵌入式图像处理系统正在成为微型计算机开发的热门研究课题。结合嵌入式系统的高端图像处理性能,手机、数码、mp4等产品的嵌入式处理器已在上述市场中占有比较大的份额,而且嵌入式系统已成功应用于医疗设备、机器人控制中的图像领域,现代战争中利用图像进行的精确制导、无人飞机的电视导航等。

美国“索杰纳”火星车作为技术高密集的移动机器人,采用的是美国WindRiver公司的Vxworks嵌入式操作系统。火星车上负责采集、处理传输图像的控制器采用16位以上的处理器,各种MCU如ARM、MIPS、68K系列的处理器在控制器中占据核心地位。

近年来,结合嵌入式系统、DSP和实时图像处理等领域的最新发展,嵌入式实时图像处理系统采用基于DSP+FPGA+ARM的硬件系统架构设计,将高速的DSP与在通讯、网络和实时控制方面具有独特优势的StrongARM处理器以及接口逻辑丰富、并行运算能力强大的FPGA结合起来,为嵌入式实时环境下一些复杂算法的实现开辟了新的途径。但该系统在软件实现中的一些关键问题,特别是DSP代码的开发与优化等内容还不成熟和完善。

在软件方面,大多数嵌入式操作系统一般采用微内核结构,内核只提供基本的功能,例如任务调度、任务之间的通信与同步、内存管理、时钟管理等,其它的应用组件,比如网络功能、GUI系统等均工作在用户态,以系统进程或系统调用的方式工作。因而整个系统都是可裁减的,用户可以根据特定应用要求选用相应的组件。嵌入式操作系统主要有Vxworks、QNX、PalmOS、Windows CE、Linux等。

二、Linux开发环境的'建立

嵌入式Linux开发环境有几个方案:

(1)基于PC机Windows操作系统下的CYGWIN。

(2)在Windows下安装虚拟机后,再在虚拟机中安装Linux操作系统。

(3)直接安装Linux操作系统。

我们实际的开发环境为第二种方法,即在虚拟机new Red Hat Linux VMware Workstation中安装Red Hat Linux 9.0,它支持中文,并且包含了绝大部分的开发工具。开发环境建立步骤如下:

操作系统使用Red Hat Linux 9.0,选择完全安装,需要磁盘空间大约5G。接着安装Linux的编译器和开发库以及ARM-Linux的所有源代码,需要空间大约为800M。然后安装相应的GCC交叉编译器arm-linux-gcc。配置开发主机,配置Minicom,该软件作为调试嵌入式开发板信息输出的监视器和键盘输入的工具,一般参数为波特率115200,数据位8位,停止位1,无奇偶校验,软硬件控制流设为无。

关闭防火墙,配置NFS网络文件系统。建立引导装载程序Bootloader,本文使用北京博创公司提供的vivi。然后下载ARM-Linux,添加自己的特定硬件的驱动程序,使用模块方式调试驱动。建立根文件系统,使用Busybox软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile等,自动挂装文件系统的配置文件/etc/fstab。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生烧写映象文件。建立应用程序的flash磁盘分区,本系统使用线性Nor-Flash,使用YAFFS文件系统,在内核中提供文件系统驱动。最后将开发的应用程序下载到根文件系统中。

三、图像采集和显示设备分析

在图像采集模块,遵循V4L(Video for Linux)的标准,使用网眼PC350摄像头采集图像。整体的USB图像采集部分可由CMOS图像传感器、USB Camera控制器OV511和256K RAM构成。OV511内置了USB收发控制器,能够将数字图像数据通过USB传给ARM处理器,保证了数据的快速实时。ARM处理器通过USB配置OV511,OV511则对CMOS图像传感器的控制字进行配置。图1为图像采集子系统框图。

图像显示模块采用8“”TFT彩色液晶触摸屏,256色,分辨率为640×480,点距为0.2535×0.253,通过32针并口与开发板通讯。

四、软件的多线程整体设计

线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行,所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。多线程程序作为一种多任务、并发的工作方式,最突出的优点就是提高应用程序的响应速度。使用多线程技术,可以避免主程序等待的情况,从而提高程序运行效率。

通常嵌入式系统中图像采集速度较快,而图像处理速度较慢,为解决二者速度不匹配和资源共享问题,以提高系统工作效率,本文采用图像采集和处理多线程设计,通过互斥锁和条件变量来同步线程。设计建立带互斥锁的4帧图像缓存区作为图像采集线程和图像处理线程进行数据交换的共享缓冲区。图像采集线程顺序地从V4L接口程序获取图像存入共享缓存区,然后由图像处理线程不断地从共享缓冲区读取数据帧进行处理。主流程如图2所示。

图2 系统主流程图

程序首先进行视频设备初始化,获取摄像头基本信息和采集图像的各种属性,并分配4帧图像缓存区struct image_buf{int buffer[BUFFER_SIZE];pthread_mutex_t lock;int readpos,writepos;pthread_cond_t notempty;pthread_cond_t notfull;};再启动图像采集线程pthread_create(&th_cap,NULL,capture,0)进行图像采集,建立图像处理线程pthread_create(&th_pro,NULL,process,0)进行图像处理;其中,互斥锁lock用来实现两线程间图像数据的共享和通信,但只有锁定和非锁定两种状态,因此通过设置条件变量notempty、notfull来监听图像缓存区状态,通过允许线程阻塞和等待另一个线程发送信号的方法弥补互斥锁的不足。Readpos和writepos用来确定缓冲区中图像的读写位置。

五、结束语

基于嵌入式系统的图像处理与界面开发技术将嵌入式技术的多功能、可配置、多种通信模式、方便的网络接口、人机用户界面、实时性带入了图像处理领域。伴随着图像处理技术应用的深入,再结合嵌入式操作系统的强大功能,图像处理技术的发展方向将越来越宽广。

参考文献:

[1] 张莹,李鹏,陈立峰等.嵌入式系统发展综述.电子技术,,24(6):74-78

[2] 郭剑锋.基于ARM微处理器的以太网工业智能控制器.制造业自动化,,26(3):76-78

[3] D.E.Simon,陈向群等译.嵌入式系统软件教程.北京:机械工业出版社,:23-65

[4] 张怀柱,尹传历,宋建中等.基于DSP的嵌入式显微图像处理系统的设计.电子技术应用,2008(1):30-34

[5] 李志能.基于ARM和DSP的嵌入式实时图像处理系统设计与研究.[浙江大学硕士毕业论文],2005:2-10

篇2:嵌入式图像处理系统的软件设计论文

中图分类号:TP3文献标识码:A文章编号:1674-6708156-0080-02

DOI:10.16607/j.cnki.1674-6708.2016.03.049

在很多领域中,由于科学技术的不断发展,不可避免的需要使用大量的数据,面对这些算法复杂的数据,传统的图像处理系统已经不能满足要求。嵌入式图像处理系统在通讯、医药等方面都发挥着非常重要的作用,正是因为各个领域获得的图像数据越来越多,如何对图像数据快速准确的进行处理显得格外重要。所以需要设计出更优化的图像处理。

1嵌入式系统概述

1.1嵌入式系统的概念

嵌入式系统是建立在计算机技术基础上的应用型专用计算机系统,其软件和硬件都可以剪裁,系统对成本、功耗、功能都提出了更高的要求,具有可靠性强、体积小等优点,可以实现对其他设备的监视、控制和管理。随着嵌入式系统的不断发展,嵌入式系统已经渗透到人们的生活中,无论是在工业、服务业还是消费电子等领域都得到了广泛的应用。

1.2嵌入式系统的特点

与普通的计算机系统相比,嵌入式系统的专用性更强,一般是面向特定运用的,嵌入式处理器一般应用在用户设计的特定系统中,集成性高、体积小、功耗低,不仅具有方便携带的优点,操作系统更是实时操作的,可以满足实时性较强的场合要求。将嵌入式系统运用到应用程序中,在芯片上直接运行而不需要操作系统,未来可以充分利用更多的系统资源,用户需要选择RTOS开发平台,保障软件的质量。嵌入式系统主要包括硬件系统和软件系统,其中硬件系统是基础,软件系统是灵魂,复杂程度非常高。

2系统软件设计

基于RF5软件系统总体设计:嵌入式图像处理系统和传统处理系统一样,主要包括硬件和软件两个方面,硬件包括系统的硬件平台,软件包括嵌入式操作系统和图像处理算法两个方面。其中硬件平台又包括图像储存模块、通信模块和显示模块等,主要是为系统的软件系统提供支持。在图像处理过程中,硬件系统可以为其提供计算、显示、存储等条件[1]。RF5是以DSP和XDAIS为基础的代码参考框架,在DSP软件的设计和开发中具有重要的作用,参考框架在整个程序中具有非常重要的作用,是整个运用应用程序的蓝本。RF5的数据处理元素包括通道、单元、任务和XDAIS算法,这4个元素之间具有紧密的联系,独立又联系。嵌入式操作系统是整个系统的核心系统,提供了包括图形处理任务管理在内的各项管理,经过硬件的初始化、图像信息存储、图像信息显示等过程实现图像处理和存储。

3软件模块化程序实现

3.1初始化模块

软件系统的初始化模块主要包括处理器、RF5模块化初始化、图像处理算法、视频捕获、视频显示通道等。处理器和系统板初始化是指设备重启之后,通过软件配置的方式对外围设备进行配置和选择。系统在进行工作的时候,初始化模块是其执行的第一个任务,执行完初始化模块之后,程序的控制权将会转变到调度程序中,由调度程序来调度接下来的任务。

3.2视频捕获和显示模块

3.2.1视频捕获的实现

视频捕获主要负责将外部的视频解码器解码生成的数字视频信号采集收集起来,并且这个采集的过程非常方便,可以实现实时采集,最终形成的图形处理也是可以实时处理的,可以随时随地对大数据的图像进行处理,这也是其最大的优点和特点。采集到的数字视频信号进入到系统外扩的.存储器中,从而实现视频的捕获。视频采集可以自动采集,当单元进入自动采集状态,完成了图像的采集之后,视频端口都会向系统自动发出中断请求,中断服务程序便开始发挥自身的功能,对图像的存储区进行连续更新,图像存储区一旦更新之后,图像采集系统就会采集下一个图像数据,最终进入一个循环。当视频端口的FIFO装满了采集的数据之后,会发生中断信息,进入EDMAISR中断服务程序将视频数据送入到SDRAM中[2]。

3.2.2视频显示的实现

视频显示的实现是通过视频图像显示模块来实现的,视频图像处理模块处理后的图像经过显示模块处理,处理之后将图像编码成数字视频流,标准数字视频流经过系统编码转化为虚拟视频信号,经过解码器之后视频流就变成了标准的模拟视频信号,分别经过EDMA控制器和EDMAISR之后最终进入到视频端口的缓冲区中,经过缓冲器之后,信号会使EDMA中断,送入新的图像信号,并在显示器上显示出来,视频显示的流程。输出作用在外部编辑器中。

3.3图像处理模块

图像处理模块比较灵活,是指在嵌入式的环境下实现对图像的处理。在图像处理系统中,又包括系统功能模块和图像增强模块。系统功能中包含图像增强功能,除了图像功能之外,还包括图像的几何变换、形态运输和图像分析。在图像增强模块中又包括图像的预处理和边缘检测、直方图修正、中值滤波、灰度变换调整,而图像预处理又包括图像平滑和图像锐化。图像平滑就是消除噪声对图像造成的影响,图像平滑的处理是通过高斯低通滤波法来实现,这样做虽然可以消除图像受到噪声的影响,但同时也存在着一定的弊端,图像经过处理之后会变得模糊。图像锐化的目的就是让模糊的图像重新变得清晰。图像模糊是由于图像受到平均或积分运算而造成的,图像锐化就是对其进行逆运算,重新使图像变得清晰[3]。

4结论

嵌入式图像处理系统的软件系统主要包括初始化模块、视频捕获模块、视频显示模块和图像处理模块,在确定了整个软件系统的程序流程之后,就可以分别设计纷纷模块的程序,最终完成整个软件系统的设计。

参考文献

[1]吴锡强.探析嵌入式图像处理系统的设计与实现[J].计算机光盘与软件,,12(3):307-309.

[2]蒋立丰.嵌入式图像处理系统的设计与研究[D].东华大学,,22(21):11-13.

[3]宋琦,牟晓光.嵌入式图像处理系统设计[J].信息技术与信息化,2015,22(31):116-117

篇3:基于DSP+FPGA的嵌入式图像处理系统的发展的论文

基于DSP+FPGA的嵌入式图像处理系统的发展的论文

引 言

伴随着图像处理技术的快速发展,图像处理系统的性能需求也在不断提高,特别是在实时性上的要求。基于PC或者工作站的图像处理系统,常常不是一个可行的选择,原因如下:应用对处理时间要求苛刻;CCD摄像机数据量太大。另外,这类系统的资源有效利用率较低,体积大而笨重,功耗高,不适合便携式应用场合。

DSP是一种基于指令和代码的流水线处理器,具有强大的数据处理能力和较高的运行速度,采用C/C++或者线性汇编语言编程,可以支持复杂的算法处理,而FPGA则属于真正的并行架构,不同的处理操作无需竞争相同的资源,每个处理任务都可以不受其他逻辑块的影响自主运行,因此FPGA具有强大的并行处理能力,其现场可编程的属性也带来了更大的灵活性,但是,FPGA不擅长复杂的算法处理和逻辑控制。本文基于DSP+FPGA架构构建了一个嵌入式图像处理系统,使得DSP和FPGA可以发挥各自的特长,协同处理,与单独采用DSP或FPGA的系统相比,本系统具有更强大的数据处理能力,且更灵活、更通用。

1.系统架构

本系统采用DSP+FPGA架构,原理方框图如图1所示,其中DSP芯片采用TI公司单核最高性能的TMS320C6455(简称C6455)芯片作为核心处理器,负责完成视频图像的复杂算法处理,FPGA芯片采用Altera公司的Cyclone Ⅲ系列芯片EP3C55,FPGA作为DSP的协处理器,负责完成图像的采集、显示和传输等辅助功能,使得DSP可以专注于算法处理。

DSP和FPGA之间通过32位EMIF接口实现了高速同步无缝互联, 由图1可知,本系统的动态存储器均采用DDR2 SDRAM,其中C6455所带2片DDR2存储器用来存储图像和算法数据,为C6455处理大数据量、复杂算法提供了保证。FPGA所带2片DDR2存储器用来存储捕捉的Camera图像数据,以便VGA显示和DSP读取。FPGA采集的图像数据可通过EMIF和EDMA从FPGA所带的DDR2存储器搬运到DSP所带的DDR2存储器。

图1 系统方框图

2.FPGA设计

本文FPGA的主要功能围绕着DDR2存储器的.读写,如图2所示。

图2 FPGA的主要功能模块图

相机负责向缓冲区写数据,VGA显示和DSP负责从缓冲区读数据。本文中的DDR2控制器工作于Full?rate模式下,需要向DDR2 driver提供2倍数据宽度,即64 b数据。本文对每个读写数据通道,使用独立的FIFO进行不同时钟域之间的数据传输。从CameraLink相机的LVDS接收器解码得到8 b图像数据,在向Write FIFO写之前,需要按8 B进行打包处理,合并为64 b数据;而发向VGA显示的数据在从Read FIFO中读出后,需要先经过拆包处理,得到8 b图像数据后才能送给VGA Controller;从Capture FIFO读出的数据发送给DSP之前也要经过拆包处理,将64 b数据拆为2个32 b数据后,才能发送给EMIFA,进行传输。为方便可视化验证算法处理结果,DSP算法处理结果可以通过McBSP发送给FPGA,FPGA接收到数据,将其转换为可视的屏幕位置送给VGA Controller,在屏幕上进行叠加显示。

本系统应用于近红外图像处理领域,采用的CameraLink相机输出分辨率为1 024×768,帧率为30 f/s,而一般的液晶显示器刷新频率为60 Hz,为了将捕捉到的相机数据显示出来,需要将30帧图像插帧为60帧,但是显示时钟与相机时钟并不是同源时钟,其帧率并不是严格的两倍关系,这种相机和显示之间的异步时序关系如图3所示,所以不能简单地将一帧图像显示2次;同时,本系统的近红外图像算法处理时间根据图像的不同而具有不确定性,并非每帧图像都能在一个帧周期内处理完成。基于这两个因素,本系统没有采用常规的乒乓缓冲处理方式,而是采用了三重缓冲解决了这两个问题。

图3 相机和显示的异步时序关系

所谓三重缓冲,也即在DDR2存储器内开辟了三个缓冲:BufferA,BufferB和BufferC。其中,读写操作各占一个缓冲区,第三个存储区作为中转,先不考虑DSP从缓冲区读数据。

三重缓冲的示意图如图4所示,假设当前缓冲区BufferA正在进行写操作,缓冲区BufferB正在进行读操作,缓冲区BufferC则有2种可能:已写满(FULL)和已读完(EMPTY)两个状态。此时,如果需要进行读写翻页操作,即读复位信号或写复位

信号有效时,DDR2驱动程序可按不同情况给出不同的操作,如表1所示。

例如,当读复位信号有效,写复位信号无效时,说明缓冲区BufferA尚未写满,而缓冲区BufferB已经读完,此时,需要查询缓冲区BufferC的状态,如果缓冲区BufferC处于“FULL”状态,则读缓冲区将由当前的缓冲区BufferB改为缓冲区BufferC,并将缓冲区BufferB设置为“EMPTY”状态;如果缓冲区BufferC处于“EMPTY”状态,则将重新读取缓冲区BufferB。

图4 三重缓冲的示意图

表1 三重缓冲的决策表

再考虑DSP从缓冲区读数据的情况,为保证DSP任意时刻开始读数据,总能读到最新的数据,本文使用图像的场信号FVAL下降沿作为触发,定位DSP读数据的缓冲区地址,如果在下一个FVAL下降沿之前DSP始终未开始读数据,则在新的FVAL下降沿时刻重新定位缓冲区地址,反之,如果DSP开始读数据了,即使在FVAL下降沿未能读完,也会继续读,直到DSP读完数据,再重新定位缓冲区地址,按本文设计的方案,DSP会在很短的时间内完成读数据任务,而如果在两个FVAL内,DSP一直未完成读任务,则认为发生了错误,读控制器会进行复位矫正。

DDR2驱动的读写控制以显示的行信号HD为周期,周期性查询是否需要进行读写操作。其状态转移示意图如图5所示。

图5 DDR2读写控制的状态机

SignalTap Ⅱ Logic Analyzer是Quartus Ⅱ自带的嵌入式逻辑分析仪,与ModelSim软件仿真有所不同,是在线式仿真,可以实时捕捉和显示信号变化。图6所示是本文用SignalTap Ⅱ捕捉到的数据波形。

图6 SignalTap Ⅱ波形图

3.C6455软件设计

本文C6455的软件基于TI提供的抢占式多线程实时内核DSP/BIOS进行开发,网络部分使用了NDK开发套件,为了实现通过网络发送图像数据给计算机和接收来自计算机的图像数据,使用了面向无连接的UDP协议,相比TCP协议,UDP速度更快,更适合应用。C6455软件主要包含三个部分:实时性最高的硬件中断线程(HWI);采集线程和两个任务线程(TSK);处理线程和通信线程,流程图如图7所示。

图7 C6455程序流程图

4.实验结果

本文提出的基于DSP+FPGA的图像处理系统,已经通过实验验证。图8展示了本系统图像处理算法连续运行500个周期的统计结果,图中实线为连续10个相邻离散点的平均值。由图8可见,本系统既可以使算法在超过一个图像帧周期的时间内运行,又可以使连续一段时间内平均的执行时间近似为图像帧周期。本系统满足了数据量大,算法复杂度高的系统需求,相比乒乓缓冲,本文所提出的三重缓冲具有更快的响应速度。

篇4:基于图像处理技术的菌落自动计数系统的研究

基于图像处理技术的菌落自动计数系统的研究

针对现行培养菌类试验中的菌落计数是采用人工方式完成,在试验样品量较大时,很难快速准确的得到结果的问题,研究开发了一套菌落计数系统.该系统根据RGB色度学原理,利用图像处理技术,可以对培养皿里的白色菌落的`数量进行自动检测.在对菌落的色度值分布进行试验研究的基础上,确定了获取分割图像最佳阈值的方法.实验证明此方法不仅计数结果准确,重现性好,而且速度快,计数结果不受菌落接种方法、菌落形态、大小的影响,是实现菌落计数的一种行之有效的方法.

作 者:王国新 张长利 房俊龙 沈维政 WANG Guo-xin ZHANG Chang-li FANG Jun-long SHEN Wei-zheng  作者单位:东北农业大学工程学院,哈尔滨,150030 刊 名:中国乳品工业  ISTIC PKU英文刊名:CHINA DAIRY INDUSTRY 年,卷(期): 34(2) 分类号:Q939-64 关键词:菌落计数   图像处理   最佳阈值   自动检测  

篇5:嵌入式系统智能快递柜设计研究论文

嵌入式系统智能快递柜设计研究论文

摘要:近年来,电商的不断发展,在为人们的生活带来了极大便利的同时,也促进了我国快递行业迅速成长。智能快递柜的开发,是快递行业物联网+升级的重要实践,在一定程度上解决了末端配送问题,可有效降低物流成本,为客户提供更高质量的服务。因此,智能快递柜的发展是未来智慧社区、智慧社会发展的趋势。针对“最后100米”配送环节,文章设计了一种智能快递定点自取系统。

关键词:智能快递柜;物联网;充电桩

随着电子商务的发展,网购已成为人们主要的购物方式之一,并且发展势头迅猛。纵观现在的快递业,大体上由两种形式组成,即人工快递投取和快递柜自动投取[1]。本文基于嵌入式系统设计一种多功能智能快递柜,作为嵌入式技术在智能快递柜领域的探索性研究,可为以后建立大型的智能快递投递系统奠定基础。

1电路硬件设计

智能快递柜的整体系统框如图1所示。系统分为电源系统和控制系统两大部分。电源系统部分主要包括太阳能电池板、电源管理模块和可充电电池。

1.1太阳能电池板基于绿色环保考虑,本文设计的智能快递柜电源部分增加了太阳能电池板,减少对市电的使用。太阳能电池板目前市面上主要有3种:晶体硅电池板、非晶硅电池板、柔性太阳能电池。晶体硅电池板分为两种:单晶硅型和多晶硅型。单晶硅太阳能电池的光电转换效率为18%左右,最高的达到24%,转换效率最高但制作成本很大。多晶硅太阳电池的光电转换效率约16%左右。从制作成本上来讲,比单晶硅太阳能电池要便宜一些。此外,多晶硅太阳能电池的使用寿命也要比单晶硅太阳能电池短。从性能价格比来讲,单晶硅太阳能电池还略好。非晶硅太阳电池的主要优点是在弱光条件也能发电。但非晶硅太阳电池存在的主要问题是光电转换效率偏低,国际先进水平为10%左右,且不够稳定,随着时间的延长,其转换效率衰减。柔性薄膜太阳能电池不需要采用玻璃背板和盖板,重量比双层玻璃的太阳能电池片组件轻80%,可以任意弯曲,安装的时候也不需要特殊的支架。缺点是光电的转换效率要比常规的晶硅组件低。在本文设计的智能快递柜电路系统中,太阳能电池板主要需考虑的方面为成本、发电功率和发电效率,因此可以考虑采用多晶硅太阳能电池板。但结合具体环境,在有些光照条件欠佳的地方可以采用非晶硅太阳能电池板[2]。

1.2电源管理模块稳定可靠的电源是电路系统稳定工作的基本条件,因而对电源模块的性能参数要求必然不低。在本文所设计智能快递柜电路结构中,电源管理模块的作用如下:

(1)将市电转换为系统电路所需直流电。

(2)将市电和太阳能电池板发电进行功率分配控制,尽可能减小市电的使用实现节能环保。

(3)在供电正常时对可充电电池进行充电和维护,在断电时切换使用可充电电池作为电源,保证系统在断电后也能正常工作。

1.3可充电电池在本文设计的智能快递柜电路系统中,可充电电池用于断电时为系统提供应急电源。锂电池轻巧且容量大,但基于成本考虑,可以采用铅蓄电池。控制系统包括主控模块、GPRS模块、语音模块、触摸屏、键盘、摄像头模块和继电器模块。1.3.1主控模块主控模块为本系统的核心,用于进行所有数据的处理。在本文设计的智能快递柜电路系统中,综合考虑开发成本、开发难度、芯片性能等,本文采用树莓派3B作为主控模块。

1.3.2GPRS模块在本文设计的智能快递柜电路系统中,GPRS模块用于网络通信,采用SIM800A模块。SIM800A是SIMCOM公司推出的一款高性能工业级GSM/GPRS模块,可以低功耗实现语音、DTMF、SMS(短信,彩信)、GPRS数据的传输。

1.3.3语音模块在本文设计的智能快递柜电路系统中,语音模块用于对用户进行引导和提示。由于树莓派上带有音频输出接口,所以为实现语音播报,只需外接功放和扬声器。

1.3.4触摸屏本文所述的触摸屏为带触摸功能的显示屏,即包括显示屏和触摸面板。在本文所设计的智能快递柜电路系统中,显示屏重点在于可靠性,需在室外环境下长期使用。同时,尺寸也不要求很大,能满足软件界面的显示即可,因而可以考虑10.1寸以下的LCD显示器。由于树莓派上带有HDMI视频输出接口,因而可以采用HDMI接口的显示器。触摸面板种类很多,对于本文所设计的智能快递柜电路系统,主要考虑的.因素是成本和可靠性,因而可以采用五线电阻屏。关于硬件的连接,树莓派上带有USB接口,可以直接将电阻屏驱动板和树莓派通过USB直接连接,通过在树莓派上安装驱动实现触摸输入。

1.3.5键盘在本文所设计的智能快递柜电路系统中,键盘用于额外的输入设备,避免在触摸屏异常时用户无法输入。在本设计中用户的输入仅为数字,因而采用USB接口的数字键盘即可。

1.3.6摄像头模块随着技术的发展,用户的输入方式在很多场合已变为操作简易的“扫码”,在本文所设计的智能快递柜电路系统中,摄像头模块用于读取用户的二维码、条形码,可以直接通过“扫码”进行输入操作,使得系统的使用更为简便。

1.3.7继电器模块在本文所设计的智能快递柜电路系统中,继电器模块用于驱动快递柜各个货柜的电磁锁,继电器模块在电路上主要包括继电器驱动模块和继电器。

2软件设计

本文所设计的智能快递柜软件设计包括界面设计、后台程序设计和数据库设计。界面设计可通过QT实现,界面并不复杂,根据用户操作流程可分页设计为欢迎界面、登录界面、寄件收件界面。同时,可嵌入多媒体播放器用于播放广告。后台程序主要包括底层驱动程序和后台数据处理程序。底层驱动程序用于树莓派对硬件电路进行操作,包括GPRS模块的串口驱动程序和继电器模块的驱动程序。后台数据处理程序可以通过中断和顺序执行结合的方式,通过中断检测键盘、触摸屏和摄像头模块,当有用户输入时进入输入界面,将用户输入的数据与数据库进行对比,根据结果通过继电器模块控制相应的柜门打开,过程中通过语音引导用户操作。在系统闲时通过GPRS模块与服务器端通信,更新本地数据库。

3结语

智能快递柜的开发,是快递行业向互联网转型升级的重要实践,在一定程度上解决了末端配送的问题,并且可有效降低物流成本,因此,智能快递柜的发展是未来智慧社区、智慧社会发展的趋势[3]。本文所设计的基于嵌入式系统的智能快递柜,通过太阳能电池板实现节能环保,具有多种交互方式,具有一定的便利性,可为以后建立大型智能快递投递系统提供技术参考。

[参考文献]

[1]刘立华.智能快递柜自助服务的应用及其发展方向[J].物流工程与管理,(8):54-55.

[2]车孝轩.太阳能光伏发电及智能系统[M].武汉:武汉大学出版社,.

[3]于春艳.智能快递柜自助服务[J].中外企业家,2015(3):236-237.

篇6:嵌入式系统中软外设的研究论文

嵌入式系统中软外设的研究论文

摘要:随着CPU的性能的不断提升,处理速度越来越快,运算能力不断增强,在许多嵌入式系统的开发中逐渐出现了软外设(Software Peripherals)。所谓软外设是指以软件编程为手段,模拟CPU的外围设备的功能,真正达到以软代硬的目的。软外设的出现给产品的开发带来了极大的灵活性,不但使系统体积变得更小,而且使系统的升级换代变得更为方便,从而真正实现SOC。

本文介绍软外设的设计思想以及在开发过程中应注意的事项,并结合一个嵌入式系统,分析软外设对系统的影响以及如何使设计合理化。

关键词:嵌入式系统 UART Software Peripherals

一、介绍

应该说软外设并不是一个新思想,从计算机发明以来,电子系统设计人员一直试图尽可能多地用软件编程来代替实际电路,通过这种方式把外设嵌入进系统。但由于CPU速度、计算能力有限,以及内存技术的发展不够成熟,从而束缚了软外设的发展。

近年来,随着电子技术的发展,越来越多的处理器厂家在处理器的设计中加大了对软外设的支持,象ARM公司宣称他们的32、64位RISC处理器已经能用软件实现更多更强的功能,指令集也更为丰富,甚至包括DSP方面的许多功能现在已经能够在CPU上实现。Motorola公司已经开发出基于SM56PCI接口的用纯软件实现的调制解调器。这些都说明电路设计已经进入了一个崭新的时期。

目前,电子设计中把外设嵌入进系统的方法主要有两种。方法Ⅰ是采用标准的微处理器+一块辅助芯片,辅助芯片可以是FPGA或CPLD等可编程逻辑芯片;方法Ⅱ是采用基本的CPU内核+附加逻辑单元,这些可以在一块高密度可编程逻辑芯片上实现,CPU内核往往为Altera和Xilinx等FPGA生产厂家提供的软件模块。以上两种方法都需要开发人员熟悉硬件描述语言,但在实际应用中CPU内核以及各种IP核的使用的往往要得到产权许可,而且可编程逻辑芯片体积大,价格昂贵,故在一些便携式装置的研制中不便采用。

软外设的设计通常是采用标准的微处理器,在满足系统稳定和系统负荷允许的条件下,设计中尽可能多地采用可配置的软件模块,用这些可配置的软件模块来实现某种外设的功能。并且可以配置、升级、重组,从而完成特定的功能。应该说明的是,并不是所有外设的功能都能完全由软件实现,这种设计方法的目的是在系统允许的条件下尽量“以软代硬”,以尽可能少的硬件开销取得最佳的性能比。

二、系统要求

下面给出具有软外设的嵌入式系统结构图。

下面给出对嵌入式系统的要求:

(1)高性能CPU内核。软外设的必须以高性能CPU内核为支持,只有采用高性能CPU内核,系统的频率才能得以提高,软外设和CPU之间才能高速传送数据,软外设才能得以高速运行而对系统整体工作不会有太多影响。建议采用带有流水线、32位以上RISC核的CPU。

(2)快速的中断响应。软外设均采用中断方式向CPU提出服务请求。可以在片上存储器与内部总线之间增加寄存器组来减少系统的中断响应时间。

(3)附加硬件模块。正如前面所提,系统有些特性是不能由软件实现的,象定时器、中断控制器。另外在信号处理中由于A/D、D/A转换如果用软件实现对系统开销太大,由硬件实现较好。

(4)快速、足够的存储器和高性能的运算单元。

三、软外设的算法设计

由于软外设要求实时性强,有时需要和别的应用程序并行执行,在设计时可以把软外设看作等待服务的任务,协调、安排好这些任务非常重要,根据任务的确定性可以把实时系统的进程调度策略划分为两类:一类是静态的,主要负责预先知道发生时间的任务;要求按进度准点完成的任务;要求固定时间发生的任务。对这类调度策略可以采用Round-robin算法或间隔算法(见3)。另外一类是动态进程调度策略,负责那些不能预测何时发生任务;不知执行周期有多长的任务。这是一些具有临时性的任务,比如含有条件循环的任务(不知何时满足条件)。以上两种策略分别适用于不同的情况,在一个复杂的系统中,往往存在几个要求并行执行的'软外设,进程的调度对任务的同步和系统的优化非常重要。

另外为了设计的可移植性和简便,要进行模块化和层次化设计,复杂的软外设可以看作由几个具有层次的简单的模块构成。

四、性能分析

现以示出了一个嵌入式系统的框图,该系统采用Motorola公司生产的MCF5104型号CPU,接有三个软外设,分别为UART、LCD和键盘控制器。现在从工作速度和能量损耗方面以UART软外设为例,对软外设进行性能分析。

在UART实现程序中,共有16条汇编指令,假定每条指令需要一个时钟周期(即CPI=1),没有奇偶校验功能。通过改变CPU主频(变化范围为30~100),计算执行的时间占有CPU时间的比率,分析UART软外设在不同波特率情况下对CPU的负担,计算过程如下:

假定CPU发送/接收一个字节的时间为t。UART软外设的CPU占有率为T,则

t=指令数×CPI+中断响应周期×CPU主频-1。

T=t×波特率。

结果如表1所示。

表1 UART的CPU占有率

Rate(bit/s)

MHz

19200

38400

57600

115

30

1.534%

3.070%

4.605%

9.215%

50

0.920%

1.843%

2.764%

5.530%

75

0.614%

1.227%

1.843%

3.687%

100

0.460%

0.921%

1.380%

2.764%

上表中的统计数据是在假定UART工作在全双工方式(FD)下,没有检错功能得到的,而系统绝大多数时间是工作在半双工方式(HD)下的,HD方式下该UART的CPU占有时间率要减少25%。如果加上奇偶校验功能,该软外设的CPU占有时间率在FD方式会增加11.45%,HD方式下增加7.60%。

由表1可知,CPU频率越高,软外设对系统的负担越小,另外随着UART的波特率增加,系统负担加重。建议软外设的运行占CPU时间不能超过20%,实验证明,软外设的CPU占有率不超过20%的情况下对系统来说是可以承受的。

接下来我们分析该软外设的能耗问题。图三示出了CPU在接有URAT软外设或URAT硬件的情况下在不同情况下的CPU消耗电流曲线。

上图表明:

1.随着波特率增加,UART软外设的能耗增加。

2.随着CPU主频增加,UART软外设的能耗增加。

3.波特率在小于70Kbit/s时UART软外设的能耗低于硬件外设,此时选用软外设可以降低能耗,即该软外设适合于数据量不是很大的场合(如语音通信)。在要求系统传输速率极快的情况下(如视频流传输),选用硬件实现较为合适。

五、结束语

本文系统地介绍了软外设的设计思想,并以一个软外设为例,分析了它的一些性能指标。软外设具有许多优点:如调试方便,系统可移植性强,能耗小,成本低。很适合在一些要求便携式、低能耗的场合应用。虽然也存在一些缺点,如速度慢,并行性差,但随着CPU相关技术的发展以及算法的完善,这些方面在一定程度上会得到改观。设计人员在设计时需要对硬件设计和软件设计进行折衷考虑。毕竟,软外设的出现给嵌入式系统设计提供了一种更为灵活的设计方案,给设计人员也提供了更多的选择余地,更广的设计空间。

篇7:嵌入式系统Flash编程技术研究论文

摘要:Flash存储器具有应用成本较低、存储速度较快、支持重复擦写功能,是目前很多嵌入式系统开发中不可缺少的重要内容。Flash编程方法的应用与系统开发进度、成本息息相关,因此,本研究主要以嵌入式系统为例,对Flash的编程方式进行分析,并介绍了新型Flash模式,力求编程质量与水平能够得到显著提升,使该技术在更多系统中得到广泛应用。

关键词:嵌入式系统;Flash编程;Flash存储器

21世纪作为信息时代,网络技术、智能产品层出不穷,渗透到社会生产与生活的方方面面。其中,嵌入式系统应用范围较广、可靠性较高、应用成本较低,在移动通信、自动化控制领域中得到普遍应用。在系统开发过程中,为保障系统程序可以反复载入,对内置存储器的要求较高,而Flash具有成本低、存储快、可重复擦写特征,因此,成为嵌入式系统中不可缺少的重要部分。

篇8:嵌入式系统Flash编程技术研究论文

在现实应用中,应用频率较高的Flash编程方法包括编辑器编程、普通接口编程与JTAG编程三种。

1.1编辑器编程

为实现Flash编程,专门开发和设计了编辑器,通过配套使用,便能将指令或数据写入其中。该方式较老旧,对实施条件的要求也较严格,必须保障芯片在焊接到电路板之前进行,等到编程结束以后再进行焊接。目前,较常见的编辑器类型有LABTOOL-48、SUPERPRO/V等。编程器编程的主要优势在于使用较便利,且编程效率较理想,十分适宜DIP封装的Flash芯片。

1.2普通接口编程

在实际应用过程中,嵌入式系统为充分发挥作用,通常会在硬件设计中加入一些外围接口,这些接口包括串口、USB、网络接口等。而在Flash编程中,便可以借助这些接口、串口直接实现。接口编程的方式与JTAG编程相比,没有对特殊接口进行要求。

1.3JTAG编程

JTAG作为嵌入式调试技术,其接口标准为IEEE1149.1,主要应用于边界扫描与端口测试中。同时,采用JTAG接口不但能够完成测试操作,还可以实现对嵌入式系统中的`Flash编程。在实际应用过程中,对JTAG进行编程操作应借助接口仿真器,将目标机与宿主机联系起来。在目标机上,将处理器与Flash总线相互连接,再借助宿主机中的既定程序,将数据、指令与控制信号均传送到JTAG接口芯片中。这时,处理器中将会接收到JTAG传递过来的信息,并按照Flash芯片进行编程,将接收到的信息写入其中,完成最终编程操作。与编辑器编程、普通接口编程方式相比,JTAG编程技术更为简便,无需对芯片焊接流程进行严格规定,只需借助JTAG借口线与仿真器便能完成测试,因此,嵌入式系统中Flash编程得到了广泛应用[1]。

2通过JTAG接口实施Flash编程的实例分析

在某项目开发设计过程中,采用JTAG接口完成Flash编程。在该设计过程中,JTAG的电缆与主机并口相互连接,另一侧连接到电路板中的JTAG插座上,再与处理器PowerPC405EP相连,Flash需要经过总线与处理器相连。在上述连接完毕以后,Flash无需具备JTAG接口,使用范围也更加广阔。在对Flash进行编程的过程中,PowerPC405EP由主机软件进行控制,利用其模拟Flash的编程时序,便能对Flash进行编程。

2.1硬件配置

第一,JTAG下载电缆设计。在JTAG接口标准的基础上,对信号逻辑电平中传输要求、数据、传输方向等进行综合考虑,最终选择采用并口标准与接口并行的模式,二者间关系如下:PC并口中管脚2的功能为D0;管脚3的功能为D1;管脚4的功能为D2;管脚5的功能为D3;在JTAG接口中,管脚TDI的功能为数据输入;TCK的功能为时钟;TMS的功能为模式选择;TRST的功能为复位;TDO的功能为数据输出。第二,嵌入式处理器PowPC405EP。在本系统设计中,采用的处理器为IBMPowPC405EP,属于一款32位、RISC指令集处理器,其性能较为良好,集嵌入式软核、外围设备系统SOC于一体。通过数据手册进行描述,得知BSR的长度与指令代码等内容,具体如下:指令Bypass,代码1111111;指令Extest,代码0000000;指令Sample,代码1111010。第三,Flash。在本系统设计中,使用的Flash为富士通SPANSIONMBM29DL,工作电压为3V,用户在使用之前,需要将特定地址写入到对应的指令序列中,便可以将其启动,使其在自动化下完成指令,包括复位、自动选择、擦除、编程等[2]。

2.2软件配置

编程算法可以划分为两个内容,一是写入编程命令序列,二是数据验证,本文只对前者进行研究。写入编程命令序列需要经过四个周期完成,前两个周期属于解锁周期,将AAh写入到55h中,再将55h写入到地址2AAh中,在第三个周期中,将A0h写入到0555h中,在第四周期中对地址与数据进行编程,Flash将自动完成编程命令。在第一周期中,使用的Flash数据线为AAh,也就是与Flash相连接的PowerPC405EP中的AAh,这时PerData0位为“0”。从PowerPC405EP的描述中能够看出,与之相对应的BSC单元号为24,部分源程序为:#definepinTDI1//输出端口位地址UnsignedcharOutport_State=0xF5//保存并口输出端口状态的全局变量writePort(pinTMS,0x00);sclk();//进入Run-Test-Idle状态;writePort(pinTMS,0x01);sclk();//进入Select-IR-Scan状态;writePort(pinTMS,0x00);sclk();//进入Shift-IR状态;writePort(pinTMS,0x01);sclk();//开始数据串行输入,将“0”输入到24号BSC中;writePort(pinTMS,0x01);sclk();//进入Update-DR状态,在TCK的下降沿,对24号BSC中的“0”进行驱动,使其传输到PerData当中,同时//flash也为“0”。

3新型的Flash编程模式分析

在实际应用过程中,由于Flash芯片在很多场景中均可使用,因此,命令集往往不尽相同,对此通常将整个编程模式划分为四个部分:最下层为硬件适配层,能够为上层提供读与写等基本功能,能够有效解决软件程序与硬件总线协调问题。第二层属于Flash适配层,主要作用是为上层提供Flash支持命令集,并通过公共接口发出响应。该层能够良好解决与Flash相关功能的指令时序与支持作用问题,且还应实现对各类事件与模式的转移。第三层为功能适配层,具有数据或指令读写作用,能够对Flash命令集进行封装操作,还可与上层之间相互联系。最上层便是适配层,与用户端相互连接,为用户提供高级交互接口。此种分层方式能够为编程操作提供极大便利,通过多层结构使高层与底层应用相互隔离,极大提高了程序开发质量,也为用户带来了更多功能与丰富的体验[3]。

4结语

本研究对Flash编程方式进行分析,借助嵌入式系统对Flash进行编程,编程速度较快、操作简单、复用率良好,充分符合嵌入式系统的发展趋势,同时也使系统开发投入成本降低,系统价值得到显著提高。另外,本文还介绍了一种新型的Flash编程方式,希望能够使其在系统开发中获得更广阔的发展空间。

参考文献

[1]高辉辉.基于PC-MBI模块的Flash编程技术研究[J].单片机与嵌入式系统应用,2015,15(9):7-10.

[2]吴延军.基于FLASH芯片的加密存储技术研究[D].广州:暨南大学,2016.

[3]康向艳.嵌入式路由器中基于NANDFlash启动技术研究[D].西安:西安电子科技大学,2014.

以上基于嵌入式Linux系统的图像处理研究论文(通用8篇)的内容,由互汇范文网-搜集整理分享。