(生物医学工程专业论文)基于niosⅡ的嵌入式逻辑分析仪系统软件设计.pdf_第1页
(生物医学工程专业论文)基于niosⅡ的嵌入式逻辑分析仪系统软件设计.pdf_第2页
(生物医学工程专业论文)基于niosⅡ的嵌入式逻辑分析仪系统软件设计.pdf_第3页
(生物医学工程专业论文)基于niosⅡ的嵌入式逻辑分析仪系统软件设计.pdf_第4页
(生物医学工程专业论文)基于niosⅡ的嵌入式逻辑分析仪系统软件设计.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(生物医学工程专业论文)基于niosⅡ的嵌入式逻辑分析仪系统软件设计.pdf.pdf 免费下载

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

文档简介

a b s t r a c t i n a b s t r a c t l o g i ca n a l y z e ri sq u i t ei m p o r t a n ti nt h eh i g hs p e e dh a r d w a r el o g i ct e s ta n d s o f t w a r es t a t ea n a l y s i s ,b u t ,a tp r e s e n t ,t h ep r i c eo ft a b l em o d e ll o g i ca n a l y z e ri sq u i t e e x p e n s i v e a c c o r d i n gt ot h i s ,t h i sp a p e ri n t r o d u c e sf ln e wd e s i g ns c h e m ef o r t h e e m b e d d e dl o g i ca n a l y z e rb a s e do nn i o si i n i o si ii sat y p eo fs o f l c o r ec p uw h i c h b a s e so nt h ed e v e l o p m e n to ff p g a n i o si ih a st h ec h a r a c t e r i s t i co fr e e o n f i g u r a t i o n , w h i c hb r i n g sm o r ef l e x i b i l i t yt ot h ed e s i g n e nw ec a ns a yt h a tn i o si ih a so f f e r e da k i n do fb r a n d - n e wt r a i no ft h o u g h tt oe m b e d d e ds y s t e md e s i g n e nt h i sd e s i g na p p l i e s t h es c h e m eo fh a r d w a r ep l a t f o r mb a s e do nn i o si it ot h ee m b e d d e dl o g i ca n a l y z e r ,a n d t h eo v e r v i e wo f n i o si ib a s e do nc h i pc y c l o n ei sg i v e n f i r s t l y , t h ep r i n c i p l eo fl o g i ca n a l y z e ri sa d d r e s s e di nt h i sp a p e r t h ea d v a n t a g e s a n dt e c h n i c a lt a r g e to ft h ee m b e d d e dl o g i ca n a l y z e ra r ei n t r o d u c e dt o o s e c o n d l y t h i s p a p e ra n a l y z e st h es t r u c t u r ea n dm e c h a n i s mo ft h en i o si i s o f t c o r ec p u ,i na d d i t i o n , a n a l y z e st h ea v a l o nb u s t h i r d l y , i ti n t r o d u c e st h ew h o l eh a r d w a r ed e s i g ni nt h e e m b e d d e dl o g i ca n a l y z e r f o u r t h l y ,i ti n t r o d u c e st h ef l o wo ft h es o f t w a r ed e v e l o p m e n t , e m p h a s i z i n go nt h ec o m m u n i c a t i o na m o n gt h en i o si ic p u ,t h ek e y b o a r d ,t h el c d a n dt h el o g i cc i r c u i ti nt h ef p g a i nt h ee n do ft h ep a p e r , as u m m a r yi sp r e s e n t e da n d s o m es u g g e s t i o n sa r ef o r w a r dt oi m p r o v et h ei n s t r u m e n t k e y w o r d :l o g i ca n a l y z e r n i o si is o p cf p g a 独创性( 或创新性) 声明 本人声明所呈交的论文足我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢巾所罗列的内容以外,论文中 不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电了科技大学 或其它教育机构的学位或证书而使用过的材料。与我同工作的同志对木研究所 做的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名冰嵫健f 期上刃弓p 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生存校攻读学位期间论文工作的知识广:权瞽位属两安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技人学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校u 以公布论文的伞 部或部分内容,可以允许采用影印、缩印或其它复制手段保存沦文。( 保密的论 文在解密后遵守此舰定) 本人签名 导师签名 几期兰堕:兰:星 f 1 期丞卑! 圣:争 第一章绪论 1 1 1 嵌入式系统简介 第一章绪论 1 1 嵌入式技术概述 嵌入式技术是继网络技术之后,又一个新的技术发展热点。嵌入式系统具有 体积小、性能强、功耗低、可靠性高以及面向行业应用的突出特征,目前已经广 泛应用于军事、消费电子、网络通信、工业控制等领域。对于嵌入式系统目前一 个被普遍认同的定义是:以应用为中心,软硬件可裁减的,适应应用系统,对功 能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。一般而吉 嵌入式系统的架构可以分成四个部分:处理器、存储器、输入输出( i o ) 和软件。 1 1 2 嵌入式系统的分类 从硬件方面来讲,各种各样的嵌入式处理器是嵌入式系统设计最核心的部分。 因而,通常根据使用处理器的不同来对嵌入式系统进行分类。嵌入式处理器可以 分成以下几类: 1 嵌入式微控制器( m i c r o c o n t r o l l e ru n i t ,m c u ) 嵌入式微控制器的典型代表是单片机。从2 0 世纪7 0 年代末单片机出现到今 天,虽然已经有2 0 多年,但是这种电子器件目前在嵌入式设备中仍然有较广泛的 应用。微控制器的特点是单片化,体积大大减少,从而使功耗和成本下降、可靠 性提高。 2 嵌入式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 ) d s p 处理器是专门用于信号处理方面的处理器,它在系统结构和指令算法方 面进行了特殊设计,有很高的编译效率和指令执行速度。在数字滤波、f f t 、频谱 分析等方面,d s p 获得了大规模的应用。 3 嵌入式微处理器( m i c r o p r o c e s s o ru n i t ,m p u ) 嵌入式微处理器是由通用计算机中的c p u 演变过来的。嵌入式微处理器与通 用计算机处理器有一定的区别,它只保留和嵌入式应用紧密相关的功能硬件,去 除其他的冗余部分,这样就以最低的功耗和资源满足了嵌入式应用的特殊要求。 2基于n i o si i 的嵌入式逻辑分析仪系统软件设计 4 ,嵌入式片上系统( s y s t e mo nc h i p , s o c ) 片上系统是追求产品系统最大包容的集成器件,是当前嵌入式应用领域的技 术热点。从狭义角度讲,s o c 是信息系统的芯片集成,是将系统集成在一块芯片 上。从广义角度讲,s o c 就是一个微小型系统,如果说中央处理器是大脑,那么 s o c 就是包括大脑、心脏、眼睛和手的系统。s o c 的出现使集成电路发展成为集 成系统,整个电子整机的功能可以集成到一块芯片中。s o c 具有极高的综合性, 在一个硅片内部运用v h d l 等硬件描述语言,可以实现一个复杂的系统。设计者 不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点的连结焊制, 只需要使用精确的语言,直接在器件库中调用各种通用处理器的标准,然后通过 仿真验证就可以得到一个s o c 系统。由于绝大部分系统构件都是在系统内部,整 个系统就特别简洁,不仅减少了系统的体积和功耗,而且提高了系统的可靠性, 提高了设计生产效率。 1 1 3 嵌入式系统的发展趋势 信息时代、数字时代使得嵌入式系统获得了巨大的发展机遇,同时也对嵌入 式技术提出了新的要求。当前,嵌入式技术在硬件上已经开始进入s o c ( s y s t e m o n c h i p ,片上系统) 阶段。s o c 具有系统集成度高、体积小、功耗低、结构简洁、可 靠性高、开发快速等特点,很好的满足了未来的嵌入式系统在硬件上的需求,基 于s o c 的嵌入式系统将是未来嵌入式系统的主流实现方式。 目前,s o c 有两种实现形式:基于a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t , 专用集成电路) 的s o c 和基于可编程逻辑器件的s o c ( s o p c ,s y s t e mo na p r o g r a m m a b l ec h i p ) 。 s o p c 是一种特殊的嵌入式:首先它是片上系统,即由单个芯片完成整个系统 的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩 充、可升级,具备软硬件在系统可编程的能力。 s o p c 结合了s o c 和可编程逻辑器件各自的优点,一般具备以下基本特征: 至少包含一个嵌入式处理器内核。 具有小容量片内高速r a m 资源。 丰富的i p 核资源可供选择。 足够的片上可编程逻辑资源 处理器调试接口和f p g a 编程接口 可能包含部分可编程模拟电路 单芯片、低功耗、微封装 第一章绪论 s o p c 设计技术涵盖了嵌入式系统设计技术的全部内容,除了以处理器和实时 多任务操作系统( r t o s ) 为中心的软件设计技术、以p c b 和信号完整性分析为 基础的高速电路设计技术之外,s o p c 还涉及目前引起普遍关注的软硬件协同设计 技术。 以往的s o c 设计依赖于固定的a s i c 。其设计方法通常采用全定制和半定制 电路设计方法,设计完成后如果不能满足要求,需要重新设计再进行验证,其结 果是导致设计开发周期变长,产品上市时间难以保证,开发费用大大增加。而当 需要对原始设计进行修改时,固定的a s i c 意味着昂贵的重复设计。与a s i c 相比 较,可编程逻辑器件设计起来十分灵活、便捷,可以缩短上市时间,再加上可编 程逻辑器件是按标准器件生产出来的,规模效应使得成本十分低廉,故而在半导 体领域中可编程逻辑器件呈现出一枝独秀的增长态势,越来越多地成为系统级芯 片设计的首选。 s o p c 取代a s i c 成为s o c 设计的新趋势,除了上面讲的方便、低成本之外, 还得益于以下几点重要原因: 近年来可编程逻辑器件密度的提高,芯片规模的扩大和性能的提升为 s o p c 提供了物质基础。 先进的e d a 开发工具,如a l t e r a 公司的q l l a l t u si i 以及s o p cb u i l d e r , 极大地提高了开发人员的工作效率。 知识产权得到重视,越来越多的设计人员以“设计重用”的方式对现 有的i p 核加以充分利用,从而提高他们的设计效率并缩短上市时间。 由于连接延迟时j 日j 的缩短,s o p c 可以提供增强的性能,而且由于封装体 积的减小,产品尺寸也减小了。 n i o s i i 就是专门为s o p c 设计的一种c p u ,它以i p 核的形式提供给嵌入式设 计者。n i o s i i 是一种基于f p g a 开发的软核c p u ,它以代码的形式固化在f p g a ( 现场可编程逻辑器件) 内【“。占用一定的片内资源,实现强大的c p u 功能。相 对于常见的硬核c p u ,n i o si i 的成本更低,灵活性更高,实现更简易,而且开发 更快速。它的可配置特性给嵌入式系统设计带来了更大的灵活性,可以说它为嵌 入式系统的设计提供了一种全新的思路。 1 2 逻辑分析仪简介 1 2 1 逻辑分析仪的原理 逻辑分析仪也称逻辑示波器,它是用来分析数字系统逻辑关系的一种仪器。逻 4 基于n i o s i i 的嵌入式逻辑分析仪系统软件设计 辑分析仪的主要作用有两种:一是用便于观察的形式显示出数字系统的运行情况, 相当于扩展了人们的视野,起一个逻辑显示器的作用;二是对系统运行进行分析和 故障诊断。逻辑分析仪主要由键盘输入、数据获取、数据存储、数掘分析、数据显 示、触发控制等几个基本环节所构成。 图1 1 表示出了逻辑分析仪的简化框图。尽管逻辑分析仪的种类型号繁多, 但基本结构是类似的,都是由数据获取和数据显示两大部分组成的。前者捕获并 存储所要观察分析的数据,后者用多种形式显示这些数据。在这里,触发是关键, 它的作用是在被分析的数据流中搜索特定的触发条件( 触发字或数据字) 。一旦满 足这个触发条件,便产生触发信号去控制和存储有效数据。因此,它决定了要观 察的数据窗口在数据流中的位置。 数据获取部分 图1 1 逻辑分析仪的简化框图 1 2 2 逻辑分析仪的特点 逻辑分析仪是一种数据域测试的分析仪器,相对于示波器和开发系统而言, 逻辑分析仪对于微机系统及其软件、硬件的分析具有高效性和实时性。在7 0 年代, 仅有少数人了解和使用。如今,随着微机的普及和逻辑分析仪性能的提高,越来 越多的技术人员日益认识到逻辑分析仪的重要性,不仅可以解决复杂的调试问题, 而且对于提高产品的质量、缩短开发周期、加强其竞争能力都是不可缺少的工具。 早期的逻辑分析仪分为逻辑状态分析仪和逻辑时序分析仪【2 】。这两类分析仪的 基本结构相似,逻辑状态分析仪使用被测系统时钟来控制记录,与被测系统同步 工作;逻辑时序分析仪内部装有时钟发生器,在内时钟控制下记录数据,与被测 系统异步工作。现代智能化的逻辑分析仪常把状态和时序分析仪制作在一台仪器 之中。它具有普通示波器无法比拟的优点,但其高昂的价格阻碍了逻辑分析仪的 广泛应用。随着p c 机功能的增强和普及,把嵌入式技术与逻辑分析仪技术相结合, 会大大提高逻辑分析仪的数据后处理能力,增强其通用性,拓宽其应用范围,同 时逻辑分析仪价格也会大幅降低。本文所述的逻辑分析仪就是把状态仪和时序仪 结合在一起的逻辑分析仪。 第一章绪论 1 2 3 逻辑分析仪的发展 逻辑分析仪无疑是现代复杂微处理器数字系统的最佳开发工具,因为它具备 出色的触发能力、毛刺捕获能力、较深存储深度、多路并行显示能力以及与计算 机或其它仪器良好的通信与控制接口。国际互连网带来了全新的采集、分析和发 布测试数据的方法,这就是网络测试和网络数据共享,逻辑分析仪也不例外。除 此以外,随着未来电子系统应用越来越多地采用多种总线结构和多微处理器,逻 辑分析仪也在向更多测试通道、更深存储深度发展。 1 - 3 本论文研究的内容 本系统选用n i o s i i 嵌入式软核处理器是因为它的成本更低,灵活性更高,实 现更简易,而且开发更快速。n i o s i i 的可配置特性给嵌入式系统设计带来了更大的 灵活性,可以说它为嵌入式系统的设计提供了一种全新的思路。本文就是把n i o s i i 硬件平台的方案,在逻辑分析仪设计上进行了有益尝试,不论从技术实现上,还 是社会效益上来看,都是一次有益的创新与实践。基于n i o si i 的嵌入式逻辑分析 仪的基本指标如下: 输入通道数。本文所设计的为3 2 通道。 时钟频率。通常利用几倍于被测系统频率的时钟来进行取样,可得到较 高的分辨率。最高时钟频率表征了获取数据的最大有效速率。本文所讨论的逻辑 分析仪的最高频率为1 0 0 m h z ,可选频率范围为2 h z 1 0 0 m h z 。 存储容量。存储容量为k = n x m 。其中,m 代表存储宽度,相当于把数 据存入存储器的输入通道数;n 代表存储深度,即存储器可依次存储字的最大数 目。本文所设计的最大存储深度为6 4 k 。 触发方式。触发的作用是对被观测研究的长数据流实现准确的定位、捕 获与分析。本文所设计的触发方式有:8 级序列触发、毛刺触发和外触发。其中在 8 级序列触发中,还可设置最后一级序列出现的次数。 触发位置。文本所设计的包括:正延迟触发、负延迟触发和同步触发。 触发电平。触发电平即参考电平,是用来与输入信号进行比较的,可以 通过软件界面设置多种触发电平。本文所设计的触发电平的范围为7 0 v + 7 0 v 。 显示方式。本文所设计的嵌入式逻辑分析仪采用8 0 0 x 4 8 0 的彩色液晶显 示屏以窗口的方式显示相关信息。 6基于n i o si i 的嵌入式逻辑分析仪系统软件设计 第二章q u a r t u si i 和n i o si i 的开发过程 2 1s o p cb u i l d e r 开发工具 2 1 1s o p cb u i l d e r 简介 s o p cb u i l d e r 是a l t e r a 公司推出的一种可加快在p l d 内实现嵌入式处理器相关 设计的工具。它是一个革命性的系统级开发工具,其功能与p c 应用程序中的“引 导模板”类似,旨在提高设计者的效率。设计者可确定所需要的处理器模块和参 数,并据此创建一个处理器的完整存储器映射。设计者还可以选择所需的i p 外围电 路,如存储器控制器、i 0 控制器和定时器等模块。 s o p cb u i l d e r 可以快速地开发定制新方案,重建已经存在的方案,并为其添加 新的功能,提高系统的性能。通过自动集成系统组件,s o p cb u i l d e r 允许用户将工 作的重点集中到系统级的需求上,而不是从事把一系列的组件装配在一起这种普 通的、手工的工作。所有版本的a l t e r aq u a r t u s l l 的设计软件都已经包含了s o p c b u i l d e r 。设计者采用s o p cb u i l d e r ,能够在一个工具内定义一个从硬件到软件的完 整系统,而花费的时间仅仅是传统s o c 设计的几分之一1 3 】。 s o p cb u i l d e r 提供了个强大的平台,用于组建一个在模块级和组件级定义的 系统。s o p cb u i l d e r 提供组自带的库组件( 模块) ,包括定时器、p i o 、u r a t 、 a v a l o n 三态桥和几个简单的存储器接口。用户可以从a l t e r a 或第三方开发者那里购 买其他的i p 核,其中一些i p 核是可以免费下载用来做评估的;s o p cb u i l d e r 开放了 硬件和软件接口,允许第三方像a l t e m 一样有效地管理s o p c 部件,用户可以根据 需要将自己设计的部件添加到s o p cb u i l d e r 的列表中。当用户安装新的s o p c b u i l d e r 库组件时,这些新组件将自动被s o p cb u i l d e r 发现,并在下次运行g u i 时出 现在组件库中。s o p cb u i l d e r 内建的i p 核库是o p e n c o r ep l u s 版的业界领先的 n i o s n i o s i i 嵌入式软核处理器。所有的q u a r t u s i i 用户都能够把一个基于 n i o s n i o si i 处理器的系统经过生成、仿真和编译进而下载至i a l t e r af p g a 中,进行 实时评估和验证。 2 1 2s o p cb u i l d e r 的功能特点及设计流程 1 具有直观的图形用户界面( g u i ) 第二章q u a r t u s i i 和n i o s i i 的开发过程7 利用图形用户界面,用户可以快速方便地定义和连接复杂的系统。如图2 i 所 示,用户可从芹边的库中添加所需的部件,然后存右边的表中配胃它们。 ! 。竺些“”s y s m ”j ”墨“8 _ h e p 一一 s - r s t e m a _ t e 如m 帆t 旷s e a r , 筘;s y d e m g 州a l m 玉龋互譬拦誉l 翟互鼋 冉 t 1 | _ ”一”“一“ ? 一a o ag * l z ) 。 t c r e a t en e wc w b 。“ n _ d 习 l 目dle o nc y 啊k 山 h 0 s n 优e 竹- i l :群,r 。如p ;i _ 一了1 艚氍。她翔妣 l 对 毒h 口 、一一 一k v 州t o h b b 舢如t r i - s t d l e l ; m d d l n 憾f k s 甘b c 1 0 晡 嘲: 且c 弘i h 噼- 冉雠”怫 辱z - - _ ir 曲u 酬“l m 枇m 日p o n ,_ j r 日h n 目p o n 一l _ d e b 一s h ”p m 日- 一j 椰舢a v a 4 0 n t m s 佩e 日喇 a k - 一鲋_ o n 一,时e s h v ep a r i ,口嘲曲 j 1 啪h ,鲫日p o r tl 咽e j l 咖 f b 扑釉吖( c a m i 、日“j m m 舅j t 算l 咽- y l _ c j m 盯h e r v “t 岬计磷【 bc n n u c h 茸| - 。田r 哪h j e - 王l - ,t e r v h t n 盯肄 o x n 2 8 0 8 , 1 0 0 一x 0 0 2 8 0 8 4 7 卜 j t | j k gu a r i 。 _ ( 3 e d u r t ( r s - 2 3 2 删 8 m 咐 ( ) 霄日晰l c i ) n 瓣印 c 2 口h m - d 目* k o “ $ e p l $ 1 0 帅o0 e h ,o 攀e h s 帅o d d * b 啊r ! :要2 竺竺鼍! v 川f a v ij l a h i ec o m n k - - 田n o a - u n j t gu a r t p ( 包5 电弼。 - 母s o a p 曲( p w a h ) p o w i l 0 2 $ o o e eo x 0 0 2 8 0 8 e f 】i - - - 宙s c l ,o 妒a r s l d ) c t k k m d 2 “4 - b 9 l j 二叫 团豳圃 | m eu p i d o口 硒p q w 艚妒r 附m e d 9 v m f 晴a 带幽峨州腿瑚b b 瑚嘲埔日h 矗搠蛔i 倘怕捌b j j a ,d 瞰_ t 球q m 日b i “一t = ”“ 一 ,一 一“6 “4 e 些j i 蚓,i i _ g e n e r d e 图2 is o p cb u i l d e r 的图形用户界面 2 自动生成和集成软件与硬件 s o p cb u i l d e r 生成每个硬件部件以及连接部件的片内总线结构,仲裁和中断 逻辑。它也会产生系统可仿真的r t l 描述以及为特定硬件配置设计的测试平台,能 够把硬件系统综合到单个网表中。s o p cb u i l d e r 还能够生成c 和汇编头文件,这些 头文件定义了存储器映射、中断优先级和每个外设寄存器空间的数据结构。s o p c b u i l d e r 也会为系统中现有的每个外设生成定制的c 和汇编函数库。例如,如果系统 包括一个u a r t ,s o p cb u i l d e r 就会访问u a r t 的寄存器并定义一个c 结构,生成 通过u a r t 发送和接收数据的c 和汇编例程。 嵌入式软件设计者需要完整的、与定制硬件匹配的软件开发环境,s o p c b u i l d e r 可以自动产生这些软件。当系统生成时s o p cb u i l d c h u 建软件开发需要的软 件组件,并提供完整的设计环境,软件开发环境包含下列内容: 头文件 外围设备驱动程序 自定义软件库 o s r t o s ( 实时操作系统) 核 8基于n i o s1 i 的嵌入式逻辑分析仪系统软什设计 除了实用方便,软件开发环境也在硬件和软件工程师之间建立良好的设计连 贯性。使用s o p cb u i l d e r ,硬件的改变立即反映在软件开发环境中,软件开发工程 师在进行软件设计时可以不必害怕硬件发生改变,只要软件工程师使用最新的头 文件、库和驱动程序,硬件开发和软件开发就可以平滑的连接起来。 3 基于q u a r t u st i 和n i o si i 的s o p c 基本开发流程 如图2 2 所示是一个简化的基于q u a r t u si i 和n i o si i 的s o p c 开发流程嗍。从 图中可见,s o p c 开发流程比f p g a 的开发流程增加了处理器及其外设接口的定制 步骤以及软件开发的步骤( 阴影框) 。然而,这些新增加的步骤在s o p cb u i l d e r ( 定 制处理器和外设接口) 、n i o s i ii d e ( 软件集成开发环境) 工具的协助下显得相当 轻松。 尽量采用 a l t e r a 提供的 l p m 功能模块 建立工程 建立项层图 将顶层图的 各个功能模 块连起来 选择f p g a 型号、 分配管脚、配置 编译选项 编译f p g a 下载到目标 器件 用户自己建立 功能模块,并 建立s i m b o l 直接编译 用s o p cb u i l d e r 建 立n 1 0 s i i 处理嚣 及所需外设接口 或通过j t a g k i 下栽程序到r 埘空间 图2 2 基于q u a r t u si i 和n i o si i 的s o p c 设计流程 第二章舢a r t u s 和n i o s i i 的开发过程9 2 2n i o si i 嵌入式处理器简介 2 2 1 新一代n i o si i 嵌入式处理器 1 n i o si i 处理器核的结构和特点 2 0 0 4 年6 月,a l u m 公司在继全球范围内推出c y c l o n e i i 和s g a t i x i i 器件系列后 又推出了支持这些新款f p g a 系列的n i o s l i 嵌入式处理器。n i o s i i 嵌入式处理器和 c y c l o n e f p g a 组合,在器件中只占用0 3 5 美元的逻辑资源1 5 】。n i o si i 嵌入式处理 器在c y c l o n ei if p g a 中也具有超过1 0 0 d m l p 的性能,允许设计者在很短的时间内 构建一个完整的可编程芯片系统,风险和成本比中小规模的a s i c d 。它与2 0 0 0 年 上市的原产品n i o s 相比,最大处理性能提高3 倍,c p u 内核部分的面积最大可缩小 1 2 。图2 3 显示了n i o si i 处理器核的模块图【6 】。 r e s e t c l o c k h a r d v a r e - a s s i s t e d d e b u gh o d u l i r q 3 1 0 e c o s t o n ic u s t o r e i o 一叫i n s t r u c t i o n s i g n a l s l o g i c h i o s i ip r o c e s s o rc o r e g e n e r a l p u r p o s e r e g i s t e r s r 0t or 3 1 c o n t r o l r e g i s t e r s c t l 0t oc t l 4 e x c e p t i o n c o n t r o l l e r i n t e r r u p t c o n t r o l l e r a r i t h m e t i c l 0 9 i c u n i t 图2 3n i o si i 处理器核的模块图 i n s t r u c t i o n m a s t e r p o r t d a t a a s t e r p o r t n i o s i i 系列嵌入式处理器使用3 2 位的指令集结构( i s a ) ,完全与二进制代码 兼容,它是建立在第一代1 6 位n i o s 处理器的基础上的,定位于广泛的嵌入式应用。 n i o s i i 处理器系列包括了三种内核:快速的( n i o s i i f ) 、经济的( n i o s i i e ) 和标 准的( n i o s l i s ) 内核。每种都针对不同的性能范围和成本。使用a l t e r a 的q u a m l s i i 苹兰 袅鼢 s d 0 基于n i o s i i 的嵌入式逻辑分析仪系统软什设计 软件、s o p cb u i l d e r 工具以及n i o s i i 集成开发环境( i d e ) ,用户可以轻松地将 n i o s i i 处理器嵌入到他们的系统中。表2 1 列出了n i o s l i 处理器的特性。 表2 1n i o si i 嵌入式处理器的特性 种类特性 3 2 位指令集 3 2 位数据线宽度 c p u 结构 3 2 个通用寄存器 3 2 个外部中断源 2 g b y t e 寻址空间 片内调试 基丁二边界扫描测试( j 1 a g ) 的调试逻辑、支持硬什断点、 数据触发以及片外和片内的调试跟踪 定制指令 最多达2 5 6 个用户定义的c p u 指令 n i o s i i 的集成化开发环境( i d e ) 软件开发工具 基于g n u 的编译器 硬件辅助的调试模块 2 处理器的实现 n i o si i 体系结构是一种灵活的结构,更强调的是指令集,而不是某种特定硬件 的实现,只要支持在n i o s i i 处理器参考手册中定义的指令集,都可以称其为n i o s i i 架构。所以不同的硬件实现可以针对特定的目标进行优化,比如说选择较小的核 或者选择更高的性能。这使得n i o s i i 体系结构可以适应不同应用的需要。n i o s i i 的功能单元构成了n i o s i i 指令集的基础。然而,这并不意味着所有功能单元都要 在硬件中实现。一个功能单元可以由硬件实现、由软件模拟,或者干脆忽略掉。 3 寄存器文件 n i o s i i 体系结构支持固定大小的寄存器文件,包括3 2 个3 2 位通用寄存器和5 个3 2 位控制寄存器。n i o sh 支持管理模式和用户模式,这使得系统代码可以保护 控制寄存器,避免恶意程序的影响。 4 算术逻辑单元 n i o s i i 的算术逻辑单元( a l u ) 对通用寄存器中的数掘进行操作。a l u 操作 从寄存器中取一个或者两个操作数,并将运算结果存回寄存器中。a l u 支持的数 据操作见下表: 第二章0 u a r t u si i 和n i o si i 的开发过程 表2 2 n i o s i ia l u 支持的操作 种类 细节 算术运算a l u 支持有符号和无符号数的加法、减法、乘法和除法 关系运算 支持有符号数和无符号数的等于、不等于、大t _ 等于和小于( 一,! = , _ 嚣,7 数据存储惩镬刘蛄柬地址 、 弋即数据存储盛钉已达到设定帕存储深 蹙 转换状态为从s r a m 读出数据并进打榻应 数姑蛙埋( 盛郁,霞找、比较等) 结求 图4 2 3 系统软件流稃图 整个系统的软件流程是这样的,系统开机后在液晶显示屏上就会首先显示参 第四章基丁n i o s i 【的嵌入式逻辑分析仪系统软什开发 数设置页面一( 共有两页参数设置页面) ,当第一页设置完毕后会自动跳到第二页, 继续由用户通过键盘输入进行相应参数设置。参数设置完毕后,当用户按下采 集按键后,系统将这些参数传递给中央控制模块进行相应设置,并开始数据采 集,一旦满足触发条件后,就等待判断系统状态( 即判断是否已经存储完毕) 当 数据存储完毕( 即数据存储已达到设定的存储深度) 后,就将s r a m 状态设置为 数据读出,然后将符合条件的数据通过彩色液晶显示屏按一定的方式显示出来, 以便可以在彩色液晶显示屏上对这些数据进行其他处理。即用户此时可以通过按 下键盘上的查找或。比较按键等来实现柏应的功能。参数设置页面一如图 4 2 4 所示。 图4 2 4 参数设置页面一 在参数设置页面一可以通过键盘设置的参数有: 采样频率设置( 范围从2 h z 1 0 0 m h z ) , 通道输入模式设置, 触发字设置, 触发级数设置( o 级到8 级) , 最后一级触发的触发次数设置( 范围从1 到9 9 9 9 ) 触发相对位置设置( 范围从9 9 9 到9 9 9 9 ) , 触发电平设置( 范围从7 v 至i j + 7 v ) 。 参数设黄页面二如图4 2 5 所示。 基于n i o s1 i 的嵌入式逻辑分析仪系统软什设计 图4 ,2 5 参数设置页面二 参数设置页面二可以通过键盘瑷置的参数有: 比较、查找功能的一些参数设置( 比较通道设置,比较范围设置,停止条 件设置,查找字设置等) , 对3 2 路通道的任意通道进行通道名字,波形显示颜色设置, 各个通道波形显示排列顺序设置。 1 采集按键软件流程 表4 5a 3 1 地扑的相应功能设置 系统控制字名称控制字定义 a c o n 存储是否结束标志 t r i 、,a l i d触发完成信号标志( 是否已触发) scv a l i d 查找,比较完成信号标志( 查找,比较结束否) sce n d 查找,比较不满足信号标志( 查找、比较找到否) a d d r e s s l 6s r a m 地址晟高位标志 在参数设置完毕后,当用户按下键盘上的采集按键后,程序就会将从页 面上输入的参数设置信息传递给中央控制模块进行相应设置,然后开始采集数据 并送s r a m 存储,之后c p u 就会从a 3 1 地址( a 3 1 地址的相应功能设置如表4 5 所示。) 读系统的运行状态,来判断存储是否完毕、触发是否完成等参数信息。当 c p u 检测到这些参数都已完成后,就开始从s r a m 读数据送l c d 显示了。整个 系统从用户按下“采集”按键到l c d 上显示相应波形的流程图如下所示。 第四章基于n i o s i i 的嵌入式逻辑分析仪系统软件开发 5 3 i 殳置采样频率 2 30 x 1 7 = l 。g i c d a t al l s 。o j 由低至唾赢发2 次l 设置存储潍艘( s p - 【 w 徉 l f i _ 静】她地址) a 1 9 似1 3 红。0 9 1 缸塞砝妻謦 管篙冀基舞禧;二磊能存撵攫 呶l o = l o g i c d a t a 1 5 。o :由低到高发2 次( 2 ”一储存深度一滞后量) l 触麓设簧 i i f 常释速存储a 2 6 正常lo x t h = o x 0 0 0 0 释速:o x l a = o x 0 0 8 0 控制寄存嚣设篦a 2 2 s e l l ,s 戳m ,l o a d ,a b u sf ,d 。b o ,s u i d e w ,s e l t r “栽r d c o n o x l 6 ( = o x 0 0 2 0 l o g l c 。r d 产生一次负脉冲a c i ,k 自- 上升沿。使蟪垃同步爱教 o x l 6 z o x 0 0 3 9 l 甭一 7 渎r a m 静结策地址 2 6 o x l a = o x 0 0 2 1 j 卖l o g i c d a t a 1 5 o l ( 1 6 位地址) ( r d l a o = i ,保证地址不再变化) ; 进入读状杏a 2 2o x l 6 :0 x 0 0 3 8 ( r d c o n = o ) 设置读通遴数a 9 5o x l 9 o x 0 0 1 0 ( o 一2 3 ) 。0 x 0 0 11 ( o 3 j ) 预置进r a m 胡始地址 2 6o x l a = o x 0 0 0 4 a 9o x i 3 = l o g i c d a t a l t 5 o l 璇2 次 a 2 2o x1 6 = 0 x 0 0 2 8 ( b u s l d = o ) l o g i c r d 信号产生次低脓冲,甩采使j 氇址同步簧数 o x1 6 l 。g i c j h t a 【1 5 一o jl 在软件巾辩渡取数据个数i f 效弗送l c d 显示 酋 图4 2 6 采集显示软件流稃图 基于n i o s l i 的嵌入式逻辑分析仪系统软件设计 图4 2 6 中的触发设置的详细软件设计流程如图4 2 7 所示。 艟发选撵( 牟列触靛毛刺触发外触熊) 髓置a 2 6 中控蒯字s e l t r i g i s e l t r i g o 蚵位 i i越发缀教醴簧a 2 0 o x l 4 - l o g i c d a t a 1 5 o j ( o l 不触疑,1 r ;貉熊) 蹙后一缎触发次数设置a 2 1 o x l s = l o g i c d a t a 1 5 0 】 i 第l 级触发字设霞a 8 o x o s = l o g i cd a t a 5 0 7 由低纠商发2 敬 第1 缀屏蔽字设鬣 1 7 o x l i = l o g i c d a t a 1 5 。o 】由 日 到磷襞2 敬 第8 级触发字设置a 8 o x o s k = l o g i c j a t a 1 5 。0 】由低别群笈2 欢 第8 缀屏蔽字殴譬 1 7 o x l l = l o g i cd a t a 1 5 o l 由低到高发2 歇 毛刺触发设簧a 3 9 0 x 2 7 = i o g i cd n t a 【1 5 o 】由低到瑶麓2 次 嚣中的每位;0 衷币采样方式l 袭冰镪定方式 图4 2 7 触发设置流程 在实现中,首先针对具体的模块,在地址线上放上选通该模块的数据( 例如, 进行毛刺触发设置时,地址线由低到高的数据为1 0 0 1 1 1 即0 x 2 7 。) ,然后根掘第三 章的3 3 节中介绍的方法,将控制字放到l o g i cd a m 1 5 一0 1 上,然后使l o g i cw 产 生一个低脉冲,从而使中央控制模块将l o g i c 0 1 这1 6 根数据线上的各种控 制字信号进行锁存,将地址信号译码,进而控_ d 制a t a 其 1 它5 的功能模块。 在软件编程中实现将数据送l c d 进行信息显示的时候,有两种显示方式,它 第四章基于n i o s l l 的嵌入式逻辑分析仪系统软件开发 们是状态显示方式和波形显示方式。用户可以通过按下键盘上的。s t a t e 按键和 t i m i n g 按键在这两种显示方式之间进行切换显示。状态显示方式是指将数据 信息以2 进制方式或者1 6 进制方式显示出来,如图4 2 8 所示。而波形显示方式是 将数据根据它的高低电平不同以波形的方式显示出来( 如图4 2 9 所示) ,在显示的 同时,还可以通过键盘输入进行诸如波形放大、波形缩小、全通道显示、部分通 道显示等细节功能操作。 图42 8 状态显示圈 幽4 2 9 时序显示图 2 查找按键软件流程 在进行信息显示的时候,我们可以按下键盘上的查找按键,从而实现查 找功能,软件设计流程图如图4 3 0 所示。 矗拽字设w 3 8 o x 2 6 = l o g i c d a t al 1 5 。0 j 从慨劐商发2 坎 i 鸯拽群歉字设置a 3 7 o x 2 5 ( = l o g j c _ d a t s l t 5 o :从低捌赢笈2 旋 ( 1 t 廓敞o l 不群版) 援器r a m 盘拽初始地址 a 2 6o x a = 0 x 0 0 0 4 ( e n a s e l = i ) a 2 2o x l 6 = o x 0 0 0 0 ( a b u s l = o ) a 2

温馨提示

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

评论

0/150

提交评论