资料介绍
嵌入式DSP系统传统设计流程通常由概念到算法及算法到产品两个阶段构成,通常这两个阶段互相独立且由不同设计小组完成。
传统的设计流程里要用手工在两个阶段之间进行转换与衔接,这样容易出现错误而推迟产品的上市时间。本文介绍一种集成工具可以使设计与验证测试更加自动化,且具有更高效率,可减少产品缺陷。
过去几年以来,产品与系统在软件方面的功能不断增强,高强度实时要求越来越多。对设计工程师而言,为与竞争对手展开竞赛,争取更快将新产品投向市场,高效系统开发方法成为重中之重,对开发数字信号处理器算法的工程师而言尤为如此。此外,产品开发周期和生命周期不断缩短等因素,也促使工程师和设计经理对开发方法和软件工具进程进行全面重新评估。
产品漏洞会导致市场份额迅速下降,如果公司牺牲质量,那么其声誉会马上受到影响。产品工程师在实施由研发工程师设计的算法时,会遇到很多难题,其中之一就是将系统参数、测试向量以及其它数据从基于主机PC概念的开发工具用手工方式转向基于目标硬件的DSP代码开发工具。这种手工转化常常会造成错误,要在确认和测试中才能被发现,从而导致开发时间延长。市场调查显示,客户产品开发中常常有50%以上的时间是用于产品集成与测试。在这个阶段,省时的工具对产品功能可靠性、上市时间以及能否最终取得成功都有很大的影响。
在今天市场环境下,要将工程师的开发流程从概念发展至算法并最终推出产品,传统的产品开发流程已显得力不从心,新开发流程需要广泛的工具集成,保证数据以及其它信息能够动态共享以实现更高的工作效率。
传统DSP开发流程
嵌入式DSP系统传统设计流程通常包括两个主要阶段,即概念到算法阶段(由研发小组实施,其中包括算法开发与系统设计)以及算法到产品阶段(由产品开发小组实施,该阶段包括实际产品实现、目标编程和测试),如图1所示。
由于上面两个阶段常常是彼此独立的,并由不同的设计小组完成,而各小组的目标可能不一致,因此这种结构内部会有一些问题。此外,设计小组使用的工具还可能彼此不兼容,不能够整合在一起。
在多数情况下,研发工程师使用数字计算环境,可充分发挥算法开发、分析以及各种科学、数学或工程应用可视化功能。研发工程师常常以M或C代码创建算法,也可以为其算法创建测试向量(通常是文本或二进制格式的数据文件)。他们随后会在主机PC上运行算法进行模拟,以便分析并使算法响应可视化,目标是确保算法不仅能够独立于特定的平台进行工作,还能独立于任何物理存储器、速度或实时限制工作。当他们希望将设计转给产品开发小组时,他们将提交书面规范或实际的C或M代码,并请开发小组就具体的DSP目标实施算法。
在产品开发方面,大多数DSP工作小组都使用集成开发环境(IDE),小组的目标是使用书面的规范实施算法、测试算法,并在最终产品中进行确认,以保证其满足系统的实时、速度、功率及内存等限制条件。产品开发小组常常依靠手工方法从事上述任务,因为直接根据规范或算法测试向量进行产品测试通常没有便捷路径可循。在遇到复杂系统时,手动转换和确认会延缓产品开发,影响产品的成功。
产品工程师为防止出现前后脱节而采取一些手工方法包括:
1. 手工复制并粘贴M文件测试向量(如100个值的阵列)至IDE的C代码(或汇编)文件中。但是工程师必须注意,应复制所有数据不能遗漏,还必须添加正确的语法以保证兼容性(如逗号、方括号、圆括号等);
2. 使用典型IDE中的“载入数据”命令手工从PC硬盘向DSP存储器载入整个数据文件。工程师必须注意应以人工方式或通过脚本(需要编写并调试)对数据进行重新格式化,以保证文件格式和随后的语法能够匹配;
3. 可使用IDE的文件I/O功能(如fscanf()功能)以便以自动方式像上面第二种方法一样载入文件,但是有关文件格式与语法类型的问题仍然存在。传统文件I/O带来的另一大主要问题在于,工程师必须在DSP本身上面运行庞大而低效的C库,这将导致代码膨胀,不仅浪费内存,还会拖慢DSP的速度,使其丧失实时工作性能;
4. 利用外部硬件生成信号作为系统的输入(如音乐或正弦波),以观察系统是否能够实时响应。与前面所说测试向量和数据已经数字化的情况不同,这里的数据是模拟的,必须通过A/D转换器,这就会带来更多的错误和不一致性,因为它不再是纯粹的数字信号,导致内在的模拟失真。此外还会带来额外的变量,造成更多不确定性,也使寻找问题根源更加困难重重。
集成工具提高效率与生产率
集成度更高的开发流程能以更动态的方式自动执行上述任务。
我们不妨给出一个真实情况的例子,即在DSP上实施适应性噪声消除系统。设计第一步是设计一个适应性过滤器(即过滤器系数、过滤器响应等),开发工程师以通常采用的DSP算法设计和分析工具(诸如MathWorks公司提供的MATLAB)开发C代码,并在DSP上运行,而后综合输入信号并测试该过滤器的表现。
通过将MATLAB与通用DSP IDE(如德州仪器的Code Composer Studio)进行集成,工程师可使用相同的前端工具在模拟环境下进行算法设计、可视化、分析与优化,随后在DSP目标上实施设计,对其再次运行,并采用模拟设计对实际结果进行比较。
在我们给出的例子中,开发工程师可使用MATLAB直接访问DSP目标存储器,当DSP程序在目标上运行时对其进行控制,同时可以获得MATLAB的可视化、模拟和优化功能。该连接由高速实时双向数据通讯机制加以实现,如TI的高速实时数据交换(RTDX)。图2显示了MATLAB代码,展示了如何使用MATLAB对信号进行综合测试,通过RTDX实时连接可执行过滤器的DSP实施,并使结果可视化。
运行于目标DSP上的算法接收噪声信号与白信号作为输入,并执行LMS算法消除噪声。图3显示了通过RTDX实时发回至MATLAB的DSP输出信号、过滤器阀(filter tap)和过滤器响应,这意味着代码执行时,我们在MATLAB中可以动态优化参数,适应性地调节过滤器,并运行蒙特卡洛模拟使结果可视化。在算法运行于DSP上的同时,用户还可以直接从MATLAB调用DSP上特定的函数,并以批处理模式或互动模式对其加以执行。
因此,测试与验证小组可以使用原始的基于MATLAB的设计或规范,直接将其作为测试设置的一部分。测试小组再直接把实际系统输出与原始MATLAB设计生成的所希望的输出进行比较,并以此进行适当的实时改变。
本文结论
通过将研发小组与产品开发小组所用的工具进行集成,我们可以极大地提高生产率,从而使设计与验证测试不仅更加自动化,而且具有更高的效率。开发DSP算法以及在真实目标上对那些算法进行实施工作的设计小组毋需改变开发流程方法,即可采用与IDE以及硬件后端集成的设计环境前端。他们也可以自动实时地转移数据,以便更迅速高效地重复产品设计,而不会导致出现新的错误。
设计与开发工具集成能够推动开发周期早期的测试与验证,从而帮助工程师以更高的效率确认并解决问题。工程师要以更快的速度构建并向市场推出新型具有更强大功能的DSP产品,最重要的是要保证减少产品缺陷,工具集成将为最终成功助一臂之力。
传统的设计流程里要用手工在两个阶段之间进行转换与衔接,这样容易出现错误而推迟产品的上市时间。本文介绍一种集成工具可以使设计与验证测试更加自动化,且具有更高效率,可减少产品缺陷。
过去几年以来,产品与系统在软件方面的功能不断增强,高强度实时要求越来越多。对设计工程师而言,为与竞争对手展开竞赛,争取更快将新产品投向市场,高效系统开发方法成为重中之重,对开发数字信号处理器算法的工程师而言尤为如此。此外,产品开发周期和生命周期不断缩短等因素,也促使工程师和设计经理对开发方法和软件工具进程进行全面重新评估。
产品漏洞会导致市场份额迅速下降,如果公司牺牲质量,那么其声誉会马上受到影响。产品工程师在实施由研发工程师设计的算法时,会遇到很多难题,其中之一就是将系统参数、测试向量以及其它数据从基于主机PC概念的开发工具用手工方式转向基于目标硬件的DSP代码开发工具。这种手工转化常常会造成错误,要在确认和测试中才能被发现,从而导致开发时间延长。市场调查显示,客户产品开发中常常有50%以上的时间是用于产品集成与测试。在这个阶段,省时的工具对产品功能可靠性、上市时间以及能否最终取得成功都有很大的影响。
在今天市场环境下,要将工程师的开发流程从概念发展至算法并最终推出产品,传统的产品开发流程已显得力不从心,新开发流程需要广泛的工具集成,保证数据以及其它信息能够动态共享以实现更高的工作效率。
传统DSP开发流程
嵌入式DSP系统传统设计流程通常包括两个主要阶段,即概念到算法阶段(由研发小组实施,其中包括算法开发与系统设计)以及算法到产品阶段(由产品开发小组实施,该阶段包括实际产品实现、目标编程和测试),如图1所示。
由于上面两个阶段常常是彼此独立的,并由不同的设计小组完成,而各小组的目标可能不一致,因此这种结构内部会有一些问题。此外,设计小组使用的工具还可能彼此不兼容,不能够整合在一起。
在多数情况下,研发工程师使用数字计算环境,可充分发挥算法开发、分析以及各种科学、数学或工程应用可视化功能。研发工程师常常以M或C代码创建算法,也可以为其算法创建测试向量(通常是文本或二进制格式的数据文件)。他们随后会在主机PC上运行算法进行模拟,以便分析并使算法响应可视化,目标是确保算法不仅能够独立于特定的平台进行工作,还能独立于任何物理存储器、速度或实时限制工作。当他们希望将设计转给产品开发小组时,他们将提交书面规范或实际的C或M代码,并请开发小组就具体的DSP目标实施算法。
在产品开发方面,大多数DSP工作小组都使用集成开发环境(IDE),小组的目标是使用书面的规范实施算法、测试算法,并在最终产品中进行确认,以保证其满足系统的实时、速度、功率及内存等限制条件。产品开发小组常常依靠手工方法从事上述任务,因为直接根据规范或算法测试向量进行产品测试通常没有便捷路径可循。在遇到复杂系统时,手动转换和确认会延缓产品开发,影响产品的成功。
产品工程师为防止出现前后脱节而采取一些手工方法包括:
1. 手工复制并粘贴M文件测试向量(如100个值的阵列)至IDE的C代码(或汇编)文件中。但是工程师必须注意,应复制所有数据不能遗漏,还必须添加正确的语法以保证兼容性(如逗号、方括号、圆括号等);
2. 使用典型IDE中的“载入数据”命令手工从PC硬盘向DSP存储器载入整个数据文件。工程师必须注意应以人工方式或通过脚本(需要编写并调试)对数据进行重新格式化,以保证文件格式和随后的语法能够匹配;
3. 可使用IDE的文件I/O功能(如fscanf()功能)以便以自动方式像上面第二种方法一样载入文件,但是有关文件格式与语法类型的问题仍然存在。传统文件I/O带来的另一大主要问题在于,工程师必须在DSP本身上面运行庞大而低效的C库,这将导致代码膨胀,不仅浪费内存,还会拖慢DSP的速度,使其丧失实时工作性能;
4. 利用外部硬件生成信号作为系统的输入(如音乐或正弦波),以观察系统是否能够实时响应。与前面所说测试向量和数据已经数字化的情况不同,这里的数据是模拟的,必须通过A/D转换器,这就会带来更多的错误和不一致性,因为它不再是纯粹的数字信号,导致内在的模拟失真。此外还会带来额外的变量,造成更多不确定性,也使寻找问题根源更加困难重重。
集成工具提高效率与生产率
集成度更高的开发流程能以更动态的方式自动执行上述任务。
我们不妨给出一个真实情况的例子,即在DSP上实施适应性噪声消除系统。设计第一步是设计一个适应性过滤器(即过滤器系数、过滤器响应等),开发工程师以通常采用的DSP算法设计和分析工具(诸如MathWorks公司提供的MATLAB)开发C代码,并在DSP上运行,而后综合输入信号并测试该过滤器的表现。
通过将MATLAB与通用DSP IDE(如德州仪器的Code Composer Studio)进行集成,工程师可使用相同的前端工具在模拟环境下进行算法设计、可视化、分析与优化,随后在DSP目标上实施设计,对其再次运行,并采用模拟设计对实际结果进行比较。
在我们给出的例子中,开发工程师可使用MATLAB直接访问DSP目标存储器,当DSP程序在目标上运行时对其进行控制,同时可以获得MATLAB的可视化、模拟和优化功能。该连接由高速实时双向数据通讯机制加以实现,如TI的高速实时数据交换(RTDX)。图2显示了MATLAB代码,展示了如何使用MATLAB对信号进行综合测试,通过RTDX实时连接可执行过滤器的DSP实施,并使结果可视化。
运行于目标DSP上的算法接收噪声信号与白信号作为输入,并执行LMS算法消除噪声。图3显示了通过RTDX实时发回至MATLAB的DSP输出信号、过滤器阀(filter tap)和过滤器响应,这意味着代码执行时,我们在MATLAB中可以动态优化参数,适应性地调节过滤器,并运行蒙特卡洛模拟使结果可视化。在算法运行于DSP上的同时,用户还可以直接从MATLAB调用DSP上特定的函数,并以批处理模式或互动模式对其加以执行。
因此,测试与验证小组可以使用原始的基于MATLAB的设计或规范,直接将其作为测试设置的一部分。测试小组再直接把实际系统输出与原始MATLAB设计生成的所希望的输出进行比较,并以此进行适当的实时改变。
本文结论
通过将研发小组与产品开发小组所用的工具进行集成,我们可以极大地提高生产率,从而使设计与验证测试不仅更加自动化,而且具有更高的效率。开发DSP算法以及在真实目标上对那些算法进行实施工作的设计小组毋需改变开发流程方法,即可采用与IDE以及硬件后端集成的设计环境前端。他们也可以自动实时地转移数据,以便更迅速高效地重复产品设计,而不会导致出现新的错误。
设计与开发工具集成能够推动开发周期早期的测试与验证,从而帮助工程师以更高的效率确认并解决问题。工程师要以更快的速度构建并向市场推出新型具有更强大功能的DSP产品,最重要的是要保证减少产品缺陷,工具集成将为最终成功助一臂之力。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 嵌入式系统系列丛书-时间触发嵌入式系统设计模式 0次下载
- DSP嵌入式系统设计与应用(精)
- 嵌入式DSP系统C语言硬件编程技术
- DSP与MCU在嵌入式系统中的应用
- DSP在嵌入式系统中的应用实例
- 嵌入式DSP系统C语言硬件编程技术总结
- 推荐-DSP系统计时器系统的嵌入式设计A精品
- 嵌入式DSP系统C语言硬件编程技术简介
- 基于DSP嵌入式系统的并网逆变器实现与设计 63次下载
- 使用C语言编程嵌入式DSP系统的方法和相关介绍说明 15次下载
- DSP嵌入式系统开发典型案例 16次下载
- 基于DSP平台的嵌入式文件系统的开发与研究 4次下载
- 绪论DSP嵌入式系统开发典型案例 6次下载
- 如何用C 语言开发DSP 嵌入式系统
- 用嵌入式技术设计专用DSP系统研究
- 嵌入式fpga是什么意思 991次阅读
- 什么是嵌入式系统?嵌入式系统的具体应用 2096次阅读
- 分享一种嵌入式系统自动化测试的详细方案 2520次阅读
- 嵌入式系统的全面解析 3146次阅读
- 如何实现嵌入式系统远程调试 5077次阅读
- 嵌入式FIFO数据传输系统详解 4141次阅读
- 随着嵌入式系统复杂度的提高 软硬件的协同是嵌入式系统的关键 797次阅读
- 以嵌入式DSP模块和FPGA构架为基础的提高无线信号处理性能的子系统设计 795次阅读
- 嵌入式系统的特点大汇总 5742次阅读
- 什么是嵌入式系统_嵌入式系统基础知识介绍 1.4w次阅读
- 基于SoPC的FPGA集成嵌入式系统设计 1360次阅读
- 典型的嵌入式系统设计 2650次阅读
- 用GNU工具开发基于ARM的嵌入式系统 1628次阅读
- 基于ARM和DSP的嵌入式智能仪器系统设计 1641次阅读
- 基于DSP的嵌入式系统人机接口设计 1260次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1489次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 91次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 9次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 3次下载 | 免费
- 8基于单片机的红外风扇遥控
- 0.23 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30319次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多