(计算机应用技术专业论文)基于dsp与pc的数据采集系统.pdf_第1页
(计算机应用技术专业论文)基于dsp与pc的数据采集系统.pdf_第2页
(计算机应用技术专业论文)基于dsp与pc的数据采集系统.pdf_第3页
(计算机应用技术专业论文)基于dsp与pc的数据采集系统.pdf_第4页
(计算机应用技术专业论文)基于dsp与pc的数据采集系统.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学硕士学位论文 摘要 为了考察串联式混合动力城市公交车的动力性和经济性,应监测整车的运行 情况,需要对行驶过程中车上各个部件的参数变化进行采集、分析,因此数据的 采集控制对攘车的监测与调试具有重要的意义。该项目拟完成一个基于d s p 与 p c 的数据采集系统,系统以串口和c a n ( 控制器局域网c o n t r o l l e ra r e an e t w o r k ) 作为数据通讯接口,形成一个以数据采集、传输、存储、显示等多种功能为一体 的数据采集系统。 c a n ,控制器局域网是由i s o 定义的串行通讯总线,它最初出现在8 0 年代 末的汽车行业里。它的基本设计规范要求有高的位速率,高抗电磁干扰性,并能 够检测出产生的任何错误。c a n 串行通讯总线在汽车、制造业以及航空工业中得 到广泛应用。 g c o s - i i 是一种基于优先级的可抢先的硬实时内核。它是一种专门为嵌入式 设备设计的内核,目前已经被移植到4 0 多种不同结构的c p u 上,并可运行在从 8 位到6 4 位的各种系统之上。 该项目研究并解决以下问题:( 1 ) d s p 函数库的开发。( 2 ) 实时操作系统t t c o s i i 在d s p 上的移植。( 3 ) c a n 与r s 0 2 3 2 串口数据的转换,d s p 与p c 串口通讯数据 格式的确定。( 4 ) 上位机p c 的数据采集与控制系统程序设计。该系统分为上位机 p c 与下位机d s p 两个部分。下位机以d s p 作为主控制器以c a n 通讯方式从汽 车各个部件采集数据,经过处理后通过串口发送给上位机p c 进行数据的显示与 存储。本文对系统开发过程中所涉及到的技术做了较全面的介绍,如:数字信号 处理( d s p ) 、c a n 总线、实时内核等。 关键字:数字信号处理,c a n 总线,实时内核,面向对象 塾墨里三查堂堡主堂堡堡苎 a b s t r a c t i no r d e rt oa n a l y z et h ep o w e ra n de c o n o m ys t a t u so fh y b r i de l e c t r i c u r b a nb u sa n dm o n i t o ri t sr u n n i n gs i t u a t i o n ,w en e e dt oc o l l e c tt h es t a t u s d a t af r o mc e r t a i nh a r d w a r ep a r t so ft h eb u s t h e r e f o r et h ea c q u i s i t i o no f t h ed a t ai sv e r yi m p o r t a n tf o rm o n i t o r i n ga n dd e b u g g i n go ft h ec o m p l e t e d b u s t h i sp r o j e c tp l a n st of i n i s hs u c had a t ac o l l e c t i o ns y s t e mt h a tb a s e do n d s pa n dp c t h es y s t e mu s e sc a nf c o n t r o l l e ra r e an e t w o r k ) a n ds e r i a l p o r ta st h ec o m m u n i c a t i o ni n t e r f a c e i ti sas y s t e mw i t hd a t ag a t h e r i n g ,d a t a t r a n s m i t t i n ga n dd a t as t o r i n g c a n c o n t r o l l e ra r e an e t w o r k ,i sak i n do fs e r i a lc o m m u n i c a t i o nb u s d e f i n e db yi s o ,w h i c ha p p e a r si nc a ri n d u s t r yb yt h ee n do ft h e8 0sa tf i r s t i t sb a s i cd e s i g ns p e c i f i c a t i o nd e m a n d st oh a v eh i g hs p e e do fb i tr a t e ,h i g h r e s i s t a n c eo fe l e c t r o m a g n e t i ci n t e r f e r i n g ,a n db ea b l et od e t e c ta n ym i s t a k e d u r i n gt h et r a n s m i t i o n c a nb u si s u s e dw i d e l yi nc a ra n da i r c r a f t m a n u f a e t u r i u gi n d u s t r y i t c o s - i ii san o n - p r e e m p t i v er e a lt i m ek e r n e l i ti sak i n do fk e r n e l s p e c i a l l yd e s i g n e d f o re m b e d d e dd e v i c e s n o wi th a s a l r e a d y b e e n t r a n s p l a n t e dt om o r et h a n4 0k i n d so fd i f f e r e n tc p u s ,f r o m8 b i tt o6 4 b i t t h i sp r o j e e ts t u d i e sa n ds o l v e s t h e f o l l o w i n gp r o b l e m s :( 1 ) d e v e l o p m e n to fd s pi n i t i a l i z a t i o nf u n c t i o nl i b r a r y ( 2 ) t r a n s p l a n to fc o s i i i nd s p ( 3 ) d s pa n dp cc o m m u n i c a t i o na g r e e m e n td e t e r m i n e ( 4 ) d a t a c o l l e c t i o na n dc o n t r o ls y s t e m a t i cp r o g r a m m i n go np c t h i ss y s t e mi s d i v i d e di n t ot w op a r t s ,i n c l u d e sp ca n dd s p d s pg a t h e r sd a t aa s am a i n c o n t r o l l e rw i t ht h ew a yo fc a nc o m m u n i c a t i o nf r o ma u t o m o b i l e s h a r d w a r ep a r t s t h r o u g hs i m p l ep r o c e s s i n gt h e s ed a t ai sd i s p a t c h e dt op c f o rf u r t h e r p r o c e s s i n g a d d i t i o n a l l y ,t h i sp a p e r m a k e sa no v e r a l l i n t r o d u c t i o nt ot h et e c h n o l o g yt h a tt h es y s t e md e v e l o p m e n tc o n c e r n e dw i t h , s u c ha sd i g i t a ls i g n a lp r o c e s s i n g ( d s p ) ,c a nb u sa n dr e a lt i m ek e r n e le t c k e yw o r d s :d s p ,c a nb u s ,r e a lt i m ek e r n e l ,o b j e c to r i e n t e d i i 此页若属实请申请人及导师签名。 独创性声明 x8 6 0 8 0 9 本人声明,所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得武汉理工大学或其它教育机构的学位或证书面使 用过的材料。与我一l 司工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 研究生签名:莹丞丛 关于论文使用授权的说明 日期兰塑:生; 本人完全了解武汉理工大学有关保留、使用学位论文的规定, 即:学校有权保留送交论文的复印件,允许论文被查阅和借阅; 学校可以公布论文的全都内容,可以采用影印、缩印或其他复制 手段保存论文。 ( 保密的论文在解密后应遵守此规定) 研究生签名:墓嗵导师签名:雄 注:请将此声明装订在论文的目录前。 日期z 0 0 6 ,皈脚 武汉理工大学硕士学位论文 第1 章引言 1 1 课题研究的目的与意义 为了考察串联式混合动力城市公交车的动力性和经济性及监测整车的运行情 况,需要对行驶过程中车上各个部件所产生的数字量进行采集、分析。由于串联 式混合动力城市公交车各部件的输入、输出量众多并且在上位机和下位机之间存 在着控制交互,因此数据采集对整车的监测与调试具有重要的意义。 1 2 国内研究现状及其分析 在数据采集系统方面多采用车载数据采集系统,车载部分是采集系统的主体。 车载数据采集基本能完成数据采集任务,但也存在缺点:设计时需考虑供电、采 集记录的数据掉电保护、车内安放空间的限制等因素;汽车各类试验的项目繁多、 内容不尽相同,而车内记录仪不具有可扩展的灵活性;汽车运行过程中,现场干 扰相当复杂,车载系统对干扰的防止与控制能力相对较弱:存储能力有限,对数 据量大的采集力不从心t 2 1 0 现有的数据采集办法主要是以p l c ( 可编程逻辑控制器,p r o g r a m m a b l el o g i c c o n t r o l l e r ) 作为下位机,p c ( 个人电脑,p e r s o n a lc o m p u t e r ) 作为上位机来采集和处 理数据。但p l c 也有其缺点:工作速度较慢,输出对输入的响应有滞后现象;价格 比较高;p l c 的软、硬件结构是封闭不是开放的,如专用总线,专用通讯网络协议, i o 模板互相不通用等,这对维修、备件、技术改造等都带来不便,影响t p l c 的 发展。由于p l c 是串联式混合动力城市公交车的控制部件,p l c 的局限势必影响串 联式混合动力城市公交车的发展。并且由于整车控制策略的升级,p l c 已经不能满 足需要,因此需要寻找p l c 的替代产品。自从2 0 世纪7 0 年代末8 0 年代初d s p ( d i g i t a l s i g n a lp r o c e s s i n g ) 芯片诞生以来,d s p 芯片得到了飞速的发展。d s p 芯片的高速发 展,一方面得益于集成电路技术的发展,另一方面也得益于巨大的市场。在近2 0 年时间里,d s p 芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。 d s p 芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。考虑到目 前d s p 芯片已经广泛应用于自动控制、图像处理、通信技术、网络设备、仪器仪表 和家电等领域,d s p 为数字信号处理提供了高效而可靠的硬件基础,以d s p 作为下 位机能够满足数据采集系统的应用与需要t 3 1 。 武汉理工大学硕士学位论文 1 3 研究目标和拟解决的关键问题 螺i 船:;d :h 一堤h 嘲出 萼 井僦立1 j , l 。 并r l扩i o i l 口 d c 奠软 理啊覆碱 0 4 5d o 1 5 i t 。0 c n r x 1 c n 1 x r + c 黼螭 j奠宰螺出卫蛆蚴i o f l蜒功 一覆块 l e l 舯7 a 檀报量r j 信号调理 1人 hk 凹0 3 2 s c i t 勘 帆卜- 鼻 檀块$ c i r x d l o p 蠢竿置i 皤 i1 信号调理 i h 图l - l 数据采集系统硬件平台 该项目拟完成一个基于d s p 与p c 的数据采集系统,系统以串日和c a n ( 现 场总线c o n t r o l l e r a r e an e t w o r k ) 作为数据通讯接口,形成一个以数据采集、传输、 存储、显示等多种功能为一体的数据采集系统。 该数据采集系统包括两个部分:下位机d s p 与上位机p c 。下位机d s p 负责 数据的采集与打包处理,上位机p c 负责数据的图形化显示、存储与打印。数据 采集系统的硬件平台如图1 - 1 。 该系统的软件开发包括以下几个方面:( 1 ) d s p 函数库的开发。( 2 ) 实时操作 系统p c o s - i i 在d s p 上的移植。( 3 ) d s p 与p c 串口通讯协议帧的确定。( 4 ) 上位机 p c 的数据采集系统程序设计。 武汉理工大学硕士学位论文 第2 章数字信号处理及数字信号处理芯片 2 1 数字信号处理( d s p ) 简介 数字信号处理是- - f - j 涉及许多学科而又广泛应用于许多领域的新兴学科。2 0 世纪6 0 年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而 生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信、自 动控制等领域得到极为广泛的应用1 4 1 。 数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、 变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。 它是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号 处理在理论上的发展推动了数字信号处理应用的发展。反过来,它的应用又促进 了理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。它所涉及的 范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等 都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、 故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网 络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论 体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础u 1 。 数字信号处理的实现方法一般有以下几种:( 1 ) 在通用的计算机( 如p c 机) 上 用软件( 如f o r t r a n 、c 语言) 实现。( 2 ) 在通用计算机系统中加上专用的加速处 理机实现。( 3 ) 用通用的单片机( 如m c s 5 1 、9 6 系列等) 实现,这种方法可用于 些不太复杂的数字信号处理,如数字控制等。( 4 ) 用通用的可编程d s p 芯片实现。 与单片机相比,d s p 芯片具有更加适合于数字信号处理的软件和硬件资源,可用 于复杂的数字信号处理算法;( 5 ) 用专用的d s p 芯片实现。在一些特殊的场合, 要求的信号处理速度极高,用通用d s p 芯片很难实现,例如专用于f f t 、数字滤 波、卷积、相关等算法的d s p 芯片,这种芯片将相应的信号处理算法在芯片内部 用硬件实现,无需进行编程。 在上述几种方法中,第1 种方法的缺点是速度较慢,般可用于d s p 算法的 模拟;第2 种和第5 种方法专用性强,应用受到很大的限制,第2 种方法也不便 于系统的独立运行;第3 种方法只适用于实现简单的d s p 算法;只有第4 种方法 才使数字信号处理的应用打开了新的局面。 武汉理工大学硕士学位论文 虽然数字信号处理的理论发展迅速,但在2 0 世纪8 0 年代以前,由于实现方 法的限制,数字信号处理的理论还得不到广泛的应用。直到2 0 世纪7 0 年代末8 0 年代初世界上第一片单片可编程d s p 芯片的诞生,才将理论研究结果广泛应用到 低成本的实际系统中,并且推动了新的理论和应用领域的发展。d s p 芯片的诞生 及发展对近2 0 年来通信、计算机、控制等领域的技术发展起到十分重要的作用。 2 2d s p 芯片的体系结构及其特点 d s p 器件的生命力主要取决于它在体系结构上不同于工业微控制器单元。以 浮点运算指令系统c 3 0 系列芯片为例,图2 1 给出了d s p 芯片的体系结构。 图2 1c 3 0 系列d s p 的体系结构 d s p 器件体系结构上与工业微控制器单元的不同点主要在于总线结构、处理 单元个数、流水线结构、j t a g 结构等几个方面。 多总线结构。微控制器m c u ( m i c r oc o n t r o lu n i 0 - - h 存在两种基木结构: 4 武汉理工大学硕士学位论文 冯诺伊曼( v o n m e u m a r m ) 结构和哈佛( i - l a w a r d ) 结构。冯诺伊曼结构具有中单 一总线,p r a m 或d r a m 都映射到同一地址空间,总线宽度与c p u 类匹配,其 取指令、取数据都是通过一条总线完成的。因此必须分时进行,在高速运算时, 往往在传输通道上会出现瓶颈效应。哈佛结构具有独立的程序总线和数据总线, d s p 内部一般采用的是哈佛体系结构,它在片内至少有四套总线:程序的数据总 线,程序的地址总线、数据的数据总线和地址的数据总线。这种分离的程序总线 和数据总线,可允许同时获取指令字( 来自程序存贮器) 和操作数( 来自数据存贮 器) ,而互不干扰。这意味着在一个机器周期内可以同时准备好指令和操作数,有 的d s p 芯片内部还包括有其它总线,如d m a 总线等,可实现在一周期内完成更 多的工作。对d s p 来说,内部总线本身就是个资源,总线越多,可以完成的功能 就越复杂。 多处理单元。d s p 内部一般都集成多个处理单元,如硬件乘法器( m u l ) 、累加 器( a c c ) 、算术逻辑单元( a l u ) 、辅助算术单元( a r a t o 以及d m a 控制器等。它 们都可以在一个单独的指令周期内执行计算任务,并且这种运算往往是同时完成 的。例如,当完成一个乘法和累加的同时,辅助算术单元己经完成了下一个地址 的寻址工作,为下一次的运算做好了充分的准备。因为d s p 可以完成连续的乘加 运算,而每一次的运算都是单周期的,这种结构特别适用于滤波器的设计,如i i r 和f i r 。d s p 的这种多处理器的结构还表现在将一些特殊算法做成硬件以提高速 度。典型的有f f t 的位反转寻址,语音的a 律、u 律算法等。 流水线结构。要执行一条d s p 指令,需要完成取指令、解码、取操作数和执 行等几个阶段。d s p 的流水线结构是指它这几个阶段在程序执行过程中是重叠的, 即在执行本条指令的同时,下面的三条指令己依次完成了取操作数、解码、取指 令的操作,这样就将指令周期的时间降低到最小值。正是利用这种流水线机制, 保证d s p 的乘法、加法以及乘加运算可以在一个单周期内完成,这对提高d s p 的运算速度具有重要意义,特别是当设计的算法需要连续的乘加运算,这种结构 的优越性就得到了充分的发挥。也正是这种结构决定了d s p 的指令基本上都是单 周期指令,衡量一个d s p 的速度也基本上是以单周期指令时间为标准,其倒数就 是m i p s 。 j t a g 接口。随着d s p 芯片速度的提高,传统的并行仿真方式己越来越显得 困难。1 9 9 1 年i e e e l l 4 9 1 ( a 0j t a g 接口) 标准的公布满足了i c 芯片制造商的措 施需求,也给a s i c ,m c u ,d s p ,p l d ,f p g a 等的用户带来方便。十万门以上 的i c 一般都集成j t a g 接口,1 9 9 3 年i e e e l l 4 9 5 对j t a g 接口标准作了修正, 武汉理工大学硕士学位论文 为5 线接口。片上j t a g 接口为用户对d s p 的仿真提供了快捷的串行工作方式。 2 3d s p 芯片的选择 设计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 芯片的运算速度。运算速度是d s p 芯片的一个最重要的性 能指标,也是选择d s p 芯片时所需要考虑的一个主要因素。( 2 ) d s p 芯片的价格。 d s p 芯片的价格也是选择d s p 芯片所需考虑的一个重要因素。如果采用价格昂贵 的d s p 芯片,即使性能再高,其应用范围肯定会受到一定的限制,尤其是民用产 品。因此根据实际系统的应用情况,需确定一个价格适中的d s p 芯片。当然,由 于d s p 芯片发展迅速,d s p 芯片的价格往往下降较快,因此在开发阶段选用某种 价格稍贵的d s p 芯片,等到系统开发完毕,其价格可能已经下降一半甚至更多。 ( 3 ) d s p 芯片的硬件资源。不同的d s p 芯片所提供的硬件资源是不相同的,如片内 r a m 、r o m 的数量,外部可扩展的程序和数据空间,总线接口,i o 接口等。即 使是同一系列的d s p 芯片,系列中不同d s p 芯片也具有不同的内部硬件资源, 可以适应不同的需要。 对于本论文所涉及数据采集系统而言,将被应用于混合动力公交车上。车上 不同部件产生大量信号量及数据,要实现这些数据的采集,d s p 芯片的硬件资源 数目必须达到要求。另外发动机、电动机及发电机的数据采集与控制主要通过 c a n 总线来完成,因此所选d s p 也要集成c a n 控制模块。最后,本系统对数据 采集频率、数据实时处理的速度也有一定要求,以保证数据采集与处理的实时性、 准确性。 t m s 3 2 0 l f 2 4 0 7 这款d s p 是t m s 3 2 0 c 2 0 0 0 t m 平台下的一种定点d s p 芯片, 该芯片提供了低成本、低功耗、高性能的处理能力,对电动机的数字化控制非常 有用,非常适合混合动力公交车主要动力系统电动机的控制。在芯片的硬件资源 方面也能充分满足本文所涉及数据采集系统的需要,这款d s p 集成了几种先进外 设,如事件管理器模块,用于电机数字化控制应用;高性能l o 位模数转换模块, 用于整车模拟量的采集;c a n 接口模块用于整车c a n 器件的控制。在功耗和处 理速度方面,该款d s p 采用高性能静态c m o s 技术,使得供电电压降为3 3 v , 6 武汉理工大学硕士学位论文 减小了控制器的功耗:3 0 m i p s 的执行速度使得指令周期缩短到3 3 m ( 3 0 m h z ) ,从 而提高了控制器的实时处理能力与控制能力,完全能够满足本数据采集系统对数 据采集频率、数据实时处理的速度要求。 因此,综合考虑以上几个方面,选择1 1 公司的t m s 3 2 0 l f 2 4 0 7 这款d s p 作 为数据采集系统下位机的主控制器。 7 武汉理工大学硕士学位论文 第3 章i ) s p 函数库的开发 3 1d s p 集成开发环境c c s 概述 对于d s p 开发来说,除了必须了解和熟悉d s p 本身的结构( 包括软件指令系 统和硬件结构) 和技术指标外,大量时间和精力是花费在熟悉和掌握其开发工具和 环境上。因此各d s p 生产厂商以及许多第三方公司作了极大的努力,为d s p 系 统集成和软硬件的开发提供了大量方便有用的工具。 t i 的d s p 开发环境和工具主要包括以下三个部分:代码生成工具、系统集 成及调试环境与工具、实时操作系统( 2 0 0 0 系列无) ,图3 1 是t i 的系列d s p 软 件开发流程图,阴影部分是软件开发的最常用路径,其它部分是可选的。 图3 - 1 r n 的系列d s p 软件开发流程图 ( 1 ) 代码生成工具:当选择好一个型号的d s p ,并完成硬件电路设计后便进入d s p 武汉理工大学硕士学位论文 的软件开发阶段。这个阶段的工作量往往占这个系统的开发的7 0 以上。可以使 用汇编或c 语言编写源程序代码。然后用代码生成工具进行编译、连接,最终形 成机器代码。由于t i 的各个d s p 系列所使用的汇编指令、机器代码各不相同, 所以应使用相应的代码生成工具。必备的代码生成工具包括:c 编译器、汇编器。 ( z ) 系统集成与调试工具:在该项目中使用了硬仿真器e m u l a t o r s ( x d s 5 1 0 ) ,它是 功能强大的全速仿真器,用以系统级的集成与调试。每个d s p 器件都提供了边界 扫描仿真接口( j t a g ) ,通过x d s 5 1 0 访问内部器件寄存器和状态机,从而实现对 d s p 状态的监控。即使d s p 焊接到了目标系统中,这种非插入式的方法仍然可以 工作。 图3 - 2 使用x d s 5 1 0 仿真器调试c 2 x x 系统 c c s ( c o d ec o m p o s e rs t u d i o ) 是一个完整的d s p 集成开发环境,也是目前最优 秀、最流行的d s p 开发软件之一。c c s 最早是由g od s p 公司为的c 6 0 0 0 系 统开发的,后来t i 收购了g o d s p ,并将c c s 扩展到其它系列。现在所有的t i d s p 都可以使用该软件工具进行开发,只是只有c 5 0 0 0 和c 6 0 0 0 的c c s 中才提供 d s p b i o s 功能,而在c 2 0 0 0 和c 3 x 是没有d s p b i o s 功能的。c c s 支持软仿真 器、各种型号硬件仿真器、各种s d k 和e v m 板,只需要向相应的生产厂家索取 驱动,就可以在c c s 上安装使用了。 9 武汉理工大学硕士学位论文 c c s 有如下特点:集成化代码编辑界面,可直接编写c ,汇编、h 、c m d 文件等:集成代码生成工具,包括汇编器、优化c 编译器、连接器等等;基本调 试工具,如装入执行代码( o u t 文件) ,查看寄存器窗口,存储器窗口,反汇编窗口, 变量窗口等,支持c 源代码级调试;支持多d s p 调试;断点工具,包括硬件断点、 数据空间读写断点,条件断点等等;探针工具,可用于算法仿真,数据监视等: 剖析工具,可用于评估代码执行的时钟数;数据的图形显示工具,可绘制时域 频域波形,眼图,星座图等。并可自动刷新;提供g e l 工具,令用户可以编写自 己的控制面板菜单,从而方便直观的修改变量,配置参数等;支持r t d x ( r e a l t i m ed a t ae x c h a n g e ) 技术,利用该技术可在不中断目标系统运行的情况下,实现 d s p 与其它应用程序实现数据交换;开放式的p l u g - i n s 技术,支持第三方的a c t i v e x 插件,支持各种仿真器包括软仿真:提供d s p b i o s 工具,利用该工具可增强对 代码的实时分析能力,如分析代码执行效率,调试程序执行的优先级,方便管理 或使用系统资源( 代码数据占用空间,中断服务程序的调用,定时器使用等等) , 从而减小开发人员对硬件资源熟悉程度的依赖性。 3 2d s p 函数库的开发 最初开发d s p 程序时,使用汇编语言。随着开发的深入以及程序功能的加强, 代码量变得越来越大。这些代码中有很大一部分是对d s p 的外设进行操作的初始 化代码,它们在汇编程序段中重复出现。这样的重复无疑增加了代码的体积,使 程序变得难以阅读与维护。考虑到c c s 开发环境对c 语言良好的支持,决定将 大部分d s p 外设可重用的初始化代码用c 语言重新编写,组织成可被程序调用的 函数。 3 。2 1d s p 函数库的需求分析 该数据采集系统的硬件部分购买第三方公司的目标板,因此硬件电路设计较 少,7 0 的工作量来自于软件开发。d s p 外设功能模块较多,这些外设功能模块 包括:数字输入输出模块( 数字i o ) 、时间管理器模块( e v ) 、模数转换模块( a d c ) 、 串行外设接口模块( s p i ) 、串行通信接1 :3 模块( s c i ) 、c a n 控制器模块。其中数字 输入,输出模块( 数字i o ) 、串行外设接口模块( s p i ) 、串行通信接1 2 1 模块( s c i ) 、c a n 控制器模块的使用有很多相似之处,如初始化代码都是设置特定地址的控制寄存 器,读写数据也是读写特定地址的数据寄存器,例 盘 i * c a ni f r = 0 x f f f f ,清除所 1 0 武汉理工大学硕士学位论文 有c a n 中断标志。这样一些代码在程序中经常使用。如果它们在每次使用时都 重复编写,必然会影响程序开发的效率和程序的可读性。因此把这些代码片断写 成函数十分必要。 3 2 2d s p 函数库的实现 ( 1 ) 源文件简介 2 4 0 7 c h 官方寄存器定义头文件。d s p 的所有寄存器都是通过地址进行访问 的。为了提高程序的可读性,简化开发过程,宫方提供了d s p 上所有可读写寄存 器的头文件定义。 2 4 0 7 u s e r h 主要头文件,使用时需包含2 4 0 7 c h 。该头文件包含了 t m s 3 2 0 l f 2 4 0 7 这款d s p 上常用外设模块的初始化及数据读写函数。d s pp e h d s p 串口数据包处理一打包、拆包函数,与p c 端配合使用。 ( 2 ) 宏及函数原型简要说明 开关系统级中断e n a b l e ,_intod i s a b l e i n t 0 系统初始化v o i dc o m m o n _ i n i u s y s t e m ( u n s i g n e di n ti n t l ,u n s i g n e dh a tm u l ) 数字输入输出模块( 数字i o ) 初始化数字i o 模块v o i di n i t _ i o p o r t ( u n s i g n e dh a tp o r t ) 输出高电平v o i di o _ o u t l ( u n s i g n e di n tp o r t n a m e o u t l ) 输出低电平v o i di o _ o u t 0 ( u n s i g n e di n t p o r t n a m e o u t 0 ) 读入电平i n ti o _ i n ( u n s i g n e dh a tp o r t n a m e i n ) c a n 控制器模块 初始化c a n 控制器v o i di n i t _ c a n ( u n s i g n e di n tb e r l ,u n s i g n e di mb e r 2 ,u n s i g n e d i 1 1 ti n t m a s k ) 初始化邮箱发送v o i di n i tm b x s e n d ( u n s i g n e di n tm b x i d ,u n s i g n e di n tf r a m e i d l , u n s i g n e di n tf i a m e i d h ) 邮箱发送v o i dc a n _ s e n d ( u n s i g n e di n tm b x i d ,u n s i g n e di n t * p d a t a ) 初始化邮箱接收v o i di n i tm b x r e c v ( u n s i g n e di n tm b x i d ,u n s i g n e di mf r a m e i d r l , u n s i g n e di n tf r a m e i d r h ,u n s i g n e di n tm a s k l ,u n s i g n e di n tm a s k h ) 邮箱接收v o i dc a n _ r e c v ( u n s i g n e di n tm b x i d r ,u n s i g n e di n t * p d a t a r ) 武汉理工大学硕士学位论文 串行通信接口模块( s c i ) 初始化串口v o i dr s 2 3 2 i n i t ( u n s i g n e di ms y s c l k ,u n s i g n e di n ti n t _ b e h a v i o r , u n s i g n e di n t t x i n t 一1 , u n s i g n e di n tr x _ i n t _ 1 ) 串口发送v o i dr s 2 3 2 s e n d i ( u n s i g n e dc h a r + p t x d a t a ,u n s i g n e di n ts i z e , u n s i g n e di n td ) 串口发送一字节v o i dr s 2 3 2 s e n d _ o n eb y t e ( u n s i g n e dc h a rt x d a t a ) 串口接收v o i dr s 2 3 2 r e c v ( u n s i g n e dc h a r * p r x d a t a ,u n s i g n e di n ti n t o 查询串口i n ti s _ r s 2 3 2 _ t x r d y 0 ,i n ti sr s 2 3 2 _ r x r d y 0 ( 3 ) 宏及函数实现举例 d s p 芯片的程序存储器容量有限,为了减少代码编译以后的体积,节约程序 存储空间,在程序的编写过程中运用了大量编译预处理指令。下面是头文件中 r s 。2 3 2 串口部分的程序举例,其中# i f d e f , # e n d i f 语句充当了编译开关的作用,在 主程序m a i n 函数的# i n c l u d e “2 4 0 7 u s e r h 加上# d e f i n e u s e r s 2 3 2 即可使用串口模 块的函数,否则不予编译。头文件中其它外设模块函数都是如此使用。 # i f d e f u s e r s 2 3 2 # d e f i n ei b _ r e c v _ i n t e r r u p t0 x l # d e f i n e | b _ r e c v _ q u e r y0 x 2 # d e f m ei b _ s e n d _ i n t e r r u p t0 x 4 # d e f i n ei b - s e n d _ q u e r y0 x 8 # d e f i n er s 2 3 2 _ h i _ i n t l4 8 # d e f i n er s 2 3 2 l o i n t l4 9 v o i dr s 2 3 2 i n i t ( u n s i g n e di ms y s c l k + s y s t e mc l o c k ,、 u n s i g n e di n ti n t _ b e h a v i o r , u n s i g n e di n tt xi n t _ _ l , u n s i g n e di n tr x _ i n t _ 1 ) i f t h ei b _ s e n di n t e r r u p ti ss e t , r e m e m b e rt oc l e a ri f rb i ta f t e rh a n d l e t h ei n t e r r u p t u n s i g n e di n tu w o r k ; u n s i g n e di n tb r r ; u n s i g n e dl o n gi n tt m p l ,t r a p 2 ; 武汉理工大学硕士学位论文 u w o r k = * m c r a ; u w o r k l = 0 x 0 3 ; + m c r a - - u w o r k ; + s c i c c r = 0 x 0 7 ; + s c i c t l l = 0 x 0 3 ; s w i t e h ( i n t _ b e h a v i o r ) e a s e5 : + s c i c t l 2 = 0 x 0 3 ; b r e a k ; c a s e9 : + s c i c t l 2 = 0 x 0 2 ; b r e a k ; c a s e 6 : s c i c t l 2 = 0 x 0 1 ; b r e a k ; u s es c i t x d ,s c i r x d 8b i t s ,1s t o pb i t ,n og r c e n a b l es e n de n dr e c v r e e vi n te n a b l ee n ds e n di n te n a b l e r e c vi me n a b l ee n ds e n dq u e r ye n a b l e r e e vq u e r ye n a b l ee n ds e n dh a te n a b l e d e f a u l t : r e c vq u e r ye n a b l ee n ds e n d q u e r ye n a b l e + s c l c t l 2 = 0 x 0 0 ; ) i f ( t xi n tl = = r s 2 3 2h in q t l ) + s c i p r i & = 0 x b 0 ; e l s e + s c i p r i = 0 x 4 0 ; i f ( r x _ i n t _ l r s 2 3 2h ii n t l ) + s c i p r i & = 0 x d 0 ; e l s e + s c i p r i i = 0 x 2 0 ; t m p l = s y s e l k * 10 0 0 0 ; t r a p 2 - - - 9 6 * 8 ; b r r - - - t m p l t m p 2 - 1 ; + s c i h b a u d = r b r r & 0 x f f 0 0 ) 8 ; + s c i l b a u d = b r r & 0 x 0 0 f f ; + s c i c t l l = 0 x 2 3 ;e n a b l es e n de n dr e c v & r e s e t 1 3 武汉理工大学硕士学位论文 v o i dr s 2 3 2 s e n d ( u n s i g n e dc h a r + p t x d a t a , u n s i g n e di n ts i z e , u n s i g n e di md + i n t e r v a lf o re a c hb y t e + ) s e n db y t ea r r a y u n s i g n e dh a tt m p ; i n t i : d i s a b l e _ i n t o ; f o rn = 0 ;i o s t c b s t k p t r = s t a c kp o i n t e r c a l lo s t a s k s w h o o k l d p k0 s t c b h i g h r d y l a ra r l ,- o s t c b h i g h r d y 2 6 武汉理工大学硕士学位论文 l d p k o s t c b c u r s a ta r l ,o s t c b c u r l a d _ o s p r i o h i g h r d y s a c lo s p r i o c u r l a r a r l ,+ bi $ $ r e s t ,a r l ;o s t c b c u r = o s t c b h i g h r d y ;o s p r i o c u r 2 o s p d o h i g h r d y o s i n t c t x s w o o s i n t e x i t o 通过调用o s i n t c t x s w o 来从i s r 中执行切换功能。因为 o s i n t c t x s w o 是在i s r 中被调用的,所以可以断定所有的处理器寄存器都被正确 地保存到了被中断的任务的堆栈之中。实际上除了需要的东西外,堆栈结构中还 有其它的一些东西。o s i n t c t x s w 0 必, 须要清理堆栈,这样被中断的任务的堆栈结 构内容才能满足需要。 如果

温馨提示

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

评论

0/150

提交评论