(通信与信息系统专业论文)基于嵌入式的ais硬件测试系统开发.pdf_第1页
(通信与信息系统专业论文)基于嵌入式的ais硬件测试系统开发.pdf_第2页
(通信与信息系统专业论文)基于嵌入式的ais硬件测试系统开发.pdf_第3页
(通信与信息系统专业论文)基于嵌入式的ais硬件测试系统开发.pdf_第4页
(通信与信息系统专业论文)基于嵌入式的ais硬件测试系统开发.pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

(通信与信息系统专业论文)基于嵌入式的ais硬件测试系统开发.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 船载m s ( 自动识别系统) 是工作在甚高频频段,采用g m s k 调制方式,利用 自组织时分多址接入方式,可自动接收和发射船舶的静态和动态信息,从而实现 船舶的自动识别、监视和通信的系统,能够大大提高海上航行的安全性和效率, 因此a i s 在海上航行中发挥着越来越重要的作用。 目前国内关于船载a i s 设备性能的系统化检测产品还相对比较匮乏,本设计 就是针对船载a i s 电台硬件平台所开发的测试系统,利用该测试系统可以检测 m s 电台的硬件工作情况和整体性能,并对产品故障进行诊断,大大方便了产品 的检测和维护。该测试系统以a r m 和d s p 为核心处理芯片,其中a r m 主要负 责整个测试系统测试过程的控制,用户指令的接收、反馈数据的接收、测试结果 的判定、底层数据库的操作以及测试结果的显示等任务。d s p 主要负责激励信号 的产生,模拟信号的采集、处理等任务。a r m 嵌入式软件开发主要包括运行环 境构建、外围接口y i a g ( j o i n tt e s t a c t i o n g r o u p ) 、e h p i ( 高级主机接口1 、反馈接 口等驱动程序设计、顶层m i n i g u l 人机交互界面设计、测试整体控制部分设计 和底层的数据库操作。 由于、,i 传输功能的不足,本设计在v i 中添加了t f t p ( t r i v i a lf i l et r a n s f e r p r o t o c 0 1 ) 网络文件传输功能,有效提高了讥的文件传输能力,并且按照j t a g 边界扫描协议,在l i n u x 系统下实现了f p g a 的j t a g 下载器,大大方便了l i n u x 系统下对f p g a 的在线调试。同时该测试系统将虚拟仪器技术融入其中,通过对 性能优良的示波器和频谱仪等设备进行远程控制来采集测试数据,提高了测试的 精确度。该测试系统基于嵌入式系统,充分利用a r m 和d s p 的优势,相比于传 统的测试产品具有小巧、方便、移动性强等特点,具有实用价值。 关键词:测试系统;船载a i s ;嵌入式l i n u x ;m i n i g u i 界面 a b s t r a c t t h e 瑚曲e r s a ls h i p - b o r n ea u t o m a t i ci d e n t i f i c a t i o ns y s t e m ( 越s ) u s e ds o t d m a i nt h ev h fm a r i t i m em o b i l eb a n dm o d u l a t e db yg m s kt os e n da n dr e c e i v et h es t a t i c a n dd y n a m i ci n f o r m a t i o no ft h ev e s s e lw h i c hc o u l dg r e a t l yi m p r o v et h es a f e t ya n d e f f i c i e n c yo ft h en a v i g a t i o n 1 1 1 ea i s w a sp l a y i n gm o r ea n dm o r ei m p o r t a n tr o l e si n t h en a v i g a t i o n i nt h ep r e s e n t ,t h e r ew a sl i t t l ed o m e s t i ct e s tp r o d u c t i o nf o rt h es h i p - b o r n ea i s t h et e s ts y s t e mw a sd e s i g n e df o rt h eh a r d w a r ep l a t f o r mo fa i sw i t hw h i c ht h e s i t u a t i o no fh a r d w a r ea n dt h ew h o l ep e r f o r m a n c eo fa i sc o u l db et e s t e d , e v e r y w h e r e a n da n y t i m e t h et e s ts y s t e mc o u l dd i a g n o s et h ef a u l to ft h ep r o d u c ta n dg i v ea d v i c e w h i c hc o u l dm a k ei tm u c hm o r ec o n v e n i e n tf o rt h et e s ta n dm a 血 n a n c e a n dt h et e s t s y s t e mw a sd e v e l o p e db ya r m a n dd s pa st h ec o r ec h i p i nt h es y s t e m , a r mw a s m a i n l yr e s p o n s i b l ef o rt h ec o n t r o lo ft h et e s tp r o c e s s ,t h er e c e i v i n go ft h eu s e r s i n s t r u c t i o n sa n dt h ef e e d b a c k , t h eo p e r a t i o no ft h ed a t ab a s e ,t h ed i s p l a y i n go ft e s t r e s u l t s ,a n ds oo n d s pw a sm a i n l yr e s p o n s i b l ef o rt h eg e n e r a t i o no fs i g n a l s ,t h e a c q u i s i t i o no fa n a l o gs i g n a l s ,t h ep r o c e s s i n go ft h ea c q u i s i t i o na n ds oo n t h e e m b e d d e dd e s i g no fa r mc o n t a i n e dt h ed r i v e r sd e s i g nf o rt h ei n t e r f a c eo fj t a g , l c da n de h p i t h em i n i g u ii n t e r f a c ed e s i g n , t h ed e s i g no f t h ew h o l ec o n t r o la n dt h e d a t a b a s eo p e r a t i o n s i nt h ed e v e l o p m e n t ,a c c o r d i n gt ot h ei n a d e q u a c yo fv i v i , t h ef u n c t i o no ft f l l p w a sa d d e di n t ot h eb o o t l o a d e r , w h i c hg r e a t l yi m p r o v e dt h ef i l et r a n s f e rc a p a c i t yo f v 沁i n 圮j t a gd o w n l o a d e rf o rf p g ah a sb e e nd e s i g n e di nl i n u x , w h i c hm a d ei t m u c hm o r ec o n v e n i e n tt od e b u go n l i n e a tt h es a m et i m e ,t h et e c h n o l o g yo ft h e v i r t u a li n s t r u m e n tw a si n t e g r a t e di n t ot h et e s ts y s t e ma n dt h ee x c e l l e n ti n s t r u m e n t s s u c ha st h eo s c i l l o s c o p ea n ds p e c t r u ma n a l y z e rw e r ec o n t r o l l e db yt h er e m o t eh o s tf o r t h es i g n a la c q u i s i t i o nw h i c hg r e a t l yi m p r o v e dt h et e s tp r e c i s i o n t h et e s ts y s t e mb a s e d o nt h ee m b e d d e dd e v e l o p m e n tw h i c hm a d ef u l lu s eo ft h ea d v a n t a g e so fa r ma n d d s pw a sc o m p a c ta n dc o n v e n i e n tc o m p a r e dw i t ht h et r a d i t i o n a lp r o d u c t sa n dh a d s o m ep r a c t i c a lv a l u e s k e yw o r d s :t e s t s y s t e m ;a i s ;e m b e d d e dl i n u x ;m i n i g u ii n t e r f a c e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤盗叁鲎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:节ia a 签字日期: 1 年月y 日 学位论文版权使用授权书 本学位论文作者完全了解墨鲞盘茔有关保留、使用学位论文的规定。 特授权鑫鲞盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:蕊i 眼 签字日期:弘1 年( 月歹e t 导师娩引币省 导师盘名:矽l 币珂 签字日期:少,夕年夕月j 一日 第一章绪论 1 1 课题背景和发展状况 第一章绪论 近些年来,随着海洋运输的发展,船舶在交通、运输等方面发挥着越来越重 要的作用,船舶速度、船舶数量和海上交通密度都在不断提高,在一些重要的水 道,船只显得越来越拥挤,因此海上交通事故频繁出现,给海上交通和运输带来 巨大的威胁。这些突出的问题给船舶避碰、港口交管和航行安全提出了新的要求。 为了尽量的减少海洋事故,人们进行了各种各样的研究来提高海上交通的安全 性,并逐渐认识到交通信息是整个问题的关键,其中包括船与船之间的信息交互 以及船舶与基站之间的信息交互。但是现有相应的通信导航设备存在着很多的不 足,例如:基站雷达虽然具有避碰的功能,但是不能识别船舶,而且容易受天气、 海况及地形的影响;v i - i f 无线电话虽然可以进行船与船之间的通信,了解其他 船的信息和状态,但是由于是人工进行的,不可避免的存在信息交互效率较低、 难以及时沟通,同时操作者语言表达和沟通中存在的歧义和误解,使信息交换速 度慢且不规范,往往使得信息滞后,无法达到实时的信息交互。 & i s ( a u t o m a t i ci d e n t i f i c a t i o ns y s t e m ) t - v 是针对上述问题而发展的技术,m s 是 一个工作在v h f ( v e r yh i g hf r e q u e n c y ) 频段的自动识别系统。通过该系统,船只 可以向其他船只或是基站传输本船标识、位置、航线、速度等信息,同时接收其 他船只的信息,并且它能以比较高的频率来接收和发送数据,确保信息的实时交 互【1 1 ,a i s 的正确使用有助于加强海上生命安全、提高航行的安全性和效率,便 于对海洋环境进行保护。a i s 的主要功能包括识别船只、协助追踪目标、简化信 息交流、提供其它辅助信息以避免碰撞发生等。a i s 海事电台能够提供高精度的 定位手段、船舶全球唯一的编码m m s i ( m a r i n em o b i n es e r v ei d e n t i f i c a t i o n ) 码、自 组织时分多址接入的技术、电子海图等,大大加强了对船只定位的准确度。址s 加强了船舶间避免碰撞的措施,增强了雷达、船舶交通管理系统、船舶报告的功 能,在电子海图上显示所有船舶可视化的航向、航线、船名等信息,改进了海事 通信的功能,提供了一种与通过a s 识别的船舶进行语音和文本通信的方法,增 强了船舶的全局意识,使航海界进入了数字时代【2 】。 虚拟仪器是计算机化的仪器,一般是由计算机、功能硬件和应用软件组成。 它是在上个世纪9 0 年代出现的一种新型的测试仪器是计算机技术和仪器技术 深入结合的产物。虚拟仪器用计算机的显示器来模拟仪器的面板,将原来由硬件 第一章绪论 电路完成的信号处理功能用计算机软件来实现,这是虚拟仪器最大的特点【3 】。用 户在计算机上操作虚拟仪器就像操作实际的仪器一样方便的进行信号的采集、显 示、分析和处理。 虚拟仪器技术在世界范围内得到了快速的发展,以通用p c 作为主要平台的 虚拟测试系统,在日常的测试中发挥着越来越重要的作用。但是基于p c 的虚拟 仪器也存在着许多的不足,如:体积大、不坚固、可移动性差、不便于携带等问 题。随着嵌入式技术的发展,嵌入式处理器的性能得到了长足的发展,为虚拟仪 器的发展提供一个很好的方向。 1 2 课题意义 由于a i s 对船只的安全运行具有至关重要的作用,需要具有较强的稳定性。 但是在实际生产的过程中由于实际制板的误差、芯片焊接的质量、芯片本身、软 件设计等一系列的问题,可能导致最终的生产成品无法正常的工作,因此为了确 保a i s 的性能,并且在生产中能够实时的了解产品生产的质量,保证产品运行的 可靠性,需要设计与研发a i s 的测试系统来检测a i s 产品的性能,并且在测试 中对不合格产品给出相应的调试建议,方便找出不合格产品的不足并对其进行调 试。 本课题是在嵌入式开发平台上实现的a i s 硬件测试系统,它是以嵌入式作为 系统平台,因此其具有小巧、可携带等优良性能,大大克服了传统虚拟仪器的不 足,具有很好的发展前景。 1 3 本课题研究的主要内容 测试平台以a r m 和d s p 作为核心处理芯片,其中a r m 负责整体的控制 以及人机交互,d s p 负责激励信号的发生和反馈信号的分析。对a i s 电台的基 本测试包括电压测试,f p g a 模块测试,d s p 模块测试,模拟信号测试,串口测 试和射频信号测试。 本文详细介绍了测试系统中a r m 上的软件开发过程,主要包括嵌入式运行 环境的搭建、外围接口驱动设计、顶层人机交互界面设计、测试系统整体控制程 序和底层数据库开发。其中嵌入式运行环境的搭建包括运行环境选取、v i v i 移植 和v i 中t f t p 网络传输功能的添加;外围接口开发包括y r a g 下载器设计、j t a g 和e h p i 接口驱动设计;项层应用软件是根据测试系统的需求用m i n i g u i 设计人 机交互界面;底层数据库开发主要是用嵌入式s q l i t e 数据库对测试系统中的参考 2 第一章绪论 数据和测试结果进行管理。本文共分为七章: 第一章主要介绍本课题研究的背景和意义。 第二章介绍了测试平台的整体结构,测试的主要流程并对各个模块进行了简 单的介绍。 第三章介绍了系统运行环境的选取和构建,并且针对v i v i ( 系统引导程序) 的 不足,介绍了在v i v i 中增加t f t p 的功能的过程,实现了文件的网络传输。 第四章主要介绍了测试平台中接口驱动的设计,包括j t a g ( j o i n tt e s t a c t i o n g r o u p ) 接口驱动和e h p i 接口驱动,同时还介绍了j t a g 下载器的设计和实现。 第五章主要介绍了测试平台的顶层人机交互界面的设计。 第六章主要介绍了测试系统中各个测试部分设计和实现,主要包括电压测 试、f p g a 模块测试、d s p 模块测试、串口测试、模拟信号测试以及射频信号测 试,并且介绍了底层的s q l i t e 数据库的设计。 第七章是对全文的总结以及对未来工作的展望。 第二章m s 硬件测试系统概述 第二章a i s 硬件测试系统概述 在实际生产中,由于电路板制作、芯片焊接等原因,生产的船载a i s 电台可 能会出现问题,为了能够实时了解船载a i s 电台的性能,保证产品运行的可靠性, 对故障产品能够进行正确的诊断并提供基本的建议,于是设计了针对a i s 硬件平 台的测试系统,该测试系统主要是对船载a i s 电台的开发板硬件特性以及整体性 能进行测试。 2 1 船载m s 系统介绍 a i s 是由基站设施和船载设施共同组成,工作在v h f 频段,采用g m s k 调 制,利用s o t d m a ( 自组织时分多址接入) 协议进行船舶静态信息( 船名、船长和 型宽、船舶类型等) 、动态信息( 对地航向、对地航速、航首向、转向率、航行状 态等) 、以及航程信息( 船舶吃水、危险物品等) 等信息的接收和发送,从而实现船 舶自动识别的系统。在船舶行驶中,m s 系统对接收和发送的信息进行定时更新, 并通过显示器提醒驾驶者。 船载a i s 系统工作在v h f 的两个频道上:c h 8 7 b ( a i s l ,1 6 1 9 7 5 m h z ) 和c h 8 8 b ( a i s 2 ,1 6 2 0 2 5 m h z ) ,数据信息采用n i 逻i ( 非归零反转) 编码方式进行编码,采用 g m s k 进行调制,系统工作在2 5 k h z 或1 2 5 k h z 的带宽上,数据传输的速率是 9 6 k b p s 4 1 。系统可以在两个同样的信道上运行,用两个t d m a 接收机分别接收数 据。 船载a i s 硬件平台主要分为两个部分:基带电路和射频电路。其中基带电路 主要用于接收g p s 位置信号、用户指令,基带信号的处理等,并且将其他船只 的位置、速度等信息显示在屏幕上;射频电路主要完成射频信号的接收和发送等。 其结构如图2 i 所示。 卜b,a卜 射频基带 v 图2 1a i s 系统整体图 4 第二章a i s 硬件测试系统概述 基带电路是整个系统的基础,用d s p 与f p g a 作为核心处理芯片,其中f p g a 负责整体控制,包括串口指令的接收、人机交互控制、g p s 位置信息的接收、数 据接收发送、控制信号的产生等【5 1 。d s p 负责基带信号的发生和信号的调制解调。 基带电路如图2 2 所示。 a i s 目标板 2 2 测试系统介绍 图2 2 船载a i s 系统基带组成框图 为了确定生产的船载a i s 硬件是否能够正常工作,需要设计一个测试系统对 a i s 目标板的工作性能进行测试。该测试系统主要是针对a i s 的硬件及整体工作 情况进行测试,包括:电压测试、f p g a 模块测试、d s p 模块测试、串口测试、 模拟信号测试以及整体的射频信号测试。 2 2 1 测试系统的整体结构 测试系统的整体结构如图2 3 所示。a r m 和d s p 作为测试系统的核心处理 芯片,其中a r m 的主要作用是人机交互、整体测试的控制、测试结果的判定, d s p 主要负责数据采集、测试信号的产生、反馈信号的处理;l c d 和u s b 用于 人机交互;示波器和频谱仪分别用于对模拟信号和射频信号的测试;嵌入式的数 据库s q l i t e 用于对测试参考数据和测试结果数据的管理;串口和j t a g 下载器是 第二章a i s 硬件测试系统概述 测试系统和目标板的数据通信接口;a d c 用于电压信号的采集;s d r a m f l a s h 是d s p 的数据存储器;a r m 和d s p 之间通过e h p i 进行通信。测试系统中的 a r m 核心芯片采用的是三星公司的s 3 c 2 4 1 0 ,d s p 芯片采用的是t i 公司的5 5 0 9 系列产品,之所以采用以上芯片作为核心处理芯片,主要是因为之前已经对这两 种芯片有了基本的开发知识,且能够满足本课题的需求。 本文主要介绍的是a r m 上的软件开发,包括环境构建、v i v i 中t f r p 功能 的添加、m g 接口和e h p i 接口的驱动设计、j t a g 下载器的实现、m i n i g u i 顶层人机交互界面设计、测试整体控制部分设计以及底层数据库的开发。 测试系统m s 目标板 基带电路 圉; d s p g 冈 丹p l a s hp 7 ( 5 5 0 9 ) 1 u 1 反馈 1 f d s p t - i p i 之 2 丌a g 脚b e e t 竺pa r m 下载器 v 射频电路 习: ( 2 4 1 0 ) y r a g 卜 串口 f p g a 卤卤 2 2 2 测试流程 图2 - 3 测试平台整体框图 测试系统对船载a i s 硬件平台的测试包括:电压测试、f p g a 模块测试、d s p 模块测试、串口测试和射频信号测试。由于各个测试模块具有很强的相关性,需 要对各个模块进行有次序的测试。测试流程如图2 4 所示。 电压测试是整个测试的基础。如果a i s 电台的工作电压不正确,整个电台都 不能稳定工作,因此首先需要对a i s 电台的工作电压进行测试,其中包括整个 a i s 电台激励电源的电压以及主要芯片的激励电压。只有这些电压正常工作,才 能保障m s 电台正常工作。 测试系统通过j t a g 接口将测试程序传输到a i s 电台中的f p g a 芯片。而对 于a i s 电台中的d s p 芯片的测试程序需要通过f p g a 与d s p 之间的e h p i 接口 6 第二章a i s 硬件测试系统概述 进行传输如图2 3 所示,因此在进行d s p 模块测试之前必须先进行f p g a 模块 的测试。f p g a 模块测试包括f p g a 激励电压测试、激励时钟测试和f p g a 芯片 测试。 测试系统通过j t a g 接口将d s p 模块的测试程序数据下载进a i s 电台中的 f p g a 芯片,然后f p g a 通过e h p i 接口将测试程序写入d s p 的s r a m 中,d s p 从s r a m 中启动,运行相应的测试程序完成d s p 模块的测试。d s p 模块的测试 包括:激励电压的测试、激励时钟的测试、d s p 芯片、外部存储器的测试以及 灿c 2 3 的测试。 如果a i s 电台的基带电路测试正常,就可以对a i s 电台的射频电路进行测试。 在射频测试的过程中需要通过串口发送打开发射和接收通路的指令,因此在测试 射频信号之前需要测试串口是否正常工作。 2 2 3 测试方法 图2 4 测试流程图 对于电压测试,首先a r m 将电压测试指令发送给d s p ,d s p 接收到电压测 试指令后,对其进行解析确定是对哪个电压的测试,然后通过a d 转换器对相 应的电压进行采样,并把采样数据传输给a r m ,a r m 将采集的电压值与期望值 进行比较,从而判定电压值正确与否。 对于f p g a 的激励时钟测试,测试系统通过网络对示波器进行相应的配置, 然后用示波器对时钟信号进行采集,并通过网络读取测试时钟的频率信息,看其 是否与期望值一致,从而确定其是否正常。对于f p g a 芯片的测试,测试系统通 7 一 第二章a i s 硬件测试系统概述 过j t a g 接口将测试程序下载到f p g a 芯片的s r a m 中,f p g a 启动的时候执行 测试程序。f p g a 测试程序的作用是使得f p g a 特定引脚上产生相应的反馈信号, 测试系统接收反馈信号看其是否与期望相同,从而确定f p g a 芯片是否正常工 作。 对于d s p 芯片及其外围芯片的测试,测试系统通过y r a g 接口将测试程序下 载到a i s 电台的f p g a 芯片中运行,该程序中包括d s p 的e h p i 数据的读写时 序产生和d s p 运行所需要的测试程序数据。f p g a 通过e h p i 接口将d s p 的测 试程序下载到d s p 的s r a m 中,d s p 通过e h p i 启动,在特定的g p i o 端口上 输出反馈信号,测试系统通过接收该反馈信号并将其与期望进行比较,从而判断 d s p 模块是否正常工作。 对于串口的测试,测试系统通过j t a g 接口将串口测试程序下载进f p g a 芯 片中运行,该测试程序的作用是使f p g a 从串口接收数据并将接收的数据从串口 发送给测试系统。然后测试系统通过串口向a i s 电台发送数据并接收反馈数据。 最后测试系统将发送和接收到的数据进行比较,从而判断目标板的串口是否正常 工作。 模拟信号测试主要是实现激励信号的产生和信号失真度的测量。由于在许多 情况下测试系统需要产生一些标准的激励信号,用户在人机交互界面上对激励信 号的参数进行相应的设置,测试系统中的a r m 通过e h p i 接口将参数传递给 d s p ,d s p 根据接收到的参数,操作a i c 2 3 产生所需要的激励信号。失真度是 模拟信号纯正性的一个重要参考指标,测试系统中的a r m 通过网口读取示波器 中模拟信号的数据,然后通过e h p i 接口将数据传输给测试系统中的d s p ,d s p 对接收的数据进行失真度的计算,最后将计算结果反馈给a r m 。 对于射频信号的测试,测试系统通过串口将测试指令发送给目标板,打开发 射通路,然后通过网络控制频谱仪对发射信号的功率特征值进行采集,将采集数 据与期望值进行比较,从而判断其是否正确。 2 2 4a r m 开发平台简介 由于本文主要介绍的是a r m 上的软件开发,因此这里主要介绍一下a r m 开发平台。 本设计中a r m 处理器选用的是s a m s u n g 公司的$ 3 c 2 4 1 0 芯片,它是一款 3 2 位的r i s c 处理器,内核基于a r m 9 2 0 t ,支持m m u ( m e m o r ym a n a g e m e n tu n i t ) 功能,主频可以达到2 0 3 m h z ,采用的是a m b a ( a d v a n c e dm i c r o c o n t r o l l e rb u s a r c h i t e c t u r e ) 总线结构,最大寻址空间可达1 g b 支持各种引导方式,是低价格、 低功耗、高性能的微处理器。 第二章a s 硬件测试系统概述 s 3 c 2 4 1 0 包括a r m 9 t d m i 内核、m m u ( 存储管理单元) 和高速缓存。其中, a r m 9 2 0 t d m l 支持t h u m b 指令集,支持片上调试,采用了5 级流水线,及分开 的指令和数据寄存器,大大减少了每个时钟周期内需要完成的任务,提高了a r m 处理器的性能。m m u 主要是管理虚拟内存。高速缓存由独立的1 6 k b 的指令 c a c h e 和1 6 k b 的数据c a c h e 组成,用来缓存运行中的数据和地址信息【6 】。 $ 3 c 2 4 1 0 具有丰富的片上资源,能够满足本开发的需要,其主要资源: 1 6 k b 的指令c a c h e 和1 6 k b 的数据c a c h e 。 虚拟地址管理单元。 1 个l c d 控制器,支持s t n 和t t f 的液晶显示器。 2 个u s b 的主机接口,1 个u s b 设备接口。 2 通道的s p i 、3 通道的u 虹盯和4 通道的d m a 请求。 支持s d r a m 、s r a m 、c f 和n a n df l a s h 的无缝连接。 4 个具有p w m 功能的计时器和1 个内部时钟控制器。 1 1 7 个通用输入输出接口,2 4 路外部中断。 1 6 位的看门狗定时器和带有p l l 功能的片上时钟发生器。 1 0 1 0 0 m 的以太网接口 i e e e l l 9 4 1 j 1 a g 标准扫描接口。 s 3 c 2 4 1 0 系统将存储空间划分为8 组,每组的大小是1 2 8 m b ,其寻址空间可 达1 g b ,对于外部i o 设备的数据宽度可以是8 1 6 3 2 位,其中b a n k 0 到b a n k 5 的地址是固定的用于r o m 或是s r a m 的寻址,b a n k 6 和b a n k 7 这两个组可 编程且大小相同,b a n k 7 的开始地址是b a n k 6 的结束地址且是可以变动的。 s 3 c 2 4 10 采用n g c s 7 :0 来选择需要使用的b a n k 地址。 2 3 嵌入式软件开发概述 本文主要针对a r m 上的软件开发进行了详细的介绍,整体分为三个部分: 外围接口驱动开发、m i n i g u i 顶层人机交互界面设计、测试控制设计。外围接口 驱动开发主要是实现测试系统中a r m 与d s p 芯片之间的通信以及测试系统与 a i s 电台之间的通信,包括j 仉惦和e h p i 接口驱动开发。m i n i g u i 顶层人机交 互界面主要负责用户指令的接收、测试结果和建议的显示。测试过程控制主要是 根据不同的测试指令,采用不同的测试方法,实现相应模块的测试,同时还需要 对测试结果进行判定并给出测试建议。软件开发的主要流程如图2 5 所示。 9 第二章a i s 硬件测试系统概述 图2 5 嵌入式软件开发流程图 1 0 第三章嵌入式运行环境构建 第三章嵌入式运行环境构建 系统软件包括四个部分:一是引导加载程序;二是内核;三是文件系统;四 是用户应用程序。应用程序的运行是以前三个部分为基础的。因此在应用程序开 发之前需要构建运行环境。 3 1 运行环境选取 3 1 1b o o t l o a d e r ( 弓l 导加载程序) 选取 目前常用的引导加载程序主要是u b o o t 和v i v i 。其中u b o o t 是由开源项目 p p c b o o t 发展起来的,后来a r m b o o t 并入了p p c b o o t 并和其他一些开发平台的 引导合称为u b o o t 。其优点为:支持的面比较广,涵盖了大多数的硬件平台,功 能强大,提供了大量的外设驱动,支持多种文件系统,附带调试、脚本、引导等 工具,支持网络和u s b 传输,因而被广泛采用。但是它主要针对n o rf l a s h 启 动的系统,而n o rf l a s h 一般是小容量的存储器,对于大容量的n a n df l a s h 需要修改较多代码【7 1 。v i v i 是由韩国m i z i 公司开发的一种b o o t - l o a d e r ,适合于 a r m 9 处理器,支持3 c 2 4 1 0 x 处理器。其优点:支持大容量的n a n df l a s h 启动, 架构参考l i n u x 架构,比较容易操作,简洁精练,效率较高。缺点:只支持串口 传输,速度较慢。 综合考虑,最终选择v i v i 作为本设计的引导加载程序,但是鉴于其缺点,需 要在v i v i 中加入数据的网络传输功能。 3 1 2 内核选取 嵌入式操作系统除具备一般操作系统的基本功能,如任务调度、同步机制、 中断处理、文件处理等,还具有可卸载性、强实时性、固化代码、强稳定性等特 点。目前国内比较流行的嵌入式操作系统包括嵌入式l i n u x 、w m c e 等嵌入式操 作系统。嵌入式l i n u x 相对于w i n c e 操作系统的主要优点如下: ( 1 ) l i n u x 是开放源代码的,在价格上极具竞争力,并且具有众多的技术支持 者;而w m d o w sc e 是非开放性操作系统,使第三方很难实现产品定制,版权费 用较高。 第三章嵌入式运行环境构建 ( 2 ) l i n u x 的内核小、效率高;而w m c e 内核较大,占用较多的r a m ,应用 程序也比较庞大,相对效率比较低。 ( 3 ) l i n u x 的源代码比较容易得到,并且注释也比较丰富。 ( 4 ) l i n u x 内核是可以裁剪的,可以适用于不同的用户要求,而w i n c e 内核的 可裁剪性相对较型引。 嵌入式l i n u x 相对于v r m c e 操作系统来说也有一定的不足之处:l i n u x 操作 系统要求的开发难度较高,需要很高的技术实力并且核心调试工具不全,调试不 太方便,用户图形界面也相对较差。 综合以上的优缺点,根据项目的需要,选择l i n u x 操作系统作为开发系统。 3 1 3 文件系统选取 众所周知,在嵌入式环境下,系统的内存和外存资源都非常宝贵。如果使用 r a m d i s k 作为文件系统,在系统运行的时候需要将r a m d i s k 从外部的f l a s h 中全 部解压缩到内存中,构建r a m d i s k 文件系统。而c r a m f s 文件系统不需要在运行 的时候一次性的全部解压到内存,而是在实际使用的过程中,将要使用的部分实 时的解压到内存,这样就大大节约了内存资源【9 】。因此本设计采用c r a m f s 作为 平台的文件系统,同时在开发过程中为了方便开发,采用n f s 文件系统进行在 线调试。 3 2 运行环境构建 运行环境的构建是将b o o t l o a d e r 、内核和文件系统移植到相应的开发平台 上,由于篇幅的限制这里仅以b o o t 1 0 a d e r 的移植为例进行详细说明。 b o o t - l o a d e r 是在操作系统内核运行之前运行的一段小程序,是系统加电后运 行的第一段软件代码。通常,b o o t l o a d e r 的实现严重地依赖于硬件,特别是在 嵌入式系统中。通过开始运行的这段代码,可以初始化硬件设备、建立内存空间 的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终系统内核 准备好正确的运行环境。 3 2 1v i v i 基本结构 v i v i 是仿照l i n u x 系统的内核结构设计的,其配置界面和l i n u x 内核配置界 面相似,程序的组织与l i n u x 内核的程序组织一样,所以比较容易上手。其具体 文件组织如图3 1 : 1 2 第三章嵌入式运行环境构建 圈 一卜一卜一l 一一 白自由由由寓自 a r c h :包括了所有v i v i 支持的目标板的子目录,例如s 3 c 2 4 1 0 目录。 d r i v e r s :包括了引导内核需要的设备的驱动程序,比如:m t d 和串口。 i n i t :该目录中只有m a i n c 和v e r s i o n c 两个文件,v m 与普通的c 程序一样, 从m a i n 函数开始执行。 l i b :一些平台公共的接口代码,比如t i m e c 里的u d e l a y 0 和m d e l a y 0 ,l i b 提 供了整个v i v i 所共用的库函数 s c r i p t :提供配置界面的程序 i n c l u d e :头文件目录,其中的s 3 c 2 4 1 0 。h 定义了这块处理器的一些寄存器。 v m 在启动的时候分为两个部分,第一部分主要是完成与c p u 体系结构相 关的初始化代码,通常用汇编语言实现,以达到短小精悍的目的,其主要包括: 硬件设备初始化,为加载b o o t 1 0 a d e r 的第二部分准备r a m 空间,拷贝b o o t 1 0 a d e r 到r a m 空间中,设置好堆栈,跳转到第二部分的c 入口点;第二部分通常用c 语言来实现,这样可以实现较复杂的功能,而且代码会具有更好的可读性和可移 植性,其实现的功能主要包括初始化本阶段要使用到的硬件设备,检测系统内存 映射,将k e r n e l 映像和根文件系统镜像从f l a s h 读到r a m 空间中,为内核设 置启动参数,调用内核转到内核执行【1 0 1 。 3 2 2v i v i 移植过程 由于v i v i 是m i z i 公司为r m 2 4 1 0 设计的,因此不需要修改太多的东西, 主要是修改整体的编译文件和分区信息。 1 ) 修改m a k e f i l e 文件,指定交叉编译器的路径以及交叉编译库路径: a r c h := a r f f l 样指定运行平台是a r m 处理器 c r o s s c o m p i l e = u s r l o e a l a r m 2 9 5 3 b i n a r m - l i n u x - 存指定编译器 昌一 一由 镕= 章嵌 武运行h 境构建 l i n u xi n c l u d ed i r = f r i e n d l y a r 刊k e r n f f i n c l u d e # 指定编译的头文件 a r mg c cl i b s = u s r o o c a e a r m 29 53 f i b g c c l i b a r m - l m u x 29 53 2 ) 修改n a n d 的分区信息需要注意的是该分区信息必须与内核配置的分区 信息保持一致。 在修改完之后,在v i v i 的根目录中,采用指令# m a k e m e n u c o n f i g ,打开v i v i 的图形配置界面耐v i v i 进行配置,其配置如图3 - 2 所不。 图3 - 2 系统配置图 在对v i v i 进行适当的配置后,退出设置界面并保存配置信息,运行指夸: # m a k e ,对振码进行编译井生成v i v i 的二进制文什,谚文什就是b o o t l o a d e r 的可执行二进制文件。 323 v i v i 中t f t p 功能的添加 v i v i 源码只提供了串口的文件传输功能,其传输速度比较慢,尤其是进行较 大文件传输的时候在传输过程中还经常出现传输中断现象因此需要在v i v i 源码中增加t f t p 功能,提高文件的传输速率。 323 1t f t p 简介 t f r p 协议是用u d p 实现的简单的文件传输协议,小具有复杂的交互存取摇 u 和认证控制,适用于客户端和服务器之间不需要复杂交互的环境。t f r p 传输 第三章嵌入式运行环境构建 有三种模式:a - s c i i 码模式,主要用于传输文本文件:o c t e t 模式,8 位源数 据类型,主要用于程序文件传输;m a i l 模式,它将返回的数据直接返回给用户 而不是保存为文件,但是该模式现在已经不再支持。 t f l l p 传输首先由客户端发送一个读写文件请求,如果网络运行正常,且服 务器允许请求,那么服务器就发送一个应答包给客户端,打开连接,然后就以 5 1 2 字节的数据包进行传输,如果传输的数据包小于5 1 2 字节,就表示传输结束。 一方传输数据之后必须得到另一方的确认应答,如果没有应答则表示数据包在传 输过程中丢失,发出方会在超时后重新传输最后一个未被确认的数据包】。 现在的网络通信普遍采用的是t c p i p 协议,通常被认为是四层协议系统, 从下层向上依次为:网络接口层、网络层、传输层和应用层。册也符合这四 层协议。其对应关系如表3 1 所示。 表3 1 协议对应关系表 协议层 协议 应用层( a p p l i c a t i o n ) 传输层( t r a n s p o r t ) 网络层( i 玎:t c r n c t ) 网络接 1 层( n e t w o r k ) t f l l p u d p p a k p m a r p ( 其他1 因此椰数据包头包括本地媒介头,d 头,数据报头,t f t p 头,然后接 着就是数据。d 头中不指定任何数据,但是包括u d p 的源端口、目的端口以及 包长度。t f t p 头中用操作码来区别不同的包,其大小为2 个字节。t f t p 中共 有5 种不同的t 兀p 包:读请求包( r r q ) 、写请求包( w a q ) 、数据包( d a t a ) 、应 答包( a c k ) 和错误包( e r r r o r ) 。 3 2 3 2 网卡驱动移植 t f t p 传输用网络来传输数据,但是v i v i 源代码中并没有相应的网卡驱动, 因此需要在v i v i 中加入网卡驱动。本设计选用的网卡是c s 8 9 0 0 ,它是一种性能 优良的1 6 位以太网控制器,除了具有一般网卡芯片的基本功能之外,还具有功 耗低、独特的p a c k e t p a g e 结构,自动适应不同的网络通信模式、占用的系统资源 少、效率高并且高度集成等优势,特别适合做嵌入式设备的网络接口。 c s 8 9 0 0 网卡支

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论