




已阅读5页,还剩82页未读, 继续免费阅读
(计算机应用技术专业论文)多路雷达数据网络传输中的嵌入式应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川大学硕士学位论文 摘要: 多路雷达网络传输中的嵌入式应用研究 计算机应用技术专业 研究生:宋科指导教师:刘正熙 随着社会经济的发展,航空工业也取得了巨大的发展。由于空中飞行的航 空器数量越来越多,因此对地面的管制系统也提出了巨大的挑战。为了确保空 中交通的安全与畅通,空中交通管制系统必须能够准确及时的对空中的航空器 进行管理,引导它们正确的飞行。空中交通管制系统中由于需要在席位显示雷 达信息,因此就需要将雷达信号引接下来传送给雷达数据处理( r d p ) 机处理, 最后再传输给席位。 本文主要是讨论如何将数据传输给雷达数据处理机。现在许多的空管系统 中,通常是采用串口来传输雷达数据,但是采用串口传输有几个缺陷。首先串 口传输速率较慢,而采用网络传输的方法,可以加快传输速率,提高系统利用 率;其次利用串口传输需要大量的串口卡,这就使得了雷达数据处理机的接线 更加复杂,降低了硬件稳定性,如果利用网络接口来传输就使得整个系统接线 更加方便也增加了硬件的稳定性。 本文一共分为五个部分。首先第一部分是绪论,主要是对研究背景以及整 个系统的一个整体框架做一个简单的描述,也是为了便于下面的章节展开论 述。 第二部分主要是介绍a r m 处理器。因为我们主要是采用基于a r m 的嵌入式 平台来做的,因此有必要介绍一下a r m 相关的知识。在编写软件的时候除了编 写应用程序外,还包括对整个平台的初始化工作,以及异常处理等工作,所以 我们在本部分对a r m 的指令系统、异常处理、运行模式等做了相应的介绍。 【i i 川大学顽t 学位论文 接下来的第三部分足硬件平台的设计介绍,由于本人没有参加硬件的设 计,另外我f 时采用的开发板已经具备基本的硬件设备,只添加了少量的额外硬 件,所以对该部分的设计只做简单介绍,主要介绍了硬件的工作原理。 第四部分是软件设计部分,软件设计是整个系统一个比较关键的部分主要 包括系统初始化、网络接口驱动程序、h d l c 通道驱动程序以及系统的处理程序。 首先是系统初始化工作,主要包括对开发板的硬件设备初始化、设置异常 向量表、设置堆栈以及一些相关的寄存器等工作。 然后是网络接口驱动程序与h d l c 通道驱动程序,这两个驱动程序也是非 常关键的。我们主要就是通过h d l c 通道接收雷达数据,再通过网络接口传输, 因此要确保这两个驱动的稳定性。 系统的处理程序主要是移植了一个u i p 的协议栈,然后基于该协议栈实现 对雷达数据的i p 化。 最后第五部分对系统进行了总结和展望,总结了系统已经解决的一些问题 和需要改进的一些地方。 关键词:a r m 网络接口驱动h d l c 通道驱动u i p 2 四川大学硕士学位论文 t h ee m b e d d e d a p p l i c a t i o nr e s e a r c ho nt h en e t w o r k t r a n s m i s s i o no f t h em u l t i c h a n n e lr a d a rd a t a a b s t r a c t : m a j o r :c o m p u t e ra p p l i c a t i o nt e c h n o l o g y m a s t e rc a n did a t e :k e ,s o n g a d vis o t :z h e n gx i ,l i u w i t ht h er a p i dd e v e l o p m e n to ft h ee c o n o m y ,t h ea v i a t i o ni n d u s t r ya l s oo b t a i n s t h eh u g ed e v e l o p m e n t a l o n gw i t ht h eb o o m i n go f t h ei n f l i g h ta i r c r a f tq u a n t i t y ,t h e c o n t r o ls y s t e mo ft h eg r o u n da l s of a c e st ot h eh u g ec h a l l e n g e f o ri n s u r i n gt h ea i r t r a n s p o r t a t i o n s a f ea n du n i m p e d e d ,t h ea i rt r a f f i c c o n t r o l ( a t c ) s y s t e mm u s t a c c u r a t e l ym a n a g et h ea i r c r a f ti nt i m ea n dg u i d et h e i rr i g h tf l i g h t i nt h ea i rt r a f f i c c o n t r o ls y s t e m ,b e c a u s ew en e e ds h o wt h em d a ri n f o r m a t i o no n t ot h ec o m p u t e r s c r e e n , r a d a rs i g n a ln e e db er e c e i v e da n db ed e l i v e r e dt ot h em a c h i n ew h i c h p r o c e s s e st h er a d a rs i g n a la n db ed e l i v e r e dt ot h ec o m p u t e ra f t e rt h em a c h i n e s p r o c e s s t h i sp a p e rm a i n l yd i s c u s s e sh o ww ed e l i v e rt h ed a t at ot h em a c h i n ew h i c h p r o c e s s e sr a d a rs i g n a l n o wm a n ya t cs y s t e m sd e l i v e rt h er a d a rd a t at h r o u g ht h e s e r i a lp o r t ,b u tt h i sm e t h o de x i s t ss o m ed e f e c t s f i r s t ,t h es e r i a lp o r t 。ss p e e di ss l o w , d e l i v e r i n gt h ed a t at h o u g ht h en e t w o r kw i l li n c r e a s et h es p e e da n dr a i st h es y s t e m u t i l i z a t i o n ,s e c o n d ,i ft r a n s m i t t i n gt h r o u g hs e r i a lp o r te n a b l et h es y s t e mb e c o m e c o m p l i c a t e da n du n s t a b l e ,b u tt h r o u g ht h en e t w o r ki tw i l lb e c o m es i m p l ea n ds t a b l e t h i sp a p e ri sd i v i d e di n t of i v ep a r t st o t a l l y t h ef i r s tp a r ti sa ni n t r o d u c t i o n , a n d s i m p l yd e s e r i p t st h er e s e a r c h sb a c k g r o u n da n da f r a m e o f t h et h ew h o l es y s t e m t h es e c o n dp a r tm a i n l yi n t r o d u c t st h ep r o c e s s o ro f a r m w em a i n l ya d o p tt h e e m b e d d e dp l a tb a s e do nt h ea r m ,s ow es h o u l di n t r o d u c tt h ek n o w l e d g er e l a t e dt o t h ea r m w h e nw ew r i t et h es o f t w a r e ,e x c e p tt h ea p p l i c a t i o n ,w ea l s of i n i s ht h e 3 四川大学硕士学位论文 i n i t i a l i z eo ft h ep l a t ,t h eh a n d l e r so ft h ee x c e p t i o n s ,e t c ,s ow es i m p l yi n t r o d u c et h e a r m i n s t r u c t i o n ,e x c e p t i o nh a n d l i n ga n do p e r a t i o nm o d ei nt h i sp a r t n e x tt h et h i r dp a r ti st h ei n t r o d u c t i o no ft h eh a r d w a r e b e c a u s eid i d n ta t t e n d t h eh a r d w a r ed e s i g na n dt h e r ea r es o m eb a s i ch a r d w a r e so nt h ed e v e l o pb o a r d ,i l l s i m p l yi n t r o d u c et h ed e s i g na n dm a i n l yi n t r o d u c ep r i n c i p l eo f t h eh a r d w a r e t h ef o u r t hp a ni sa b o u tt h es o f t w a r ed e s i g n t h es o f t w a r ed e s i g ni n c l u d i n gt h e i n i t i a l i z eo ft h es y s t e m ,n e t w o r ki n t e r f a c ed r i v e r ,h d l cc h a n n e ld r i v e ra n ds y s t e m p r o c e s si sv e r yi m p o r t a n ti nt h ew h o l es y s t e m t h e 觚tw o r ki st h es y s t e mi n i t i a l i z a t i o nw h i c hi n c l u d e sh a r d w a r ei n i t i f l i z i n g s e t t i n gu pt h ee x c e p t i o nt a b l e ,s e t t i n gu pt h es t a c ka n do t h e rw o r ka b o u tt h e r e g i s t e r s s e c o n d ,w ef i n i s ht h en e t w o r ki n t e r f a c ed r i v e ra n dt h eh d l cc h a n n e ld r i v e r t h et w od r i v e r sa r ev e r yi m p o r t a n t t h es y s t e mm a i n l yr e c e i v e st h er a d a rd a t a t h r o u g ht h eh d l c c h a n n e la n ds e n d st h ed a t ao u tt h r o u g ht h en e t w o r ki n t e r f a c e ,s o w em u s tb es a l et h es t a b l i t yo f t h et w od r i v e r t h es y s t e mp r o c e d u r ei n c l u d e sap r o t o c ls t a c ka n da p r o c e d u r ew h i c hp r o c e s s t h er a d a rd a t ab a s e do nt h e p r o t o c ls t a c k t h el a s tf i f t hp a r tc a r r i e so nt h es u m m a r ya n do u t l o o kt ot h es y s t e m h i c o n c l u d es o m ep r o b l e m st h a tw ea l r e a d yr e s o l v e da n ds o m ep l a c e st h a tn e e db e i m p r o v e d k e y w o r d s :a r m n e t w o r ki n t e r f a c ed r i v e r , h d l cc h a n n e ld r i v e r , u l p 4 朋川大学硕士学位论文 1 绪论 1 1 研究背景 随着社会经济的不断发展,航空业也到了一个高速发展的时期。为了解决 空中交通迅速发嗫所引发的诸多问胚,空中交通管制系统( a t c ,a i rt r a f f i c c o n t r o l l e r ) 被提到了重要的位置。空中交通管制简称空管系统指对航空器的 空中活动进行管理和控制的业务,包括空中交通管制业务、飞行情报和告警业 务。它的任务是:防止航空器相撞,防止机场及其附近空域内的航空器同障碍 物相撞,维护空中交通秩序,保障空中交通畅通,保证飞行安全和提高飞行效 率。管制方法有程序管制和雷达管制【3 0 l 。 由此可见,空中交通管制系统在当今航空运输方面起着重要的作用。我们 提到管制方法有程序管制和雷达管制两种,但是两种方法制有着巨大的差别, 雷达管制相比程序管制来说,是一个巨大的进步。采用雷达管制可以增加单位 空域的有效利用率,有利于保持空中航路指挥顺畅,更有利于提高飞行安全率 和航班正常率。国外空中交通管制发达的国家已经全面实现了雷达管制,而我 国也正逐步实现雷达管制。 采用雷达管制方法就要求a t c 系统能够接收雷达数据,并对其进行相应 的处理以后加以显示。传统使用的方法是将雷达接收进来通过串口发送给雷达 数据处理机处理,但是一方面串口传输的速率较慢,另一方面利用串口传输需 要大量的串口卡,这就使得了雷达数据处理机( r b p ) 的接线更加复杂,降低 了硬件稳定性,因此我们就想到利用网络接口来传输数据,这样可以加快数据 的传输,提高系统利用率和实时性,同时使得整个系统接线更加方便也增加了 硬件的稳定性。 1 2 系统框架简介 本系统主要是采用一款基于三星公司$ 3 c 4 5 1 0 的开发板。该开发板采用 阴川大学硕 学位论文 a r m 7 的核,是一款良好的网络处理器。利用该开发板上的以太网控制器和 h d l c 控制器将符合h d l c 规程的同步数据在网络中传输。通过开发板上的 h d l c 通道接收同步数据,然后经过软件处理后形成网络数据包通过开发板上 的以太网接口传输给雷达数据处理机。整个系统的框图如下图1 1 所示,系统 中的数据处理程序是以t c p i p 为基础,做了部分修改。而整个系统中数据的 传输方向简图如图1 2 所示。 雷 达 多 路 雷 达 i 。j : 雷达接收及处理 图卜1 基于 酬的嵌入式设计框图 卜蒹_ 接口接口 一,l 席位 雷 达 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 一 1 庸付 数7 i 一: 据 n 矿 网络同圣鬈处 雷达数据接收 接口接口 理 及处理 压 ( $ 3 c 4 5 1 0 b ) 1 3 论文的结构安排 图1 - 2 整个系统中数据的传输方向简图 本文的结构安排如下: 第一章绪论。对整个系统做一个整体的介绍。 8 四川大学硕士学位论文 第二章对a r m 微处理器做一定的介绍由于本系统的开发是基于a r m 微处 理器核的,所以对它的结构及其编程模型需要一定的了解。 第三章讨论$ 3 c 4 5 1 0 b 的硬件组成,并简单论述了应用于本系统的硬件设 计,主要是网络接口的设计。 第四章对系统的软件设计做一个完整的说明。包括驱动程序的编写和以太 网协议的修改。 第五章总结全文,并对未来工作进行展望。 9 四川大学硕士学位论文 2a r m 微处理器概述及其编程模型 2 1 a r m 简介 a r m ( a d v a n c e dr i s cm a c h i n e s ) ,既可以认为是一个公司的名字,也可 以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 1 9 9 1 年a r m 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前, 采用a r m 技术知识产权( i p ) 核的微处理器,即我们通常所说的a r m 微处理器, 已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产 品市场,基于a r m 技术的微处理器应用约占据了3 2 位r i s c 微处理器7 5 以上 的市场份额,a r m 技术正在逐步渗入到我们生活的各个方面。 a r m 公司是专门从事基于r i s c 技术芯片设计开发的公司,作为知识产权供 应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的 芯片,世界各大半导体生产商从a r m 公司购买其设计的a r m 微处理器核,根据 各自不同的应用领域,加入适当的外围电路,从而形成自己的a r m 微处理器芯 片进入市场。目前,全世界有几十家大的半导体公司都使用a r m 公司的授权, 因此既使得a r m 技术获得更多的第三方工具、制造、软件的支持,又使整个系 统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。 采用r i s c 架构的a r m 微处理器一般具有如下特点;1 、体积小、低功耗、 低成本、高性能;2 、支持t h u m b ( 1 6 位) a r m ( 3 2 位) 双指令集,能很好的 兼容8 位1 6 位器件;3 、大量使用寄存器,指令执行速度更快;4 、大多数数 据操作都在寄存器中完成:5 、寻址方式灵活简单,执行效率高;6 、指令长度 固定。 2 2 a r m 微处理器系列 a r m 微处理器目前包括a r m 7 、a r m 9 、a r m 9 e 、a r m i o e 、s e c u r c o r e 、i n t e i l o 四川大学硕士学位论文 的x s c a l e 和i n t e l 的s t r o n g a r m 几个系列,以及其它厂商基于a r m 体系结构 的处理器,除了具有a r m 体系结构的共同特点以外,每一个系列的a r m 微处理 器都有各自的特点和应用领域。 其中,a 跳7 、a r m 9 、a r m g e 和a r m i o 为4 个通用处理器系列,每一个系列 提供一套相对独特的性能来满足不同应用领域的需求。s e c u r c o r e 系列专门为 安全要求较高的应用而设计。 由于本系统采用的$ 3 c 4 5 1 0 b 开发板是基于a r m 7 微处理器,所以以下我们 来详细了解一下该处理器的特点。 2 2 1 a r m 7 微处理器系列 a r m 7 系列微处理器为低功耗的3 2 位r i s c 处理器,最适合用于对价位和功 耗要求较高的消费类应用。a r m 7 微处理器系列具有如下特点: 具有嵌入式i c e r t 逻辑,调试开发方便。 , 极低的功耗,适合对功耗要求较高的应用,如便携式产品。 能够提供0 9 m i p s 慨z 的三级流水线结构。 代码密度高并兼容1 6 位的t h u m b 指令集。 对操作系统的支持广泛,包括w i n d o w sc e 、l i n u x 、p a l mo s 等。 指令系统与a r m 9 系列、a r m 9 e 系列和a r m i o e 系列兼容,便于用户的产 品升级换代。 主频最高可达1 3 0 m i p s ,高速的运算处理能力能胜任绝大多数的复杂应 用。 a r m 7 系列微处理器的主要应用领域为:工业控制、i n t e r n e t 设备、网络 和调制解调器设备、移动电话等多种多媒体和嵌入式应用 a r m 7 系列微处理器包括如下几种类型的核:a r m 7 t d m i 、a r m 7 t r m i s 、 a r m 7 2 0 t 、a r m t e j 。其中,a r m 7 t m i ) i 是目前使用最广泛的3 2 位嵌入式r i s c 处 理器,属低端a r m 处理器核。t d m i 的基本含义为: t :支持1 6 位压缩指令集t h u m b : d :支持片上d e b u g : 四川i 大学硕士学位论文 m :内嵌硬件乘法器( m u l t i p l i e r ) i :嵌入式i c e ,支持片上断点和调试点; 2 3 a r m 微处理器结构 2 3 1 a r m 的体系结构 a r m 摒弃了传统的c i s c 架构,采用的是r i s e ( r e d u c e di n s t r u c t i o ns e t c o m p u t e r ,精简指令集计算机) 架构。r i s c 架构优先选取使用频率最高的简单 指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控 制逻辑为主,不用或少用微码控制等措施来达到上述且的。 a r m 体系结构中除了具有r i s c 架构的特点以外还采用了一些特别的技术, 在保证高性能的前提下尽量缩小芯片的面积,并降低功耗: 一所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令 的执行效率。 一可用加载存储指令批量传输数据,以提高数据的传输效率。 一可在一条数据处理指令中同时完成逻辑处理和移位处理。 一在循环处理中使用地址的自动增减来提高运行效率。 2 3 2 a r m 微处理器的寄存器结构 a r m 处理器共有3 7 个寄存器,被分为若干个组( b a n k ) ,这些寄存器包括: 3 1 个通用寄存器,包括程序计数器( p c 指针) ,均为3 2 位的寄存器和6 个3 2 位的状态寄存器,用以标识c p u 的工作状态及程序的运行状态。 同时,a r m 处理器又有7 种不同的处理器模式,在每一种处理器模式下均 有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器 包括1 5 个通用寄存器( r o r 1 4 ) 、一至二个状态寄存器和程序计数器。在所 有的寄存器中,有些是在7 种处理器模式下共用的同一个物理寄存器,而有些 寄存器则是在不同的处理器模式下有不同的物理寄存器。 1 2 四川大学硕士学位论文 2 3 3 a r m 徽处理器的指令结构 a r m 7 t d m i 微处理器核支持两种指令集:a t l m 指令集和t h u m b 指令集。其中, a r m 指令( 在a r m 状态下) 为3 2 位的长度,t h u m b 指令( 在t h u m b 状态下) 为 1 6 位长度t h u m b 指令集为a r m 指令集的功能子集,但与等价的a r m 代码相比 较,可节省3 0 4 0 以上的存储空间,同时具备3 2 位代码的所有优点。 2 4 a r m 微处理器的编程模型 从编程的角度看,a r m 微处理器的工作状态一般有两种,a r m 状态和t h u m b 状态,并可在两种状态之间切换。由于我们的系统主要工作在a r m 状态,所以 对t h u m b 状态不需要过多的关心需要指出的是所有的异常处理郡在a r m 状态下 执行,如果在t h u m b 状态下发生异常也会转换到a r m 状态下执行异常处理操作, 处理完成后自动返回到a r m 状态。 a r m 体系结构将存储器看作是从零地址开始的字节的线性组合。作为3 2 位 的微处理器,a r m 体系结构所支持的最大寻址空间为4 g b ( 2 ”字节) a r m 体系 结构可以用两种方法存储字数据,称之为大端格式和小端格式i 卯。 a i i m 微处理器中支持字节( 8 位) 、半字( 1 6 位) 、字( 3 2 位) 三种数据类 型,其中,字需要4 字节对齐,半字需要2 字节对齐、字节没有对齐要求,可以 被放置在任何边界。 2 4 1 处理器操作模式 a r m 微处理器支持7 种运行模式,分别为: 用户模式( u s r ) :这是a r m 处理器通常的程序执行状态,主要用于执 行应用程序 快速中断模式( f i q ) ;用于数据传输或通道处理 外部中断模式( i r q ) :用于通用的中断处理 四川大学硕士学位论文 管理模式( s v e ) :这是用于操作系统使用的保护模式 数据访问终止模式( a b t ) :当数据或指令预取终止时进入该模式 系统模式( s y s ) :用于操作系统运行具有特权的任务。 未定义指令中止模式( u n d ) :当未定义的指令执行时进入该模式 大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某 些被保护的系统资源是不能被访问的。 除用户模式以外,其余的6 种模式统称为特权模式( p r i v i l e g e dm o d e s ) , 常用于处理中断、异常以及访问受保护的系统资源。 2 4 2 寄存器 a r m 微处理器共有3 7 个3 2 位寄存器,其中3 1 个为通用寄存器,6 个为状态寄 存器。但是这些寄存器不能被同时访问,处理器状态和操作模式决定了哪些寄 存器是对程序员可见的。但在任何时候,通用寄存器r 1 4 r o 、程序计数器p c 、 一个或两个状态寄存器都是可访问的。 2 4 2 1 a r m 状态下的寄存器 a r m 状态下有1 6 个可以直接访问的寄存器r o r 1 5 。 对于r o r 1 3 用着通用的寄存器,用于保存地址值或者是数据值。r 1 4 用着 程序连接寄存器【1 8 1 ,r 1 5 用着程序记数器。 另外需要指出的是采用以下的记号来区分不同的物理寄存器r 1 3 和r 1 4 : r 1 3 r 1 4 _ 其中,m o d e 为以下几种模式之一:u s r 、f i q 、i r q 、s v c 、a b t 、u n d 。 寄存器r 1 3 在a r m 指令中常用作堆栈指针。由于处理器的每种运行模式均有 自己独立的物理寄存器r 1 3 ,在用户应用程序的初始化部分,一般都要初始化 每种模式下的r 1 3 ,使其指向该运行模式的栈空间,这样,当程序的运行进入 异常模式时,可以将需要保护的寄存器放入r 1 3 所指向的堆栈,而当程序从异 1 4 四川大学硕士学位论文 常模式返回时,则从对应的堆栈中恢复,采用这种方式可以保证异常发生后程 序的正常执行。 r 1 4 也称作子程序连接寄存器( s u b r o u t i n el i n kr e g i s t e r ) 或连接寄存 器l r 。当执行b l 子程序调用指令时,r 1 4 中得至u r l 5 ( 程序计数器p c ) 的备份。 其他情况下,r 1 4 用作通用寄存器。与之类似,当发生中断或异常时,对应的 分组寄存器r 1 4 一s v c 、r 1 4 _ i r q 、r 1 4 一f i q 、r 1 4 _ a b t 和r 1 4 _ u n d 用来保存r 1 5 的返 回值。 寄存器r 1 4 常用在如下的情况: 在每一种运行模式下,都可用r 1 4 保存子程序的返回地址,当用b l 或b l x 指 令调用子程序时,将p c 的当前值拷贝给r 1 4 ,执行完子程序后,又将r 1 4 的值拷 贝回p c ,即可完成子程序的调用返回。以上的描述可用指令完成: 1 、执行以下任意一条指令: m o vp c ,l r b xl r 2 、在子程序入口处使用以下指令将r 1 4 存入堆栈: s t m f ds p ! , ,l r 对应的,使用以下指令可以完成子程序返回: l d m f ds p ! 。 ,p c j r 1 4 也可作为通用寄存器。 程序计数器p c ( r 1 5 ) : 寄存器r 1 5 用作程序计数器( p c ) 。在a m 状态下,位 1 :o 为0 ,位 3 1 :2 用于保存p c ;在t h u m b 状态下,位 0 为0 。位 3 1 :1 用于保存p c :虽然可以用 作通用寄存器,但是有一些指令在使用r 1 5 时有一些特殊限制,若不注意,执 行的结果将是不可预料的。在a r m 状态下,p c 的0 和1 位是0 ,在t h u m b 状态下, p c 的0 位是0 。 r 1 5 虽然也可用作通用寄存器,但一般不这么使用,因为对r 1 5 的使用有一 些特殊的限制。当违反了这些限制时程序的执行结果是未知的。 由于a r m 体系结构采用了多级流水线技术,对于a r m 指令集而占,p c 总是 指向当前指令的下两条指令的地址,即p c 的值为当前指令的地址值加8 个字 四川大学硕士学位论文 节。 图2 - ia r m 状态下的寄存器组织 上面提到在a r m 状态下可以访问1 6 个通用寄存器,这是在用户模式下,在 特权模式下则可访问到备份的程序状态寄存器( s p s r ) 。 2 - i l l s l 说明在每一 种运行模式下,哪一些寄存器是可以访问的。 当前程序状态寄存器: c p s r ( c u r r e n tp r o g r a ms t a r e sr e g i s t e r ,当前程序状态寄存器1 可在任何运行 模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位,以 及其他一些相关的控制和状态位。 每一种运行模式下又都有一个专用的物理状态寄存器,称为s p s r ( s a v e d p r o g r a ms t a t u sr e g i s t e r ,备份的程序状态寄存器) 。当异常发生时,s p s r 用于保存c p s r 的当前值,从异常退出时则可由s p s r 来恢复c p s r 。 由于用户模式和系统模式不属于异常模式,他们没有s p s r ,当在这两种模 式下访问s p s r ,结果是未知的 四j i i 大学硕士学位论文 程序状态寄存器( c p s r 和s p s r s ) 的每一位的安排如图2 2 t 1 8 1 所示: 图2 - 2 程序状态寄存器格式 条件码标志( c o n d j t i o nc o d ef i a g s ) n 、z ,c 、v 均为条件码标志位。它们的内容可被算术或逻辑运算的结果所 改变,并且可以决定某条指令是否被执行。 在a r m 状态下,绝大多数的指令都是有条件执行的 在t h u m b 状态下,仅有分支指令是有条件执行的。 条件码标志各位的具体含义如表2 - 1 所示: 1 7 四川大学硕士学位论文 表2 - 1条件码标志的具体含义 标志含义 位 n 当_ j 曲个补码表不的帝研号数进:f i x 算时,n = l 表不您算的结果为负数; n = o 表示运算的结果为正数或零: z z - t 表示运算的结果为零:z = o 表不运算的结果力1 f 罨: c 可以有4 种方法设置c 的值: 一加法运算( 包括比较指令c m n ) :当运算结果产生了进位时( 无符号数 溢出) ,c = l ,否则c = o 。 一减法运算( 包括比较指令c m p ) :当运算时产生了借位( 无符号数溢出) , c = o ,否则c = 1 一对于包含移位操作的t i ! n 减运算指令c 为移出值的最后一位。 一对于其他的非加减运算指令,c 的值通常不改变。 v 可以有2 种方法- 攻置v 的值: 一对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带 符号数时。y = l 表示符号位溢出。 一对于其他的非加减运算指令,v 的值通常不改变。 q 在k r i , tv 5 及以上版本的e 系列处理器中,用q 标志位指示增强的b s p 运 算指令是否发生了溢出。在其他版本的处理器中,q 标志位无定义。 控制位 p s r 的低8 位( 包括i 、f 、t 和me 4 :0 ) 称为控制位,当发生异常时这些位 可以被改变。如果处理器运行特权模式,这些位也可以由程序修改。 一中断禁止位i 、f : i = 1 禁止i r q 中断: f = i 禁止f i q 中断 一t 标志位:该位反映处理器的运行状态。 对于a r m 体系结构v 5 及以上的版本的t 系列处理器,当该位为l 时,程序运 行于t h u m b 状态,否则运行于a r m 状态。 对于a r m 体系结构v 5 及以上的版本的非t 系列处理器,当该位为l 时,执行 下一条指令以引起为定义的指令异常;当该位为0 时,表示运行于a r m 状态。 一运行模式位m e 4 :0 :m o 、m 1 、m 2 、m 3 、m 4 是模式位。这些位决定了处 理器的运行模式。具体含义如表2 2 所示: 四川大学硕士学位论文 表2 - 2运行模式位m 4 :0 】的具体含义 m 4 :0 处理器模式可访问的寄存器 o b l 0 0 0 0 用户模式 p c ,c p s r r o r 1 4 o b l 0 0 0 1 f i q 模式p c ,c p s r ,s p s rf i q ,r 1 4f i q r 8 一f i q ,r t r o 0 b i 0 0 1 0i r q 模式 p c ,c p s r s p s r _ i r q ,r 1 4 _ i r q ,r 1 3 一i r q ,r 1 2 r o o b l 0 0 1 i管理模式p c ,c p s r s p s rs v c ,r 1 4 一s v c ,r 1 3 一s v c ,r 1 2 r o , 0 b 1 0 1 1 1中止模式 p c ,c p s r ,s p s r a b t ,r 1 4 一a b t ,r 1 3 一a b t ,r 1 2 r o , 0 b 1 1 0 1 1未定义模式p c tc p s r ,s p s r _ u n d 。r 1 4 _ u n d ,r 1 3u n d ,r 1 2 r o , 0 b l l l l l 系统模式 p c ,c p s r ( a r mv 4 及以上版本) 。r 1 4 r o 如果是无效的模式位值( 即不是表2 2 中的组合) 会导致处理器进入一个 不可恢复的状态。 保留位 p s r 中的其余位为保留位,当改变p s r 中的条件码标志位或者控制位时,保 留位不要被改变,在程序中也不要使用保留位来存储数据。保留位将用于a r m 版本的扩展。 2 4 3 异常( e x c e p t i o n s ) 当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外 部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处 理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将 会按固定的优先级( 表2 6 所示) 进行处理。 2 4 3 i a r m 体系结构所支持的异常类型 a r m 体系结构所支持的异常及具体含义如表2 3 所示。 1 9 四川大学硕士学位论文 表2 3a 跚体系结构所支持的异常 异常类型具体含义 复位当处理器的复位电平有效时,产生复位异常,程序跳转到复位 异常处理程序处执行。 未定义指令当a r m 处理器或协处理器遇到不能处理的指令时,产生未定义 指令异常。可使用该异常机制进行软件仿真。 软件中断该异常由执行s w i 指令产生,可用于用户模式下的程序调用特 权操作指令可使用该异常机制实现系统功能调用。 指令预取中止若处理器预取指令的地址不存在,或该地址不允许当前指令访 问,存储器会向处理器发出中止信号,但当预取的指令破执行 时,才会产生指令预取中止异常。 数据中止若处理器数据访问指令的地址不存在,或该地址不允许当前指 令访问时。产生数据中止异常。 i r o ( 外部中断请当处理器的外部中断请求引脚有效,且c p s r 中的i 位为0 时, 求) 产生i r q 异常。系统的外设可通过该异常请求中断服务。 f i q ( 快速中断请当处理器的快速中断请求引脚有效,且c p s r 中的f 位为0 时, 求)产生f i q 异常。 每个异常发生的时候系统都会自动的跳到相应的异常向量地址处执行,异 常向量表如表2 4 【1 8 】所示: 表2 - 4 异常向量表 地址异常 进入模式 o x 0 0 0 0 ,0 0 0 0复位管理模式 o x 0 0 0 0 ,0 0 0 4 未定义指令 未定义模式 o x 0 0 0 0 0 0 0 8软件中断管理模式 o x 0 0 0 0 0 0 0 c中止( 预取指令) 中止模式 o x 0 0 0 0 ,0 0 1 0 中止( 数据) 中止模式 o x 0 0 0 0 ,0 0 1 4 保留保留 o x 0 0 0 0 ,0 0 1 8 i r qi r o o x 0 0 0 0 ,0 0 1 c f i q f i o 2 4 3 2 异常的进入 当一个异常出现以后,a r m 微处理器会执行以下几步操作( 注:只讨论a r m 状态下的情况) : 1 、将下一条指令的地址存入相应连接寄存器l r ,以便程序在处理异常返 四川大学硕士学位论文 回时能从正确的位置重新开始执行。l r 寄存器中保存的是下一条指令的地址 ( 当前p c + 4 或p c + 8 ,与异常的类型有关) 。这样,当进入异常的时候异常处 理程序就不需要确定是何种状态。例如:在软件中断异常s w l ,指令m o vp c , r 1 4 _ s v c 总是返回到下一条指令,不管s w i 是在a r m 状态执行,还是在t h u m b 状态 执行。 2 、将c p s r 复制到相应的s p s r 中。 3 、根据异常类型,强制设置c p s r 的运行模式位。 4 、强制p c 从相关的异常向量地址取下一条指令执行,从而跳转到相应的 异常处理程序处。 还可以在中断处理的时候,设置中断禁止位,以禁止其他的嵌套异常。 2 4 3 3 从异常返回 异常处理完毕之后,a r m 微处理器会执行以下几步操作从异常返回【5 , 1 8 1 : 1 、将连接寄存器l r 的值减去相应的偏移量后送n p c 中。 2 、将s p s r 复制回c p s r 中。 3 、若在进入异常处理时设置了中断禁止位,要在此清除。 可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处 理程序不需要返回。 表2 5 总结了进入异常处理时保存在相应r 1 4 中的p c 值,及在退出异常 处理时推荐使用的指令。 2 l 四川大学硕士学位论文 表2 - 5 异常进入退出( a r m 状态下) 异常 返回指令以前状态注意 ( r 1 4g ) 跳转( b l ) m o vp c ,r 1 4p c + 4l s w i 指令 矾0 v sp c 。r 1 4s v cp c 4 - 4l 未定义指令 m o v sp c ,r 1 4 _ u n dp c + 4l ( u d e f ) 预取终止 s u b sp c ,r 1 4 _ a b t ,#p c + 4l 4 快速中断( f i q ) s u b sp c ,r 1 4 _ f i q ,#p c + 42 4 中断( i r q )s u b sp c ,r 1 4 一i r q ,#p c + 42 4 数据终止( d a b t ) s u b s p c ,r 1 4 曲t ,#p c + 83 8 重启( r e s e t ) n a4 注意: 1 、p c 应是具有预取中止的b l s w l 未定义指令所取的地址。 2 、p c 是从f i o 或i r q 取得不能执行的指令的地址。 3 、p c 是产生数据中止的加载或存储指令的地址。 4 ,系统复位时,保存在r 1 4 _ s v c 中的值是不可预知的。 2 4 3 4 异常优先级( e x c e p t i o np r i o r i t i e s ) 当多个异常同时发生时,系统根据固定的优先级决定异常的处理次序。异 常优先级由高到低的排列次序如表2 6 所示。 表2 - 6 异常优先级 优先级异常 l ( 最高) 复位 2数据中止 3 f i q 4 i r o 5 预取指令中止 6 ( 最低)未定义指令、s w l 四川大学硕士学位论文 2 4 3 5 应用程序中的异常处理 。 当系统运行时,异常可能会随时发生,为保证在a r m 处理器发生异常时不 至于处于未知状态,在应用程序的设计中,首先要进行异
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年份考试题及答案
- 中外建筑交流知到智慧树答案
- 高级养老护理员考试题及答案
- 高血压用药测试题(带答案)
- 2025短期借款合同印花税减免政策与影响分析
- 2025年度餐饮企业特色食材种植合作合同范本协议范本
- 2025版养老产业合作设立智能化养老社区公司合同
- 2025版微信公众号公众号内容推广效果监测服务合同
- 2025年度建筑幕墙硅酮胶采购与施工监督合同
- 2025年度知识产权许可纠纷违约民事起诉状范本
- GB/T 44977-2024卫星导航定位基准站网终端定位服务安全技术规范
- 物业管理的风险管控
- 人教PEP版五年级上册英语全册教案(6个单元整体教学设计)
- S7-200 SMART应用教程2版习题答案 高职SMART习题答案
- 人教版数学八年级上册《全等三角形》单元测试题附答案
- 2023-2024学年沪科版(2019)高中信息技术必修一3.2《解决温标转换问题-认识程序和程序设计语言》教案
- 专升本计算机教学课件-第一章-计算机基础知识(2023新版大纲)
- DB3502T 090-2022 居家养老紧急事件应急助援规范
- 合作共享协议书
- 投标财务状况承诺书范本
- 2024年全国中学生数学奥林匹克竞赛甘肃赛区预赛试题
评论
0/150
提交评论