




已阅读5页,还剩70页未读, 继续免费阅读
(电子科学与技术专业论文)车牌自动识别技术的嵌入式系统设计与研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
a b s t r a c t t h ist h e s i sd e s c r i b e st h ee m b e d d e ds y s t e mw h i c hi sd e s i g n e df o rt h et e c h n o l o g y o fp l a t e 】i e e n s er e c o g mt i o n ( p l r ) i ni n t e l l i g e n tt r a n s p o r t a t i o ns y s t e m s ( i t s ) i tc o v e r st h em e t h o do fs o f t w a r ed e v e l o p m e n ta n dh a r d w a r ed e s i g ni nt h ee m b e d d e d s y s t e m s t h i st h e m sb e g i n sw i t ht h ec o n c e p t so fe m b e d d e dc o m p u t i n gs y s t e m ,i n t e l l j g e n t t r a n s p o r t a t i o ns y s t e m sa n dp l a t el i c e n s er e c o g n i t i o r l i tg i y e st h et o t a ls o l u t j o n o ft h ee m b e d d e ds y s t e md e s i g n t h eh a r d w a r eo ft h i s s y s t e m i sb a s e d0 1 3 i n t e l s t r o n g a r m s a 1 1 1 0a n dt h es o f t w a r ei sb a s e do ne m b e d d e dl i n u x i ti s d e v e l o p e d u n d e rg n uo p e ns o u r c es o f t w a r et o o l s ( g c ca n di t s c r o s s c o m p il e r ,t o o l c h a i n ) i nt h ef o l l o w i n gc h a p t e r s ,i tp r e s e n t st h ei n s t a l l a t i o no fg n u t o o l c h a i n ,t h e b o o t i o a d e r ,t h et r a n s p l a n ta n dt h eo p t i m i z a t i o no fe m b e d d e dl i n u xk e r n e l ,t h ef il e s y s t e ma n dt h ei n i tb a s hi nt h ea r mp l a t f o r m i td e s e r i b e st h et r a n s p l a n ta n dt h e o p t i m i z a t i o no ft h ep l a t el i c e n s er e e o g n i t i o na l g o r i t hf r o mo t h e rp l a t f o r m i ta l s o g i v e st h em e t h o do ft h eg u id e v e l o p m e n t ( o fe m b e d d e d ) b a s e do nt h eh a r d w a r ed e s i g n p r o c e s sa n dd e s i g np r i n c i p l e ,i td e m o n s t r a t e st h es c h e m a t i cm o d e i s ,s u c ha sc p u , m e m o r y ,c p l d ,e t h e r n e t ,u s b i ns u m m a r y ,t h em e t h o d sa n dr e s u l t sd e s c r i b e di nt h i st h e s i sa r ee o n d u c i v et o t h ea p p l c a t i o n so fi t sa n dt h e t e c h n i q u ea d v a n c e m e n to f 、e m b e d d e ds y s t e m k e y w o r d si t s ,e m b e d d e ds y s t e m ,p l a t el i c e n s e r e c o g n i t i o n ,s t r o n g a r m ,u s b , e m b e d d e di ,i n u x ,t o o l c h a i n ,c p l d 第一章绪论 1 1 引言 随着国家刑基础设施建设的加大投入,我国的道路交通状况越来越好;同时由于我囤 国民经济的持续快速增长,人民生活水平的不断提高,机动车辆的保有量大大高于交通设 施建设的增长,造成了交通的不断拥挤。如何更好的管理控制上路车辆以有效地减少违章 交通市件频繁发生,已经成为交通监管部门的重要任务。 在智能交通的各类系统中,一般都要求系统能够在无人值守的状态下2 4 小时不问断的 运行,对产品工作的稳定性要求很高,嵌入式产品的工作稳定特性正好可以适应其在这方 面的严格的要求。智能交通系统中使用的许多设备都运行在室外,必须考虑到设备在冬季 严寒、夏季酷热、南方潮湿等恶劣气候和环境下能否保证正常稳定地工作,环境适应能力 强将是智能交通系统设备选型工作中首先必须考虑的重要因素之一,而这正是嵌入式一体 化产品的特点之一。各地智能交通系统发展状况不一,应尽可能地利用已有设备或系统, 争取花费最小的代价对原有的系统进行功能升级或模块添加,对嵌入式一体化产品来说, 其设备的独立性使其可以很灵活地嵌入到各类管理系统中,作为其中的一个功能模块,对 新系统来说大大减少了整个系统的耦合性,降低了其复杂性和故障发生概率,提高了系统 的稳定性和易维护性,对旧系统改造和升级中,可以尽可能地利用原有系统或设备,添加 或升级其中某一个功能模块,对整个系统也只需很小的改动( 如接口部分等) ,从整体上大 大节约了投资,增加了系统效益。 由于智能交通系统对产品的要求与嵌入式系统产品的各种优势可以非常好地吻合,对 于嵌入式一体化的智能化产品在智能交通领域内的应用己得到越来越多的人的认同。有越 来越多的用户和专业人士看好智能交通领域的嵌入式一体化产品的应用前景,也有不少厂 家进行了这方面产品的研究和开发,目前已经有多种多样的嵌入式结构产品成功使用在智 能交通管理系统中,例如航天金卡,测速雷达( 返回数字式速度值) ,用于违章抓拍的数码 相机等等【5 j o 1 2 嵌入式系统概述 嵌入式计算系统( e m b e d d e dc o m p u t i n gs y s t e m ) 是指以应用为中心,计算机技术为基 础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗等有严格要 求的专用计算机系统;丰要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件 系统等组成“1 。嵌入式系统是执行专用功能并被内部计算机控制的设备或者系统。它一般 不使用通用型讣算机,而且运行的是固化的软件,用术语表示就是固件( f i r m w a r e ) ,终端 用户很难或者不可能改变固件,操作系统和应用软件集成于计算机硬件系统之中,即系统 的应用软件与系统的硬件一体化。嵌入式系统具有软件代码少、高度自动化、响应速度快 等特点,特别适合于要求实时和多任务处理的情况。 与通用型计算机系统相比,嵌入式系统功耗低、可靠性高;功能强大、性能价格比高: 实时性强,支持多任务;占用空间小,效率高;面向特定应用,可根据需要灵活定制。 嵌入式系统应用十分广泛,可以说在现代工作生活中无处不在。带有g p s 系统的汽车、 智能化的手机、数码相机、p d a 或者智能卡等等都嵌有它们,人们在与汽车、电梯、厨房 设备、电视、录像机以及娱乐系统的嵌入式系统交互时也往往对此毫无觉察。嵌入式系统 可用于移动计算平台( p d a 、掌上计算机) ,信息家电( 数字电视、机顶盒、网络设备) ,无线 通信设备( 智能手机、股票接收设备) ,工业商业控制( 智能工控设备、p o s a t m 机) ,电子 商务平台,甚至军事应用等诸多领域,它们只是复杂程度、应用目标不同而已。据估计, 其在全球每年带来的相关工业产值已超过1 万亿美元。1 。 嵌入式计算机系统设计不同于桌面计算机系统设计的一个方面在于:嵌入式系统非常 受限于功能和具体的应用环境,如对外部事件必须保证在规定时间内进行响应,有体积、 重量的限制,功率预算、散热必须符合环境要求,需要令人满意的安全性、可靠性,系统 本身的成本需求等,其特点具体来说: 1 、实时响应操作。实时系统操作不仅要得到正确的结果,而且对结果的时延有着明确 的限制,有时需要计算最坏情况下的性能。在复杂系统中估计最差情况比较困难,所以经 常导致过于悲观的估计。“信号处理系统”、“紧急任务处理系统”就是典型的实时性要 求很强的系统。事件本身可能是周期性的,或非周期性的。周期性的事件要保证系统有足 够性能来响应,而对于非周期事件,我们必须估计最大事件到达率来应付最坏情况。 2 、体积和重量。有些嵌入式系统是安装在飞机或一些手提式便携设备上,重量和体积 可能是很重要的考虑因素。 3 、安全性和可靠性。系统会面临着出错的可能。严重的人为操作失误、设备的受损都 将导致嵌入式计算机系统出错。我们可以通过双机冗余备份或分布式交互协议来保证某设 备出错后整个系统继续工作,其挑战是最小冗余的低成本系统的可靠性。 4 、复杂的应用环境。很多嵌入式系统工作环境是不可控的,特别是热、振动、冲击、 光、电源抖动、水腐蚀、火等。 5 、产品生产成本的敏感度。虽然对嵌入式计算机系统有着迫切的需求,成本仍然是极 其重要的考虑因素。无论系统大小,大家对成本都同样关心,但是他们对变化的反应却有 2 极大的分别。可能一个较复杂大系统,为了产品更优秀而不惜多花几百元,而一个微型系 统可能对1 元的成本都会做出不同的决策,因为它可能占整个设备成本相当大的百分比。 嵌入式系统曾被专用和难懂的操作系统、工具和应用程序所占据,现在,嵌入式设计 却大大受疏于开源( o p e ns o u f c e ) 软件( 特别是l i n u x ) 的透明性和强大的功能。嵌入式 l i n u x 正在这个嵌入式和普及计算的世界中前进。 1 3 智能交通系统( i t s ) 概述 智能交通系统( i n t e l l i g e n tt r a n s p o r t a t i o ns y s t e m s ,i t s ) 由美国在20 世纪60 年代提出,它是指将先进的信息技术、电子通讯技术、自动控制技术、计算机技术以及网 络技术等综合运用于整个交通运输,从而实现运输方式和交通管理的现代化。1 。i t s 技术的 产生是道路建设与运输领域里的一场革命。它对道路建设提出了更新、更高的要求;给运 输带来了从形式到观念到效果的根本变化;它将促进交通运输的安全、环保和高效;它是 公路建设和运输发展到一定阶段的产物。 随着我国经济的发展和社会的进步,迅捷、高效的交通系统已成为社会经济发展的有 力保障。而城市汽车数量不断增加,与道路资源、城市空间有限性的矛盾冲突越来越突出, 单靠修路架桥已不能解决交通堵塞、交通事故、环境污染等问题。据了解,我国每年交通 事故造成的人员伤亡达4 0 多万人。智能交通通过规范交通行为,提高交通管理水平和道路 利用率,能有效减少道路堵塞、交通事故和交通污染。如使用”:不停车收费系统”,可以减 少不必要的启、停车次数,这不仅可以加快汽车行进速度,还能降低车辆燃油消耗,减少 汽车尾气排放量,促进城市环境的改善。研究结果表明,采用智能交通可使每年因交通事 故死亡的人数减少3 0 以上,并能使交通工具的使用效率提高5 0 以上。为逐步实现更理想 的,与我国经济快速增长相适应的交通运输体系,我国政府已提出将智能交通系统作为中 国未来交通系统发展的一个重要方向。 近年来,我国通过对智能交通系统( i t s ) 技术的深入研究和推广应用,已在综合利用 交通资源、提高交通效率、改善交通环境等诸多方面取得了重大成果,初步形成了我国智 能交通新型产业。i t s 能够节约基础投资成本,提高运输效益,减少交通事故与人员伤亡, 降低政府的运营成本。i t s 是现有各种技术的综合集成。随着高新技术的发展和交通行业 的持续发展,i t s 的功能会更强,成本会更低。目前有朝着智能化,网络化,微型化,移 动化方向发展的趋势。智能交通系统为嵌入式系统提供了一个重要的应用领域,也是本课 题研究的初衷。 1 4 车牌识别技术 本课题研究的嵌入式系统最终要求包含汽车牌照识别技术,将此技术的算法移植到嵌 入式j i 台。汽车牌照识别技术( p l a t el i c e n s er c c o g n i t i o n ,p l r ) 是个以特定目标为对 象的专用计算机视觉系统,该系统能从一幅图像中自动提取车牌图像,自动分割字符,进 而对字符进行识别,它运用模式识别,人工智能技术,对采集到的汽车图像进行的方法, 能够实时准确地自动识别出车牌的数字、字母及汉字字符,并以计算机可直接运行的数据 形式给出识别结果,使得车辆的电脑化监控和管理成为现实”1 。车牌定位、字符切分,并 运用独创的基于二值特征的识别算法和基于灰度特征的识别算法相结合,是i t s 的一个重 要组成部分,是定位车辆及索引其相关信息的关键。国内外学者对车牌识别提出了很多方 法,就牌照定位来说有基于纹理的车牌定位方法,就对基于纹理的定位方法而言:有基于 差分的,有用小波分析的等等。也有根据牌照颜色和牌照的几何特征定位,有矢量量化的, 也有根据汽车的横梁大致定位汽车牌照的,有根据牌照区域是个矩形,从而通过检测矩形 的四个角来定位车牌。就字符识别来说有用神经网络的,也有用模板匹配的。有些识别是 在灰度图的基础上进行的,有些是在二值化图上进行的。 智能交通系统( i t s ) 在我国尚属起步阶段,车牌识别技术在i t s 系统中占有重要位置。 车牌识别技术的推广普及,必将对城市道路管理,减少交通事故、车辆被盗案件的发生, 保障社会稳定等方面产生重大而深远的影响。 1 5 本课题研究的内容和目标 本研究的主要工作是将车辆牌照自动识别技术与嵌入式系统相结合,从而构建一个极 具实用价值和广泛适用性的嵌入式i t s 系统。其技术重点及难点包括嵌入式计算系统原理 及其设计、车辆牌照自动识别技术、嵌入式网络实现及嵌入式系统及应用移植等。总体目 标是针对嵌入式系统的软硬件开发,深入嵌入式l i n u x 内核的研究,结合项目研究内容开 发出可实际应用的嵌入式系统。具体来说: 1 、针对不同硬件平台对内核代码进行修改,以支持不同处理器移植以及各种设备驱 动接口。 一 2 、充分利用硬件,在资源受限系统中对内核大小进行有效裁剪。 3 、加速系统启动过程,缩短l i n u x 系统的启动时间。 4 、功能丰富、稳定性好,在嵌入式l i n u x 内核基础上可丰富的扩展用户应用程序并 稳定运行。 5 、掌握嵌入式l i n u x 开发的有效方法,降低嵌入式开发的进入门槛。 嵌入式系统涉及硬件和软件两个部分,且两部分紧密相关,相辅相成,很难分割。我 们的课题研究拟采取硬件和软件并行开发过程,自顶至下的设计方法和实现思路。在硬件 设计过程中,确定需要实现的功能,并确定硬件构成,完成结构化设计,然后是硬件逻辑 设讣。并最终实现物理硬件。在软件设计过程中,首先分析系统需要实现的任务,根据任 务划分使用的模块,再通过高级语言实现各个高层模块,并通过交叉开发环境实现目标代 码。在集成过程中,需要实现硬件底层代码,完成软件硬件的集成任务。最后,完成系统 的集成测试。本人的主要工作是负责本课题的总体设计、嵌入式系统平台相关软件的移植 调试以及硬件的设计制作,已经取得了如下结果: 1 、按照课题的具体要求完成了系统的总体设计,选定软硬件开发平台: 2 、成功搭建了软件平台的开发环境和调试环境,从而可以提高开发效率; 3 、基本完成操作系统l i n u x 在嵌入式平台上的移植工作,改造部分设备驱动程序; 4 、对车辆牌照识别算法进行了移植工作。在p c 平台仿真调试通过,正在嵌入式平台 上做调试优化等工作; 5 、进行了嵌入式系统硬件主板的设计制作,完成对电源模块及c p l d 模块的调试工作。 结合实际的课题研究工作,本论文的各章节安排如下: 在查阅国内外相关文献资料的基础上,第一章简要地介绍了嵌入式计算系统( e m b e d d e d c o m p u t i n gs y s t e m ) ,智能交通系统( i n t e l l i g e n tt r a n s p o r t a t i o ns y s t e m s ,i t s ) 和汽 车牌照识别技术( l i c e n s ep l a t er e c o g n i t i o n ,l p r ) ,并给出了课题研究工作的意义和目 标。 第二章结合了系统的实际需求。在课题开题工作的基础上,结合嵌入式系统的开发流 程,详细介绍了本课题研究所采用的嵌入式平台总体设计方案,它涵盖了硬件平台,软件 平台及相关开发环境和工具。 第二章和第四章涉及了本论文的具体工作内容。第三章具体从g n u 开发工具链 ( t o o l c h a i n ) 的安装配置,引导装载程序( g o o t l o a d e r ) ,嵌入式操作系统l i n u x 内核, 文件系统,启动脚本等方面描述了在a r m 平台上的移植、优化和裁剪工作。对车牌识别核 , 心算法做了相应的移植及其浮点运算优化,并描述了嵌入式g u i 开发( q te m b e d d e d ) 的一 般方法。 第四章从硬件设计的基本流程及制作( 硬件设计流程和设计原则) 出发,描述了本课 题的嵌入式主板设计( c p u ,m e m o r y ,c p l d ,b t h e r n e t ,u s b 等子模块设计) 和c p l 。d 系统 设计及应用等。 第五章从系统集成的角度出发,结合成功应用的系统项目,介绍了基于卫星通讯的多 s 元化网络智能交通临控系统及其实际业务流程,给出了本课题研究在实际系统中应用的可 能性和必要性。 第六章总结了本课题研究所取得的成果及其不足之处,提出了课题进一步深入研究的 展望及应用前景。 6 第二章系统需求及总体设计方案 2 1 系统需求 在一个系统设计之前,必须清楚我们在设计什么。在设计的最初阶段,我们需要这些 信息来设讨系统的体系结构和构件。一般来说,嵌入式系统开发涉及到的软硬件概念非常 多。可以毫不夸张的说,它的复杂程序不亚于p c 。商业化的嵌入式系统将会裁剪掉多余的 不必要功能,以降低成本,提高稳定性。在本课题研究的实际开发过程中,我们不仅需要 结合市场、客户和行业的实际功能性需求和非功能性需求,而且要依据课题快速方便开发 的实际需要,来制定我们的嵌入式总体设计方案。 2 1 1 功能性需求 1 数据输入。要求系统的响应时间足够快,并实现运动车辆实时动态视频图像的c c d 摄入与采集; 2 数据处理。结合国内的车牌环境,移植p c 平台上较为成熟的车辆牌照识别算法, 以达到较高的车牌号码识别效果; 3 存储和发送数据。易于和用户的应用软件与操作系统集成,随时可与网络连接。可 实现数据的网络传输功能:可将识别出的牌照字符、车辆静态图像以及切割出的车 辆牌照图片及相关视频等数据存储至本地大容量存储器或传输至监控网络服务器; 4 控制设备。具有异步处理并发事件的能力,具有多种符合电气标准的接口,可实现 外部控制信号的输入输出,如:c c d 摄像头及云台的控制、闪光灯的同步信号、地 感信号以及其它的输入输出控制信号( 如灯光控制,道口放行杆控制等) ; 5 具有快速启动、出错处理和自动复位功能。 2 1 2 非功能性需求 1 功耗低,且稳定性高,需2 4 小时不间断运行。 2 系统物理尺寸小,便于携带,安装简易,稳定性高。 3 系统功能完备,模块化设计,稍作修改后即可适用于不同行业与使用者的需求。 4 有效使用低成本设备,寻求在低成本条件下实现高效率。 2 2 系统开发流程和设计原则 嵌入式系统的一般开发流程如图2 1 所示。 图2 1 嵌入式系统的开发流程 嵌入式设计遵循的原则:以系统和应用集成为核心,实现系统的综合和优化。注重系 统的开放性、实用性和可靠性。实用性和先进性:以实用性为系统开发的首要原则。并确 保在一定时期内,整个系统在整体上和综合技术上的先进性。可靠性与易维护性:本系统 必须保证系统以较高的可靠性长时间连续正常运行,同时要求系统必须具备较好的易维护 性。可扩展性:由于应用需求和系统功能的复杂性。须强调和注重系统的或扩展性,使系 统可以根据需要,方便地扩充、修改、调整和升级。 一个嵌入式系统的任务应该单一,上电后即启动进入应用软件,接受输入,完成功能。 它需要操作系统提供的服务有: l 、上电启动,装载应用软件运行:由操作系统实现上电启动,完成必要的初始化后即 转载应用软件运行; 2 、对外部设备的操作:由操作系统提供对外部设备的抽象访问; 3 、网络协议栈:基本的t c p i p 网络协议栈; 4 、数据的保存和恢复:能在运行中保存和恢复数据 5 、多线程:能支持多道线程同时运行,并提供线程间协调和通信。 随着智能交通系统( i t s ) 的快速发展,对系统的网络化已经成为非常迫切的要求。虽 然i n t e m e t 并不太适合目前为止我们关注的实时任务,但i n t e r n e t 确实为非实时交互提 供了丰富的环境。i n t e r n e t 提供了一种标准的途径,供嵌入系统与其它设备、与用户进行 协调,i p 是一个能让嵌入系统与其它系统进行交互的非常好的途径,i p 为专用程序和通用 程序( 如w e b 浏览器) 提供一种能与嵌入系统交互的方法,这种非实时的交互可以用于监 冒网图 视系统、进行配置以及与系统交互。i n t e r n e t 提供了大量在i p 之上构造的服务。但是, 功能的完伞带来的是代码的规模,所以必须在体体系结构中作出抉择,确定哪些因特网服 务是系统必需的:如系统是采用无连接的还是面向连接的,是流式的还是非流式的等等。 我们知道,智能交通系统( i t s ) 必然是一个多节点的庞大分布式网络系统,本项目的嵌入 式研究必然要实现可达i n t e r n e t 。 鉴于智能交通系统具有多业丰、多应用、综合性、可扩充性的特点,按照系统设计日 标,整个系统可概括为四大分系统,即信息采集与监控自动化分系统、计算机网络与数据 库分系统、集成管理分系统、各应用分系统。本系统从属于信息采集与监控自动化分系统。 2 3 系统总体设计 经过大量的资料收集比较,深入地研究分析并结合现有的实验条件,我们对系统的体 系结构、集成板和软件做出了以下决定; l 、硬件体系结构选择i n t e ls a i i i o 微处理器,3 2 m 字节内存和1 6 m 字节f l a s h 闪存: 2 、软件体系上采用l i n u x 2 4 以上版本作为操作系统内核,并使用g n u 工具链,包括 编译器、汇编器、库、调试器和相关实用程序等。 2 3 1 硬件部分设计 硬件系统框图如图2 2 所示: 视频输入 t 视频采集芯片 r s - 2 3 2 图2 2 嵌入式系统基本硬件体系结构简图 该系统是由嵌入式微处理器,视频采集模块,i o 信号控制模块,存储模块和网络控 制模块等主要硬件组成: 1 、嵌入式微处理器( e m b e d d e dm i c r o p r o c e s s o r ) i n t e l 公司的s t r o n g a r ms a l l l o 是一款主要面向嵌入式应用的高集成高性能3 2 位 微处理器,目前已经被应用在p d a 等手持可移动设备上。s a l l l 0 最高主频可达2 0 6 m h z , 并且运行速度可由软件设置。具有内存管理单元( m m u ) 和大容量的指令数据高速缓 存( 1 6 k b 8 k b ) ,兼容s d r a m 、s m r o m 等多种存储设备,并带有l c d 和p c m c i a 控制器。 很低的电源要求,可由锂电池或a a a a a 电池供电。 该处理器集成了一个3 2 位的s t r o n g a r h 恼r i $ c 处理器核心,系统支持逻辑( s y s t e m s u p p o r tl o g i c ) ,多通信通道,一个l c d 控制器,一个内存控制器、一个p c m c i a 控 制器,2 8 个通用输入输出端口( g e n e r a l p u r p o s ei 0p o r t s ,g p i o ) 。 s a l l 有一个1 6 k b 的指令缓存( i n s t r u c t i o nc a c h e ) 和一个8 t ( b 的回写数据 缓存( w r i t e b a c kd a t ac a c h e ) ,以及一个m i n i e a c h e 、一个写缓存( w r i t e b u f f e r ) 、 一个读缓存( r e a db u f f e r ) 和一个内存管理单元( m e m o r ym a n a g e m e n tu n i t ,涮u ) , 是和a r mv 4 体系的处理器兼容的,处理器核心和缓存的外部逻辑( t h el o g i co u t s i d e 10 t h ec o r ea n dc a c h e s ) 是以下面三种模块组织的: 1 ) 内存和p c m c i a 摔制模块m p c m ( m e m o r ya n dp c m c i ac o n t r o l m o d u l e ) : 内存接口支持r o m ,f l a s h ,d r a m ,s d r a m ,s r a m , i p c m c i a 控制信号等 2 ) 系统控制模块s c m ( s y s t e mc o n t r o l m o d u l e ) : 一2 8 个通用输入输出端口( g p i o ) 一实时时钟,看门狗和内置计时器 一电源管理控制器 一中断控制器 一重置控制器 3 ) 外围设备控制模块p c m ( p e r i p h e r a lc o n t r o lm o d u l e ) : 一六通道d m a 控制器 一灰度彩色,主动被动l c d 控制器 一红外( i r d a ) 串行端口( 1 1 5k b p s ,4m b p s ) 一同步串行端口( u c b l l 0 0 ,u c b l 2 0 0 ,s p i ,t i ,肛w i r e ) 一u s b 设备控制器 图2 3 所示是s a - 1 1 1 0 芯片内部结构示意图: 图2 3s a 1 1 1 0 芯片内部结构示意图 2 、视频采集模块 视频采集:选用p h i l i p s 公司的可编程视频输入处理芯片( v i p ) s m 7 1 1 1 ,内部包含两路 模拟处理通道,能实现视频源的选择、抗混叠( 去假频) 滤波、模数变换( a d ) 、自动筘位、自动增益控制( a g c ) 、时钟产牛、多制式解码及亮度、对 比度和饱和度控制。可得到分辨率为7 2 0 x 5 7 2 的图像,且质量较高,完全能 满足本系统的视频采集及牌照自动识别的分辨率需要。 3 、i o 信号控制模块 包括对c c d 摄像头的控制和云台控制、闪光灯的同步信号、地感信号以及其它信号( 如 灯光控制,放行杆控制等) 的输入输出。本硬件设计预留了二:路通用串行口,一路红外 线接口。 4 、存储模块 选用三星s d r a m ,3 2 m 字节s d r a m 内存:选用i n t e l 的快速页面读取模式的 s t r a t a f l a s h ,1 6 m 字节f l a s h 内存。 5 、网络接口模块 选用c s 8 9 0 0 a 芯片,支持1 0 一b a s e t 以太网接口。 6 、通用串行总线( u s b ) 模块 u s b 具有外设安装简单、即插即用、支持多设备连接和减少i o 接口数量等优点。 我们设计的视频采集部分模块是作为一个u s b 从设备接驳至嵌入式丰板的,传输中需 要有大量的视频数据流。最新版的u s bv 2 0 规范提供高达4 8 0m b s 的数据传输速 率,这使得u s b 对需要快速传递大容量数据的视频采集外设极具吸引力。我们选用的 控制芯片是符合u s bv 2 o 标准的i s p l1 6 1 ,对于主机控制( h c ) ,最高传输速率可达 2 4 m b s ,对于设备控制( d c ) ,最高传输速率可达8 m b s ,这使得系统处理器在多任务环 境下也能够保持带宽。此外,它采用了飞利浦公司独特的设计,可以同时用作u s b 主 控制器和设备控制器。 2 3 2 软件平台和开发工具选择 随着嵌入式技术的不断发展,其应用领域日益扩大,提供的应用功能也越来越复杂, 硬件所提供的条件也越来越好,需要有一个能提供丰富的功能、很好的稳定性的操作系统 对嵌入式设备进行有效的管理。由于应用的需要和硬件条件的限制,嵌入式操作系统一般 应具有功能专一、高效、高度节约资源、启动速度快等特点。一个基本的嵌入式系统软件 主要由系统引导装载程序( b o o t i o a d e r ) 、系统内核和根文件系统等组成。 l i n u x 是一个自由发布的、类u n i x 的操作系统内核。它支持g n up u b l i cl i c e n s e 版 权协议。g n u 是g n ui sn o tu n i x 的缩写,是由r i c h a r dm s t a l l m a n 于1 9 8 4 年提出的, 并成立了自由软件基金会( f r e es o f t w a r ef o u n d a t i o n ,f s f ) ,创建了通用公共许可证( g p l ) , 主要包含三点: 1 、任何得到通用许可软件的人有权不需额外费用( 不包括递送费用) 得到其源代码; 2 、任何通用许可软件的派生软件必须保留通用公共许可证作为再发布的许可证形式; 3 、任何拥有通用许可软件的人有权在不违反通用公共许可证条款的条件下再发布该 软件。 任何基于或使用g n u 软件开发的软件都具有g n u 版权,也即都是免费使用和传播。从 l i n u x 的第一个正式版本1 0 的发布开始便遵从了g p l 。这是一项非常有意义的运动,它极 大地影响了当今i t 产业界的布局,遭到了软件垄断巨头微软公司的极力反对。在嵌入式领 域,l i n u x 也成为微软的强大对手。l i n u x 正借助于i n t e r n e t ,集齐了全世界各地的志愿 开发人员,开发如火如荼,前途不可限量。从这一点意义上来说,对于我们进行嵌入式系 统开发,掌握嵌入式操作系统的核心有着不可低估的影响,是非常有意义的。 嵌入式l i n u x 开发是一个新的产业,在未来的日子里,产业现状会因为合并、购并或 破产而改变。采用某个产品或发行版会引入潜在的风险,因为将来的技术支持可能会无法 获得。通过学习如何由工具、内核和应用程序的开源代码仓库编译这些软件,开发者和项 目可以彳i 受产业变化的影响。编译开源代码可以使我们可以更好地理解l i n u x ,包括它的 内核、引导过程、应用程序以及库的相互作用等等。 交叉开发环境是嵌入式系统开发中必不可少的编程环境。所谓交叉开发环境 ( c r o s s d e v e l o p m e n te n v i r o m e n t ) ,是指在主机和目标机器体系结构不同的情况下,在主 机上开发那些将在目标机器上运行的程序。按照发布的形式,交叉开发环境主要分为开放 和商用两种类型。我们使用g n u 开放式自由软件来开发嵌入式系统,它包括开发机上l i n u x 操作系统及g n u 开发工具链( t o o l c h a i n ) ,包括编译器( g c c ) 、汇编器、库( g l i b c ) 、调 试器( g d b ) 和相关实用程序等。 2 4 拟解决的技术难点 嵌入式系统开发是一个相当复杂的开发过程,需要根据实际的硬件环境和软件工具进 行具体工作。 1 、如何针对多种硬件平台做内核代码( 包括b o o t l o a d e r ) 的移植,包括嵌入式微处理 器体系结构和设备驱动的改进。 2 、如何结合特定的目标进程给出高效的进程算法,使得最合理地运用c p u 。难点在于 对内核代码进程调度部分进行修改或编写,对数据结构进行合理的改进。 3 、如何定制操作系统的对某种或某些任务的调度方式,以改造成为可以保证毫秒级响 应时间的准实时系统。 4 、如何充分利用硬件,在资源受限的特定系统中,为其量体裁衣,除去冗余,对内核 及其所需的文件系统进行有效裁剪,但又不失特定嵌入式设备的必要功能,且尽可 能地发挥系统资源的潜力。 5 、如何保证设备驱动对多种嵌入式硬件平台和处理器的兼容性及其他各种嵌入式外 围设备的支持。如何保证开发的驱动程序所要实现功能之间的平衡,并且尽量使代 码简单。真正实用的l i n u x 驱动程序十分复杂,要处理如中断、d m a 、i op o r t 等 问题,这些才是真正的具体技术上的难点。 6 、如何加速系统启动过程,也即缩短l i n u x 系统的启动时间。 以上这些技术难点问题在总体设计时必须考虑周全,并在各部件具体设计制作时 要有具体、明确、可行的措旌保证。 第j 章软件系统移植、开发及调试 在硬件体系结构总体设计完成后,可以根据硬件的配置和应用的需求,开始软件系统 的功能羽1 结构设计。在真正的开发之前,我们需要一台计算机作为开发工作站,存放并配 置编译器、交叉编译器、调试器、库、内核及应用程序源代码。 我们选用r e d h a tl i n u x9 0 在一台p c 机上运行l i n u x 作为服务器。开发中可以通过局 域网用t e l n e t 登录到该台l i n u x 服务器上,被开发的目标机也通过网络接口挂接在该局域 网上。在服务器的l i n u x 环境中,用g n ug c c 编译生成目标代码,再用f t p 传回到本地p c 机上,然后通过串口下载到目标机上测试并写入f l a s h 闪存。图3 1 为本课题所用的开发 环境示意图: 一网线 一串并口调试线缆 图3 1l i n e n 开发环境示意图 由于嵌入式系统是一个硬件资源非常有限的系统,在它上面直接进行编程开发十分困 难。开发时往往需要把开发工作移到p c 机上实现,此p c 称做开发主机( h o s t ) 。当开发、 调试工作在主机上完成后,交叉编译器用来将源代码编译成目标平台所支持的机器码格式。 最后将这个可执行映像下载到目标平台的f l a s hr o m 或其它非挥发性存储介质上。这个需 要运行嵌入式系统的机器环境称为目标机器( t a r g e t ) 。嵌入式软件的开发和调试就在两者 的互相合作中完成。 嵌入式软件的编写和开发调试的主要流程为:代码编写一交叉编译一交叉连接一仿真一重 定位和下载一调试,如图3 2 所示。 图3 2 嵌入式系统软件的开发流程 下载 3 1 设置工具链( t o o l c h a i n ) 在本项目开发中,我们的开发主机使用操作系统r e d h a tl i n u x9 0 ,它包括通用的g n u g c c 编译开发工具,是只能生成x 8 6 可执行代码的本机x 8 6 编译器。我们需要设置工具链 ( t o o l c h a i n ) 在主机上创建一个用于编译能在目标机上运行的内核和应用程序的构建环境 ( 因为目标机与主机一般为不兼容的二进制执行文件) 。工具链由一套用于编译、汇编和链 接内核及应用程序的组件组成。这些组件包括: b i n u t i i s 一用于操作二进制文件的实用程序集合。它们包括诸如a r 、a s 、o b j d u m p 、 o b j c o p y 这样的实用程序。 g e e g n uc 编译器。 g 1 i b c 一所有用户应用程序都将链接到的c 库。避免使用任何c 库函数的内核和 其它应用程序可以在没有该库的情况下进行编译。 工具链( t o o l c h a i n ) 建立了一个交叉编译器环境。本地编译器编译与本机同类的处理 器的指令。交叉编译器运行在某一种处理器上,却可以编译另一种处理器的指令。重头设 置交叉编译器工具链不是一项简单的任务:它包括下载源代码、修补补丁、配置、编译、 设置头文件、安装以及很多其它的操作。另外,这样一个彻底的构建过程对内存和硬盘的 需求是巨大的。如果没有足够的内存和硬盘空间,那么在构建阶段由于相关性、配置或头 文件设置等问题会突然冒出许多问题。 我们从因特网上获得已预编译的二进制文件( 目前它们大多数基于a r m 的系统,正好 符合我们的要求) 。礼开发中使用的工具链,可以通过访问h t t p :g e e g n u o r g 来下载, 我们选用了2 9 53 版本( 最新的3 3 版本在实际使用过程时,编译l | 标机的内核后,日标 机i i 动时i c p i p 网络协议栈有问题) 。解升到根日录下,其l i 录为u s r o c a l a r m 2 9 5 3 然后添加环境变量: e x p o r tp a t l l = u s r 1 0 c a l a r m 2 9 5 3 b i n :$ p a t h b i n u t 订s 是进制文件的工具集,它包含了汇编器( a s s e m b l e r ) 、连接器( 1 i n k e r ) 和一些基本的对 _ f 标文件进行操作的应用程序。包括下面的常用组件: a r m _ 1 i n u xa s 一一g n ua s 是真正的汇编程序族,如果在体系架构里要用( 或已经用 了) g n u 汇编程序,可发现与用在另一个体系架构环境里完全相似。每个版本有许多其它 共区,包括目标文件格式,主要的汇编程序指令( 通常称为p s e u d oo p s ) 羽j 7 1 :编程序语法。 a r m1i n u x g + +c 和叶+ 编译器结合,g h 是用选择权唤醒g c c 去认1 1 j c + + 的原 稿,g c c 进程通过四个步骤中的一个或多个步骤输入文件:预处理、编辑、汇编和链接。 这个操作记录包含只为c 编译器细节方而的完整描述,通过它同样包含有些普通用途选 择权的概要。 8 , f m l i n u xg c cc 和c 编泽器结合,双方进程通过四个步骤中的个或多个步 骤输入文件:预处理、编辑、汇编和链接。源文件名后缀确定源语言,但是所用的那个名 是为了编译器管理不同的状态: g c c 一采用预处理( i ) 文件是c 与c 格式结合。 g h 一采用预处理( i ) 文件是c 与ch 格式结合。 源文件名的后缀指出语言和结束的各种处理: cc 源;预处理,编辑,汇编 cc _ 十源;预处理,编辑,汇编 c cc h 源:预处理,编辑,汇编 c x x 一叶+ 源;预处理,编辑,汇编 me | 标c 源;预处理,编辑,汇编 j p r e p r o c e s s e dc ;编辑,汇编 一p r e p r o c e s s e dc h ;编辑,汇编 s汇编程序源;汇编 s 一汇编程序源;预处理,汇编 h预处理程序文什;通常不在命令行指定 其余后缀的文件已被传递给连接器,含有:0l i 标文件、a档案文件。 a r r - r l i n u x l d l d 结台许多目标和档案文件,重新部署了它们的资料和有关符号 参数。通常在建造一个能运行的汇编程序的最后一步是唤起l d 。 a r m - 1 i n u x m i l l g n un m 列出了来自日标文档o b j f i l e 的符号,如果没有提供的目 标文件作为参数,n m 假定为a o u t 。 a n i r l i n u x - o b j c o p y 一一g n uo b j c o p y 实用程序复制了另一个目标文件的内容,o b j c o p y 用g n ub f dl i b r a r y 去读和写这些目标文件,它可写在不同于原始目标文件格式里的目标 文件的目的单元格。这个o b j c o p y 的正确动作是由命令行选项控制的。 a r m - l i n u x o b j d u m p o b j d u m p 将生成的目标代码反汇编,可显示一个或更多 的目标文件资料,这个选项控制显示了详细的信息。 3 2 引导装载程序( b o o t l o a d e r ) 在嵌入式系统中,首先需要考虑的是系统的肩动,但系统如何告知c p u 肩动位置和启 动方法呢? 通常来说,具有f l a s hr o m 的系统从f l a s h 中启动。启动工作主要是由一个被 称为b o o t l o a d e r 的程序来完成的。 引导程序是在任何硬件上执行的第一段代码。在台式机中,能将引导程序装入主引导 记录中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 20xx教师社会实践报告3篇
- 辞职后的安全培训课件
- 基于工业物联网的冲洗机设备全生命周期数据安全与合规存储方案
- 基于区块链的刨切木方全生命周期溯源系统与供应链金融创新
- 城市立体绿化政策驱动下空调外机隐蔽式安装的工程实践探索
- 国际药典新增大黄质量控制标准对国内生产端的冲击与应对
- 后疫情时代定制刺绣旗袍的碳足迹核算与可持续时尚实践路径
- 可降解纤维在制服领域的规模化应用瓶颈与成本效益平衡策略
- 反诈中心与运营商协同响应的实时数据接口标准
- 医疗影像分析设备算法偏见对临床决策的隐性影响
- 化疗所致恶心呕吐护理
- 信息检索技术讲义
- 商业银行基于华为OceanStor的关键业务同城切换方案
- 火力发电厂运煤设计规程
- 第十章DNA、RNA的生物合成ppt课件
- 3250变压器综合测试仪(共85页)
- 中国联通VI手册完整版
- 昆虫分类检索表
- 贾谊《鵩鸟赋》课件,《鵩鸟赋》讲解
- 翻转课堂视域下“导学案”的设计研究课题评审书
- HXN5型机车常见故障处理指导书
评论
0/150
提交评论