(通信与信息系统专业论文)基于vme总线的sharc数据采集扩展板的设计与实现.pdf_第1页
(通信与信息系统专业论文)基于vme总线的sharc数据采集扩展板的设计与实现.pdf_第2页
(通信与信息系统专业论文)基于vme总线的sharc数据采集扩展板的设计与实现.pdf_第3页
(通信与信息系统专业论文)基于vme总线的sharc数据采集扩展板的设计与实现.pdf_第4页
(通信与信息系统专业论文)基于vme总线的sharc数据采集扩展板的设计与实现.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(通信与信息系统专业论文)基于vme总线的sharc数据采集扩展板的设计与实现.pdf.pdf 免费下载

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

文档简介

哈尔滨工程大学硕士学位论文 摘要 当前,信号处理的一个明显特征是数字信号处理( d s p ) 技术的大量采用。 在现代数字信号处理技术中,并行处理由于蕴含着提高处理速度和解决大规 模问题的巨大潜力,已经成为这一领域的一个发展重点。由于数据传输和分 配的速度常常不能与数字信号处理系统楣匹配而成为实时信号处理的瓶颈, 因此解决这一问题已成为充分发挥高速数字信号处理潜力的一个关键。 本设计的目的在于为一套s h a r c 并行处理阵列机提供高速的数据通道, 使其能与模拟信号采集模块进行实时的数据传输。 本设计中采用了当前国际上先进的并行浮点d s p 器件a d s p 2 1 0 6 0 ( s h a r c ) :笛片,设计和实现了一个基于v m e 总线的数据采集扩展系统。该系统为s h a r c 并行阵列处理机和模拟信号采集模块之间提供了高速数据传输通道。本设计 提供了6 个l i n k 口进行数据传输,与s h a r c 阵列机有多种连接方式,能适应 不同的算法要求;本系统有能力对模拟信号采集模块提供的数据进行预处理 和一定量的运算;考虑到不同算法所需要的信号处理时间不同,为了保证不 丢失实验数据,本系统可以进行一定量的数据存储。 本论文主要研究内容包括:1 数据采集扩展系统的研制。其中包括板子 的总体设计,原理图设计、电路板设计,电路板焊装与调试。2 采用f p g a 器件,并利用v h d l 语言完成各部分逻辑接口的设计和对数据采集的控制。 3 s h a r c 芯片的调试。既包括s h a r c 的引导程序编写,也包括通过l i n k 口进 行数据的传输和读写操作。 关键词:v m e ;s t a r c ;数据采集 哈尔滨工程大学硕士学位论文 a b s t r a c t t o d a y ,d s p ( d i g i t a ls i g n a lp r o c e s s i n g ) t e c h n o l o g yh a sb e e nw i d e l yu s e di n t h ef i e l do f s i g n a lp r o c e s s i n g t h ep a r a l l e lp r o c e s s i n gt e c h n o l o g y h a st h ep o t e n t i a l t h a ti tc a i lg r e a t l yr a i s et h ep r o c e s s i n gr a t ea n ds o l v et h el a r g e - s c a l ep r o b l e m ,s oi t h a sb e e na ne m p h a s i si nt h ed e v e l o p i n go fm o d e r n d i g i t a ls i g n a lp r o c e s s i n g i ti sa p i t yt h a td a t at r a n s m i s s i o ns p e e d c a n tm a t c ht h eh i g hs p e e do f p r o c e s s i n g s ot h e k e yo ff u l l yu s i n gt h ea d v a n t a g e so f d s p t e c h n o l o g yi st os o l v et h et r a n s m i s s i o n p r o b l e m s t h i sd e s i g nc a l lp r o v i d ea h i g h s p e e dp a t ht oa s e to fs h a r cp a r a l l e la r r a y p r o c e s s o r b e t w e e nt h i s p a r a l l e lp r o c e s s o r a n da na n a l o g s i g n a la c q u i s i t i o n m o d u l e ,t h ed e s i g n e ds y s t e mc a n r e a l i z er e a lt i m et r a n s m i s s i o n i nt h i sp a p e r , ad a t aa c q u i s i t i o ns y s t e mb a s e do nv m eb u si sd e s i g n e da n d c o m p l e t e d ,w h i c hh a sa d o p to n ea d s p 2 1 0 6 0 ( s h a r c ) c h i p w h i c hi so n eo ft h e m o s ta d v a n c e dp a r a l l e ld s pd e v i c e sn o w t h i ss y s t e mc o l l e c t sa n dt r a n s m i t sd a t a f o rt h es h a r cb yu s i n gl a r g es c a l ef p g aa n dv h d lh a r d w a r ed e s c r i p t i v e l a n g u a g et od e s i g nt h e i n t e r f a c el o g i c ,i ti sv e r yf l e x i b l et o a d a p tt o v a r i o u s p a r a l l e la l g o r i t h m s i nt h i sp a p e r , t h em a i nw o r k sa r ea sf o l l o w s :1 ad a t aa c q u i s i t i o ns y s t e mh a s b e e n d e v e l o p e d 2 b yu s i n g f p g aa n dt h ev h d lh a r d w a r ed e s c r i p t i v el a n g u a g e , t h ei n t e r f a c el o g i cb e t w e e nt h ea n a l o gs i g n a la c q u i s i t i o nm o d u l ea n dt h ei n t e r f a c e o fs h a r ci sd e s i g n e da n dr e a l i z e d 3 t h ed a t ar e a d i n g ,w r i t i n ga n db o o tl o a d e r o fs h a r c c h i p h a v e b e e nd e b u g g e d k e yw o r d s :v m e ;s h a r c ;d a t a a c q u i s i t i o n 哈尔滨: 程大学硕士学位论文 1 1引言 第1 章绪论 数据采集技术是一项基本的实用性技术,它被广泛应用于图像处理、语 音信号分析和瞬态信号分析等众多领域。目前不同性能指标的通用或专用的 数据采集系统,在各种领域中随处可见。但是,由于成本或技术开发等众多 因素的影响,一般的数据采集系统其速度和通道数不能满足一些特殊领域的 测试要求,因此常常需要根据具体的需求来设计专用的数据采集系统。 当前,信号处理的一个明显特征就是大量采用数字信号处理( d s p ) 技术。 数字信号处理相对于模拟信号处理有着很大的优越性,表现在精度高、灵活 性大、可靠性好、易于大规模集成等方面。随着人们对实时信号处理要求的 不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日 新月异的变革。在水声领域中无论成像声纳,水声数据通讯还是目标识别都 需要大量实时的d s p 运算。现代数字信号处理技术包括大量算法,大多数 场合都是以变换技术、相关卷积技术和一些线性算法为手段,具有高吞吐率、 大数据量和存储量的特点,并且经常要求实时处理。值得庆幸的是,这些处 理算法大多具有规则性、重复性和局部性的特点,非常适合采用v l s i ( 超 大规模集成电路) 阵列信号处理机进行处理。要达到实际应用中所要求的实 时处理速度,必须从改进计算的体系结构入手,改变过去的串行处理方式为 并行处理方式。并行处理是一种有效的强调开发计算过程中并行事件的信息 处理方式。由于并行处理蕴含着提高处理速度和解决大规模问题的巨大潜 力,并行信号处理已成为现代数字信号处理的个重要特点。 1 2d s p 芯片概述 d s p 是d i g i t a ls i g n a lp r o c e s s o r ( 数字信号处理器) 的缩写。实时数 字信号处理技术的核心和标志是数字信号处理器。自第一个微处理器问世以 来,处理器技术水平得到了十分迅速的提高。数字信号处理有别于普通的科 哈尔滨工程大学硕士学位论文 学计算与分析,它强调运算处理的实时性。因此,数字信号处理器除了具备 普通微处理器所强调的高速运算和控制功能外,针对实时信号处理,在处理 器结构、指令系统、指令流程上做了很大的改动。 世界上第一片d s p 是1 9 7 8 年a m i 公司推出的$ 2 8 11 。其后各大公司相继 推出了商用可编程、具有乘法器、内部双总线以及支持浮点运算等一系列不 同结构和功能的d s p 器件。 如今,美国的克萨斯仪器公司( t e x a si n s t r u m e n t s ,简称t i ) 的d s p 已经成为当今世界上最有影响力的d s p 芯片。t i 公司也成为世界上最大的 d s p 芯片供应商,其d s p 市场份额占世界市场份额近5 0 。 美国模拟器件公司( a n a l o gd e v i c e s ,简称a d ) 在d s p 市场上也占有一 定份额,相继推出了系列有自己特点的d s p 芯片。 d s p 芯片按照以下三种方式进行分类:1 根据d s p 芯片工作时钟和指令 类型来分类。2 根据数据格式分为定点d s p 芯片和浮点d s p 芯片。3 根据 d s p 芯片的用途分为专用d s p 芯片和通用d s p 芯片。 设计d s p 应用系统,选择d s p 芯片是一个非常重要的环节。总的来说, d s p 芯片的选择应根据实际的应用系统需要而定。一般来说,选择d s p 芯片 时考虑如下因素: 1 d s p 的运算速度。可以用以下几种性能指标来衡量: ( 1 ) 指令周期,即执行一条指令所需要的时间。通常以n s 为单位; ( 2 ) m a c 时间,即一次乘法加上一次加法的时间; ( 3 ) f f t 执行时间,即运行一个n 点f f t 程序所需的时间; ( 4 ) m i p s ,即每秒执行百万条指令数; ( 5 ) m o p s ,即每秒执行百万次操作数; ( 6 ) m f l o p s ,即每秒执行百万次浮点操作数; ( 7 ) b o p s ,即每秒执行十亿次操作数。 2 d s p 芯片的价格。 3 d s p 芯片的硬件资源。 4 d s p 芯片的开发工具。 5 d s p 芯片的功耗。 6 其它因素,如封装形式、质量标准、生命周期等。 目前d s p 芯片的价格逐步降低,性能价格比日益提高,已经在信号处理、 2 哈尔滨工程大学硕士学位论文 通信、雷达等许多领域得到了广泛的应用。 1 3v m e 总线 1 3 1v m e 总线概述 v m e 总线是一种计算机结构。术语v m e 是代表v e r s a m o d u l ee u r o c a l d , 1 9 8 1 年由m o t o r o l a 、m o s t e k 和s i g n e t i c s 公司组成的生产商集团首先提出来, 这三家公司合作定义了这个标准。术语“b u s 是描述计算机数据通道的一般 术语,由此得名为v m e b u s 。 微计算机总线工业以微处理器的出现为开端,1 9 8 1 年大多数总线只适用 于一、二个类型的微处理器,寻址范围小,相对速度较慢。v m e 总线结构 担当起了定义独立微处理器新总线的责任,v m e b u s 很容易使微处理器从1 6 位升级到3 2 位,执行可靠的机械标准。 、 v m e 总线不断完善且应用极其广泛,例如工业控制、无线通信、医疗 器械、测试、模拟和仪器系统等。 13 ,2 v m e 总线的特征和优点 v m e b u s 的地址总线和数据总线达6 4 位宽。它执行多路处理并设有7 个 中断级。地址总线和数据总线可以动态设置( 它们可自动改变宽度) 。这种方 式可以允许系统随微计算机技术的升级而扩展。v m e b u s 的数据传输速度可达 8 0 m g s 。 v m e b u s 采用主一从结构。主功能模块向从模块传送数据,并接收来自从 模块的数据。因为许多主模块可以存在于总线内,所以称为多路处理总线。 在主模块传输数据之前必须首先使用中央仲裁装置。这个仲裁装置是模块的 一部分,叫系统控制器。它的功能是决定哪个主模块是下一个可以进入总线 的模块。所有总线的活动都发生在4 条子总线上。它t j j n q 作数据传输总线、 数据传输仲裁总线、优先中断总线和实用总线。 v m e b u s 是异步的( 无时钟也可协调数据传输) ,模块间数据传输是通过 握手信号实现的。数据的传输速度是由参与数据交换的速度最慢的模块确定 哈尔滨工程火学硕士学位论文 的。 微计算机总线通常归入两个通用类别中的一种,多路传输或非多路传 输。多路传输总线共用一套管脚做地址线和数据线,需要用两个半周期传输 数据,在前半个周期地址信号通过管脚,在后半个周期数据信号通过管脚。 多路传输总线的地址线和数据线的管脚分开,但这也意味着需要更多的总线 接口电路将信号传输至管脚。 v m e b u s 既用多路传输结构也用非多路传输结构。对于地址和数据传输 达3 2 位的v m e b u s 使用3 2 位地址和3 2 位数据管脚的非多路传输结构。 v m e bm s 技术规范版本d 允许6 4 位地址和6 4 位数据传输,这种情况由多 路传输通过同套管脚完成。正由于这个原因,v m e b u s 被认为是一种复合结 构。多路传输总线通常比非多路传输总线慢,然而,当v m e b u s 用于6 4 位 多路传输模式中时,它能够产生块传输周期。在第一个总线周期,块传输周 期传输一个地址,在后续2 5 6 个周期传输数据,这就使地址周期的比率从 5 0 降低到不足0 5 ,这样加快了多路传输总线的速度。 1 背板 v m e b u s 模块由背板连接在一起。背板可支持2 2 1 个总线模块。根据 系统配置可以使用一块或两块背扳。一块j 背板可处理2 4 位地址、1 6 位数 据,一些电源管脚和大多数控制信号。第二块j ,背板,可用于扩展6 4 位地 址和数据总线,它也增加了更多的电源管脚,包括用户自己定义的信号。两 块背板可独立安装或做成一个部件。v m e b u s 使用常规的j 1 p l ,和j ,p :连 接器指定结构。连接器j 。和j :安装在背板上,连接器p l 和p 2 安装在总线模块 上,连接器p l 与j 。配对,p 2 和j ,配对。 2 总线模块尺寸 v m e b u s 卡有两种尺寸,分别称为单高度模块和双高度模块。最小的 是单高度模块,连接到j 、背板上,v m e b u s 卡可以产生或接收多达2 4 位地 址和1 6 位数据传输。它们通常用于空间受限或只有- d , 块电路可以利用的 场合。 较大和更常用电路板是双高度模块,它们同j ,连接器上的单高度模块是 电气兼容的。双高度模块可以扩展6 4 位地址线和数据线。做3 2 位或6 4 位 地址或数据传输的模块必须是双高度模块。 单高度模块和双高度模块分别叫做3 u 板和6 u 板,有时生产商提供使 4 哈尔滨工程大学硕士学位论文 用3 个d 1 n 4 1 6 1 2 连接器的三高度板( 9 u ) 。 3 兼容性 兼容性是卡的一个可靠的总线结构的重要部分。v m e b u s 开始设计时, 异步总线卡的兼容性是主要涉及的问题。v m e b u s 的各个模块只要设计得符 合同一版本的v m e b u s 技术规范,就能很好地在一起工作。 4 频带宽度 v m e b u s 模块有8 0 m b s 以上的传输速度( 使用6 4 b i t 电路板传输) ,它 能使快速处理器传输数据给任何速度的外设。这就允许用户根据成本和模块 的可使用性的具体要求来建立系统。 1 4 课题的背景和研究内容 1 4 1课题的背景 本课题来源于水声领域实际的科研项目。在水声设备中,无论目标的探 测还是识别,水声数据通讯还是成像声纳都需要进行大量的实时运算。这些 大量的实时信号处理需要数字信号处理器,也就是d s p ,具有高吞吐量及并 行的运算能力。 s h a r c 系列d s p 芯片由于自身结构易于构成并行处理阵列机,而被广泛 地应用于水声信号处理领域。在我国,有很多军事应用领域已经将s h a r c 系 列d s p 芯片确定为并行信号处理的指定芯片。现在,在水声信号处理方面, 往往要求处理速度达到6 片s h a r c 同时并行运算处理的速度。 本课题所在的科研项目,现场试验过程进行数据并行处理的是台澳大 利亚s p e c t r u ms i g n a lp r o c e s s i n g 公司的s h a r c 并行处理阵列机。该设备 基于v m e 总线,采用的是a d 公司具有高速运算性能的s h a r c 系列d s p 芯片, 采用并行方式进行信号处理,可以进行大量数据的高速处理。 虽然该并行处理阵列机可以进行高速的信号处理,但是由于没有与之配 套的数据采集系统和数据传输系统,所以该阵列机的资源并没有得到充分的 利用,效能不能充分发挥。也就是说,如果系统的数据传输和数据分配速度 较低,就会成为影响整个系统工作效率的瓶颈。 哈尔滨工程大学硕士学位论文 1 4 2立题的意义 在出海试验对水下目标进行识别、定位的过程中,数据从实验现场采集 到后,要先存入到计算机的硬盘中,再从计算机的硬盘传入s h a r c 阵列机进 行并行处理。这样的数据传输过程存在着以下两个问题: 第一个问题是数据传输速度慢,传输速度成为了整个s h a r c 阵列机进行 信号并行处理的瓶颈问题,无法充分发挥s h a r c 阵列机的高速数据处理的优 势,完成实时的信号处理。 第二个问题是,系统无法脱离计算机单独工作。受实验现场环境限制, 有时需要整个数据采集、传输、处理工作脱离计算机,独立进行。从现有设 备所采用的工作方式上看,无法达到这一要求。 因此,专门针对于s h a r c 并行处理阵列机进行了本次课程设计。设计和 实现了一块数据采集扩展板,为s h a r c 阵列机提供一条高速的数据传输通道, 将现场采集的数据实时传输给s h a r c 阵列处理机进行实时处理。所设计的数 据采集系统中,采用一片s h a r c 进行数据的传输、分配控制,充分利用了 s h a r c 的l i n k 口高速传输数据的优势,从整体上提高系统的工作效率。本设 计中还采用了大规模f p g a 及v h d l 硬件描述语言进行接口逻辑设计,可以适 应不同规模的并行算法的要求。 1 4 3 设计要求及研究内容 一、设计要求: 1 要求设计完成一块基于v m e 6 u 机箱尺寸标准的数据采集扩展板,插 于s h a r c 阵列机箱内; 2 要求是能够完成数据采集模块与s h a r c 并行处理阵列机之间的实时 数据传输; 3 要求所设计的系统,适应采集一般水声信号的要求,也就是说,能 在最高为3 0 k h z 的信号频率的情况下达到系统要求: 4 要求能够对数据采集的通道数、数据采集时间、采样频率等进行控 制。 6 哈尔滨工程大学硕士学位论文 二、主要研究内容包括: 1 数据采集扩展系统的研制。其中包括电路板的总体设计,原理图设 计、p c b 设计,电路的焊装与调试。 2 采用f p g a 器件,并利用v h d l 语言完成逻辑接口设计。 3 s h a r c 的调试,包括s h a r c 的b o o t l o a d 、数据的读写和l i n k 口的数 据传输。 哈尔滨工程大学硕士学位论文 第2 章s h a r c 系列芯片介绍 s h a r c 是s u p e rh a r v a r da r c h i t e c t u r ec o m p u t e r 的简称,目前包括4 种产 品:a d s p 2 1 0 6 0 ,a d s p 2 1 0 6 1 ,a d s p 2 1 0 6 2 和a d s p 2 1 0 6 5 。本设计所用的是s h a r c 家 族的代表a d s p 2 1 0 6 0 。 a d s p 2 1 0 6 0 是一种高性能的3 2 位浮点d s p ,它的基本的特点有: 1 最高工作频率为4 0 m h z ,时钟周期2 5 n s ; 2 数据线4 8 根,地址线3 2 根,地址范围4 g : 3 所有指令都是单周期指令; 4 3 2 b i ti e e e 浮点运算单元,内含乘法器,a l u 和移位器,并支持4 0 b i t 的扩展精度浮点运算; 5 i 0 个d m a 通道; 6 4 m b i t 双口片内存储器; 7 有两个同步串口和6 个l i n k 口端口; 8 支持多处理器共享总线。 以下将分几节对在本设计中用到的s h a r c 的内容作较详细的介绍。 2 1 s h a r c 内部结构 s h a r c 采用超级哈佛结构,由4 套独立的总线( 分别用于双数据存取、指 令存取和输入输出接口) 十分有效地将数字信号处理系统的主要功能集成在 一片芯片上。 它包括:一个运算控制单元( 处理核) 、大容量双口静态存储器、程序 数据外部总线及多处理机接口、输入输出控制器。运算控制单元可完成3 2 b i t 定点运算或3 2 b i t 4 0 b i t 浮点运算,包括乘法器、加法器、移位器在内的运 算单元具有1 2 0 m f l o p s 的峰值运算能力,配合以高速指令缓存,a d s p 一2 1 0 6 x 可以在单周期内带条件判断地执行一次乘、一次加、一次减和一次跳转。片 内大容量静态存储器( s r a m ) 可成两块,一块用来存储程序指令及数据,称 为程序存储区( p m ) ;另一块可以用来专门存放数据,称为数据存储区( d m ) 。 哈尔滨工程大学硕士学位论文 这样,如果指令位于缓存,就可以在单周期内执行乘、加、减运算的同时, 分别对p m 和d m 区的数据个进行一次存取操作。 s h a r c 芯片内部结构框图如图2 1 。 图2 1s h a r e 的结构框图 2 2s h a r c 多处理器内存 a d s p 一2 1 0 6 0 采用多总线结构,其片内存储器总线的功能强大,配置相当 灵活。4 g 的片外存储器分成五组,并能组成多处理器共享总线结构。 a d s p 一2 1 0 6 0 具备4 m b i t 的片内s r a m 。图2 2 表示了a d s p 2 1 0 6 x 的存储器映射。 a d s p 一2 1 0 6 x 的存储空间映射分为三部分: 内部存储空间:0 0 0 0 ,0 0 0 0 h - 一- 0 0 0 7 ,f f f f h 多处理器存储空间:o 0 0 8 :0 0 0 0 h 0 0 3 f :f f f f h - 一 二= 2 2 位4 m 外部存储空间:0 0 4 0 ,0 0 0 0 h f f f f ,f f f f h a d s p 2 1 0 6 x 支持多达6 片的多片总线共享连接,并且无需外加任何控 制逻辑。每片通过标识码管脚的电平设置来区分。片内的p m d m 指向哪段 哈尔滨i i :程大学硕士学位论文 存储器就访问哪段。也就是说每片s h a r c 可在内部程序中访问其他各片 s h a r c 和外部存储器。所有共享总线的s h a r c ,其外部总线的地址数据线 连在一起,在每个时刻只有一片s h a r c 对此总线由控制权,并对其它s h a r c 的片内存储器空间甚至控制寄存器进行访问,还可以向其它所有的s h a r c 的片内存储器同时写同样内容。这一切靠s h a r c 的片上总线仲裁逻辑和一 些多处理器控制握手信号线来完成。当各s h a r c 都访问各自片内存储器或 仅有一个s h a r c 访问片外存储器时,各处理器实际上是独立工作的。 i m t r i l lf m e m o r y s p a c e l u u l t i p r o c e 酾q r 叫珊o r y s p a c e i w o r d a o m s + - m ,一m ”s m m o 0 m 删0 0 0 0 h 蚺0 0 0 0 h m o i t o 口l $ m 锱雕a l g 眦 m m m o o 蛐b 0 i “ ”“”o 褊黜器器。 s i o 耵w o r d 如掰瞄桃t 8 1 1 q d t a 懈脚s 图2 2a d s p 2 1 0 6 x 存储器映射 2 3 s h a r c 处理器的d m a 直接数据传输( d m a ) 可以承担数据传输任务而无需运算控制单元干预。 从而提高了程序的执行效率。 s h a r c 的d m a 功能是由d m a 控制器实现的,d m a 控制器位于s h a r c 的l o p 1 0 啥尔滨工程大学硕士学位论文 ( i op r o c e s s o r ) 内,具有独立于内核的地址总线和数据总线,并能够独立 地通过串口、l i n k 口和外口进行数据传输。一旦对其设置完毕并使其开始 工作后,它就可以完全独立运行,不会对内核的工作有任何影响。 d m a 控制器可以完成以下设备之间的数据传输: 片内存储器一一一片外存储器或内存映射的外设 片内存储器一其他a d s p 一2 1 0 6 x 的片内存储器 片内存储器一一上位机( h o s ti n t e r f a c e ) 片内存储器一一一s h a r c 串口 片内存储器一一s h a r cl i n k 口 片内存储器一外部设备 s h a r c 提供了1 0 个d m a 通道,见表2 1 。由表中可以看出,通过这1 0 个通道,就可以采用d m a 的方法实现内存与外部存储器或外部设备端口、串 口、l i n k 口之间的通信。我们可以根据自己的需要,选择适当的d m a 通道实 现数据传输。 表2 is h a r c 的d m a 通道 2 4 s h a r c 多处理器共享存储器总线 s h a r c 提供了必要的握手信号线,使6 片s h a r c 可以直接相连组成一个 哈尔滨工程大学硕士学位论文 图2 3a d s p 2 1 0 6 x 多d s p 共享总线 1 2 哈尔滨工程大学硕士学位论文 紧耦合的多处理机器系统。该系统中所有s h a r c 的外部总线都连接在一起。 图2 3 表示了一个典型的多d s p 共享总线系统。 每个s h a r c 的片内存储器将根据i d 2 o 管脚状态被唯一的映射到存储器 地址内。i d 号与处理器一一对应,每个多处理器使用总线请求b r 6 o 中的 一条作为它的外部总线请求,并根据固定优先级或循环优先机制来获取总线 控制权而成为主处理器。主处理器不仅可以访问片外的共享存储器,还可以 访问所有从处理器的片内存储器或i o p 寄存器( 也映射成存储器地址) ,并 在从处理器上建立d m 传输,还可以向所有的从处理器作广播数据传输。 s h a r c 片内存储器常常足以放下各处理器各自的指令和局部数据,而它 大多数时间只是对各个指令和局部数据访问,使得外部共享总线的访问率大 大降低,总线瓶颈的影响对于s i i a r c 来说也大大减少;另方面,总线的传 输带宽远远大于链路口的带宽,链路口传输因接收双方都需初始化而附加较 多的开销:而且利用共享总线可以做广播式传输;主处理器还能“全面”控 制从处理器的片内资源。这些因素构成了s h a r c 共享多处理器的优越性。 处理器间消息传递和矢量中断是s h a r c 的特殊的传递消息的方式。l o p 寄存器m s g r t o 是通用寄存器,可以用来存放处理器之间传递的消息,主 处理器通过对8 个消息寄存器m s g r t o 进行读写来完成片间通信。主处理 器还可以向从处理器的矢量中断寄存器v i r p t 写入一个地址,这将立即引起 从处理器中断,并执行写入地址所指向的中断服务程序。 2 。5s h a r eh o s tln t e r f a o e h o s ti n t e r f a c e ( 主机接口) 使s h a r c 可以与标准的1 6 h i t 或3 2 b i t 总 线相连,以同步或异步方式传输数据,主机接口映射在统一的存储空间,可 以使用4 个外部d m a 通道。在图2 。3 已经标示出。面丽、藏和画信号 用于主机对s h a r c 外部总线的请求和控制。一旦主机获得了总线控制权就 可以对s h a r c 内部存储器直接读写。主机利用某些i o p 寄存器如s y s c o n , s y s t a t 来控制s h a r c 或者建立d m a ,也可使用矢量中断v i r p t 。 主机数据总线宽度为1 6 b i t 或3 2 b i t ,地址总线为8 b i t 或3 2 b i t ,主机 总线请求应答信号( 再百瓦面百) 用于主机和s h a r c 之间总线请求和确定。 在多处理器系统中,面菇由主处理器给出。面丽:用于添加等待时间。在异 哈尔滨工程大学硕士学位论文 步传输情况下,西用于选择某一片操作的s h a r c 。 主机可以用同步和异步方式来与s h a r c 传输数据。在同步方式下,数据 总线宽度可以是1 6 b i t 3 2 b i t 4 8 b i t ;在异步方式下,只能是1 6 b i t 3 2 b i t 。 数据可以打包展开为1 6 付3 2 ,1 6 4 8 ,3 2 4 8 ,其方式由s y s c o n 寄存器的 h p m 位段控制。在异步传输情况下,西用于选择某一片操作的s h a r c 。主机 接口有两种方式访问s h a r c ,直接读写从机和通过e p b 的数据传输。 直接读写从机:主机可以直接访问s h a r c 的片内存储器和i o p 寄存器, 每个s h a r c 监视着外部地址线,以判断访问是否落在自身的存储空间。这并 不需要处理器核参与,从而允许处理器核可以继续执行其操作。同步与异步 传输模式的差异在于:前者使用a c k 信号而后者使用瓦百丽:信号,其他具体 操作是相同的。 通过e p b 的数据传输:主机还可以通过4 个外部口f i f o 缓冲进行访问。 每个缓冲有6 级f i f o 。经由缓冲f p b 的数据传输有两种方式:由s h a r cd m a 控制器进行的d m a 传输;由s h a r c 处理器核进行的单字传输。 2 6 s h a r c 的l in k 口 a d s p 2 1 0 6 0 提供了独立的6 个l i n k 口,每个l i n k 口有4 根数据线、一 根同步时钟线和一根应答线。其中同步时钟线的频率可以达到系统时钟的2 倍,使得l i n k 口在每个时钟周期最多可以传送8 - b i t 数据。l i n k 口本身非 常简单,但是它对于a d s p 2 1 0 6 0 结构上的贡献是巨大的,a d s p 2 1 0 6 0 之所 以成为一个成功的芯片,与l i n k1 3 的设计是分不开的。 2 6 1l in k 口的构成 a d s p 2 1 0 6 0l i n k 口的对外6 个管脚,分别是4 根数据线( l x d a t 3 o ) , 一根同步时钟线( l x c l k ) 和一根应答线( l x a c k ) ,所有连线都是双向的。 与串口不同,l i n k 口没有为发送与接收提供两套管脚,所以在任意时刻,一 个l i n k 口只能工作在单工状态。只要把这6 根线对应相连,就可以实现多 a d s p 2 1 0 6 0 之间的通信。 l i n k 口的时钟频率最高可以达到系统时钟的2 倍( 8 0 m h z ) ,其功能类似 1 4 哈尔滨工程大学硕士学位论文 于串口的同步时钟,即起到数据同步的作用。由于每个时钟传输4 - b i t 数据, 所以对于3 2 一b i t 的数据,需要8 个l i n k 口时钟周期;对于4 8 一b i t 的数据, 需要1 2 个l i n k 口时钟周期。在使用l i n k 口传输数据时,接受方必须通过 应答信号告知发送放当前数据接收完毕,可以发送下一个数据。这里所提到 的“时钟”都是指l i n k 口时钟。 2 6 2l i n k 口缓存 在a d s p 2 1 0 6 0 内部,还有6 个l i n k 缓存器( l i n kb u f f e r ) 。用户通过定 义l a r 寄存器,可以为每个l i n k 口选择一个或几个缓存器。l i n k 缓存器 一端与内部总线相连,另一端通过l a r 寄存器与不同的l i n k 口相连。 由l i n k 口结构图可以看到,共有6 个l i n k 口缓存l b u fo 一5 ,这些缓 存器包括一个内部寄存器和一个外部寄存器。当发送时,内部寄存器用来接 收从内存来的数据,外部寄存器用来将数据以4 - b i t 为单位进行分解并传给 相应的l i n k 口;当接收时,过程相反。对于用户或程序员来说,l b u f 0 5 可以看成一个深度为2 的f i f o 。l i n k 口缓存的宽度在3 2 b i t 和4 8 - b i t 之间 可选,可以通过l c t l 寄存器中的l e x t 位控制。 在仅仅有个别数据需要通过l i n k 口传输的情况下,往往不是用d m a 方式,而是通过a d s p 2 1 0 6 0 的内核来完成数据传递工作。可以根据l c o m 寄存器中l i n k 口缓存器状态( 满、空) 来控制内核对l i n k 口缓存进行读 写操作,也可以通过相应的中断来从l i n k 口缓存中读写数据。需要特别指 出的是,l i n k 缓存器与l i n k 口是两个完全不同的概念。l i n k 缓存器是可 以理解为一个双向的f i f o ,而l i n k 口仅仅代表其对外的6 个管脚。l i n k 口的特性很大程度上是由其正在使用的缓存器的特性决定的。l i n k 口的内 部结构框图如图2 4 所示。 l i n k 口共有3 个控制寄存器,分别是l c o m 、l a r 、l c t l 。具体的控 制寄存器的设置将在软件部分具体介绍。应该注意的是,必须按照上述顺序 对控制寄存器进行设置。 a d s p 2 1 0 6 0 为每个l i n k 口提供了一个d m a 通道,其中有些是与串日 或外口共用的。每个l i n k 口都有相应的中断向量,用户可以通过中断判断 l i n k 口的发送缓冲是否为空、接收缓冲是否为满以及l i n k 口的d m a 传 哈尔滨工程大学硕士学位论文 输是否完毕。同时,a d s p 2 1 0 6 0 为6 个l i n k 口设立了一个“l i n k 服务请 求中断”,用来通知a d s p 2 1 0 6 0 当前正在有其他a d s p 2 1 0 6 0 期望与自己的 l i n k 口建立通信连接。 l 蚋k 8 u t 融嗤5 叫” 图2 4 l i n kp o r t 结构 2 6 3l i n k 口的传输协议 l i n k 口的数据传输是在l x c l k 与l x a c k 相互握手的情况下同步传输 的,它也可以与其他任何使用相同协议的设备进行数据传输。 通常,一个传输字为3 2 _ b i t 或4 8 _ b i t ,而l i n k 口传输是以4 - b i t 为单位 的( 一般为m s b 先传) 。在l x c l k 的上升沿,发送端会发送一个新的4 _ b i t 数据,在时钟的下降沿,接收方锁存数据线上的数据。当8 个或1 2 个4 - b i t 数据发送完毕后,如果接收方准备好接收下一个字,则将l ) 溘c k 置1 。发 送方在每次发送新字的第一个4 - b i t 时对l x a c k 采样,如果l x a c k 为0 表 明对方没有准备好,则发送方保持l x c l k 为高电平,且数据线上保持当前 的4 _ b i t 数据,直到接收方将l x a c k 置l ,发送方才将l c c l k 下拉,并继 续发送新的数据。当发送方缓存为空时,表明没有数据需要发送,则l x c l k 保持为低电平。其时序如图2 5 所示。 1 6 哈尔滨工程大学硕士学位论文 当l i n k 口为无效状态时,所对应的三根线被置为三态;当l i n k 口为 输出模式时,它可以驱动l x c l k 与l x d a t 3 0 ( 这些线为输出模式) ,l x a c k 为三态;当l i n k 口为输入模式时,它可以驱动l x a c k ,l x c l k 与l x d a t 3 0 为三态。 搿黜篙:黜篮撬, 嚣麓怒:= ,;嚣然嚣器翟馏= :嚣翟嚣 n b h i h 枷 廿( o l s w 4 m d l _ 咄_ 州 工? 三! i t , 惩 t n m e r n l l d m a t i m e 一“i 咐一_ - n m n l 自h 日- _ 1 l - 嘶州m r _ - n f h # - 聃畦_ e 吐 图2 5l i n k 口握手时序 2 6 4 l i n k 口的控制 l i n k 口共有3 个控制寄存器,按照被设置的顺序分别为:l c o m 、l a r 、 l c t l 。这也是a d s p 2 1 0 6 0 系统中为数不多的需要按照顺序设置的寄存器之 一。其中l c o m 是l i n k 口通用控制寄存器,它的某些位用于对l i n k 口的 设置,其它位用于记录l i n k 缓存器的状态;l a r 是l i n k 口分配寄存器, 用来将l i n k 缓存器分配到不同的l i n k 口;l c t l 是l i n k 缓存控制寄存 器,其作用是对l i n k 缓存进行设置。 2 6 41 l i n k 口分配寄存器( l a r ) l a r 表明了 i 瓠f l i n k 口与l i n k 缓存的连接关系。其内部结构见表2 ,2 。 表中,l i n k 口的取值范围是0 0 0 1 0 1 ,1 1 0 为非法值,1 1 1 表明当前缓存没 哈尔滨工程大学硕士学位论文 有被使用。在系统复位后,l a r 的默认值就是l i n k 缓存与对应的l i n k 口 一卡目连,即l i n k 口0 与l i n k 缓存o 相连,l i n k 1 3 l 与l i n k 缓存1 相连等等。当某一个l i n k 口没有被分配缓存或所分配的缓存无效时,该 l i n k 口处于无效状态。当l i n ki s l 无效时,会失去对所有6 个管脚的驱动 能力,只能监听是否有别的a d s p 2 1 0 6 0 要求通过该l i n k 口通信。也就是 说当某一个l i n k 口无效时,如果其l x a c k 或l x c l k 有信号,表明其它 a d s p 2 1 0 6 0 希望与之通信,此时会触发“l i n k 服务请求中断”。 为一个l i n k 口分配两个缓存器将使l i n k 口部分无效,此时该l i n k 口用于片内数据块的搬移。 表2 2l a r 寄存器的定义 b i t ( s ) 名称说明 0 2a o l b与缓存器0 相连的l i n k 口 3 5a 1 l b与缓存器1 相连的l i n k 口 6 8a 2 l b与缓存器l 相连的l i n k 口 9 1 la 3 l b与缓存器1 相连的l i n k 口 1 2 - 1 4a 4 l b 与缓存器l 相连的l i n k 口 1 5 1 7a 5 l b 与缓存器l 相连的l i n k 口 1 8 3 1保留( 必须为o ) 2 6 4 2 l i n k 口缓存控制寄存器( l c t l ) l c t l 用来对l i n k 缓存进行设置( 不是对l i n k 口) ,其控制位如表2 3 所示。 l c t l 各控制位的具体说明如下: l x e n ;i = l i n k 口缓存使能;0 = l i n k 口缓存无效。当l i n k 口缓存 无效时,正在使用该缓存的l i n k 口也会被迫进入无效状态。 l x d e n :l i n k 口缓存d m a 使能 l x c h e n :l i n k 口缓存链式d m a 使能 l x t r a n : 表明l i n k 口缓存的方向,也决定了正在使用该缓存的 l i n k 口的方向。 1 8 哈尔滨工程大学硕士学位论文 注意:没有缓存或将一个缓存分配给多个l i n k 口时,将使该l i n k 口无效

温馨提示

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

评论

0/150

提交评论